All Projects → bmaynard → kubevol

bmaynard / kubevol

Licence: GPL-3.0 license
Audit your Kubernetes pods attached volumes and report any stale items.

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to kubevol

kubetools
Kubetools - Curated List of Kubernetes Tools
Stars: ✭ 674 (+3270%)
Mutual labels:  kubernetes-cli
kubectl-passman
kubectl plugin that provides the missing link/glue between common password managers and kubectl
Stars: ✭ 69 (+245%)
Mutual labels:  kubernetes-cli
K9s
🐶 Kubernetes CLI To Manage Your Clusters In Style!
Stars: ✭ 14,585 (+72825%)
Mutual labels:  kubernetes-cli
zsh-kubectl-completion
Rich zsh completion for the kubectl command.
Stars: ✭ 35 (+75%)
Mutual labels:  kubernetes-cli

kubevol

Unit Tests Build Release

Kubevol allows you to audit all your Kubernetes pods for an attached volume or see all the volumes attached to each pod by a specific type (eg: ConfigMap, Secret).

Features:

  • Query for ConfigMaps and Secrets (future support coming for other types of volumes)
  • Kubernetes controller to watch and record changes to ConfigMaps and Secrets
  • Filter by namespace
  • Filter by a specific object name
  • See if attached volume has a stale version attached

Installation

You can download the latest release from Releases.

Watch And Record Changes

Since Kubernetes doesn't keep track of when a Secret or Configmap was updated, kubevol has a Kubernetes controller that will watch for all changes and will record the last modified date. This then gives kubevol the ability to detect if an attached Secret or Configmap is outdated.

To install the watch controller, run:

$ kubectl apply -f https://raw.githubusercontent.com/bmaynard/kubevol/main/deployment/manifest.yaml

Configuration

If your kubeconfig is not in the default location in your home directory, you can specify a custom kubeconfig file by creating the following file:

~/.kubevol.yaml

---
kubeconfig: /path/to/kube/config

Sample Output

$ kubevol secret
There are 12 pods in the cluster
Searching for pods that have a Secret attached

+------------------+----------+-----------------------+-----------------------+-------------+
| NAMESPACE        | POD NAME | SECRET NAME           | VOLUME NAME           | OUT OF DATE |
+------------------+----------+-----------------------+-----------------------+-------------+
| kubevol-test-run | redis    | redis-secret          | redis-secret          | No          |
| kubevol-test-run | redis    | redis-secret-outdated | redis-secret-outdated | Yes         |
+------------------+----------+-----------------------+-----------------------+-------------+
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].