Thank you for your interest in contributing to GitOps Tools! This document provides guidelines and instructions for contributing.
This project adheres to a Code of Conduct that all contributors are expected to follow. Please read CODE_OF_CONDUCT.md before contributing.
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/gitops-tools.git - Create a branch for your changes:
git checkout -b feature/your-feature-name
- Follow Kubernetes best practices for all manifests
- Use Kustomize for configuration management
- Keep base configurations generic and reusable
- Use overlays for cluster-specific customizations
- Always specify resource limits and requests
- Label all resources appropriately
- All changes should be declarative and idempotent
- Avoid hardcoding values; use ConfigMaps and Secrets
- Document cluster-specific configurations
- Test manifests locally before committing
- Base manifests go in
{tool}/base/ - Cluster-specific overlays go in
{tool}/overlays/{cluster-name}/ - Each tool should have its own directory following the same pattern
Use conventional commit format:
type(scope): subject
body (optional)
footer (optional)
Types:
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changes (formatting, etc.)refactor: Code refactoringtest: Adding or updating testschore: Maintenance tasks
Examples:
feat(harbor): add ingress configuration for nprd-apps
fix(harbor): correct resource limits for harbor-core
docs: update README with new tool information
- Ensure your changes follow the development guidelines
- Update documentation as needed
- Test your changes (if applicable)
- Update docs/CHANGELOG.md with your changes
- Create a pull request with a clear description
- Reference any related issues
- Code follows project guidelines
- Documentation is updated
- docs/CHANGELOG.md is updated
- Commits follow conventional commit format
- No secrets or sensitive data are committed
- Manifests are validated (if applicable)
- Never commit secrets or sensitive data
- Use Kubernetes Secrets or external secret management
- Review all manifests for security best practices
- Report security vulnerabilities privately
If you have questions or need help, please:
- Open an issue for discussion
- Check existing documentation
- Review similar implementations in the repository
Thank you for contributing! 🎉