Skip to content

Commit 0d297c5

Browse files
committed
docs: improve README and code formatting
- Add clear problem statement to README - Update quick start with complete MVP examples - Fix string formatting in base.py error message
1 parent 2323b70 commit 0d297c5

File tree

2 files changed

+53
-7
lines changed

2 files changed

+53
-7
lines changed

README.md

Lines changed: 52 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,18 @@
1111

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

14+
## The Problem
15+
16+
Managing Helm values across multiple environments (dev, staging, prod) is challenging:
17+
18+
- 🔀 **Values Sprawl**: Values spread across multiple files become hard to track
19+
- 🔍 **Configuration Discovery**: Difficult to know what values can be configured
20+
-**Missing Values**: No validation for required values before deployment
21+
- 🔐 **Secret Management**: Sensitive data mixed with regular values
22+
- 📝 **Documentation**: Values often lack descriptions and context
23+
24+
Helm Values Manager solves these challenges by providing a structured way to define, validate, and manage values across environments, with built-in support for documentation and secret handling.
25+
1426
## Features
1527

1628
- 🔐 **Secure Secret Management**: Safely handle sensitive data
@@ -33,18 +45,52 @@ helm plugin install https://github.com/zipstack/helm-values-manager
3345

3446
## Quick Start
3547

36-
1. Initialize a new configuration:
48+
1. Initialize a new configuration for your Helm release:
3749

3850
```bash
39-
helm values-manager init
51+
helm values-manager init --release my-app
4052
```
4153

42-
This creates:
54+
2. Add value configurations with descriptions and validation:
55+
56+
```bash
57+
# Add a required configuration
58+
helm values-manager add-value-config --path app.replicas --description "Number of application replicas" --required
4359

44-
- `values-manager.yaml` configuration file
45-
- `values` directory with environment files (`dev.yaml`, `staging.yaml`, `prod.yaml`)
60+
# Add an optional configuration
61+
helm values-manager add-value-config --path app.logLevel --description "Application log level (debug/info/warn/error)"
62+
```
63+
64+
3. Add deployments for different environments:
65+
66+
```bash
67+
helm values-manager add-deployment dev
68+
helm values-manager add-deployment prod
69+
```
70+
71+
4. Set values for each deployment:
72+
73+
```bash
74+
# Set values for dev
75+
helm values-manager set-value --path app.replicas --value 1 --deployment dev
76+
helm values-manager set-value --path app.logLevel --value debug --deployment dev
77+
78+
# Set values for prod
79+
helm values-manager set-value --path app.replicas --value 3 --deployment prod
80+
helm values-manager set-value --path app.logLevel --value info --deployment prod
81+
```
82+
83+
5. Generate values files for deployments:
84+
85+
```bash
86+
# Generate dev values
87+
helm values-manager generate --deployment dev --output ./dev
88+
89+
# Generate prod values
90+
helm values-manager generate --deployment prod --output ./prod
91+
```
4692

47-
2. View available commands:
93+
6. View available commands and options:
4894

4995
```bash
5096
helm values-manager --help

helm_values_manager/backends/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ def _validate_auth_config(self, auth_config: Dict[str, str]) -> None:
5757

5858
valid_types = ["env", "file", "direct", "managed_identity"]
5959
if auth_config["type"] not in valid_types:
60-
raise ValueError(f"Invalid auth type: {auth_config['type']}. " f"Must be one of: {', '.join(valid_types)}")
60+
raise ValueError(f"Invalid auth type: {auth_config['type']}. Must be one of: {', '.join(valid_types)}")
6161

6262
@abstractmethod
6363
def get_value(self, path: str, environment: str, resolve: bool = False) -> Union[str, int, float, bool, None]:

0 commit comments

Comments
 (0)