From 0b99e5469fb27154cfdcdd0294deb5e268fbff04 Mon Sep 17 00:00:00 2001 From: LordMathis Date: Tue, 28 Jan 2025 15:35:18 +0100 Subject: [PATCH] Migrate from gitea to forgejo --- .../base/{gitea => forgejo}/kustomization.yaml | 4 ++-- apps/base/forgejo/namespace.yaml | 5 +++++ apps/base/forgejo/repository.yaml | 9 +++++++++ apps/base/gitea/namespace.yaml | 5 ----- apps/base/gitea/repository.yaml | 9 --------- apps/prod/{gitea => forgejo}/ingress.yaml | 10 +++++----- .../prod/{gitea => forgejo}/kustomization.yaml | 10 +++++----- .../{gitea => forgejo}/kustomizeconfig.yaml | 0 apps/prod/{gitea => forgejo}/release.yaml | 16 ++++++++-------- apps/prod/{gitea => forgejo}/secret.enc.yaml | 6 +++--- apps/prod/{gitea => forgejo}/values.yaml | 12 ++++++------ apps/prod/kustomization.yaml | 2 +- cluster-vars/prod/secret.enc.yaml | 4 ++-- infrastructure/controllers/velero/release.yaml | 2 +- provisioning/cloud-init.yaml | 18 +++++++++--------- 15 files changed, 56 insertions(+), 56 deletions(-) rename apps/base/{gitea => forgejo}/kustomization.yaml (66%) create mode 100644 apps/base/forgejo/namespace.yaml create mode 100644 apps/base/forgejo/repository.yaml delete mode 100644 apps/base/gitea/namespace.yaml delete mode 100644 apps/base/gitea/repository.yaml rename apps/prod/{gitea => forgejo}/ingress.yaml (51%) rename apps/prod/{gitea => forgejo}/kustomization.yaml (62%) rename apps/prod/{gitea => forgejo}/kustomizeconfig.yaml (100%) rename apps/prod/{gitea => forgejo}/release.yaml (51%) rename apps/prod/{gitea => forgejo}/secret.enc.yaml (93%) rename apps/prod/{gitea => forgejo}/values.yaml (85%) diff --git a/apps/base/gitea/kustomization.yaml b/apps/base/forgejo/kustomization.yaml similarity index 66% rename from apps/base/gitea/kustomization.yaml rename to apps/base/forgejo/kustomization.yaml index 99d6949..30c2e4f 100644 --- a/apps/base/gitea/kustomization.yaml +++ b/apps/base/forgejo/kustomization.yaml @@ -1,7 +1,7 @@ -# /apps/base/gitea/kustomization.yaml +# /apps/base/forgejo/kustomization.yaml apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization -namespace: gitea +namespace: forgejo resources: - namespace.yaml diff --git a/apps/base/forgejo/namespace.yaml b/apps/base/forgejo/namespace.yaml new file mode 100644 index 0000000..a84b445 --- /dev/null +++ b/apps/base/forgejo/namespace.yaml @@ -0,0 +1,5 @@ +# /apps/base/forgejo/namespace.yaml +apiVersion: v1 +kind: Namespace +metadata: + name: forgejo \ No newline at end of file diff --git a/apps/base/forgejo/repository.yaml b/apps/base/forgejo/repository.yaml new file mode 100644 index 0000000..d561d47 --- /dev/null +++ b/apps/base/forgejo/repository.yaml @@ -0,0 +1,9 @@ +# /apps/base/forgejo/repository.yaml +apiVersion: source.toolkit.fluxcd.io/v1 +kind: HelmRepository +metadata: + name: forgejo + namespace: forgejo +spec: + interval: 1h + url: https://code.forgejo.org/forgejo-helm/forgejo \ No newline at end of file diff --git a/apps/base/gitea/namespace.yaml b/apps/base/gitea/namespace.yaml deleted file mode 100644 index aad2b0f..0000000 --- a/apps/base/gitea/namespace.yaml +++ /dev/null @@ -1,5 +0,0 @@ -# /apps/base/gitea/namespace.yaml -apiVersion: v1 -kind: Namespace -metadata: - name: gitea \ No newline at end of file diff --git a/apps/base/gitea/repository.yaml b/apps/base/gitea/repository.yaml deleted file mode 100644 index b5a66f7..0000000 --- a/apps/base/gitea/repository.yaml +++ /dev/null @@ -1,9 +0,0 @@ -# /apps/base/gitea/repository.yaml -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - name: gitea - namespace: gitea -spec: - interval: 1h - url: https://dl.gitea.io/charts/ \ No newline at end of file diff --git a/apps/prod/gitea/ingress.yaml b/apps/prod/forgejo/ingress.yaml similarity index 51% rename from apps/prod/gitea/ingress.yaml rename to apps/prod/forgejo/ingress.yaml index a0ec9cf..0e1a903 100644 --- a/apps/prod/gitea/ingress.yaml +++ b/apps/prod/forgejo/ingress.yaml @@ -1,15 +1,15 @@ -# /apps/prod/gitea/ingress.yaml +# /apps/prod/forgejo/ingress.yaml apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: - name: gitea-web-ingress - namespace: gitea + name: forgejo-web-ingress + namespace: forgejo spec: entryPoints: - websecure routes: - - match: Host(`${GITEA_DOMAIN}`) + - match: Host(`${FORGEJO_DOMAIN}`) kind: Rule services: - - name: gitea-http + - name: forgejo-http port: 3000 \ No newline at end of file diff --git a/apps/prod/gitea/kustomization.yaml b/apps/prod/forgejo/kustomization.yaml similarity index 62% rename from apps/prod/gitea/kustomization.yaml rename to apps/prod/forgejo/kustomization.yaml index 9a759e6..4e91c99 100644 --- a/apps/prod/gitea/kustomization.yaml +++ b/apps/prod/forgejo/kustomization.yaml @@ -1,17 +1,17 @@ -# /apps/prod/gitea/kustomization.yaml +# /apps/prod/forgejo/kustomization.yaml apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization -namespace: gitea +namespace: forgejo resources: - - ../../base/gitea + - ../../base/forgejo - secret.enc.yaml - release.yaml - ingress.yaml configMapGenerator: - - name: gitea-prod-values - namespace: gitea + - name: forgejo-prod-values + namespace: forgejo files: - values.yaml diff --git a/apps/prod/gitea/kustomizeconfig.yaml b/apps/prod/forgejo/kustomizeconfig.yaml similarity index 100% rename from apps/prod/gitea/kustomizeconfig.yaml rename to apps/prod/forgejo/kustomizeconfig.yaml diff --git a/apps/prod/gitea/release.yaml b/apps/prod/forgejo/release.yaml similarity index 51% rename from apps/prod/gitea/release.yaml rename to apps/prod/forgejo/release.yaml index c409283..314183f 100644 --- a/apps/prod/gitea/release.yaml +++ b/apps/prod/forgejo/release.yaml @@ -1,20 +1,20 @@ -# /apps/prod/gitea/release.yaml +# /apps/prod/forgejo/release.yaml apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: - name: gitea - namespace: gitea + name: forgejo + namespace: forgejo spec: interval: 1h chart: spec: - chart: gitea - version: 10.6.0 + chart: forgejo + version: 11.0.1 sourceRef: kind: HelmRepository - name: gitea - namespace: gitea + name: forgejo + namespace: forgejo interval: 1h valuesFrom: - kind: ConfigMap - name: gitea-prod-values \ No newline at end of file + name: forgejo-prod-values \ No newline at end of file diff --git a/apps/prod/gitea/secret.enc.yaml b/apps/prod/forgejo/secret.enc.yaml similarity index 93% rename from apps/prod/gitea/secret.enc.yaml rename to apps/prod/forgejo/secret.enc.yaml index eea062c..ff11d24 100644 --- a/apps/prod/gitea/secret.enc.yaml +++ b/apps/prod/forgejo/secret.enc.yaml @@ -1,9 +1,9 @@ -# /apps/prod/gitea/secret.enc.yaml +# /apps/prod/forgejo/secret.enc.yaml apiVersion: v1 kind: Secret metadata: - name: gitea-admin-secret - namespace: gitea + name: forgejo-admin-secret + namespace: forgejo stringData: username: ENC[AES256_GCM,data:1K7hWGJC,iv:SRYfP1NLS633JKNORnsFkBFXo5sP4ejWNj6r4NXbrrQ=,tag:kOfUyxznR8p8VsiYy//Ytg==,type:str] password: ENC[AES256_GCM,data:6GstZlME7jdHkwmyKCp+G72j6yk=,iv:sMunSzr6NZq5QVuibItDJq6n/KM5F9+Ulgc3XLdXuEg=,tag:+/2eBSEJMggo2X1Ft8RIlw==,type:str] diff --git a/apps/prod/gitea/values.yaml b/apps/prod/forgejo/values.yaml similarity index 85% rename from apps/prod/gitea/values.yaml rename to apps/prod/forgejo/values.yaml index c872fac..c4e3aa8 100644 --- a/apps/prod/gitea/values.yaml +++ b/apps/prod/forgejo/values.yaml @@ -1,4 +1,4 @@ -# /apps/prod/gitea/values.yaml +# /apps/prod/forgejo/values.yaml redis-cluster: enabled: false postgresql-ha: @@ -21,10 +21,10 @@ persistence: image: rootless: true -gitea: +forgejo: admin: - existingSecret: gitea-admin-secret - email: "${GITEA_ADMIN_EMAIL}" + existingSecret: forgejo-admin-secret + email: "${FORGEJO_ADMIN_EMAIL}" config: actions: ENABLED: true @@ -40,8 +40,8 @@ gitea: TYPE: channel server: BUILTIN_SSH_SERVER_USER: git - ROOT_URL: https://${GITEA_DOMAIN} - DOMAIN: ${GITEA_DOMAIN} + ROOT_URL: https://${FORGEJO_DOMAIN} + DOMAIN: ${FORGEJO_DOMAIN} SSH_CREATE_AUTHORIZED_KEYS_FILE: false LANDING_PAGE: explore service: diff --git a/apps/prod/kustomization.yaml b/apps/prod/kustomization.yaml index 7f46528..c6b532c 100644 --- a/apps/prod/kustomization.yaml +++ b/apps/prod/kustomization.yaml @@ -3,6 +3,6 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - authelia - - gitea + - forgejo - k9s-web - lemma \ No newline at end of file diff --git a/cluster-vars/prod/secret.enc.yaml b/cluster-vars/prod/secret.enc.yaml index f6ed2ef..8d354ba 100644 --- a/cluster-vars/prod/secret.enc.yaml +++ b/cluster-vars/prod/secret.enc.yaml @@ -5,13 +5,13 @@ metadata: namespace: flux-system stringData: DOMAIN: ENC[AES256_GCM,data:E5Vu4lZBe8J8,iv:BQ60rtqut0ME3RSiE+Afh5y4XxLEeDhssh7eSBYRvHM=,tag:+cHVuRSpxAjDl05x2pUo/A==,type:str] - GITEA_DOMAIN: ENC[AES256_GCM,data:7GTEM1Me2KN78zWm/g==,iv:dHfYDR4Rk6iXsmpSt0CaCp/MHRD2dLHfQCP3ly4gixM=,tag:r05ueelCxvmwMeg6hBWwBg==,type:str] + FORGEJO_DOMAIN: ENC[AES256_GCM,data:7GTEM1Me2KN78zWm/g==,iv:dHfYDR4Rk6iXsmpSt0CaCp/MHRD2dLHfQCP3ly4gixM=,tag:r05ueelCxvmwMeg6hBWwBg==,type:str] AUTHELIA_DOMAIN: ENC[AES256_GCM,data:R2D9+g59TDNe/jB9Mwo=,iv:5Ai0Mx/CbCotfUsMuRZhSUJlw5QDP5Fx+/lck/aMnhk=,tag:P8geek7CkIEVuK3UP1eZMQ==,type:str] TRAEFIK_DOMAIN: ENC[AES256_GCM,data:t2SKcY81OKO+2765biNnyfU=,iv:tPlAovgxXp7+qrWWyF0Q67ql+Ey+itgKX+igOLQrXlA=,tag:lL2uP7PtboK12dQ52bZCWw==,type:str] LEMMA_DOMAIN: ENC[AES256_GCM,data:ZXSvD4FDU8jCVExJhPe+,iv:AuHra0K+xV01ZPfF9JqRzdzAhEWbEOXdtaWk08cnWpc=,tag:UXd3a3AvTMlHB3b0WHn7mA==,type:str] K9S_DOMAIN: ENC[AES256_GCM,data:iHGo7NkwbZAoXYV64w==,iv:N10BV/ZSAVDdEBZVZaYKA9TgOzB09YkC1Fwc3Ujs2/M=,tag:iSbE8S/sn3rMUaYEdIADbg==,type:str] LETSENCRYPT_EMAIL: ENC[AES256_GCM,data:cQi3FMrdySRc6ovINX/rCDYF38SiSjo=,iv:vem+/Mdw6NU1wSZfrR8D5YRV8QcHviA4bsTuyXm6J3o=,tag:ACTYLo0EDxVfMXFnGd5+iA==,type:str] - GITEA_ADMIN_EMAIL: ENC[AES256_GCM,data:Vt7TbkkdfxLmaGbgekvlgjM=,iv:48dqiXfFozpmEGyox/STp0JPC6V79ZdUhMLboZOqN90=,tag:OQ9tKOoBUsWfgFuqwMrFIg==,type:str] + FORGEJO_ADMIN_EMAIL: ENC[AES256_GCM,data:Vt7TbkkdfxLmaGbgekvlgjM=,iv:48dqiXfFozpmEGyox/STp0JPC6V79ZdUhMLboZOqN90=,tag:OQ9tKOoBUsWfgFuqwMrFIg==,type:str] VELERO_BUCKET: ENC[AES256_GCM,data:+1E2KO3Fm4ehw2r3swyVA9+NoFE=,iv:1LEiHiy54GQhQrdkZH7MfjiQkC4BYLVCe+h4gEViO6c=,tag:hwy3vRZlfdpg7LVi4lyrUw==,type:str] sops: kms: [] diff --git a/infrastructure/controllers/velero/release.yaml b/infrastructure/controllers/velero/release.yaml index 3f0b1d8..ab39080 100644 --- a/infrastructure/controllers/velero/release.yaml +++ b/infrastructure/controllers/velero/release.yaml @@ -43,7 +43,7 @@ spec: schedule: "0 2 * * *" # Every day at 2 AM template: includedNamespaces: - - gitea + - forgejo storageLocation: default ttl: "168h" # Keep backups for 1 week includedResources: diff --git a/provisioning/cloud-init.yaml b/provisioning/cloud-init.yaml index 51a75f4..208fe5b 100644 --- a/provisioning/cloud-init.yaml +++ b/provisioning/cloud-init.yaml @@ -33,21 +33,21 @@ packages: write_files: - content: | #!/bin/sh - GITEA_POD=$(kubectl --kubeconfig /home/git/.kube/config get po -n gitea -l app=gitea -o name --no-headers=true | cut -d'/' -f2) - kubectl --kubeconfig /home/git/.kube/config exec -i -n gitea $GITEA_POD -c gitea -- env SSH_ORIGINAL_COMMAND="$SSH_ORIGINAL_COMMAND" /bin/sh "$@" - path: /usr/local/bin/gitea-shell + FORGEJO_POD=$(kubectl --kubeconfig /home/git/.kube/config get po -n forgejo -l app=forgejo -o name --no-headers=true | cut -d'/' -f2) + kubectl --kubeconfig /home/git/.kube/config exec -i -n forgejo $FORGEJO_POD -c forgejo -- env SSH_ORIGINAL_COMMAND="$SSH_ORIGINAL_COMMAND" /bin/sh "$@" + path: /usr/local/bin/forgejo-shell permissions: "0755" - content: | #!/bin/sh - GITEA_POD=$(kubectl --kubeconfig /home/git/.kube/config get po -n gitea -l app=gitea -o name --no-headers=true | cut -d'/' -f2) - kubectl --kubeconfig /home/git/.kube/config exec -i -n gitea $GITEA_POD -c gitea -- /usr/local/bin/gitea keys -e git -u $1 -t $2 -k $3 + FORGEJO_POD=$(kubectl --kubeconfig /home/git/.kube/config get po -n forgejo -l app=forgejo -o name --no-headers=true | cut -d'/' -f2) + kubectl --kubeconfig /home/git/.kube/config exec -i -n forgejo $FORGEJO_POD -c forgejo -- /usr/local/bin/forgejo keys -e git -u $1 -t $2 -k $3 permissions: "0755" - path: /usr/local/bin/gitea-keys + path: /usr/local/bin/forgejo-keys - content: | Match User git AuthorizedKeysCommandUser git - AuthorizedKeysCommand /usr/local/bin/gitea-keys %u %t %k - path: /etc/ssh/sshd_config.d/50-gitea.conf + AuthorizedKeysCommand /usr/local/bin/forgejo-keys %u %t %k + path: /etc/ssh/sshd_config.d/50-forgejo.conf permissions: "0644" ssh: @@ -67,7 +67,7 @@ runcmd: # SSH key for user - su ${username} -c 'ssh-keygen -t ed25519 -f /home/${username}/.ssh/id_ed25519 -q -N "" ' # SSH Passthrough for user git - - usermod -s /usr/local/bin/gitea-shell git + - usermod -s /usr/local/bin/forgejo-shell git # k3s - curl -sfL https://get.k3s.io | sh -s - --disable=traefik # Wait for k3s to be ready