feat: Add Gitea

This commit is contained in:
2026-01-22 12:31:52 +01:00
parent 0801c0c6c7
commit ad258bf3fe
11 changed files with 72 additions and 61 deletions
@@ -2,36 +2,36 @@ bases:
- ../envs/environments.yaml.gotmpl
repositories:
- name: forgejo
- name: gitea
oci: true
url: code.forgejo.org/forgejo-helm
url: docker.gitea.com/charts
commonLabels:
tier: system
releases:
- name: forgejo
namespace: forgejo
chart: forgejo/forgejo
version: 16.0.1
condition: forgejo.enabled
- name: gitea
namespace: gitea
chart: gitea/gitea
version: 12.4.0
condition: gitea.enabled
values:
- ../values/forgejo/values/values.yaml
- ../values/forgejo/values/values-{{ .Environment.Name }}.yaml
- ../values/gitea/values/values.yaml
- ../values/gitea/values/values-{{ .Environment.Name }}.yaml
postRenderer: ../bin/kustomizer
postRendererArgs:
- ../values/forgejo/kustomize/{{ .Environment.Name }}
- ../values/gitea/kustomize/{{ .Environment.Name }}
missingFileHandler: Info
- name: manifests
namespace: forgejo
namespace: gitea
chart: manifests
condition: forgejo.enabled
condition: gitea.enabled
missingFileHandler: Info
values:
- ../values/env.yaml
- ../values/env-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml
- ../values/forgejo/env.yaml.gotmpl
- ../values/forgejo/env-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml.gotmpl
- ../values/gitea/env.yaml.gotmpl
- ../values/gitea/env-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml.gotmpl
hooks:
- events: [ prepare, cleanup ]
showlogs: true
@@ -40,5 +40,5 @@ releases:
- '{{`{{ if eq .Event.Name "prepare" }}build{{ else }}clean{{ end }}`}}'
- '{{`{{ .Release.Chart }}`}}'
- '{{`{{ .Environment.Name }}`}}'
- ../values/forgejo/manifests
- ../values/gitea/manifests
- manifests
+1 -1
View File
@@ -38,7 +38,7 @@ pkgs.mkShellNoCC {
# cmctl
# rclone
# velero
# renovate
renovate
# dapr
dapr-cli
+2 -2
View File
@@ -88,7 +88,7 @@ spec:
server: https://kubernetes.default.svc
- namespace: uptime
server: https://kubernetes.default.svc
- namespace: forgejo
- namespace: gitea
server: https://kubernetes.default.svc
sourceRepos:
- https://argoproj.github.io/argo-helm
@@ -125,7 +125,7 @@ spec:
- ghcr.io/slinkyproject/charts/slurm-operator-crds
- ghcr.io/spegel-org/helm-charts
- ghcr.io/dragonflydb/dragonfly-operator/helm/dragonfly-operator
- code.forgejo.org/forgejo-helm
- docker.gitea.com
- https://operator.mariadb.com/mariadb-enterprise-operator
- https://operator.mariadb.com
- https://ot-container-kit.github.io/helm-charts
@@ -1,3 +1,3 @@
forgejo:
gitea:
enabled: true
backup: true
@@ -1,4 +1,4 @@
forgejo:
gitea:
enabled: false
backup: false
autosync: {{ if eq .Environment.Name "prod" }} false {{ else }} true {{ end }}
@@ -2,11 +2,11 @@ apiVersion: barmancloud.cnpg.io/v1
kind: ObjectStore
metadata:
name: hel-store
namespace: forgejo
namespace: gitea
spec:
retentionPolicy: "7d"
configuration:
destinationPath: s3://obx-cnpg/hel1/forgejo-db
destinationPath: s3://obx-cnpg/hel1/gitea-db
endpointURL: https://hel1.your-objectstorage.com
s3Credentials:
accessKeyId:
@@ -21,13 +21,13 @@ spec:
apiVersion: postgresql.cnpg.io/v1
kind: ScheduledBackup
metadata:
name: forgejo-db
namespace: forgejo
name: gitea-db
namespace: gitea
spec:
schedule: "0 0 1 * * *"
backupOwnerReference: self
cluster:
name: forgejo-db
name: gitea-db
method: plugin
pluginConfiguration:
name: barman-cloud.cloudnative-pg.io
@@ -1,11 +1,11 @@
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: forgejo-db
namespace: forgejo
name: gitea-db
namespace: gitea
spec:
instances: 1
imageName: ghcr.io/cloudnative-pg/postgresql:18-minimal-trixie
imageName: ghcr.io/cloudnative-pg/postgresql:18-system-trixie
storage:
resizeInUseVolumes: true
size: 10Gi
@@ -1,8 +1,8 @@
apiVersion: dragonflydb.io/v1alpha1
kind: Dragonfly
metadata:
name: dragonfly-forgejo
namespace: forgejo
name: dragonfly-gitea
namespace: gitea
spec:
replicas: 1
resources:
@@ -2,7 +2,7 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: forgejo
name: gitea
namespace: argocd
annotations:
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
@@ -10,7 +10,7 @@ metadata:
- resources-finalizer.argocd.argoproj.io
spec:
destination:
namespace: forgejo
namespace: gitea
server: https://kubernetes.default.svc
project: sys
sources:
@@ -23,9 +23,9 @@ spec:
- name: CLUSTER_NAME
value: {{ .Values.clusterConfig.cluster }}
- name: HELMFILE_ENVIRONMENT
value: {{ .Values.forgejo.env }}
value: {{ .Values.gitea.env }}
- name: HELMFILE_FILE_PATH
value: forgejo.yaml.gotmpl
value: gitea.yaml.gotmpl
syncPolicy:
managedNamespaceMetadata:
labels:
@@ -34,7 +34,7 @@ spec:
- CreateNamespace=true
- ApplyOutOfSyncOnly=true
# - ServerSideApply=true
{{- if .Values.forgejo.autosync }}
{{- if .Values.gitea.autosync }}
automated:
prune: true
# selfHeal: false
@@ -1,11 +1,11 @@
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: forgejo-db-monitor
namespace: forgejo
name: gitea-db-monitor
namespace: gitea
spec:
selector:
matchLabels:
cnpg.io/cluster: forgejo-db
cnpg.io/cluster: gitea-db
podMetricsEndpoints:
- port: metrics
@@ -1,37 +1,43 @@
replicaCount: 1
image:
registry: code.forgejo.org
repository: forgejo/forgejo
registry: "docker.gitea.com"
repository: gitea
resources:
requests:
cpu: 200m
memory: 512Mi
strategy:
type: Recreate
rollingUpdate:
maxSurge: "100%"
maxUnavailable: 0
gitea:
metrics:
enabled: true
serviceMonitor:
enabled: true
config:
APP_NAME: 'Forgejo: With a cup of tea.'
APP_NAME: 'Gitea: With a cup of tea.'
cache:
ENABLED: true
ADAPTER: redis
HOST: redis://dragonfly-forgejo.forgejo.svc:6379/0
HOST: redis://dragonfly-gitea.gitea.svc:6379/0
ITEM_TTL: "72h" # increased from default 16h
session:
PROVIDER: redis
PROVIDER_CONFIG: redis://dragonfly-forgejo.forgejo.svc:6379/1
PROVIDER_CONFIG: redis://dragonfly-gitea.gitea.svc:6379/1
queue:
TYPE: redis
CONN_STR: redis://dragonfly-forgejo.forgejo.svc:6379/2
CONN_STR: redis://dragonfly-gitea.gitea.svc:6379/2
storage:
STORAGE_TYPE: minio
MINIO_ENDPOINT: hel1.your-objectstorage.com
MINIO_USE_SSL: true
MINIO_LOCATION: hel1
MINIO_BUCKET: obx-forgejo
MINIO_BUCKET: obx-gitea
security:
INSTALL_LOCK: true
service:
@@ -58,44 +64,44 @@ gitea:
oauth:
- name: 'Oceanbox'
provider: 'openidConnect'
existingSecret: forgejo-oauth-oceanbox
existingSecret: gitea-oauth-oceanbox
autoDiscoverUrl: 'https://login.microsoftonline.com/3f737008-e9a0-4485-9d27-40329d288089/.well-known/openid-configuration'
scopes: 'openid profile email groups'
groupClaimName: 'groups'
adminGroup: '/oceanbox/devel'
restrictedGroup: ''
additionalConfigFromEnvs:
- name: FORGEJO__STORAGE__MINIO_ACCESS_KEY_ID
- name: GITEA__STORAGE__MINIO_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: forgejo-s3
name: gitea-s3
key: access_key
- name: FORGEJO__STORAGE__MINIO_SECRET_ACCESS_KEY
- name: GITEA__STORAGE__MINIO_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: forgejo-s3
name: gitea-s3
key: secret_key
- name: FORGEJO__DATABASE__PASSWD
- name: GITEA__DATABASE__PASSWD
valueFrom:
secretKeyRef:
name: forgejo-db-app
name: gitea-db-app
key: password
- name: FORGEJO__DATABASE__NAME
- name: GITEA__DATABASE__NAME
valueFrom:
secretKeyRef:
name: forgejo-db-app
name: gitea-db-app
key: dbname
- name: FORGEJO__DATABASE__USER
- name: GITEA__DATABASE__USER
valueFrom:
secretKeyRef:
name: forgejo-db-app
name: gitea-db-app
key: user
- name: FORGEJO__DATABASE__HOST
- name: GITEA__DATABASE__HOST
valueFrom:
secretKeyRef:
name: forgejo-db-app
name: gitea-db-app
key: host
- name: FORGEJO__DATABASE__DB_TYPE
- name: GITEA__DATABASE__DB_TYPE
value: postgres
ingress:
@@ -113,13 +119,13 @@ ingress:
paths:
- backend:
service:
name: forgejo-http
name: gitea-http
port:
number: 3000
path: /
pathType: ImplementationSpecific
tls:
- secretName: forgejo-tls
- secretName: gitea-tls
hosts:
- git.svc.hel1.obx
@@ -131,6 +137,11 @@ ingress:
# load-balancer.hetzner.cloud/location: hel1
# load-balancer.hetzner.cloud/uses-proxyprotocol: 'false'
postgresql-ha:
enabled: false
valkey-cluster:
enabled: false
persistence:
enabled: true
size: 1Gi