Contributing
Thank you for your interest in contributing to the Keycloak Operator!
Code of Conduct
Please be respectful and constructive in all interactions.
How to Contribute
Reporting Issues
- Search existing issues first
- Provide clear reproduction steps
- Include relevant logs and configuration
Submitting Changes
-
Fork the repository
-
Create a feature branch:
git checkout -b feature/my-feature -
Make your changes following the code style
-
Add tests for new functionality
-
Run checks:
make fmt make vet make lint make test -
Commit with a clear message:
git commit -m "feat: add support for X" -
Push and create a Pull Request
Commit Messages
Follow Conventional Commits:
feat:New featurefix:Bug fixdocs:Documentation onlyrefactor:Code change without feature/fixtest:Adding testschore:Maintenance
Code Style
- Follow standard Go conventions
- Use
gofmtandgolangci-lint - Add comments for exported types/functions
- Keep functions focused and small
Testing Requirements
- Unit tests for new logic
- E2E tests for new CRD features and Keycloak interactions
Development Setup
See Local Setup for environment setup.
Pull Request Process
- Ensure all tests pass
- Update documentation if needed
- Request review from maintainers
- Address feedback
- Squash commits if requested
Getting Help
- Open an issue for questions
- Check existing documentation
- Review similar PRs for patterns
License
By contributing, you agree that your contributions will be licensed under the MIT License.