Code Monkey home page Code Monkey logo

java-operator-sdk's Introduction

java-operator-sdk

Java CI with Maven Slack Discord

Build Kubernetes Operators in Java Without Hassle

Java Operator SDK is a production-ready framework that makes implementing Kubernetes Operators in Java easy.

It provides a controller runtime, support for testing operators, and related tooling. In addition to that implementing conversion hooks and dynamic admission controllers are supported as a separate project (and much more, see related projects section).

Under the hood it uses the excellent Fabric8 Kubernetes Client, which provides additional facilities, like generating CRD from source code (and vice versa).

Documentation

Documentation can be found on the JOSDK WebSite.

Contact us

Join us on Discord or feel free to ask any question on Kubernetes Slack Operator Channel

Meet us every Thursday (17:00 CET) at our community meeting on Zoom (Password in the Discord channel, or just ask for it there!)

How to Contribute

See the contribution guide on the website.

What is Java Operator SDK

Java Operator SDK is a higher level framework and related tooling to support writing Kubernetes Operators in Java. It makes it easy to implement best practices and patterns for an Operator. Features include:

  • Optimal handling Kubernetes API events
  • Handling dependent resources, related events, and caching.
  • Automatic Retries
  • Smart event scheduling
  • Handling Observed Generations automatically
  • Easy to use Error Handling
  • ... and everything that a batteries included framework needs

For all features and their usage see the related section on the website.

Related Projects

Projects using JOSDK

While we know of multiple projects using JOSDK in production, we don't want to presume these projects want to advertise that fact here. For this reason, we ask that if you'd like your project to be featured in this section, please open a PR, adding a link to and short description of your project, as shown below:

  • ExposedApp operator: a sample operator written to illustrate JOSDK concepts and its Quarkus extension in the "Write Kubernetes Operators in Java with the Java Operator SDK" blog series.
  • Keycloak operator: the official Keycloak operator, built with Quarkus and JOSDK.
  • Apache Flink Kubernetes operator is the market leader among Flink operators.
  • Strimzi Access operator. While the core Strimzi operator development predates
    JOSDK, but new components like the Access operator is using the framework.
  • EureKubeOperator: integrates service discovery of Eureka and Kubernetes using the framework - developed by 11street. It is not released as an open source yet but is very interesting to read about this problem and how it is solved by an operator written with JOSDK.
  • Locust k8s operator: Cloud native solution to run performance tests on any Kubernetes cluster.
  • Strimzi Schema Registry Operator: A Schema Registry Operator based on JOSDK for running the Confluent Schema Registry with a Strimzi-based Kafka cluster.
  • Airflow Dag Operator: Use JOSDK(Quarkus Extension) to replace Airflow Git Sync strategy. The main idea of the project is to start a synchronization container on each airflow pod to synchronize the DAG/files into the DAG folder.
  • Glasskube Operator: simplifies the deployment, maintenance and upgrade of popular open source business tools. It is written in Kotlin and uses the JOSDK and fabric8 Kubernetes client with Kotlin-based DSL.
  • Debezium Operator: Debezium Operator adds Change-Data-Capture capabilities to your Kubernetes or Openshift cluster by providing an easy way to run and manage Debezium Server instances.

java-operator-sdk's People

Contributors

actions-user avatar adam-sandor avatar amouat avatar andreatp avatar attilameszaros-form3 avatar bijnagte avatar charlottemach avatar cs-marek-ruszczyk avatar csviri avatar dependabot[bot] avatar derlin avatar donnerbart avatar gauravbisht005 avatar heesuk-ahn avatar honnix avatar iocanel avatar kirek007 avatar laxmikantbpandhare avatar lburgazzoli avatar metacosm avatar mvegter avatar rsynek avatar s-soroosh avatar scrocquesel avatar shawkins avatar stoetti avatar sullis avatar teszes avatar yarinkos avatar zuston avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.