Thank you for your interest in contributing to Wrale Charts! This document provides guidelines and instructions for contributing.
- Code of Conduct
- Getting Started
- Development Environment
- Contributing Process
- Chart Guidelines
- Testing Requirements
- Documentation
- Submission Process
By participating in this project, you agree to follow our standard open source code of conduct:
- Be respectful and inclusive
- Accept constructive criticism
- Focus on what is best for the community
- Show empathy towards other community members
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/wrale-charts.git cd wrale-charts
- Add upstream remote:
git remote add upstream https://github.com/wrale/wrale-charts.git
- Kubernetes cluster (1.19+)
- Helm (3.13.0+)
- kubectl
- Docker (for local testing)
- helm-docs
- yamllint
- chart-testing (ct)
- Install required tools:
# Install helm-docs GO111MODULE=on go get github.com/norwoodj/helm-docs/cmd/helm-docs # Install yamllint pip install yamllint # Install chart-testing wget https://github.com/helm/chart-testing/releases/download/v3.7.1/chart-testing_3.7.1_linux_amd64.tar.gz tar xzvf chart-testing_3.7.1_linux_amd64.tar.gz sudo mv ct /usr/local/bin/
-
Create a new branch:
git checkout -b add-chart-name
-
Create chart directory:
mkdir -p charts/chart-name
-
Add required files:
- Chart.yaml - Chart definition and metadata
- values.yaml - Default configuration values
- README.md - Chart documentation
- templates/ - Chart templates
- NOTES.txt - Post-installation notes
- .helmignore - Files to ignore
-
Create a feature/fix branch:
git checkout -b feature-description
-
Make your changes following our Chart Guidelines
- Follow SemVer
- Increment chart version for any changes
- Document changes in CHANGELOG.md
- Use consistent naming conventions
- Include comprehensive documentation
- Provide sensible defaults
- Follow Helm best practices
- Minimize external dependencies
- Document all dependencies
- Use specific versions
- Test dependency compatibility
-
Run unit tests:
ct lint --config .github/ct.yaml --charts charts/your-chart
-
Run integration tests:
ct install --config .github/ct.yaml --charts charts/your-chart
- Chart installation
- Upgrade from previous versions
- Configuration validation
- Resource creation
- Custom values
- README.md with:
- Description
- Prerequisites
- Installation instructions
- Configuration options
- Examples
- NOTES.txt for post-installation information
- Well-commented templates
- Up-to-date CHANGELOG.md
- Clear and concise
- Include examples
- Keep current
- Use proper formatting
- Ensure all tests pass
- Update documentation
- Create pull request
- Address review comments
- Update changelog
- Await approval
- Use meaningful titles
- Follow the PR template
- Include test results
- Link related issues
- Automated checks must pass
- Documentation must be complete
- At least one maintainer approval required
- All comments must be addressed
- Create an issue for questions
- Join our community discussions
- Read our FAQ
- Contact maintainers
Thank you for contributing to Wrale Charts! Your efforts help make our project better for everyone.