Kubernetes Maven Plugin :: Plugin

Kubernetes Maven Plugin

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
Last Version

Last Version

0.1.0
Release Date

Release Date

Type

Type

maven-plugin
Description

Description

Kubernetes Maven Plugin :: Plugin
Kubernetes Maven Plugin

Download k8s-maven-plugin

How to add to project

<plugin>
    <groupId>io.jshift</groupId>
    <artifactId>k8s-maven-plugin</artifactId>
    <version>0.1.0</version>
</plugin>

Dependencies

compile (22)

Group / Artifact Type Version
io.jshift : jshift-kit-config-resource jar 0.1.0
io.jshift : jshift-kit-build-service-docker jar 0.1.0
io.jshift : jshift-maven-enricher-api jar 0.1.0
io.jshift : jshift-maven-generator-api jar 0.1.0
io.jshift : jshift-maven-generator-java-exec jar 0.1.0
io.jshift : jshift-maven-generator-karaf jar 0.1.0
io.jshift : jshift-maven-generator-webapp jar 0.1.0
io.jshift : jshift-maven-generator-wildfly-swarm jar 0.1.0
io.jshift : jshift-maven-enricher-generic jar 0.1.0
io.jshift : jshift-maven-enricher-specific jar 0.1.0
io.jshift : jshift-kit-thorntail jar 0.1.0
io.jshift : jshift-kit-spring-boot jar 0.1.0
io.jshift : jshift-kit-quarkus jar 0.1.0
io.jshift : jshift-kit-vertx jar 0.1.0
io.jshift : jshift-kit-build-maven jar 0.1.0
io.jshift : jshift-maven-profiles jar 0.1.0
io.jshift : jshift-kit-watcher-api jar 0.1.0
io.jshift : jshift-watcher-standard jar 0.1.0
org.apache.maven : maven-plugin-api jar 3.5.4
org.apache.maven : maven-core jar 3.5.4
org.apache.maven.plugin-tools : maven-plugin-annotations jar 3.5.2
org.codehaus.plexus : plexus-archiver jar 3.5

Project Modules

There are no modules declared in this project.

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