Skip to content

Commit

Permalink
bin: add ka, kd
Browse files Browse the repository at this point in the history
  • Loading branch information
siakhooi committed May 14, 2023
1 parent 9f12b8c commit 3222837
Show file tree
Hide file tree
Showing 9 changed files with 69 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/DEBIAN/control
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Package: siakhooi-shed
Version: 1.7.2
Version: 1.8.0
Maintainer: Siak Hooi <siakhooi@gmail.com>
Depends: bash, coreutils, findutils, grep, vim, man-db, sed, siakhooi-devutils-echo-colors (>= 1.0.0), git, siakhooi-textutils (>= 1.3.0), bash-completion
Architecture: amd64
Expand Down
12 changes: 12 additions & 0 deletions src/bin/shed
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,18 @@ kubectl-logs-follow)
shed-kubectl-logs-follow "$@"
exit $?
;;
kubectl-resources)
shed-kubectl-resources "$@"
exit $?
;;
kubectl-apply)
shed-kubectl-apply "$@"
exit $?
;;
kubectl-delete)
shed-kubectl-delete "$@"
exit $?
;;
helm)
shed-helm "$@"
exit $?
Expand Down
16 changes: 16 additions & 0 deletions src/bin/shed-kubectl-apply
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/bash

if [[ $# -ne 1 ]]; then
echo "Usage: $(basename "$0") kubectl-resource"
exit 0
fi

RESOURCE_DIRECTORY="$SHED_CONFIG_DIRECTORY_RESOURCES/$1"

if [[ ! -d "$RESOURCE_DIRECTORY" ]]; then
echo "$1 not exists. ($RESOURCE_DIRECTORY)"
exit 1
fi

set -x
shed-kubectl apply -f "$RESOURCE_DIRECTORY"
16 changes: 16 additions & 0 deletions src/bin/shed-kubectl-delete
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/bash

if [[ $# -ne 1 ]]; then
echo "Usage: $(basename "$0") kubectl-resource"
exit 0
fi

RESOURCE_DIRECTORY="$SHED_CONFIG_DIRECTORY_RESOURCES/$1"

if [[ ! -d "$RESOURCE_DIRECTORY" ]]; then
echo "$1 not exists. ($RESOURCE_DIRECTORY)"
exit 1
fi

set -x
shed-kubectl delete -f "$RESOURCE_DIRECTORY"
3 changes: 3 additions & 0 deletions src/bin/shed-kubectl-resources
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

[[ -d $SHED_CONFIG_DIRECTORY_RESOURCES ]] && ls "$SHED_CONFIG_DIRECTORY_RESOURCES"
18 changes: 18 additions & 0 deletions src/lib/init.d/shed-init/50-shed-kubectl-resources
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/bash

alias ka='shed-kubectl-apply'
alias kd='shed-kubectl-delete'

shed-completions-with-shed-kubectl-resources() {
local cur choices
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
choices=$(shed-kubectl-resources)
mapfile -t COMPREPLY < <(compgen -W "${choices}" -- "${cur}")
}

complete -F shed-completions-with-shed-kubectl-resources shed-kubectl-apply
complete -F shed-completions-with-shed-kubectl-resources ka

complete -F shed-completions-with-shed-kubectl-resources shed-kubectl-delete
complete -F shed-completions-with-shed-kubectl-resources kd
1 change: 1 addition & 0 deletions src/lib/shed-init
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

export SHED_CONFIG_HOME="${SHED_CONFIG_HOME:-$HOME/.shed}"
export SHED_CONFIG_FILE=${SHED_CONFIG_HOME}/config.yaml
export SHED_CONFIG_DIRECTORY_RESOURCES=$SHED_CONFIG_HOME/kubectl-resources

[[ -d "$SHED_CONFIG_HOME" ]] || mkdir -p "$SHED_CONFIG_HOME"
[[ -f "$SHED_CONFIG_FILE" ]] || /usr/lib/shed/shed-config-create-sample
Expand Down
1 change: 1 addition & 0 deletions test/expected/shed-env/shed-env.out
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
KUBECONFIG=/root/.kube/config:/root/.shed/kubectl-config/kubeconfig-D:/root/.shed/kubectl-config/kubeconfig-T
SHED_CODE=D
SHED_CONFIG_DIRECTORY_RESOURCES=/root/.shed/kubectl-resources
SHED_CONFIG_FILE=/root/.shed/config.yaml
SHED_CONFIG_HOME=/root/.shed
SHED_KUBECONFIG_NUMBER=0
1 change: 1 addition & 0 deletions test/expected/shed-env/shed_env.out
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
KUBECONFIG=/root/.kube/config:/root/.shed/kubectl-config/kubeconfig-D:/root/.shed/kubectl-config/kubeconfig-T
SHED_CODE=D
SHED_CONFIG_DIRECTORY_RESOURCES=/root/.shed/kubectl-resources
SHED_CONFIG_FILE=/root/.shed/config.yaml
SHED_CONFIG_HOME=/root/.shed
SHED_KUBECONFIG_NUMBER=0

0 comments on commit 3222837

Please sign in to comment.