Skip to content

Helm Values Manager is a Helm plugin designed to simplify configuration and secret management across multiple Kubernetes deployments. It provides an intuitive CLI to define, validate, and securely store configuration values for Helm-based applications.

License

Notifications You must be signed in to change notification settings

Zipstack/helm-values-manager

Repository files navigation

Helm Values Manager

Quality Gate Status Build Status pre-commit.ci status Security Coverage Duplicated Lines (%) Bugs Code Smells

🚀 A powerful Helm plugin for managing values and secrets across multiple environments.

Features

  • 🔐 Secure Secret Management: Safely handle sensitive data
  • 🌍 Multi-Environment Support: Manage values for dev, staging, prod, and more
  • 🔄 Value Inheritance: Define common values and override per environment
  • 🔍 Secret Detection: Automatically identify and protect sensitive data
  • 📦 Easy Integration: Works seamlessly with existing Helm workflows

Requirements

  • Python 3.9 or higher
  • Helm 3.x
  • pip (Python package installer)

Installation

helm plugin install https://github.com/zipstack/helm-values-manager

Quick Start

  1. Initialize a new configuration:
helm values-manager init

This creates:

  • values-manager.yaml configuration file
  • values directory with environment files (dev.yaml, staging.yaml, prod.yaml)
  1. View available commands:
helm values-manager --help

Development

Setup Development Environment

  1. Clone the repository:
git clone https://github.com/zipstack/helm-values-manager
cd helm-values-manager
  1. Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: .\venv\Scripts\activate
  1. Install development dependencies:
pip install -e ".[dev]"
  1. Install pre-commit hooks:
pre-commit install

Running Tests

Run tests with tox (will test against multiple Python versions):

tox

Run tests for a specific Python version:

tox -e py39  # For Python 3.9

Code Quality

This project uses several tools to maintain code quality:

  • pre-commit: Runs various checks before each commit
  • black: Code formatting
  • isort: Import sorting
  • flake8: Style guide enforcement

Run all code quality checks manually:

pre-commit run --all-files

Contributing

🙌 PRs and contributions are welcome! Let's build a better Helm secret & config manager together.

Please see our Contributing Guide for details on how to contribute to this project.

Acknowledgments

We would like to acknowledge the following AI tools that have helped in the development of this project:

  • Windsurf IDE with Cascade: For providing intelligent code assistance and pair programming capabilities. Also for helping with improving and documenting the architecture.
  • Software Architect GPT: For initial architectural guidance and design decisions.

While these AI tools have been valuable in our development process, all code and design decisions have been carefully reviewed and validated by our development team to ensure quality and security.

📌 License

🔓 Open-source under the MIT License.

🌟 Star this repo if you find it useful! 🌟

Star

About

Helm Values Manager is a Helm plugin designed to simplify configuration and secret management across multiple Kubernetes deployments. It provides an intuitive CLI to define, validate, and securely store configuration values for Helm-based applications.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published