If you want to write any Java/JVM based tools to interact with Kubernetes, Docker or Etcd we have a number of libraries to help:
Kubernetes provides the main REST API for working with the Kubernetes Platform. It should provide all you need for writing most services and plugins for Kubernetes.
- kubernetes-api provides a Java API for working with the Kubernetes REST API (pods, replication controllers, services etc)
- kubernetes-jolokia makes it easy to work with the Jolokia Client API and Java containers running in Pods inside Kubernetes which expose the Jolokia port
mq-client provides the the io.fabric8.mq.core.MQConnectionFactory class which implements the JMS ConnectionFactory to connect to Apache ActiveMQ Artemis using the Kubernetes Service discovery mechanism which requires no user configuration (other than a single environment variable if you wish to switch to a non default service implementation)
camel-amq provides the Camel amq: component which uses the Kubernetes Service discovery mechanism to discover and connect to the ActiveMQ Artemis brokers so that no configuration is required (other than a single environment variable if you wish to switch to a non default service implementation)
- fabric8-cdi provides an easy way to work with Kubernetes services using the CDI Dependency Injection approach
- fabric8-apt provides an APT code generator to create a JSON Schema file for each environment variable injected by the @ConfigProperty annotation from deltaspike - giving dteails of the name, type, default value and description. This can then be used by the fabric8:json maven goal to list all of the environment variables and their value in the generated kubernetes JSON file.
- fabric8-devops provides a Java API for reading and writing the
fabric8.yml file used to configure DevOps options inside the source code of a project
- fabric8-devops-connector provides a Java library for connecting the various DevOps services like git hosting, chat, issue tracking and jenkins for a project reusing the optional
- hubot-api provides a Java API for working with the Hubot chat bot for sending notifications to chat services like Lets Chat, IRC, Slack, HipChat and Campfire
- taiga-api provides a Java API for working with the Taiga issue tracker / kanban / scrum management system