https://github.com/jdamata/k8vault
k8vault is a cli to securely store and access your kubernetes configuration files
https://github.com/jdamata/k8vault
cli keychain kubeconfig kubernetes
Last synced: 6 months ago
JSON representation
k8vault is a cli to securely store and access your kubernetes configuration files
- Host: GitHub
- URL: https://github.com/jdamata/k8vault
- Owner: jdamata
- License: gpl-3.0
- Created: 2019-10-17T19:57:40.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-02-25T04:41:26.000Z (over 3 years ago)
- Last Synced: 2024-06-20T08:06:40.918Z (about 2 years ago)
- Topics: cli, keychain, kubeconfig, kubernetes
- Language: Go
- Homepage:
- Size: 145 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# k8vault
k8vault is a tool to securely store and access kubernetes configuration files. It stores kubeconfigs in your operating system's keystore and overwrites the ```~/.kube/config``` file when you want to use a kubeconfig. For this to work, you need the KUBECONFIG env var pointed at ```~/.kube/config```.
## Installing
You can grab a pre-compiled version of k8vault in the release tab or generate your own:
```bash
go get -u github.com/jdamata/k8vault
```
## Usage
```bash
k8vault : Display usage
k8vault add ~/.kube/docker-for-desktop : Add a kubeconfig
k8vault add ~/.kube/docker-for-desktop --keychain jdamata : Add a kubeconfig to the jdamata keychain
k8vault get docker-for-desktop : Get a kubeconfig named docker-for-desktop
k8vault list : List kubeconfigs
k8vault delete docker-for-desktop : Delete a kubeconfig
k8vault delete --all --keychain jdamata : Delete all kubeconfigs in the jdamata keychain
```
## Known Issues
- K8vault doesn't support Windows Credential Manager due to the maximum password length of 127 characters.
- We store the actively used kubeconfig in ~/.kube/config. It would be better if nothing neeeded to be dropped into the filesystem. Something like a base64 encoded kubeconfig stored as an environment variable might work. Currently kubectl doesn't support this. More info here: https://github.com/kubernetes/kubernetes/issues/93346