https://github.com/langgenius/dify-ee-helm-chart-values-generator.git
An interactive tool for generating production-ready Helm Chart values files for Dify Enterprise Edition
This project provides a Python script generate-values-prd.py that interactively guides users through generating values-prd.yaml configuration files. The script uses a modular design and automatically handles relationships between configuration items to ensure consistency and correctness.
openssl:appSecretKey: 42 bytesinnerApiKey: 42 bytesenterprise.appSecretKey: 42 bytesenterprise.adminAPIsSecretKeySalt: 42 bytesenterprise.passwordEncryptionKey: 32 bytes (AES-256)openssl (usually pre-installed on systems)ruamel.yaml (recommended): For preserving YAML file format, comments, and quoteshelm (required): For downloading values.yaml from Helm Chart repository. The script requires Helm to be installed.Using uv (recommended, faster):
# 1. Install uv (if not installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 2. Create virtual environment
uv venv
# 3. Activate virtual environment (optional, uv auto-detects)
source .venv/bin/activate
# 4. Install dependencies
uv pip install -r requirements.txt
Or using pip:
pip install -r requirements.txt
Basic usage (automatically downloads latest values.yaml):
python generate-values-prd.py
Specify a version:
python generate-values-prd.py --version 3.6.0
Use local values.yaml:
python generate-values-prd.py --local
Force re-download:
python generate-values-prd.py --force-download
Command-line options:
--version, -v: Specify Helm Chart version (default: latest)--local, -l: Use local values.yaml file (don't download)--force-download, -f: Force re-download values.yaml (ignore cache)--repo-url: Custom Helm Chart repository URLvalues.yaml from the official Dify Helm Chart repository if it's not found locally. Downloaded files are cached in .cache/ directory.
The script will guide you through the following configuration modules:
out/values-prd-{version}.yaml (e.g., out/values-prd-3.5.6.yaml).
.
βββ generate-values-prd.py # Main script file
βββ generator.py # Core generator class
βββ version_manager.py # Version management
βββ config.py # Configuration constants
βββ pyproject.toml # Python project configuration
βββ requirements.txt # Python dependencies
βββ LICENSE # MIT License
βββ CONTRIBUTING.md # Contribution guidelines
βββ .gitignore # Git ignore configuration
βββ modules/ # Configuration modules
βββ utils/ # Utility functions
βββ i18n/ # Internationalization
βββ out/ # Generated output files (gitignored)
βββ docs/ # Documentation directory
βββ README-GENERATOR.md # Detailed usage guide
βββ MODULES.md # Module structure and relationships
βββ FLOWCHART.md # Configuration flowcharts
βββ KIND-NETWORKING.md # Kind cluster networking guide
βββ IMPROVEMENTS.md # Improvement records
βββ CHANGELOG.md # Changelog
Detailed documentation is available in the docs/ directory:
The script automatically handles the following relationships:
rag.etlType = "dify" β unstructured.enabled = falserag.etlType = "Unstructured" β unstructured.enabled = truevalues-prd-{version}.yaml files contain sensitive information and are gitignoredout/ directory which is gitignoredemail-server.txt are excluded from the repositoryopenssl for securityContributions are welcome! Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project uses an automated PR review bot powered by GitHub Actions. When you create or update a Pull Request, the bot will automatically:
This project is licensed under the MIT License - see the LICENSE file for details.