Skip to main content

"AGENT" K is a complete minimalistic kubectl "doner"-wrap

Project description

"k"

TLDR;

Install the "k" by either doing:

pip install agentk

(Yes, ^^ it is written in python and your OS needs to have recent version 2 or 3)

or copying it in some bin folder on your PATH and running pip install -r requirements.txt


"A person is smart. People are dumb, panicky, dangerous animals, and you know it." -- Agent K

"AGENT" K is a complete minimalistic kubectl "doner"-wrap

Obviously, as a short-hand wrapper, k can do everything kubectl already can, but it is (a) shorter and (b) adds few tricks like merging configs and switching contexts .. (k) feeds back to the kubectl command-line those args which it does not want to intercept or handle.

Usage

The following is equivalent:

kubectl get pods --all-namespaces
k get pods -A
k p -A

Switching context

Argument-free invocation prompts for context switch options between multiple cluster contexts found in ~/.kube/config:

k

Switching namespaces

One can change the default namespace on the currently active context (namespace key in ~/.kube/config) using either of two equivalent commands:

kubectl config set-context $(kubectl config current-context) --namespace foo
k sn foo

The last command is a k shortcut.

Shortcuts to get resources

You can find the full list of shortcuts defined as the dictionary inside the k script. In particular that would be:

# resource
"ev": "event",
"ep": "endpoints",
"p": "pod",
"s": "service",
"v": "volume",
"n": "node",
"dp": "deployment",
"st": "statefulset",
"in": "ingress",
"ns": "namespace",

At the end of the list there are one letter action-shortcuts:

# actions
"c": "create",
"a": "apply",
"d": "delete",

This means that the following is equivalent:

kubectl apply -f <foo-k8s-manifest.yaml>
k a -f <foo-k8s-manifest.yaml>

Develop

To remind, you can do pip install -e . in order to utilize developer mode.

Installation in the cloud

If you work with kubectl without a privileged or super-user access, for example inside a corporate network or in a cloud-shell (but you still have access to python), then your installation will look like:

pip install --user agentk

This will install the script in your local $HOME folder.

Don't forget to append your ~/.bashrc or ~/bash_profile or other shell-rc file with:

export PATH="$HOME/.local/bin:$PATH"

Command completion

You can put this into your .bashrc to get alias and auto completion for k similar as for kubectl:

source <(kubectl completion bash | sed s/kubectl/k/g)

Similar works well for zsh.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentk-0.3.2.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentk-0.3.2-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file agentk-0.3.2.tar.gz.

File metadata

  • Download URL: agentk-0.3.2.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.19

File hashes

Hashes for agentk-0.3.2.tar.gz
Algorithm Hash digest
SHA256 eaaa8ec4d1f4fd2441401bf76f107be4f7e3599b7250cb7fd4d2451174afc40e
MD5 c879c04c8b93e992d344e3dcd1ffb79d
BLAKE2b-256 801749ef2cf3152308574e9c0fe9fece57c5576e2e8ec3b1cacf4322155d2bdd

See more details on using hashes here.

File details

Details for the file agentk-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: agentk-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 6.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.19

File hashes

Hashes for agentk-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2372a423411875fa2b95c53759db2f5d092218b9b1c95c9a3eefee280229d985
MD5 8f25f69480ac93e8bb6e211c731b28ff
BLAKE2b-256 ab5f9585da89c94fe60940c21b25f3f42a2492369cd56054c94f1c2051345e0f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page