Replaces the current docker build with a multi arch build powered by buildx.
The new build creates two scm-manager docker image variants.
One based on alpine which uses the openjdk distribution and the other based on debian and eclipse temurin:
scmmanager/scm-manager:<version>-alpine
- linux/amd64
- linux/arm64
scmmanager/scm-manager:<version>-debian
- linux/amd64
- linux/arm64
- linux/arm/v7
scmmanager/scm-manager:<version>
- linux/amd64 alpine based
- linux/arm64 alpine based
- linux/arm/v7 debian based
scmmanager/scm-manager:latest
- linux/amd64 alpine based
- linux/arm64 alpine based
- linux/arm/v7 debian based
The development build produces only a single amd64 image at cloudogu/scm-manager with a snapshot version.
Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Set line ending explicitly to LF because on Windows using the system line ending does not get along well with our git settings.
Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
Adds compatibility for OCP (openshift container platform) and ICP (IBM cloud private)
- Sets folder permissions to group 0, because the arbitrary assigned user ids in openshift are all part of group 0
- Removes usage of root user 0, because it is prohibited in some environments
- Use numerical user id, because some environments do not accept non-numerical user ids
- Removes initContainer for setting volume permissions, because it is not needed anymore
- Removes chown in plugin script, because it is not needed anymore
- Adds extraArgs option in Helm chart to add arguments on server startup, i.e. initial admin username and password
Signed-off-by: pmarkiewka <philipp.markiewka@cloudogu.com>
Update Gradle to 7.3. in order to profit from the performance improvement and to prepare for dependency lockfiles. Due to the upgrade to 7.x we had to use a license plugin which supports Gradle 7.
Adds a value field to set a Secret to pull the image from an image registry with authentication, in case you need to host the image yourself and your registry has authentication.
To simplify the configuration we set the initContainers to use the same image as the application itself.
This has the following advantages:
- No additional configuration for image and pull Secret in values needed
- The used image is always up-to-date now. No need to maintain an extra alpine image.
- Faster startup times. No extra images have to be pulled.
Signed-off-by: pmarkiewka <philipp.markiewka@cloudogu.com>
Add more configuration options to the helm chart including:
* lifecycleHooks
* extraEnv
* extraEnvFrom
* extraVolumes
* extraVolumeMounts
* Node port option for the service
It is now possible to define plugin versions as YAML variables for better maintainability.
This change will also disable the default helm repository in order to fix the build.
Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>