|
1 | | -# **🚧 This is a work in progress not yet released for usage** |
| 1 | +# Helm Values Manager |
2 | 2 |
|
| 3 | +🚀 A powerful Helm plugin for managing values and secrets across multiple environments. |
3 | 4 |
|
4 | | -# **Helm Values Manager 🚀** |
5 | | -🔐 **Secure & Manage Helm Configurations and Secrets Easily!** |
| 5 | +## Features |
6 | 6 |
|
7 | | -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. |
| 7 | +- 🔐 **Secure Secret Management**: Safely handle sensitive data |
| 8 | +- 🌍 **Multi-Environment Support**: Manage values for dev, staging, prod, and more |
| 9 | +- 🔄 **Value Inheritance**: Define common values and override per environment |
| 10 | +- 🔍 **Secret Detection**: Automatically identify and protect sensitive data |
| 11 | +- 📦 **Easy Integration**: Works seamlessly with existing Helm workflows |
8 | 12 |
|
9 | | ---- |
| 13 | +## Requirements |
10 | 14 |
|
11 | | -## **✨ Features** |
12 | | -- 🔴 **Deployment-Aware Configuration Management** – Define **global and per-environment configurations**. |
13 | | -- 🔴 **Secure Secret Storage** – Integrates with |
14 | | - - 🔴 **Google Secret Manager** |
15 | | - - 🔴 **AWS Secrets Manager** |
16 | | - - 🔴 **Azure Key Vault** |
17 | | - - 🔴 **HashiCorp Vault** |
18 | | - - 🔴 **Git-Secrets** |
19 | | - - 🔧 **Easily Extendable** – Implement your own backend using the **SecretManager API**. |
20 | | -- 🔴 **Autocompletion Support** – Smooth CLI experience with **Typer-based interactive commands**. |
21 | | -- 🔴 **Validation & Missing Keys Detection** – Avoid misconfigurations with **automated checks**. |
22 | | -- 🔴 **Extensible Secret Manager** – Easily add new **custom backends** for secret storage. |
23 | | -- 🔴 **Seamless ArgoCD & Helm Integration** – Works **out-of-the-box** with Helm-based GitOps workflows. |
| 15 | +- Python 3.8 or higher |
| 16 | +- Helm 3.x |
| 17 | +- pip (Python package installer) |
24 | 18 |
|
25 | | ---- |
| 19 | +## Installation |
26 | 20 |
|
27 | | -## **🚀 Quick Start** |
28 | | -1️⃣ **Install the Helm Plugin** |
29 | | -```sh |
30 | | -helm plugin install https://github.com/your-org/helm-values-manager.git |
| 21 | +```bash |
| 22 | +helm plugin install https://github.com/zipstack/helm-values-manager |
31 | 23 | ``` |
32 | 24 |
|
33 | | -2️⃣ **Initialize a New Configuration** |
34 | | -```sh |
35 | | -helm values-manager init my-release |
| 25 | +## Quick Start |
| 26 | + |
| 27 | +1. Initialize a new configuration: |
| 28 | +```bash |
| 29 | +helm values-manager init |
| 30 | +``` |
| 31 | + |
| 32 | +This creates: |
| 33 | +- `values-manager.yaml` configuration file |
| 34 | +- `values` directory with environment files (`dev.yaml`, `staging.yaml`, `prod.yaml`) |
| 35 | + |
| 36 | +2. View available commands: |
| 37 | +```bash |
| 38 | +helm values-manager --help |
36 | 39 | ``` |
37 | 40 |
|
38 | | -3️⃣ **Define a Deployment & Add Keys** |
39 | | -```sh |
40 | | -helm values-manager add-deployment dev --secrets-backend=aws_secrets_manager |
41 | | -helm values-manager add-key DATABASE_URL --required --sensitive --path=global.database.url |
| 41 | +## Development |
| 42 | + |
| 43 | +### Setup Development Environment |
| 44 | + |
| 45 | +1. Clone the repository: |
| 46 | +```bash |
| 47 | +git clone https://github.com/zipstack/helm-values-manager |
| 48 | +cd helm-values-manager |
42 | 49 | ``` |
43 | 50 |
|
44 | | -4️⃣ **Set & Retrieve Secret Values** |
45 | | -```sh |
46 | | -helm values-manager add-secret DATABASE_URL=mydb://connection --deployment=dev |
47 | | -helm values-manager get-secret DATABASE_URL --deployment=dev |
| 51 | +2. Create and activate a virtual environment: |
| 52 | +```bash |
| 53 | +python -m venv venv |
| 54 | +source venv/bin/activate # On Windows: .\venv\Scripts\activate |
48 | 55 | ``` |
49 | 56 |
|
50 | | -5️⃣ **Validate Configurations** |
51 | | -```sh |
52 | | -helm values-manager validate |
| 57 | +3. Install development dependencies: |
| 58 | +```bash |
| 59 | +pip install -e ".[dev]" |
53 | 60 | ``` |
54 | 61 |
|
55 | | -6️⃣ **Generate the Final `values.yaml`** |
56 | | -```sh |
57 | | -helm values-manager generate --deployment=dev |
| 62 | +4. Install pre-commit hooks: |
| 63 | +```bash |
| 64 | +pre-commit install |
58 | 65 | ``` |
59 | 66 |
|
60 | | ---- |
| 67 | +### Running Tests |
| 68 | + |
| 69 | +Run tests with tox (will test against multiple Python versions): |
| 70 | +```bash |
| 71 | +tox |
| 72 | +``` |
| 73 | + |
| 74 | +Run tests for a specific Python version: |
| 75 | +```bash |
| 76 | +tox -e py39 # For Python 3.9 |
| 77 | +``` |
| 78 | + |
| 79 | +### Code Quality |
| 80 | + |
| 81 | +This project uses several tools to maintain code quality: |
| 82 | + |
| 83 | +- **pre-commit**: Runs various checks before each commit |
| 84 | +- **black**: Code formatting |
| 85 | +- **isort**: Import sorting |
| 86 | +- **flake8**: Style guide enforcement |
| 87 | + |
| 88 | +Run all code quality checks manually: |
| 89 | +```bash |
| 90 | +pre-commit run --all-files |
| 91 | +``` |
61 | 92 |
|
62 | | -## **📜 Documentation** |
63 | | -📖 **[Read the Full Documentation](https://github.com/your-org/helm-values-manager/wiki)** |
64 | | -💡 **[View the Architecture Decision Record (ADR)](https://github.com/your-org/helm-values-manager/wiki/ADRs/001-helm-values-manager.md)** |
65 | | -🛠 **[Contribute to the Project](https://github.com/your-org/helm-values-manager/wiki/Contribution/contributing.md)** |
| 93 | +## Contributing |
66 | 94 |
|
67 | | ---- |
| 95 | +🙌 PRs and contributions are welcome! Let's build a better Helm secret & config manager together. |
68 | 96 |
|
69 | | -## **🤝 Contributing** |
70 | | -Want to help? Check out our **[contribution guidelines](https://github.com/your-org/helm-values-manager/wiki/Contribution/contributing.md)**! We welcome issues, PRs, and feature suggestions. 🎉 |
| 97 | +Please see our [Contributing Guide](CONTRIBUTING.md) for details on how to contribute to this project. |
71 | 98 |
|
72 | | ---- |
| 99 | +## 📌 License |
73 | 100 |
|
74 | | -## **📌 License** |
75 | 101 | 🔓 Open-source under the **MIT License**. |
76 | 102 |
|
77 | | ---- |
| 103 | +### 🌟 Star this repo if you find it useful! 🌟 |
78 | 104 |
|
79 | | -### **🌟 Star this repo if you find it useful! 🌟** |
80 | | -🙌 PRs and contributions are welcome! Let's build a better **Helm secret & config manager** together. 🚀 |
| 105 | +[](https://github.com/zipstack/helm-values-manager) |
0 commit comments