jshift-kit
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.
This project contains various building blocks for the jshift developer toolbox.
Actually it contains the following abstractions which has been extracted from both projects:
- Generator framework for automatically generating Docker images by examining project information.
- Enricher framework for creating and enhancing Kubernetes and OpenShift resources.
- Profile combining the configuration for generators and enrichers.
- Resource configuration model objects for a simplified configuration of Kubernetes and OpenShift resources.
- Image configuration model objects for modeling Docker image configuration as used in docker-maven-plugin.
One intention of extracting these parts from the originating plugins is also to separate Maven related and non-Maven related functionality so that the non-Maven parts can be reused for other build systems and IDEs like Gradle or Eclipse. Some thin adapter Maven specific modules like jshift-kit-enricher-maven and jshift-kit-generator-maven are provided as glue to get to the Maven specific build information like the project's coordinates.
By moving out common parts it will be now also be possible for the docker-maven-plugin to benefit from the generator framework for zero-config creation of Docker images.
Roadmap
- Extract enricher framework from fabric8-maven-plugin
- Extract Image configuration model from docker-maven-plugin
- Extract Resource configuration from fabric8-maven-plugin
- Extract Generator framework from fabric8-maven-plugin
- Extract Profile handling from fabric8-maven-plugin
- Extract Spring Boot generators, enricher and watcher in a Github repo
fabric8-kit-spring-boot
- Extract Vert.x generator and enricher in a Github repo
fabric8-kit-vertx
- Extract Wildfly Swarm generator and enricher in a Github repo
fabric8-kit-wildfly-swarm
- Extract all other generators into
fabric8-kit-generator
- Extract all other enrichers into
fabric8-kit-enricher
, separate here between Maven specific and non-Maven specific enrichers - Switch docker-maven-plugin to use this image config model
- Add generator functionality to docker-maven-plugin
- Switch fabric8-maven-plugin to use this resource config model
- Switch fabric8-maven-plugin to use enricher, generators, profiles from here