X-Git-Url: https://src.twobees.de/?a=blobdiff_plain;ds=sidebyside;f=stow%2Foh-my-zsh%2F.oh-my-zsh%2Fplugins%2Fjuju%2Fjuju.plugin.zsh;fp=stow%2Foh-my-zsh%2F.oh-my-zsh%2Fplugins%2Fjuju%2Fjuju.plugin.zsh;h=0000000000000000000000000000000000000000;hb=1a8e170bbe5c6641a26ab1ce2e6ce6c5c1faa4cd;hp=be8a2c7aecbf4ca2521871c238c441de10b4adb9;hpb=475ba35502579302593f4735c853c49ef1845dcb;p=dotfiles.git diff --git a/stow/oh-my-zsh/.oh-my-zsh/plugins/juju/juju.plugin.zsh b/stow/oh-my-zsh/.oh-my-zsh/plugins/juju/juju.plugin.zsh deleted file mode 100644 index be8a2c7..0000000 --- a/stow/oh-my-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=\"=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 []" - 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 " - 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 "$@" -} -