Compare commits

...
4 Commits
Author SHA1 Message Date
azykov@mail.ru 454922b475 gitea port 2222 2026-09-05 22:31:49 +03:00
azykov@mail.ru 4623c7c9f7 gitea config path fix 2026-09-05 16:03:44 +03:00
azykov@mail.ru f2045463c4 gitea ready to start, replicas = 1 2026-09-05 15:52:51 +03:00
azykov@mail.ru 891727b487 gitea 2026-09-05 14:40:02 +03:00
11 changed files with 190 additions and 2 deletions
+1
View File
@@ -1,3 +1,4 @@
migration-from-old-files/ migration-from-old-files/
migration-from-docker/ migration-from-docker/
.decrypted~secret.enc.yaml .decrypted~secret.enc.yaml
gitea-backup/
+3
View File
@@ -32,3 +32,6 @@ creation_rules:
- path_regex: joplin.*\.enc\.yaml$ - path_regex: joplin.*\.enc\.yaml$
encrypted_regex: ^(data|stringData)$ encrypted_regex: ^(data|stringData)$
age: age1dertyl956fjsmh00cw468gdnl7lf3frasg4n4c82z0chm6qm2cks6w8gha age: age1dertyl956fjsmh00cw468gdnl7lf3frasg4n4c82z0chm6qm2cks6w8gha
- path_regex: gitea.*\.enc\.yaml$
encrypted_regex: ^(data|stringData)$
age: age1ktlxm0hukw6jxm62txqy5x2nl8hpdnal8nv00kfhrf3pw33574aqa6j5cj
+104
View File
@@ -0,0 +1,104 @@
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:
replicas: 1
containers:
app:
image:
repository: gitea/gitea
tag: "1.27.0"
env:
USER_UID: "1000"
USER_GID: "1000"
GITEA__server__DOMAIN: git.aggtaa.com
GITEA__server__ROOT_URL: https://git.aggtaa.com/
GITEA__server__SSH_DOMAIN: git.aggtaa.com
GITEA__server__SSH_PORT: "2222"
GITEA__server__LFS_START_SERVER: "true"
GITEA__security__INSTALL_LOCK: "true"
GITEA__security__PASSWORD_HASH_ALGO: pbkdf2
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: 2222
targetPort: 22
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
+1
View File
@@ -15,3 +15,4 @@ resources:
- syncthing.yaml - syncthing.yaml
- immich.yaml - immich.yaml
- joplin.yaml - joplin.yaml
- gitea.yaml
@@ -16,3 +16,4 @@ resources:
- ../../base/namespaces/nfs.yaml - ../../base/namespaces/nfs.yaml
- ../../base/namespaces/syncthing.yaml - ../../base/namespaces/syncthing.yaml
- ../../base/namespaces/photo.yaml - ../../base/namespaces/photo.yaml
- ../../base/namespaces/git.yaml