Whether you want to build applications that operate themselves or provision infrastructure from Java code, Kubernetes Operators are the way to go. java-operator-sdk is based on the fabric8 Kubernetes client and will make it easy for Java developers to embrace this new way of automation.
Why build your own Operator?
Infrastructure automation using the power and flexibility of Java
- see blog post
Provisioning of complex applications
- avoid Helm chart hell
Integration with Cloud services
- e.g. Secret stores
Safer deployment of applications
- only expose cluster to users by Custom Resources
- Framework for handling Kubernetes API events
- Mapping Custom Resources to Java classes
- Retry action on failure
- Smart event scheduling (only handle latest event for the same resource)
- Avoid concurrency issues - related events are serialized, unrelated executed in parallel
- Smooth integration with Quarkus and Spring Boot
- Handling of events from non-Kubernetes resources
- Comprehensive documentation
- Integrate with operator-sdk to generate project skeleton
- Testing of the framework and all samples while running on a real cluster.
- Generate Java classes from CRD definion (and/or the other way around)
We are a friendly team of Java and Kubernetes enthusiasts and welcome everyone to contribute in any way to the framework!
Get in touch either on GitHub or our Discord server, we are always happy to chat and help you find the right issue to get started. Feel free to stop by for questions, comments or just saying "Hi".
We have a code of conduct which we strictly enforce, as well as issues marked for new joiners.
We are also supporting #HacktoberFest and have several issues marked as good candidates to pick up during the event.