https://github.com/jshiftio/kubernetes-maven-plugin
Maven plugin for getting your Java apps on to Kubernetes
https://github.com/jshiftio/kubernetes-maven-plugin
java kubernetes maven-plugin
Last synced: about 1 year ago
JSON representation
Maven plugin for getting your Java apps on to Kubernetes
- Host: GitHub
- URL: https://github.com/jshiftio/kubernetes-maven-plugin
- Owner: jshiftio
- License: apache-2.0
- Created: 2019-05-25T10:13:41.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2022-06-30T15:23:10.000Z (about 4 years ago)
- Last Synced: 2025-03-28T14:01:50.046Z (over 1 year ago)
- Topics: java, kubernetes, maven-plugin
- Language: Java
- Homepage: http://kubernetes.jshift.io/
- Size: 9.82 MB
- Stars: 10
- Watchers: 5
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: license.txt
Awesome Lists containing this project
README
## Kubernetes Maven Plugin
> *Note: This repository has been moved to [Eclipse Jkube](https://github.com/eclipse/jkube/tree/master/kubernetes-maven-plugin). In case you want to contribute please send PRs to https://github.com/eclipse/jkube repo*.
[](https://circleci.com/gh/jshiftio/kubernetes-maven-plugin/tree/master)
[](https://search.maven.org/search?q=g:%22io.jshift%22%20AND%20a:%22k8s-maven-plugin%22)
[](https://gitter.im/jshift-community/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
[](https://sonarcloud.io/dashboard?id=jshiftio_kubernetes-maven-plugin)
[](https://sonarcloud.io/dashboard?id=jshiftio_kubernetes-maven-plugin)

### Introduction
This Maven plugin is a one-stop-shop for building and deploying Java applications for Docker, Kubernetes. It brings your Java applications on to Kubernetes. It provides a tight integration into maven and benefits from the build configuration already provided. It focuses on three tasks:
+ Building Docker images
+ Creating Kubernetes resources
+ Deploy applications
### Usage
To enable kubernetes maven plugin on your project just add this to the plugins sections of your pom.xml:
```
io.jshift
k8s-maven-plugin
${jshift.kubernetes.version}
```
| Goal | Description |
| --------------------------------------------- | ------------------------------------- |
| [`k8s:resource`](https://fabric8io.github.io/fabric8-maven-plugin/#fabric8:resource) | Create Kubernetes resource descriptors |
| [`k8s:build`](https://fabric8io.github.io/fabric8-maven-plugin/#fabric8:build) | Build Docker images |
| [`k8s:push`](https://fabric8io.github.io/fabric8-maven-plugin/#fabric8:push) | Push Docker images to a registry |
| [`k8s:deploy`](https://fabric8io.github.io/fabric8-maven-plugin/#fabric8:deploy) | Deploy Kubernetes resource objects to a cluster |
| [`k8s:watch`](https://fabric8io.github.io/fabric8-maven-plugin/#fabric8:watch) | Watch for doing rebuilds and restarts |
### Features
* Dealing with Docker images and hence inherits its flexible and powerful configuration.
* Supports Kubernetes descriptors
* Various configuration styles:
* **Zero Configuration** for a quick ramp-up where opinionated defaults will be pre-selected.
* **Inline Configuration** within the plugin configuration in an XML syntax.
* **External Configuration** templates of the real deployment descriptors which are enriched by the plugin.
* Flexible customization:
* **Generators** analyze the Maven build and generated automatic Docker image configurations for certain systems (spring-boot, plain java, karaf ...)
* **Enrichers** extend the Kubernetes resource descriptors by extra information like SCM labels and can add default objects like Services.
* Generators and Enrichers can be individually configured and combined into *profiles*
### Kubernetes Compatibility
:heavy_check_mark: : Supported, all available features can be used
:x: : Not supported at all
:large_blue_circle: : Supported, but not all features can be used
##### Kubernetes
| KMP | Kubernetes 1.12.0 | Kubernetes 1.11.0 | Kubernetes 1.10.0 | Kubernetes 1.9.0 | Kubernetes 1.8.0 | Kubernetes 1.7.0 | Kubernetes 1.6.0 | Kubernetes 1.5.1 | Kubernetes 1.4.0 |
|--------------|-------------------|-------------------|-------------------|------------------|------------------|------------------|------------------|------------------|------------------|
| KMP 4.0.0 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: |
| KMP 4.0.0-M2 | :large_blue_circle: | :large_blue_circle: | :large_blue_circle: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: |
| KMP 4.0.0-M1 | :large_blue_circle: | :large_blue_circle: | :large_blue_circle: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: |
| KMP 3.5.42 | :large_blue_circle: | :large_blue_circle: | :large_blue_circle: | :large_blue_circle: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| KMP 3.5.41 | :x: | :x: | :x: | :large_blue_circle: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| KMP 3.5.40 | :x: | :x: | :x: | :large_blue_circle: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| KMP 3.5.39 | :x: | :x: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| KMP 3.5.38 | :x: | :x: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| KMP 3.5.37 | :x: | :x: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| KMP 3.5.35 | :x: | :x: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| KMP 3.5.34 | :x: | :x: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| KMP 3.5.33 | :x: | :x: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| KMP 3.5.32 | :x: | :x: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |