git: Update cgit image to 1.3_20260805.
The new image serves cgit at / via a lighttpd rewrite, so the Traefik
rewrite only strips .git suffixes now. Packages are installed through
S6_NEEDED_PACKAGES instead of a command override. CGIT_SKIP_PERMFIX and
an empty S6_USER keep the image from chowning gitolite's home volume.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Change-Id: Ifc6fade953f8d584efc38c1bdcd920f3814c3494
diff --git a/git/git.yaml b/git/git.yaml
index 1634796..d85c605 100644
--- a/git/git.yaml
+++ b/git/git.yaml
@@ -21,13 +21,22 @@
spec:
containers:
- name: cgit
- image: docker.io/woahbase/alpine-cgit:x86_64_1.2.1_20210405
- imagePullPolicy: Always
- env: []
- command:
- - /bin/sh
- - -c
- - apk update && apk add groff python3 py3-docutils py3-markdown py3-pygments && /init
+ # Serves cgit at / (lighttpd rewrites /<repo>/... to cgit.cgi?url=...).
+ # The image's own sshd listens on :22 and is unused; gitolite is on :2222.
+ image: docker.io/woahbase/alpine-cgit:1.3_20260805
+ imagePullPolicy: IfNotPresent
+ env:
+ # Formatters for the about pages and syntax highlighting.
+ - name: S6_NEEDED_PACKAGES
+ value: "groff python3 py3-docutils py3-markdown py3-pygments"
+ # /home/git is gitolite's volume (owned by gitolite's uid 106), so
+ # cgit must not chown it: CGIT_SKIP_PERMFIX skips cgit's permfix,
+ # and an empty S6_USER skips the base image's usermod/chown of the
+ # user's home (scripts fall back to user "git").
+ - name: CGIT_SKIP_PERMFIX
+ value: "true"
+ - name: S6_USER
+ value: ""
resources:
limits:
cpu: 2000m
@@ -209,7 +218,7 @@
spec:
replacePathRegex:
regex: "^/(?:(.*)[.]git(/.*)?|(.*))$"
- replacement: "/cgit/cgit.cgi/${1}${2}${3}"
+ replacement: "/${1}${2}${3}"
---
apiVersion: traefik.io/v1alpha1
kind: Middleware