feat: decouple image from rootless value
This commit is contained in:
@@ -56,6 +56,7 @@ Create chart name and version as used by the chart label. | ||||
Create image name and tag used by the deployment. | ||||
*/}} | ||||
{{- define "gitea.image" -}} | ||||
{{- $fullOverride := .Values.image.fullOverride | default "" -}} | ||||
{{- $registry := .Values.global.imageRegistry | default .Values.image.registry -}} | ||||
{{- $repository := .Values.image.repository -}} | ||||
{{- $separator := ":" -}} | ||||
@@ -65,7 +66,9 @@ Create image name and tag used by the deployment. | ||||
{{- if .Values.image.digest }} | ||||
{{- $digest = (printf "@%s" (.Values.image.digest | toString)) -}} | ||||
{{- end -}} | ||||
{{- if $registry }} | ||||
{{- if $fullOverride }} | ||||
{{- printf "%s" $fullOverride -}} | ||||
{{- else if $registry }} | ||||
{{- printf "%s/%s%s%s%s%s" $registry $repository $separator $tag $rootless $digest -}} | ||||
{{- else -}} | ||||
{{- printf "%s%s%s%s%s" $repository $separator $tag $rootless $digest -}} | ||||
| ||||
@@ -57,6 +57,17 @@ tests: | ||||
- equal: | ||||
path: spec.template.spec.containers[0].image | ||||
value: "gitea/gitea:1.19.3-rootless@sha256:b28e8f3089b52ebe6693295df142f8c12eff354e9a4a5bfbb5c10f296c3a537a" | ||||
- it: image fullOverride (does not append rootless) | ||||
template: templates/gitea/deployment.yaml | ||||
set: | ||||
image: | ||||
rootless: true | ||||
digest: sha256:b28e8f3089b52ebe6693295df142f8c12eff354e9a4a5bfbb5c10f296c3a537a | ||||
fullOverride: gitea/gitea:1.19.3 | ||||
asserts: | ||||
- equal: | ||||
path: spec.template.spec.containers[0].image | ||||
value: "gitea/gitea:1.19.3" | ||||
- it: digest for root-based image | ||||
template: templates/gitea/deployment.yaml | ||||
set: | ||||
| ||||
@@ -27,6 +27,18 @@ tests: | ||||
content: | ||||
name: SSH_LOG_LEVEL | ||||
value: "DEBUG" | ||||
- it: supports overriding SSH log level (even when image.fullOverride set) | ||||
template: templates/gitea/deployment.yaml | ||||
set: | ||||
image.fullOverride: gitea/gitea:1.19.3 | ||||
image.rootless: false | ||||
gitea.ssh.logLevel: "DEBUG" | ||||
asserts: | ||||
- contains: | ||||
path: spec.template.spec.containers[0].env | ||||
content: | ||||
name: SSH_LOG_LEVEL | ||||
value: "DEBUG" | ||||
- it: skips SSH_LOG_LEVEL for rootless image | ||||
template: templates/gitea/deployment.yaml | ||||
set: | ||||
@@ -38,3 +50,15 @@ tests: | ||||
any: true | ||||
content: | ||||
name: SSH_LOG_LEVEL | ||||
- it: skips SSH_LOG_LEVEL for rootless image (even when image.fullOverride set) | ||||
template: templates/gitea/deployment.yaml | ||||
set: | ||||
image.fullOverride: gitea/gitea:1.19.3 | ||||
image.rootless: true | ||||
gitea.ssh.logLevel: "DEBUG" # explicitly defining a non-standard level here | ||||
asserts: | ||||
- notContains: | ||||
path: spec.template.spec.containers[0].env | ||||
any: true | ||||
content: | ||||
name: SSH_LOG_LEVEL | ||||
| ||||
@@ -61,6 +61,37 @@ tests: | ||||
mkdir -p "${GITEA_TEMP}" | ||||
chmod ug+rwx "${GITEA_TEMP}" | ||||
| ||||
if [ ! -d "${GNUPGHOME}" ]; then | ||||
mkdir -p "${GNUPGHOME}" | ||||
chmod 700 "${GNUPGHOME}" | ||||
chown 1000:1000 "${GNUPGHOME}" | ||||
fi | ||||
- it: adds gpg script block for enabled signing (even when image.fullOverride set) | ||||
template: templates/gitea/init.yaml | ||||
set: | ||||
image.fullOverride: gitea/gitea:1.20.5 | ||||
signing.enabled: true | ||||
signing.privateKey: |- | ||||
-----BEGIN PGP PRIVATE KEY BLOCK----- | ||||
{placeholder} | ||||
-----END PGP PRIVATE KEY BLOCK----- | ||||
asserts: | ||||
- equal: | ||||
path: stringData["init_directory_structure.sh"] | ||||
value: |- | ||||
#!/usr/bin/env bash | ||||
| ||||
set -euo pipefail | ||||
| ||||
set -x | ||||
mkdir -p /data/git/.ssh | ||||
chmod -R 700 /data/git/.ssh | ||||
[ ! -d /data/gitea/conf ] && mkdir -p /data/gitea/conf | ||||
| ||||
# prepare temp directory structure | ||||
mkdir -p "${GITEA_TEMP}" | ||||
chmod ug+rwx "${GITEA_TEMP}" | ||||
| ||||
if [ ! -d "${GNUPGHOME}" ]; then | ||||
mkdir -p "${GNUPGHOME}" | ||||
chmod 700 "${GNUPGHOME}" | ||||
| ||||
@@ -43,6 +43,7 @@ clusterDomain: cluster.local | ||||
## @param image.digest Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest` | ||||
## @param image.pullPolicy Image pull policy | ||||
## @param image.rootless Wether or not to pull the rootless version of Gitea, only works on Gitea 1.14.x or higher | ||||
## @param image.fullOverride Completely overrides the image registry, path/image, tag and digest | ||||
image: | ||||
registry: "" | ||||
repository: gitea/gitea | ||||
@@ -51,6 +52,7 @@ image: | ||||
digest: "" | ||||
pullPolicy: Always | ||||
rootless: true | ||||
fullOverride: "" | ||||
| ||||
## @param imagePullSecrets Secret to use for pulling the image | ||||
imagePullSecrets: [] | ||||
| ||||
Reference in New Issue
Block a user