https://github.com/jshiftio/jshift-kit
Building blocks for the Jshift Developer Toolbox (i.e. the Maven plugins)
https://github.com/jshiftio/jshift-kit
java kubernetes maven openshift
Last synced: 5 months ago
JSON representation
Building blocks for the Jshift Developer Toolbox (i.e. the Maven plugins)
- Host: GitHub
- URL: https://github.com/jshiftio/jshift-kit
- Owner: jshiftio
- License: apache-2.0
- Created: 2019-05-02T11:30:56.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2022-10-05T03:06:12.000Z (almost 3 years ago)
- Last Synced: 2025-01-30T17:31:52.516Z (6 months ago)
- Topics: java, kubernetes, maven, openshift
- Language: Java
- Size: 1.17 MB
- Stars: 5
- Watchers: 4
- Forks: 3
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- License: license.txt
Awesome Lists containing this project
README
## jshift-kit
> *Note: This repository has been moved to [Eclipse Jkube](https://github.com/eclipse/jkube/tree/master/jkube-kit). In case you want to contribute please send PRs to https://github.com/eclipse/jkube repo*.
[](https://circleci.com/gh/jshiftio/jshift-kit/tree/master)
[](https://sonarcloud.io/dashboard?id=jshiftio_jshift-kit)
[](https://gitter.im/jshift-community/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
[](https://sonarcloud.io/dashboard?id=jshiftio_jshift-kit)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.
[](https://search.maven.org/search?q=g:%22io.jshift%22%20AND%20a:%22jshift-maven-generator-api%22) [](http://www.javadoc.io/doc/io.jshift/jshift-maven-generator-api)
* **Enricher** framework for creating and enhancing Kubernetes and OpenShift resources.
[](https://search.maven.org/search?q=g:%22io.jshift%22%20AND%20a:%22jshift-maven-enricher-api%22) [](http://www.javadoc.io/doc/io.jshift/jshift-maven-enricher-api)
* **Profile** combining the configuration for generators and enrichers.
[](https://search.maven.org/search?q=g:%22io.jshift%22%20AND%20a:%22jshift-maven-profiles%22) [](http://www.javadoc.io/doc/io.jshift/jshift-maven-profiles)
* **Resource configuration** model objects for a simplified configuration of Kubernetes and OpenShift resources.
[](https://search.maven.org/search?q=g:%22io.jshift%22%20AND%20a:%22jshift-kit-config-resource%22) [](http://www.javadoc.io/doc/io.jshift/jshift-kit-config-resource)
* **Image configuration** model objects for modeling Docker image configuration as used in docker-maven-plugin.
[](https://search.maven.org/search?q=g:%22io.jshift%22%20AND%20a:%22jshift-kit-config-image%22) [](http://www.javadoc.io/doc/io.jshift/jshift-kit-config-image)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](enricher/maven/pom.xml) and [jshift-kit-generator-maven](generator/maven/pom.xml) 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](https://github.com/fabric8io/docker-maven-plugin) to benefit from the generator framework for zero-config creation of Docker images.
### Roadmap
* [x] Extract enricher framework from fabric8-maven-plugin
* [x] Extract Image configuration model from docker-maven-plugin
* [x] 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