Java Libraries
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
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.
Testing
Spring
ActiveMQ
- 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
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)
camel-master provides the Camel master: component which provides a locking mechanism to ensure that only one pod implements a consumer at any time; if that pod dies then another one takes over.
CDI
- 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.
DevOps
- 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
DevOps Connector
- 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
fabric8.yml
file
Git Repos
Hubot
- 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
Letschat
Taiga
- taiga-api provides a Java API for working with the Taiga issue tracker / kanban / scrum management system