Thank you for your interest in contributing to the DotCMS Helm Charts repository! This document provides guidelines and instructions for contributing.
GitHub pull requests are the preferred method to contribute code to dotCMS Helm Charts. Before any pull requests can be accepted, an automated tool will ask you to agree to the dotCMS Contributor's Agreement.
- Prerequisites
- Development Setup
- Making Changes
- Testing
- Pull Request Process
- Chart Guidelines
- Documentation
- Getting Help
Before you begin, ensure you have the following tools installed:
- Docker Desktop with Kubernetes enabled
- kubectl
- Helm (v3.x)
- mkcert (for local development)
For detailed installation instructions, refer to the Local Development Setup guide.
-
Fork the repository and clone your fork:
git clone git@github.com:YOUR_USERNAME/helm-charts.git cd helm-charts -
Add the upstream repository as a remote:
git remote add upstream git@github.com:dotCMS/helm-charts.git
-
Create a new branch for your changes:
git checkout -b feature/your-feature-name
- Follow the Helm chart best practices when making changes.
- Update documentation as needed.
- Update the chart version according to semantic versioning:
- Bug fixes and minor changes: patch version (1.0.x)
- New features (backward compatible): minor version (1.x.0)
- Breaking changes: major version (x.0.0)
Before submitting a pull request, ensure your changes pass all tests:
-
Lint your changes:
helm lint charts/* -
Run chart-testing:
ct lint --config ct.yaml
-
Test the chart installation locally:
helm install test-release ./charts/dotcms --namespace dotcms-dev --create-namespace
- Update the README.md and relevant documentation with details of changes.
- Ensure all tests pass and the chart version is updated appropriately.
- Submit a pull request to the
mainbranch. - The PR must receive approval from at least one maintainer.
- Once approved, a maintainer will merge your changes.
- Sign the automated dotCMS Contributor's Agreement if prompted.
When contributing to the charts:
- Follow the existing chart structure and naming conventions.
- Use the provided helper templates in
_helpers.tplwhen applicable. - Include appropriate NOTES.txt with usage instructions.
- Document all values in values.yaml with clear descriptions.
- Ensure charts are as configurable as possible while maintaining secure defaults.
- Update the chart's README.md with any new features or changes.
- Document all new values in values.yaml with clear descriptions.
- Include examples for complex configurations.
- Update the NOTES.txt if the deployment process changes.
- Never commit sensitive information (keys, passwords, certificates).
- Use Kubernetes Secrets for sensitive data.
- Follow security best practices for container images and Kubernetes resources.
- Report security vulnerabilities to the maintainers privately.
If you need help with your contribution, you can:
| Source | Location |
|---|---|
| Documentation | Documentation |
| Forums/Listserv | via Google Groups |
| @dotCMS | |
| Main Site | dotCMS.com |
Additionally:
- Check existing issues and documentation
- Create a new issue for questions or problems
- Reach out to the maintainers
Please note that this project is released with a Code of Conduct. By participating in this project, you agree to abide by its terms.
By contributing to this repository, you agree that your contributions will be licensed under the same license as the project (see LICENSE file).