{"id":19347806,"url":"https://github.com/devopscorner/k8s-context","last_synced_at":"2025-04-23T05:32:30.491Z","repository":{"id":107830214,"uuid":"609426204","full_name":"devopscorner/k8s-context","owner":"devopscorner","description":"Customize Kubernetes Change Context (KUBECONFIG)","archived":false,"fork":false,"pushed_at":"2024-10-29T12:32:52.000Z","size":609,"stargazers_count":8,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-29T14:58:55.122Z","etag":null,"topics":["cicd","devopscorner","go","golang","k8c","k8s-context","kc","kubeconfig","kubernetes","kubernetes-cluster","kubernetes-configs","kubernetes-context","kubernetes-contexts","pipeline"],"latest_commit_sha":null,"homepage":"https://devopscorner.id","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/devopscorner.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-04T06:05:26.000Z","updated_at":"2024-10-29T12:32:56.000Z","dependencies_parsed_at":"2023-10-15T01:48:05.189Z","dependency_job_id":"af54fe0a-2f7c-4786-89b5-a39be57d8f5e","html_url":"https://github.com/devopscorner/k8s-context","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devopscorner%2Fk8s-context","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devopscorner%2Fk8s-context/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devopscorner%2Fk8s-context/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devopscorner%2Fk8s-context/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devopscorner","download_url":"https://codeload.github.com/devopscorner/k8s-context/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223910297,"owners_count":17223663,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cicd","devopscorner","go","golang","k8c","k8s-context","kc","kubeconfig","kubernetes","kubernetes-cluster","kubernetes-configs","kubernetes-context","kubernetes-contexts","pipeline"],"created_at":"2024-11-10T04:18:05.377Z","updated_at":"2024-11-10T04:18:06.839Z","avatar_url":"https://github.com/devopscorner.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kubernetes Change Context (k8s-context)\n\nCustomize Kubernetes Change Context (KUBECONFIG)\n\n![goreport](https://goreportcard.com/badge/github.com/devopscorner/k8s-context/src)\n![all contributors](https://img.shields.io/github/contributors/devopscorner/k8s-context)\n![tags](https://img.shields.io/github/v/tag/devopscorner/k8s-context?sort=semver)\n[![docker pulls](https://img.shields.io/docker/pulls/devopscorner/k8s-context.svg)](https://hub.docker.com/r/devopscorner/k8s-context/)\n![download all](https://img.shields.io/github/downloads/devopscorner/k8s-context/total.svg)\n![download latest](https://img.shields.io/github/downloads/devopscorner/k8s-context/1.1.9/total)\n![view](https://views.whatilearened.today/views/github/devopscorner/k8s-context.svg)\n![clone](https://img.shields.io/badge/dynamic/json?color=success\u0026label=clone\u0026query=count\u0026url=https://github.com/devopscorner/k8s-context/blob/master/clone.json?raw=True\u0026logo=github)\n![issues](https://img.shields.io/github/issues/devopscorner/k8s-context)\n![pull requests](https://img.shields.io/github/issues-pr/devopscorner/k8s-context)\n![forks](https://img.shields.io/github/forks/devopscorner/k8s-context)\n![stars](https://img.shields.io/github/stars/devopscorner/k8s-context)\n[![license](https://img.shields.io/github/license/devopscorner/k8s-context)](https://img.shields.io/github/license/devopscorner/k8s-context)\n\n---\n\n## Available Tags\n\n### Alpine\n\n| Image name | Size |\n|------------|------|\n| `devopscorner/k8s-context:latest` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/latest.svg?label=Image%20size\u0026logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1\u0026ordering=last_updated\u0026name=latest) ![default-aws-cli](https://img.shields.io/static/v1?label=latest\u0026message=default\u0026color=brightgreen) ![latest-aws-cli](https://img.shields.io/static/v1?label=latest\u0026message=alpine\u0026color=orange) |\n| `devopscorner/k8s-context:alpine` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/alpine.svg?label=Image%20size\u0026logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1\u0026ordering=last_updated\u0026name=alpine) |\n| `devopscorner/k8s-context:alpine-latest` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/alpine-latest.svg?label=Image%20size\u0026logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1\u0026ordering=last_updated\u0026name=alpine-latest) |\n| `devopscorner/k8s-context:1.1.9` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/1.1.9.svg?label=Image%20size\u0026logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1\u0026ordering=last_updated\u0026name=1.1.9) ![latest-1.1.9](https://img.shields.io/static/v1?label=latest\u0026message=1.1.9\u0026color=orange) |\n| `devopscorner/k8s-context:go1.21-alpine3.18` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/go1.21-alpine3.18.svg?label=Image%20size\u0026logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1\u0026ordering=last_updated\u0026name=go1.21-alpine3.18) |\n| `devopscorner/k8s-context:go1.21.3-alpine3.18` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/go1.21.3-alpine3.18.svg?label=Image%20size\u0026logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1\u0026ordering=last_updated\u0026name=go1.21.3-alpine3.18) |\n\n\n### Alpine (Depreciated)\n\n| Image name | Size |\n|------------|------|\n| `devopscorner/k8s-context:1.1.8` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/1.1.8.svg?label=Image%20size\u0026logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1\u0026ordering=last_updated\u0026name=1.1.8) |\n| `devopscorner/k8s-context:1.1.7` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/1.1.7.svg?label=Image%20size\u0026logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1\u0026ordering=last_updated\u0026name=1.1.7) |\n| `devopscorner/k8s-context:1.1.6` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/1.1.6.svg?label=Image%20size\u0026logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1\u0026ordering=last_updated\u0026name=1.1.6) |\n| `devopscorner/k8s-context:1.1.5` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/1.1.5.svg?label=Image%20size\u0026logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1\u0026ordering=last_updated\u0026name=1.1.5) |\n| `devopscorner/k8s-context:1.1.4` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/1.1.4.svg?label=Image%20size\u0026logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1\u0026ordering=last_updated\u0026name=1.1.4) |\n| `devopscorner/k8s-context:1.1.3` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/1.1.3.svg?label=Image%20size\u0026logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1\u0026ordering=last_updated\u0026name=1.1.3) |\n| `devopscorner/k8s-context:alpine-3.15` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/alpine-3.15.svg?label=Image%20size\u0026logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1\u0026ordering=last_updated\u0026name=alpine-3.15) |\n| `devopscorner/k8s-context:go1.19-alpine3.15` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/go1.19-alpine3.15.svg?label=Image%20size\u0026logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1\u0026ordering=last_updated\u0026name=go1.19-alpine3.15) |\n| `devopscorner/k8s-context:go1.19.3-alpine3.15` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/go1.19.3-alpine3.15.svg?label=Image%20size\u0026logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1\u0026ordering=last_updated\u0026name=go1.19.3-alpine3.15) |\n| `devopscorner/k8s-context:alpine-3.16` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/alpine-3.16.svg?label=Image%20size\u0026logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1\u0026ordering=last_updated\u0026name=alpine-3.16) |\n| `devopscorner/k8s-context:go1.19-alpine3.16` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/go1.19-alpine3.16.svg?label=Image%20size\u0026logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1\u0026ordering=last_updated\u0026name=go1.19-alpine3.16) |\n| `devopscorner/k8s-context:go1.19.5-alpine3.16` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/go1.19.5-alpine3.16.svg?label=Image%20size\u0026logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1\u0026ordering=last_updated\u0026name=go1.19.5-alpine3.16) |\n| `devopscorner/k8s-context:alpine-3.17` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/alpine-3.17.svg?label=Image%20size\u0026logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1\u0026ordering=last_updated\u0026name=alpine-3.17) |\n| `devopscorner/k8s-context:go1.19-alpine3.17` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/go1.19-alpine3.17.svg?label=Image%20size\u0026logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1\u0026ordering=last_updated\u0026name=go1.19-alpine3.17) |\n| `devopscorner/k8s-context:go1.19.5-alpine3.17` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/go1.19.5-alpine3.17.svg?label=Image%20size\u0026logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1\u0026ordering=last_updated\u0026name=go1.19.5-alpine3.17) |\n\n---\n\n## K8S-Context\n\n```\n\n _    ___                            _            _\n| | _( _ ) ___        ___ ___  _ __ | |_ _____  _| |_\n| |/ / _ \\/ __|_____ / __/ _ \\| '_ \\| __/ _ \\ \\/ / __|\n|   \u003c (_) \\__ \\_____| (_| (_) | | | | ||  __/\u003e  \u003c| |_\n|_|\\_\\___/|___/      \\___\\___/|_| |_|\\__\\___/_/\\_\\\\__|\n\n\n===================================\n[[  K8S-CONTEXT (K8C)  ]] - v1.1.9\n===================================\nUsage:\n  k8c [command]\n\nAvailable Commands:\n  completion  Generate the autocompletion script for the specified shell\n  get         Get Kubernetes resources (ns, svc, deploy, po)\n  help        Help about any command\n  list        List all available Kubernetes contexts\n  load        Load a kubeconfig file\n  merge       Merge multiple kubeconfig files\n  show        Describe / show kubernetes resources (po, logs, port, node)\n  switch      Switch to different context\n  version     Print the version number of k8s-context\n\nFlags:\n  -h, --help                help for k8s-context\n      --kubeconfig string   Path to kubeconfig file (default \"/home/devopscorner/.kube/config\")\n\nUse \"k8c [command] --help\" for more information about a command.\n\n```\n\n## How to Use\n\n- Clone this repository\n  ```\n  git clone https://github.com/devopscorner/k8s-context.git\n\n  -- or --\n\n  git clone git@github.com:devopscorner/k8s-context.git\n  ```\n\n- Run Initialize\n  ```\n  make init\n\n  -- or --\n\n  cd src\n  go mod tidy\n  ```\n\n- Set Environment\n  ```\n  export GO_APP=k8s-context\n  export SOURCES=$(sh find . -name '*.go' | grep -v /vendor/)\n  export VERSION=$(sh git describe --tags --always --dirty)\n  export GOPKGS=$(sh go list ./ | grep -v /vendor/)\n  export GO111MODULE=on\n  export LDFLAGS=-X github.com/devopscorner/k8s-context/config.Version=$(VERSION) -w -s\n\n  # Linux x86\n  export GOARCH=amd64\n  export GOOS=linux\n\n  # Mac Intel\n  export GOOS=darwin\n  export GOARCH=amd64\n\n  # Mac M1/M2 (Arm)\n  export GOOS=darwin\n  export GOARCH=arm64\n  ```\n\n- Build Binary\n  ```\n  # Linux x86\n  make build\n\n  # Mac Intel\n  make build-mac-amd\n\n  # Mac M1/M2 (Arm)\n  make build-mac-arm\n\n  -- or --\n\n  cd src\n  GO111MODULE=$(GO111MODULE) GOOS=$(GOOS) GOARCH=$(GOARCH) CGO_ENABLED=0 go build -o build/$(GO_APP) $(BUILD_FLAGS) -ldflags \"$(LDFLAGS)\" ./main.go\n  ```\n\n- Running Binary\n  ```\n  cd src/build\n  ./k8c\n  ```\n\n- Autocompletion Script\n  ```\n  ./k8c completion bash|fish|powershell|zsh\n  ```\n\n- Using Contexts\n\n  - Merge Multi Config\n    ```\n    ./k8c merge [new-config] [config-1] [config-2] ... [config-n]\n    ---\n    eg: (merge into single file $HOME/.kube/config)\n\n    ./k8c merge $HOME/.kube/config  $HOME/.kube/config-staging-dev $HOME/.kube/config-staging-uat $HOME/.kube/config-staging-qa\n    ```\n\n  - Discovery All KUBECONFIG Files Inside `~/.kube` Folder --- Interactive Mode\n    ```\n    ./k8c load\n    ---\n    Select a kubeconfig file:  [Use arrows to move, type to filter]\n    \u003e /home/devopscorner/.kube/.switch_tmp/config.1072356766.tmp\n    /home/devopscorner/.kube/.switch_tmp/config.3841581520.tmp\n\n    Available Kubernetes contexts:\n    arn:aws:eks:ap-southeast-1:YOUR_AWS_ACCOUNT:cluster/devopscorner-lab\n    arn:aws:eks:ap-southeast-1:YOUR_AWS_ACCOUNT:cluster/devopscorner-dev-staging\n    arn:aws:eks:ap-southeast-1:YOUR_AWS_ACCOUNT:cluster/devopscorner-uat-staging\n    arn:aws:eks:ap-southeast-1:YOUR_AWS_ACCOUNT:cluster/devopscorner-production\n    ```\n\n  - List Context(s)\n    ```\n    KUBECONFIG=$HOME/.kube/config\n    kubectl config get-contexts\n\n    -- or --\n\n    ## Default KUBECONFIG path (`/.kube/config`) ##\n    ./k8c list\n    ---\n    arn:aws:eks:ap-southeast-1:YOUR_AWS_ACCOUNT:cluster/devopscorner-lab\n\n    ## Spesific Kubeconfig ##\n    ./k8c list -f $HOME/.kube/config-cluster\n    ---\n    Available Kubernetes contexts:\n    arn:aws:eks:ap-southeast-1:YOUR_AWS_ACCOUNT:cluster/devopscorner-dev-staging\n    arn:aws:eks:ap-southeast-1:YOUR_AWS_ACCOUNT:cluster/devopscorner-uat-staging\n    ```\n\n  - Switch (select) Context(s) --- Interactive Mode\n    ```\n    ## Default KUBECONFIG path (`/.kube/config`) ##\n    ./k8c switch\n    ---\n    ? Select a context  [Use arrows to move, type to filter]\n    \u003e arn:aws:eks:ap-southeast-1:YOUR_AWS_ACCOUNT:cluster/devopscorner-lab\n\n    \u003e Changed context to: arn:aws:eks:ap-southeast-1:YOUR_AWS_ACCOUNT:cluster/devopscorner-dev-staging\n\n    ## Spesific Kubeconfig ##\n    ./k8c switch - $HOME/.kube/config-cluster\n    ---\n    ? Select a context  [Use arrows to move, type to filter]\n    \u003e arn:aws:eks:ap-southeast-1:YOUR_AWS_ACCOUNT:cluster/devopscorner-dev-staging\n    arn:aws:eks:ap-southeast-1:YOUR_AWS_ACCOUNT:cluster/devopscorfner-uat-staging\n\n    \u003e Changed context to: arn:aws:eks:ap-southeast-1:YOUR_AWS_ACCOUNT:cluster/devopscorner-dev-staging\n    ```\n\n  - Run Spesific KUBECONFIG\n    ```\n    KUBECONFIG=$HOME/.kube/config-new-cluster\n    kubectl config use [cluster_name]\n\n    -- or --\n\n    ./k8c switch -f $HOME/.kube/config-new-cluster\n    ```\n\n- Get Resources Kubernetes\n\n  - Namespaces\n    ```\n    ./k8c get namespace\n\n    -- or --\n\n    ./k8c get ns\n    ```\n\n  - Services\n    ```\n    ./k8c get services\n\n    -- or --\n\n    ./k8c get svc\n    ```\n\n  - Deployments\n    ```\n    ./k8c get deployments\n\n    -- or --\n\n    ./k8c get deploy\n    ```\n\n  - Pods\n    ```\n    ./k8c get pods\n\n    -- or --\n\n    ./k8c get po\n    ```\n\n  - Endpoints\n    ```\n    ./k8c get endpoints\n\n    -- or --\n\n    ./k8c get ep\n    ```\n\n- Get Resources By Filtering Namespace (Comma-Separated)\n\n  - Namespaces\n    ```\n    ./k8c get namespace -n ns1,ns2,ns3 --kubeconfig=$HOME/.kube/config\n    ./k8c get namespace --namespace ns1,ns2,ns3 --kubeconfig=$HOME/.kube/config\n\n    -- or --\n\n    ./k8c get ns -n ns1,ns2,ns3 --kubeconfig=$HOME/.kube/config\n    ./k8c get ns --namespace ns1,ns2,ns3 --kubeconfig=$HOME/.kube/config\n    ```\n\n  - Services\n    ```\n    ./k8c get services -n ns1,ns2,ns3 --kubeconfig=$HOME/.kube/config\n    ./k8c get services --namespace ns1,ns2,ns3 --kubeconfig=$HOME/.kube/config\n\n    -- or --\n\n    ./k8c get svc -n ns1,ns2,ns3 --kubeconfig=$HOME/.kube/config\n    ./k8c get svc --namespace ns1,ns2,ns3 --kubeconfig=$HOME/.kube/config\n    ```\n\n  - Deployments\n    ```\n    ./k8c get deployments -n ns1,ns2,ns3 --kubeconfig=$HOME/.kube/config\n    ./k8c get deployments --namespace ns1,ns2,ns3 --kubeconfig=$HOME/.kube/config\n\n    -- or --\n\n    ./k8c get deploy -n ns1,ns2,ns3 --kubeconfig=$HOME/.kube/config\n    ./k8c get deploy --namespace ns1,ns2,ns3 --kubeconfig=$HOME/.kube/config\n    ```\n\n  - Pods\n    ```\n    ./k8c get pods -n ns1,ns2,ns3 --kubeconfig=$HOME/.kube/config\n    ./k8c get pods --namespace ns1,ns2,ns3 --kubeconfig=$HOME/.kube/config\n\n    -- or --\n\n    ./k8c get po -n ns1,ns2,ns3 --kubeconfig=$HOME/.kube/config\n    ./k8c get po --namespace ns1,ns2,ns3 --kubeconfig=$HOME/.kube/config\n    ```\n\n  - Endpoints\n    ```\n    ./k8c get endpoints -n ns1,ns2,ns3 --kubeconfig=$HOME/.kube/config\n\n    -- or --\n\n    ./k8c get ep -n ns1,ns2,ns3 --kubeconfig=$HOME/.kube/config\n    ```\n\n- Show (Describe) Resources from Nodes, Pods, Logs \u0026 Port Forward\n\n  - Pods\n    ```\n    ./k8c show po [pods_name] -n [namespace]\n    ./k8c show po [pods_name] --namespace [namespace]\n    ```\n\n  - Logs\n    ```\n    ./k8c show logs [pods_name] -n [namespace]\n    ./k8c show logs [pods_name] --namespace [namespace]\n    ```\n\n  - Port Forward\n    ```\n    ./k8c show port [pods_name] -n [namespace]\n    ./k8c show port [pods_name] --namespace [namespace]\n    ```\n\n  - Node\n    ```\n    ./k8c show node [node_name]\n    ```\n\n- Integrated with CI/CD `Dockerfile` Pipeline\n  ```\n  # Dockerfile\n  COPY --from=devopscorner/k8s-context:latest /usr/local/bin/k8c /usr/local/bin/k8c\n  ```\n\n## Tested Environment\n\n### Versioning\n\n- Docker version\n\n  ```\n  docker version\n\n  Client:\n    Cloud integration: v1.0.22\n    Version:           20.10.17-rd\n    API version:       1.41\n    Go version:        go1.17.11\n    Git commit:        c2e4e01\n    Built:             Fri Jul 22 18:31:17 2022\n    OS/Arch:           darwin/amd64\n    Context:           default\n    Experimental:      true\n  ```\n\n- Docker-Compose version\n\n  ```\n  docker-compose -v\n  ---\n  Docker Compose version v2.11.1\n  ```\n\n- Golang Version Manager (GVM)\n\n  ```\n  gvm version\n  ---\n  Go Version Manager v1.0.22 installed at /Users/devopscorner/.gvm\n  ```\n\n- Golang Version\n  ```\n  go version\n  ---\n  go version go1.21.3 darwin/arm64\n  ```\n\n## Security Check\n\nMake sure that you didn't push sensitive information in this repository\n\n- [ ] AWS Credentials (AWS_ACCESS_KEY, AWS_SECRET_KEY)\n- [ ] AWS Account ID\n- [ ] AWS Resources ARN\n- [ ] Username \u0026 Password\n- [ ] Private (id_rsa) \u0026 Public Key (id_rsa.pub)\n- [ ] DNS Zone ID\n- [ ] APP \u0026 API Key\n\n## Copyright\n\n- Author: **Dwi Fahni Denni (@zeroc0d3)**\n- Vendor: **DevOps Corner Indonesia (devopscorner.id)**\n- License: **Apache v2**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevopscorner%2Fk8s-context","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevopscorner%2Fk8s-context","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevopscorner%2Fk8s-context/lists"}