Contributing

Thank you for considering contributing to the Java Operator SDK project! Weโ€™re building a vibrant community and need help from people like you to make it happen.

Code of Conduct

Weโ€™re committed to making this a welcoming, inclusive project. We do not tolerate discrimination, aggressive or insulting behavior.

This project and all participants are bound by our Code of Conduct. By participating, youโ€™re expected to uphold this code. Please report unacceptable behavior to any project admin.

Reporting Bugs

Found a bug? Please open an issue! Include all details needed to recreate the problem:

  • Operator SDK version being used
  • Exact platform and version youโ€™re running on
  • Steps to reproduce the bug
  • Reproducer code (very helpful for quick diagnosis and fixes)

Contributing Features and Documentation

Looking for something to work on? Check the issue tracker, especially items labeled good first issue. Please comment on the issue when you start work to avoid duplicated effort.

Feature Ideas

Have a feature idea? Open an issue labeled โ€œenhancementโ€ even if you canโ€™t work on it immediately. Weโ€™ll discuss it as a community and see whatโ€™s possible.

Important: Some features may not align with project goals. Please discuss new features before starting work to avoid wasted effort. We commit to listening to all proposals and working something out when possible.

Development Process

Once you have approval to work on a feature:

  1. Communicate progress via issue updates or our Discord channel
  2. Ask for feedback and pointers as needed
  3. Open a Pull Request when ready

Pull Request Process

Commit Messages

Format commit messages following conventional commit format.

Testing and Review

  • GitHub Actions will run the test suite on your PR
  • All code must pass tests
  • New code must include new tests
  • All PRs require review and sign-off from another developer
  • Expect requests for changes - this is normal and part of the process
  • PRs must comply with Java Google code style

Licensing

All Operator SDK code is released under the Apache 2.0 licence.

Development Environment Setup

Code Style

SDK modules and samples follow Java Google code style. Code gets formatted automatically on every compile, but to avoid PR rejections due to style issues, set up your IDE:

IntelliJ IDEA: Install the google-java-format plugin

Eclipse: Follow these instructions

Acknowledgments

These guidelines were inspired by Atom, PurpleBoothโ€™s advice, and the Contributor Covenant.


Last modified September 1, 2025: docs: improve details (#2925) (40ca7134)