Kubernetes Maven Plugin

Maven plugin for getting your Java apps on to Kubernetes

License

License

http://www.apache.org/licenses/LICENSE-2.0.txt
Categories

Categories

Maven Build Tools
GroupId

GroupId

io.jshift
ArtifactId

ArtifactId

k8s-maven-plugin-build
Last Version

Last Version

0.1.0
Release Date

Release Date

Type

Type

pom
Description

Description

Kubernetes Maven Plugin
Maven plugin for getting your Java apps on to Kubernetes
Project URL

Project URL

http://github.com/jshiftio/kubernetes-maven-plugin

Download k8s-maven-plugin-build

How to add to project

<!-- https://jarcasting.com/artifacts/io.jshift/k8s-maven-plugin-build/ -->
<dependency>
    <groupId>io.jshift</groupId>
    <artifactId>k8s-maven-plugin-build</artifactId>
    <version>0.1.0</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/io.jshift/k8s-maven-plugin-build/
implementation 'io.jshift:k8s-maven-plugin-build:0.1.0'
// https://jarcasting.com/artifacts/io.jshift/k8s-maven-plugin-build/
implementation ("io.jshift:k8s-maven-plugin-build:0.1.0")
'io.jshift:k8s-maven-plugin-build:pom:0.1.0'
<dependency org="io.jshift" name="k8s-maven-plugin-build" rev="0.1.0">
  <artifact name="k8s-maven-plugin-build" type="pom" />
</dependency>
@Grapes(
@Grab(group='io.jshift', module='k8s-maven-plugin-build', version='0.1.0')
)
libraryDependencies += "io.jshift" % "k8s-maven-plugin-build" % "0.1.0"
[io.jshift/k8s-maven-plugin-build "0.1.0"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

  • plugin
  • it

Kubernetes Maven Plugin

Note: This repository has been moved to Eclipse Jkube. In case you want to contribute please send PRs to https://github.com/eclipse/jkube repo.

Circle CI Maven Central Gitter Technical Debt Coverage

Sample Demo

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:

      <plugin>
        <groupId>io.jshift</groupId>
        <artifactId>k8s-maven-plugin</artifactId>
        <version>${jshift.kubernetes.version}</version>
      </plugin>
Goal Description
k8s:resource Create Kubernetes resource descriptors
k8s:build Build Docker images
k8s:push Push Docker images to a registry
k8s:deploy Deploy Kubernetes resource objects to a cluster
k8s: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

✔️ : Supported, all available features can be used

: Not supported at all

🔵 : 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 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
KMP 4.0.0-M2 🔵 🔵 🔵 ✔️ ✔️ ✔️ ✔️
KMP 4.0.0-M1 🔵 🔵 🔵 ✔️ ✔️ ✔️ ✔️
KMP 3.5.42 🔵 🔵 🔵 🔵 ✔️ ✔️ ✔️ ✔️ ✔️
KMP 3.5.41 🔵 ✔️ ✔️ ✔️ ✔️ ✔️
KMP 3.5.40 🔵 ✔️ ✔️ ✔️ ✔️ ✔️
KMP 3.5.39 ✔️ ✔️ ✔️ ✔️ ✔️
KMP 3.5.38 ✔️ ✔️ ✔️ ✔️ ✔️
KMP 3.5.37 ✔️ ✔️ ✔️ ✔️ ✔️
KMP 3.5.35 ✔️ ✔️ ✔️ ✔️ ✔️
KMP 3.5.34 ✔️ ✔️ ✔️ ✔️ ✔️
KMP 3.5.33 ✔️ ✔️ ✔️ ✔️ ✔️
KMP 3.5.32 ✔️ ✔️ ✔️ ✔️ ✔️
io.jshift

Jshift

This Project has moved to Eclipse JKube: https://github.com/eclipse/jkube

Versions

Version
0.1.0