fix(deployment): run plugin container as the reposilite user
Helm / helm-lint (push) Successful in 8s
Helm / helm-unittest (push) Successful in 27s
Generate README / generate-parameters (push) Successful in 42s
Markdown linter / markdown-link-checker (push) Successful in 38s
Markdown linter / markdown-lint (push) Successful in 42s
Release / publish-chart (push) Successful in 1m16s
Helm / helm-lint (push) Successful in 8s
Helm / helm-unittest (push) Successful in 27s
Generate README / generate-parameters (push) Successful in 42s
Markdown linter / markdown-link-checker (push) Successful in 38s
Markdown linter / markdown-lint (push) Successful in 42s
Release / publish-chart (push) Successful in 1m16s
The reposilite entrypoint chowns /app to 977:977 whenever it starts as root. The plugin container downloaded the jar as its own image user (101), so after the first start the file was owned by 977:977 with mode 0644. Since the plugins emptyDir survives a container restart within the same pod, a restarted plugin container could no longer overwrite the existing jar and aborted with "Permission denied", which left the pod in a permanent Init:CrashLoopBackOff until the pod itself was recreated. Run the plugin container as 977:977 by default and expose the security context as deployment.pluginContainer.securityContext, so it can be aligned when PUID/PGID are overridden. Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
@@ -178,6 +178,15 @@ deployment:
|
||||
tag: "8.22.0"
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
## @param deployment.pluginContainer.securityContext.runAsGroup Group id of the plugin container.
|
||||
## @param deployment.pluginContainer.securityContext.runAsUser User id of the plugin container.
|
||||
# Reposilite chowns /app to 977:977 when its entrypoint starts as root. Downloading the plugin as a
|
||||
# different user leaves behind a file the plugin container can no longer overwrite, which breaks every
|
||||
# restart that reuses the emptyDir. Align this with PUID/PGID when those are overridden.
|
||||
securityContext:
|
||||
runAsGroup: 977
|
||||
runAsUser: 977
|
||||
|
||||
## @param deployment.priorityClassName PriorityClassName of the Reposilite deployment.
|
||||
priorityClassName: ""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user