summaryrefslogtreecommitdiffstats
path: root/zsh/oh-my-zsh/plugins/juju/juju.plugin.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'zsh/oh-my-zsh/plugins/juju/juju.plugin.zsh')
-rw-r--r--zsh/oh-my-zsh/plugins/juju/juju.plugin.zsh172
1 files changed, 0 insertions, 172 deletions
diff --git a/zsh/oh-my-zsh/plugins/juju/juju.plugin.zsh b/zsh/oh-my-zsh/plugins/juju/juju.plugin.zsh
deleted file mode 100644
index be8a2c7..0000000
--- a/zsh/oh-my-zsh/plugins/juju/juju.plugin.zsh
+++ /dev/null
@@ -1,172 +0,0 @@
-# ---------------------------------------------------------- #
-# Aliases and functions for juju (https://juju.is) #
-# ---------------------------------------------------------- #
-
-# Load TAB completions
-# You need juju's bash completion script installed. By default bash-completion's
-# location will be used (i.e. pkg-config --variable=completionsdir bash-completion).
-completion_file="$(pkg-config --variable=completionsdir bash-completion 2>/dev/null)/juju" || \
- completion_file="/usr/share/bash-completion/completions/juju"
-[[ -f "$completion_file" ]] && source "$completion_file"
-unset completion_file
-
-# ---------------------------------------------------------- #
-# Aliases (in alphabetic order) #
-# #
-# Generally, #
-# - `!` means --force --no-wait -y #
-# - `ds` suffix means --destroy-storage #
-# - `jsh` prefix means juju show-* #
-# ---------------------------------------------------------- #
-alias j="juju"
-alias jam="juju add-model --config logging-config=\"<root>=WARNING; unit=DEBUG\"\
- --config update-status-hook-interval=\"60m\""
-alias jb='juju bootstrap'
-alias jbng='juju bootstrap --no-gui'
-alias jbl='juju bootstrap localhost'
-alias jblng='juju bootstrap --no-gui localhost'
-alias jbm='juju bootstrap microk8s'
-alias jbmng='juju bootstrap --no-gui microk8s'
-alias jc='juju config'
-alias jcld='juju clouds'
-alias jclda='juju clouds --all'
-alias jctl='juju controllers'
-alias jctlr='juju controllers --refresh'
-alias jdc='juju destroy-controller --destroy-all-models'
-alias 'jdc!'='juju destroy-controller --destroy-all-models --force --no-wait -y'
-alias jdcds='juju destroy-controller --destroy-all-models --destroy-storage'
-alias 'jdcds!'='juju destroy-controller --destroy-all-models --destroy-storage --force --no-wait -y'
-alias jdm='juju destroy-model'
-alias 'jdm!'='juju destroy-model --force --no-wait -y'
-alias jdmds='juju destroy-model --destroy-storage'
-alias 'jdmds!'='juju destroy-model --destroy-storage --force --no-wait -y'
-alias jde='juju deploy --channel=edge'
-alias jd='juju deploy'
-alias jdl='juju debug-log --ms'
-alias jdlr='juju debug-log --ms --replay'
-alias jcon='juju consume'
-alias jeb='juju export-bundle'
-alias jex='juju expose'
-alias jh='juju help'
-alias jkc='juju kill-controller -y -t 0'
-alias jm='juju models'
-alias jmc='juju model-config'
-alias jof='juju offer'
-alias jra='juju run-action'
-alias jraw='juju run-action --wait'
-alias jrel='juju relate'
-alias jrm='juju remove-application'
-alias 'jrm!'='juju remove-application --force --no-wait'
-alias jrmds='juju remove-application --destroy-storage'
-alias 'jrmds!'='juju remove-application --destroy-storage --force --no-wait'
-alias jrmrel='juju remove-relation'
-alias 'jrmrel!'='juju remove-relation --force'
-alias jrmsas='juju remove-saas'
-alias jrp='juju refresh --path'
-alias jrs='juju remove-storage'
-alias 'jrs!'='juju remove-storage --force'
-alias jsa='juju scale-application'
-alias jsha='juju show-application'
-alias jshc='juju show-controller'
-alias jshm='juju show-model'
-alias jshsl='juju show-status-log'
-alias jshu='juju show-unit'
-alias jssh='juju ssh'
-alias jsshc='juju ssh --container'
-alias jstj='juju status --format=json'
-alias jst='juju status --relations --color'
-alias jsts='juju status --relations --storage --color'
-alias jsw='juju switch'
-
-# ---------------------------------------------------------- #
-# Functions (in alphabetic order) #
-# ---------------------------------------------------------- #
-
-# Get app or unit address
-jaddr() {
- # $1 = app name
- # $2 = unit number (optional)
- if (( ! ${+commands[jq]} )); then
- echo "jq is required but could not be found." >&2
- return 1
- fi
-
- if [[ $# -eq 1 ]]; then
- # Get app address
- juju status "$1" --format=json \
- | jq -r ".applications.\"$1\".address"
- elif [[ $# -eq 2 ]]; then
- # Get unit address
- juju status "$1/$2" --format=json \
- | jq -r ".applications.\"$1\".units.\"$1/$2\".address"
- else
- echo "Invalid number of arguments."
- echo "Usage: jaddr <app-name> [<unit-number>]"
- echo "Example: jaddr karma"
- echo "Example: jaddr karma 0"
- return 1
- fi
-}
-
-# Destroy all controllers
-jclean() {
- if (( ! ${+commands[jq]} )); then
- echo "jq is required but could not be found." >&2
- return 1
- fi
-
- local controllers=$(juju controllers --format=json | jq -r '.controllers | keys[]' 2>/dev/null)
- if [[ -z "$controllers" ]]; then
- echo "No controllers registered"
- return 0
- fi
-
- echo "This will forcefully destroy all storages, models and controllers."
- echo "Controllers to be destroyed:"
- echo "$controllers"
-
- if ! read -q '?Are you sure (y/n)? '; then
- echo
- echo "Aborted."
- return 0
- fi
-
- echo
- for controller in ${=controllers}; do
- timeout 2m juju destroy-controller --destroy-all-models --destroy-storage --force --no-wait -y $controller
- timeout 2m juju kill-controller -y -t 0 $controller 2>/dev/null
- timeout 10s juju unregister $controller 2>/dev/null
- done
-}
-
-# Display app and unit relation data
-jreld() {
- # $1 = relation name
- # $2 = app name
- # $3 = unit number
- if [[ $# -ne 3 ]]; then
- echo "Invalid number of arguments."
- echo "Usage: jreld <relation-name> <app-name> <unit-number>"
- echo "Example: jreld karma-dashboard alertmanager 0"
- return 1
- fi
-
- local relid="$(juju run "relation-ids $1" --unit $2/$3)"
- if [[ -z "$relid" ]]; then
- return 1
- fi
-
- echo "App data:"
- juju run "relation-get -r $relid --app - $2" --unit $2/$3
- echo
- echo "Unit data:"
- juju run "relation-get -r $relid - $2" --unit $2/$3
-}
-
-# Watch juju status, with optional interval (default: 5 sec)
-wjst() {
- local interval="${1:-5}"
- shift $(( $# > 0 ))
- watch -n "$interval" --color juju status --relations --color "$@"
-}
-