From df768c9031b8fac1f31f3b063aedb0c47dd0b290 Mon Sep 17 00:00:00 2001 From: Edward Cheng Date: Mon, 24 Jun 2024 21:55:38 +1000 Subject: [PATCH 1/2] add app gitea --- kubernetes/apps/gitea/app/ingress.yaml | 31 ++++++++++++ kubernetes/apps/gitea/app/release.yaml | 42 +++++++++++++++++ kubernetes/apps/gitea/gitea.yaml | 47 +++++++++++++++++++ kubernetes/apps/kustomization.yaml | 1 + .../namespaces/namespaces/gitea.yaml | 4 ++ 5 files changed, 125 insertions(+) create mode 100644 kubernetes/apps/gitea/app/ingress.yaml create mode 100644 kubernetes/apps/gitea/app/release.yaml create mode 100644 kubernetes/apps/gitea/gitea.yaml create mode 100644 kubernetes/infrastructure/namespaces/namespaces/gitea.yaml diff --git a/kubernetes/apps/gitea/app/ingress.yaml b/kubernetes/apps/gitea/app/ingress.yaml new file mode 100644 index 0000000..1c32b83 --- /dev/null +++ b/kubernetes/apps/gitea/app/ingress.yaml @@ -0,0 +1,31 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: gitea-ingress + namespace: gitea + annotations: + nginx.ingress.kubernetes.io/ssl-redirect: "false" + nginx.ingress.kubernetes.io/use-regex: "true" +spec: + ingressClassName: nginx + rules: + - host: "gitea.cluster.local" + http: + paths: + - pathType: Prefix + path: "/" + backend: + service: + name: gitea + port: + number: 5432 + - host: "gitea.cluster.edward.sydney" + http: + paths: + - pathType: Prefix + path: "/" + backend: + service: + name: gitea + port: + number: 5432 \ No newline at end of file diff --git a/kubernetes/apps/gitea/app/release.yaml b/kubernetes/apps/gitea/app/release.yaml new file mode 100644 index 0000000..7bb3646 --- /dev/null +++ b/kubernetes/apps/gitea/app/release.yaml @@ -0,0 +1,42 @@ +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: gitea + namespace: gitea +spec: + targetNamespace: gitea + chart: + spec: + chart: gitea + sourceRef: + kind: HelmRepository + name: bitnami + namespace: flux-system + interval: 1h + install: + remediation: + retries: 3 + values: + adminUsername: bn_user + adminPassword: "" + adminEmail: user@example.com + appName: example + containerPorts: + http: 3003 + persistence: + existingClaim: "" + service: + ports: + http: 80 + ssh: 22 + nodePorts: + http: "" + ssh: "" + postgresql: + enabled: false + externalDatabase: + host: "" + port: 5432 + user: postgres + database: gitea + password: "" \ No newline at end of file diff --git a/kubernetes/apps/gitea/gitea.yaml b/kubernetes/apps/gitea/gitea.yaml new file mode 100644 index 0000000..98ed8fd --- /dev/null +++ b/kubernetes/apps/gitea/gitea.yaml @@ -0,0 +1,47 @@ +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: gitea-secrets + namespace: gitea +spec: + interval: 10m + timeout: 1m30s + retryInterval: 30s + targetNamespace: redis + path: ./gitea + prune: true + sourceRef: + kind: GitRepository + namespace: flux-system + name: home-cluster-ops-secrets + dependsOn: + - name: repositories + namespace: flux-system + decryption: + provider: sops + secretRef: + name: gitea-sops-age +--- +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: gitea + namespace: gitea +spec: + interval: 10m + timeout: 1m30s + retryInterval: 30s + path: ./kubernetes/apps/gitea/app + prune: true + sourceRef: + kind: GitRepository + namespace: flux-system + name: flux-system + dependsOn: + - name: gitea-secrets + namespace: gitea + postBuild: + substituteFrom: + - kind: Secret + name: gitea-secrets + diff --git a/kubernetes/apps/kustomization.yaml b/kubernetes/apps/kustomization.yaml index 6f9fe0c..93d890a 100644 --- a/kubernetes/apps/kustomization.yaml +++ b/kubernetes/apps/kustomization.yaml @@ -5,6 +5,7 @@ resources: - ./capacitor/capacitor.yaml - ./cert-manager/cert-manager.yaml - ./code-server/code-server.yaml + - ./gitea/gitea.yaml - ./homer/homer.yaml - ./jellyfin/jellyfin.yaml - ./kavita/kavita.yaml diff --git a/kubernetes/infrastructure/namespaces/namespaces/gitea.yaml b/kubernetes/infrastructure/namespaces/namespaces/gitea.yaml new file mode 100644 index 0000000..09a988f --- /dev/null +++ b/kubernetes/infrastructure/namespaces/namespaces/gitea.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: gitea From 21371c5a882056a2277ac6e816467705c310102f Mon Sep 17 00:00:00 2001 From: Edward Cheng Date: Tue, 25 Jun 2024 10:03:53 +1000 Subject: [PATCH 2/2] add app gitea --- kubernetes/apps/gitea/app/release.yaml | 29 +++++++--------- kubernetes/apps/gitea/app/volume.yaml | 46 ++++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 17 deletions(-) create mode 100644 kubernetes/apps/gitea/app/volume.yaml diff --git a/kubernetes/apps/gitea/app/release.yaml b/kubernetes/apps/gitea/app/release.yaml index 7bb3646..3c66741 100644 --- a/kubernetes/apps/gitea/app/release.yaml +++ b/kubernetes/apps/gitea/app/release.yaml @@ -17,26 +17,21 @@ spec: remediation: retries: 3 values: - adminUsername: bn_user - adminPassword: "" - adminEmail: user@example.com - appName: example - containerPorts: - http: 3003 + adminUsername: ${admin_username} + adminPassword: ${admin_password} + adminEmail: ${admin_email} + appName: app_name persistence: - existingClaim: "" + existingClaim: gitea-pvc service: - ports: - http: 80 - ssh: 22 nodePorts: - http: "" - ssh: "" + http: 30888 + ssh: 30822 postgresql: enabled: false externalDatabase: - host: "" - port: 5432 - user: postgres - database: gitea - password: "" \ No newline at end of file + host: ${db_host} + port: ${db_port} + user: ${db_user} + database: ${db_name} + password: ${db_password} \ No newline at end of file diff --git a/kubernetes/apps/gitea/app/volume.yaml b/kubernetes/apps/gitea/app/volume.yaml new file mode 100644 index 0000000..219f22a --- /dev/null +++ b/kubernetes/apps/gitea/app/volume.yaml @@ -0,0 +1,46 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: gitea-pv + namespace: gitea + labels: + type: local +spec: + storageClassName: local-path + volumeMode: Filesystem + capacity: + storage: 32Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + local: + path: "/mnt/nfs/AppData/gitea" + claimRef: + apiVersion: v1 + kind: PersistentVolumeClaim + name: gitea-pvc + namespace: gitea + nodeAffinity: + required: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/hostname + operator: In + values: + - rpi5-cluster-node-3 +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: gitea-pvc + namespace: gitea + labels: + name: gitea-pvc +spec: + storageClassName: local-path + volumeMode: Filesystem + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 32Gi \ No newline at end of file