Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 27 days 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 (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-10-05T03:06:12.000Z (about 2 years ago)
- Last Synced: 2024-09-27T02:25:34.581Z (about 1 month 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*.
[![Circle CI](https://circleci.com/gh/jshiftio/jshift-kit/tree/master.svg?style=shield)](https://circleci.com/gh/jshiftio/jshift-kit/tree/master)
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=jshiftio_jshift-kit&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=jshiftio_jshift-kit)
[![Gitter](https://badges.gitter.im/jshift-community/community.svg)](https://gitter.im/jshift-community/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=jshiftio_jshift-kit&metric=coverage)](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.
[![Maven Central](https://img.shields.io/maven-central/v/io.jshift/jshift-maven-generator-api.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22io.jshift%22%20AND%20a:%22jshift-maven-generator-api%22) [![Javadocs](http://www.javadoc.io/badge/io.jshift/jshift-maven-generator-api.svg?color=blue)](http://www.javadoc.io/doc/io.jshift/jshift-maven-generator-api)
* **Enricher** framework for creating and enhancing Kubernetes and OpenShift resources.
[![Maven Central](https://img.shields.io/maven-central/v/io.jshift/jshift-maven-enricher-api.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22io.jshift%22%20AND%20a:%22jshift-maven-enricher-api%22) [![Javadocs](http://www.javadoc.io/badge/io.jshift/jshift-maven-enricher-api.svg?color=blue)](http://www.javadoc.io/doc/io.jshift/jshift-maven-enricher-api)
* **Profile** combining the configuration for generators and enrichers.
[![Maven Central](https://img.shields.io/maven-central/v/io.jshift/jshift-maven-profiles.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22io.jshift%22%20AND%20a:%22jshift-maven-profiles%22) [![Javadocs](http://www.javadoc.io/badge/io.jshift/jshift-maven-profiles.svg?color=blue)](http://www.javadoc.io/doc/io.jshift/jshift-maven-profiles)
* **Resource configuration** model objects for a simplified configuration of Kubernetes and OpenShift resources.
[![Maven Central](https://img.shields.io/maven-central/v/io.jshift/jshift-kit-config-resource.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22io.jshift%22%20AND%20a:%22jshift-kit-config-resource%22) [![Javadocs](http://www.javadoc.io/badge/io.jshift/jshift-kit-config-resource.svg?color=blue)](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.
[![Maven Central](https://img.shields.io/maven-central/v/io.jshift/jshift-kit-config-image.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22io.jshift%22%20AND%20a:%22jshift-kit-config-image%22) [![Javadocs](http://www.javadoc.io/badge/io.jshift/jshift-kit-config-image.svg?color=blue)](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