- 
                Notifications
    
You must be signed in to change notification settings  - Fork 1
 
Description
Title
[Feature]: Implement Sensitive Values Support with GCS Backend
Problem Statement
Currently, the Helm Values Manager does not support storing sensitive values securely. The --sensitive flag is hidden in the CLI and ignored in the implementation. This limits the plugin's ability to manage secrets and sensitive configuration values, which is a critical requirement for production Kubernetes deployments.
Proposed Solution
Implement sensitive values support with Google Cloud Storage (GCS) as the first backend:
- 
Enable the
--sensitiveflag in the CLI:- Remove the 
hidden=Trueattribute from the--sensitiveoption - Remove the warning and ignoring logic
 
 - Remove the 
 - 
Implement a GCS backend for sensitive values:
- Create a 
GCSValueBackendclass that implements theValueBackendinterface - Add authentication and configuration for GCS
 - Implement secure storage and retrieval of sensitive values
 
 - Create a 
 - 
Update the configuration schema:
- Add GCS-specific configuration options to the backend_config schema
 - Document the required GCS permissions and setup
 
 - 
Add CLI commands for GCS backend configuration:
- Add options to configure GCS bucket, project, and credentials
 - Support service account authentication
 
 - 
Update documentation:
- Add user guide for configuring and using GCS for sensitive values
 - Add examples and best practices
 
 
Implementation Details
The implementation will:
- Store sensitive values in a GCS bucket with appropriate encryption
 - Use reference-based approach where only references are stored in the config file
 - Support automatic retrieval of sensitive values when needed
 - Include proper error handling for GCS-specific errors
 - Add comprehensive tests for the GCS backend
 
Alternative Solutions
- Implement all backends at once: This would be more comprehensive but would delay the release of sensitive value support.
 - Use local encryption: Could encrypt values locally, but this doesn't provide the same level of security and integration.
 - Use Kubernetes Secrets directly: Could store values directly in Kubernetes Secrets, but this would limit portability.
 
Additional Context
This feature is a prerequisite for production use of the Helm Values Manager. It will be followed by support for other backends (AWS, Azure, HashiCorp Vault, Git Secret) in future releases.
Labels
- enhancement
 - feature
 - security
 - good first issue
 
Requirements
- This feature aligns with the project's scope and goals
 - I've checked that this feature doesn't already exist
 - I've searched for existing feature requests