This commit is contained in:
azykov@mail.ru
2026-09-05 14:40:02 +03:00
parent 67284c4d32
commit 891727b487
11 changed files with 189 additions and 2 deletions
+103
View File
@@ -0,0 +1,103 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: gitea
namespace: git
spec:
interval: 10m
chartRef:
kind: OCIRepository
name: gitea
driftDetection:
mode: enabled
values:
controllers:
app:
# kept at 0 until the migrated data is copied into the gitea-data
# PVC (see migration notes) so the container never gets a chance
# to initialize a fresh, empty instance first.
replicas: 0
containers:
app:
image:
repository: gitea/gitea
tag: "1.27.0"
env:
USER_UID: "1000"
USER_GID: "1000"
GITEA_APP_INI: /data/conf/app.ini
GITEA__server__DOMAIN: git.aggtaa.com
GITEA__server__ROOT_URL: https://git.aggtaa.com/
GITEA__security__INTERNAL_TOKEN:
valueFrom:
secretKeyRef:
name: gitea-secrets
key: INTERNAL_TOKEN
GITEA__oauth2__JWT_SECRET:
valueFrom:
secretKeyRef:
name: gitea-secrets
key: OAUTH2_JWT_SECRET
GITEA__server__LFS_JWT_SECRET:
valueFrom:
secretKeyRef:
name: gitea-secrets
key: LFS_JWT_SECRET
probes:
startup:
enabled: true
spec:
periodSeconds: 5
failureThreshold: 60
liveness:
enabled: true
readiness:
enabled: true
resources:
requests:
cpu: 50m
memory: 256Mi
limits:
memory: 1Gi
service:
app:
controller: app
ports:
http:
port: 3000
ssh:
controller: app
type: LoadBalancer
labels:
loadBalancerPool: default
ports:
ssh:
port: 22
targetPort: 2222
protocol: TCP
ingress:
app:
className: traefik
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
hosts:
- host: git.aggtaa.com
paths:
- path: /
pathType: Prefix
service:
identifier: app
port: http
tls:
- secretName: gitea-tls
hosts:
- git.aggtaa.com
persistence:
data:
type: persistentVolumeClaim
existingClaim: gitea-data
globalMounts:
- path: /data
@@ -0,0 +1,10 @@
apiVersion: source.toolkit.fluxcd.io/v1
kind: OCIRepository
metadata:
name: gitea
namespace: git
spec:
interval: 10m
url: oci://ghcr.io/bjw-s-labs/helm/app-template
ref:
tag: "5.0.1"
@@ -0,0 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- helmrepository.yaml
- secret.enc.yaml
- pvc.yaml
- helmrelease.yaml
+12
View File
@@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: gitea-data
namespace: git
spec:
accessModes:
- ReadWriteOnce
storageClassName: longhorn
resources:
requests:
storage: 3Gi
+24
View File
@@ -0,0 +1,24 @@
apiVersion: v1
kind: Secret
metadata:
name: gitea-secrets
namespace: git
stringData:
INTERNAL_TOKEN: ENC[AES256_GCM,data:+eS1bjyL/NKvOpkXa1Kiyk9dBPemWvfRplJJCXG+cLXipbMlyHBDQLEMeFEnz9VdnwN/MFRWYL5ink3Lh6yNGf0vmVNR+OLMlvlaKDNaCA28HuUBxJbWLAqhITsRImH6rKcy/EfqEEcK,iv:ModTSwxLMj4Gx0e/bVKY8GVWzBjgNxATKnkWYfvKiIs=,tag:6gFkA/0toCBJ7QKL16654A==,type:str]
OAUTH2_JWT_SECRET: ENC[AES256_GCM,data:9626EzmbEmyAsTqfbRhASqLkzS+4xnJxpSEgJDSLzkjfuNfAq7uMfc/HsA==,iv:lMCRwHt4gT31hYZ5Ywt4GU/DJNj7Fya2GOUkyr/l6ro=,tag:aQ8UlVwpaVNDoOHju1oiMQ==,type:str]
LFS_JWT_SECRET: ENC[AES256_GCM,data:gZ37cb9uqSF1MkdoUFbVM3VhqBxEIyUv3IxiV4c3gbIVTk7FMHncZekM7Q==,iv:m7JxF7S1OnHy86s5s1tJHQ8kqhRJq5kFRoArLL/ab0o=,tag:GZuE7f9pNq15T+R+PlSZdA==,type:str]
sops:
age:
- recipient: age1ktlxm0hukw6jxm62txqy5x2nl8hpdnal8nv00kfhrf3pw33574aqa6j5cj
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkRVpZRTVLWU80RjEvZnRs
TU5YVko4V1M5Q0d5SXZGT1h2NStCYk5UZWpRCmNxVXVtR3VCZXJqNHYyaDUyZmdr
WXJKZHhJaFJhZll0VVBld0QrSGhtbncKLS0tIGZZREFXRUMvTi8rRHIyaXBUOE45
d2JBTG5oT2kvZzdLejMzdEpRbm03QmcKItsS4nKJRu3pRC8xLTf9kYpqFiD9S1tx
BFnJf3IsbGpl1RM8RmkN9O5QsZSq1hbw5pFhlx0XKeH5KgoJInbnog==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2026-09-05T11:29:22Z"
mac: ENC[AES256_GCM,data:906TL61C7WcxxTAfH3zpXLTLQn2WSIg2RPm0y/6LeVA6pvI6fMbFA32Usvg+EkpWVRGqcm8JPgHy63WQDhq1Ap3imJXpgVDgTgfo64TxJLmdUtCAdm0/CaGxtGeU2J3gm653wl75hOGoCyfBR3iOt0Vo1kUdUxS9B5h3u5L6P6o=,iv:C+CZe31F/AWk0ZqM6lgV248ys/L3mG6S8Tz44b5o628=,tag:C9LdYCtsiHWiHSZWaYCGWA==,type:str]
encrypted_regex: ^(data|stringData)$
version: 3.11.0
+4
View File
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: git
+21
View File
@@ -0,0 +1,21 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: gitea
namespace: flux-system
spec:
interval: 10m
sourceRef:
kind: GitRepository
name: flux-system
path: ./clusters/base/apps/gitea
prune: true
wait: true
dependsOn:
- name: namespaces
- name: infra
retryInterval: 5s
decryption:
provider: sops
secretRef:
name: sops-age-gitea
+2 -1
View File
@@ -14,4 +14,5 @@ resources:
- infcloud.yaml
- syncthing.yaml
- immich.yaml
- joplin.yaml
- joplin.yaml
- gitea.yaml
@@ -16,3 +16,4 @@ resources:
- ../../base/namespaces/nfs.yaml
- ../../base/namespaces/syncthing.yaml
- ../../base/namespaces/photo.yaml
- ../../base/namespaces/git.yaml