cluster

Infrastructure files for Nordgedanken and Midnightthoughts.
git clone git://archive.git.mtrnord.blog/MTRNord/cluster.git
Log | Files | Refs | README

commit 2c2c3239365f4a94bf5575863a0baa0f281dd355
parent b647d95bc2f0050d219878e6607bd2a9fe29490f
Author: MTRNord <mtrnord1@gmail.com>
Date:   Sun, 22 Dec 2024 00:26:19 +0100

Deploy jenkins

Diffstat:
Mapps/2024_cluster/kustomization.yaml | 1+
Aapps/2024_cluster/namespaces/jenkins.yaml | 4++++
Mapps/2024_cluster/namespaces/kustomization.yaml | 1+
Mapps/base/gerrit/gerrit_cluster.yaml | 228++++++++++++++++++++++++++++++++++++++++----------------------------------------
Mapps/base/gerrit/ha_rbac.yaml | 1-
Aapps/base/jenkins/kustomization.yaml | 6++++++
Aapps/base/jenkins/release.yaml | 66++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aapps/base/jenkins/repository.yaml | 8++++++++
Mencrypt.sh | 2+-
9 files changed, 201 insertions(+), 116 deletions(-)

diff --git a/apps/2024_cluster/kustomization.yaml b/apps/2024_cluster/kustomization.yaml @@ -33,3 +33,4 @@ resources: - ../base/k8up - ../base/bugzilla - ../base/gerrit + - ../base/jenkins diff --git a/apps/2024_cluster/namespaces/jenkins.yaml b/apps/2024_cluster/namespaces/jenkins.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: jenkins diff --git a/apps/2024_cluster/namespaces/kustomization.yaml b/apps/2024_cluster/namespaces/kustomization.yaml @@ -22,3 +22,4 @@ resources: - bugzilla.yaml - twitch-vod.yaml - gerrit.yaml + - jenkins.yaml diff --git a/apps/base/gerrit/gerrit_cluster.yaml b/apps/base/gerrit/gerrit_cluster.yaml @@ -38,117 +38,117 @@ spec: gerrits: # A primary Gerrit - metadata: - name: gerrit - labels: - app: gerrit + name: gerrit + labels: + app: gerrit spec: - mode: PRIMARY - serviceAccount: gerrit - replicas: 2 - resources: - requests: - cpu: 1 - memory: 5Gi - limits: - cpu: 1 - memory: 6Gi - service: - type: NodePort - httpPort: 80 - sshPort: 29418 - site: - size: 1Gi - startupProbe: - initialDelaySeconds: 30 - periodSeconds: 10 - timeoutSeconds: 10 - successThreshold: 1 - failureThreshold: 10 - readinessProbe: - initialDelaySeconds: 30 - periodSeconds: 10 - timeoutSeconds: 10 - successThreshold: 1 - failureThreshold: 10 - livenessProbe: - initialDelaySeconds: 120 - periodSeconds: 10 - timeoutSeconds: 10 - successThreshold: 1 - failureThreshold: 3 - plugins: - # This way plugins are installed from the Gerrit-war file - - name: download-commands - - name: delete-project - - name: replication - - name: checks - url: https://gerrit-ci.gerritforge.com/job/plugin-checks-bazel-master/lastSuccessfulBuild/artifact/bazel-bin/plugins/checks/checks.jar - sha1: aa2d4c6cae157f9e7f26f33c4149bc254f6ed983 - - name: oauth - url: https://gerrit-ci.gerritforge.com/job/plugin-oauth-bazel-master-master/lastSuccessfulBuild/artifact/bazel-bin/plugins/oauth/oauth.jar - sha1: 005ff9ae2f724c3bd4cd6f4259ee9c03b4ce88a5 - - name: branch-network - url: https://gerrit-ci.gerritforge.com/job/plugin-branch-network-bazel-master/lastSuccessfulBuild/artifact/bazel-bin/plugins/branch-network/branch-network.jar - sha1: 0064a6133b72684ccecf5038e61b23457bacab43 - #- name: replication-status - # url: https://gerrit-ci.gerritforge.com/job/plugin-replication-status-bazel-master/lastSuccessfulBuild/artifact/bazel-bin/plugins/replication-status/replication-status.jar - # sha1: 5eb04d2238ce7d130d8b9cf0cd79f14e68e7ddfd - configFiles: - # Some configuration options are specific to the k8sgerrit setup. These - # will be set by the Gerrit Operator. - gerrit.config: ENC[AES256_GCM,data:EAPMpzo62NN9MfWtJj2aXUnMbwExDJhmxSu3qUFBFQwy/9uoyB6quUpq/4pU2JohzTAG8J7I1gyJDroNVBKmpcRls6VSVB7SLCCouN1lsGfoPoGI0enPYybjk6x7uXuYUN4Si/LVyn+j+Z19cpjAy93nZJlZ/7+Xgo3WcB6h/aHHMeiprv8dfhGxeOIrrMZymHvBWiEIT+9LbpKJ34pq/XRFGUBTlmyBo7F502R83WDmT3ABeiYU7Jo9yAFFE13I9JBl6XfpNInEADBUWiiaBvFXzIkjdq/BXe7v0TsiSQ5J0Lt31HtmGocFcHZ/vhVtM7x8hbh+GqANJ5cwRQ7sPDJYRJAl0RvN4uqrhQzEDIYk/GjtPU+GnfU44hKDNe+IYhQHwmoNfJrQtlcYgerg29L6R56j1WBVRpubBlSgk7pGYCUbSM/PWMp4la3geRzqSwZFFBufmLULjhHa/1rAlCPyghsazqSN3olhUTq7Cx7iCdAMEzxRYDP8+FlMWJXkPzxFCGcyv1fQIlXlcq8R9HKX81j8UaUTRbi0fLPoczqwjVdYrSChHF+ULXwb2IzgNMfd1ElOZUupxLw3uE1pEqCADZnvwYcsbNs//a5AitRUOBm7MIXPsvptI4NQqdqANlxnSUUzf2MwIed8pnEn7YqE4QWHhgF168dLr1FiyTMZ4KwVQ95NfFyrAMY7HwgLQIr7M5QRdajb0Z5GAK01nvYEGoqD8+T4SY9aftYWtu7RmD+j0kDbcxAKoxqbrc1F9cwkvpoVtou1eUkNoQW8J6hZmXhY2VWAhSqALOuP1nyS3KfcAk/J363lQZdIJpYMsqKWTHnY5/05IRe3lOMaWuJEFlTBb/9lAU3sLOiaZ2Ux8Lzo8BNsleG5GtONzVgwaMWUqav0rw/XZDVBp3uklp+StaLmKuMOJ60vBMNXFSl6b0RjLeiVLwoYGfaqov5DpB23ssZSusviB3FrsqFPAl9EUXvCC/wNWIXs5Jy4SaoxGvMqyCT8DS+0M5wXBf5mKoYYEgXEOoZvuMXkOCnsu6N4rFnN6LNW5Wgwlnc7c6KEAOp+hCFX0kefAp5YCOE3x7mS1XwycEAQvvJ5opZcWbXRdWDBrRD/i5gPg+bF2HsHchuwF7ee9JFldi1qE6JGJtOJJ2VnJHmpG8hERcXhpqHp13TpsvA0A5xyUIkJpjcUzwiB335CFPhpaWPSZdRJtwDuJWt7hUWiCre/risKX4zz5kswqjZxQSJQSltKE466xiwIlaq/MBcbmLt1nA+iUEpXrw9Uds5RI5XMbVcSQypkQ1eA4nXTr7en7xV86euHjA9IEEv2HFDTdd3D/9BF31b0M/DZvG47zBq+6l3lGrtEBbtKt8zQK9vrZrZpZdd8mbmxSCjP7PlfaTPtnBMtxWaFvcXy6mKdeDoEUVpc3trRcZMb80L5Ti5T/pDvB/g5cIFKjZEFFsJYRUewxHgRxjUMM4zA4I6w7LGd/cFFsfqic1iteE0CxyvmgBolVA+KkQqxncSiGz35n4LeIr2Mev9WFnpDp1whv/IQcj3zKb6Jh0Sr3NbcOvAr1J5eIi85OG5G5tI1fN3iXLGNiNK1ZWaDJFFl8S8zHV1UxZw9xUkEyS2C5JGjbFPVMM07u/YksfdmPvzewVz39yk3,iv:Ls06dX2UB+qLKSsU7IQVNJPFAtSAQCbKF7knnb3gsHQ=,tag:9bWDMCDI3aNbqjSD6gPUPQ==,type:str] - # Reference by name to the Secret containing secret files to be mounted to - # $SITE/etc - secretRef: gerrit-secure-config + mode: PRIMARY + serviceAccount: gerrit + replicas: 2 + resources: + requests: + cpu: 1 + memory: 5Gi + limits: + cpu: 1 + memory: 6Gi + service: + type: NodePort + httpPort: 80 + sshPort: 29418 + site: + size: 1Gi + startupProbe: + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + successThreshold: 1 + failureThreshold: 10 + readinessProbe: + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + successThreshold: 1 + failureThreshold: 10 + livenessProbe: + initialDelaySeconds: 120 + periodSeconds: 10 + timeoutSeconds: 10 + successThreshold: 1 + failureThreshold: 3 + plugins: + # This way plugins are installed from the Gerrit-war file + - name: download-commands + - name: delete-project + - name: replication + - name: checks + url: https://gerrit-ci.gerritforge.com/job/plugin-checks-bazel-master/lastSuccessfulBuild/artifact/bazel-bin/plugins/checks/checks.jar + sha1: aa2d4c6cae157f9e7f26f33c4149bc254f6ed983 + - name: oauth + url: https://gerrit-ci.gerritforge.com/job/plugin-oauth-bazel-master-master/lastSuccessfulBuild/artifact/bazel-bin/plugins/oauth/oauth.jar + sha1: 005ff9ae2f724c3bd4cd6f4259ee9c03b4ce88a5 + - name: branch-network + url: https://gerrit-ci.gerritforge.com/job/plugin-branch-network-bazel-master/lastSuccessfulBuild/artifact/bazel-bin/plugins/branch-network/branch-network.jar + sha1: 0064a6133b72684ccecf5038e61b23457bacab43 + #- name: replication-status + # url: https://gerrit-ci.gerritforge.com/job/plugin-replication-status-bazel-master/lastSuccessfulBuild/artifact/bazel-bin/plugins/replication-status/replication-status.jar + # sha1: 5eb04d2238ce7d130d8b9cf0cd79f14e68e7ddfd + configFiles: + # Some configuration options are specific to the k8sgerrit setup. These + # will be set by the Gerrit Operator. + gerrit.config: ENC[AES256_GCM,data:EAPMpzo62NN9MfWtJj2aXUnMbwExDJhmxSu3qUFBFQwy/9uoyB6quUpq/4pU2JohzTAG8J7I1gyJDroNVBKmpcRls6VSVB7SLCCouN1lsGfoPoGI0enPYybjk6x7uXuYUN4Si/LVyn+j+Z19cpjAy93nZJlZ/7+Xgo3WcB6h/aHHMeiprv8dfhGxeOIrrMZymHvBWiEIT+9LbpKJ34pq/XRFGUBTlmyBo7F502R83WDmT3ABeiYU7Jo9yAFFE13I9JBl6XfpNInEADBUWiiaBvFXzIkjdq/BXe7v0TsiSQ5J0Lt31HtmGocFcHZ/vhVtM7x8hbh+GqANJ5cwRQ7sPDJYRJAl0RvN4uqrhQzEDIYk/GjtPU+GnfU44hKDNe+IYhQHwmoNfJrQtlcYgerg29L6R56j1WBVRpubBlSgk7pGYCUbSM/PWMp4la3geRzqSwZFFBufmLULjhHa/1rAlCPyghsazqSN3olhUTq7Cx7iCdAMEzxRYDP8+FlMWJXkPzxFCGcyv1fQIlXlcq8R9HKX81j8UaUTRbi0fLPoczqwjVdYrSChHF+ULXwb2IzgNMfd1ElOZUupxLw3uE1pEqCADZnvwYcsbNs//a5AitRUOBm7MIXPsvptI4NQqdqANlxnSUUzf2MwIed8pnEn7YqE4QWHhgF168dLr1FiyTMZ4KwVQ95NfFyrAMY7HwgLQIr7M5QRdajb0Z5GAK01nvYEGoqD8+T4SY9aftYWtu7RmD+j0kDbcxAKoxqbrc1F9cwkvpoVtou1eUkNoQW8J6hZmXhY2VWAhSqALOuP1nyS3KfcAk/J363lQZdIJpYMsqKWTHnY5/05IRe3lOMaWuJEFlTBb/9lAU3sLOiaZ2Ux8Lzo8BNsleG5GtONzVgwaMWUqav0rw/XZDVBp3uklp+StaLmKuMOJ60vBMNXFSl6b0RjLeiVLwoYGfaqov5DpB23ssZSusviB3FrsqFPAl9EUXvCC/wNWIXs5Jy4SaoxGvMqyCT8DS+0M5wXBf5mKoYYEgXEOoZvuMXkOCnsu6N4rFnN6LNW5Wgwlnc7c6KEAOp+hCFX0kefAp5YCOE3x7mS1XwycEAQvvJ5opZcWbXRdWDBrRD/i5gPg+bF2HsHchuwF7ee9JFldi1qE6JGJtOJJ2VnJHmpG8hERcXhpqHp13TpsvA0A5xyUIkJpjcUzwiB335CFPhpaWPSZdRJtwDuJWt7hUWiCre/risKX4zz5kswqjZxQSJQSltKE466xiwIlaq/MBcbmLt1nA+iUEpXrw9Uds5RI5XMbVcSQypkQ1eA4nXTr7en7xV86euHjA9IEEv2HFDTdd3D/9BF31b0M/DZvG47zBq+6l3lGrtEBbtKt8zQK9vrZrZpZdd8mbmxSCjP7PlfaTPtnBMtxWaFvcXy6mKdeDoEUVpc3trRcZMb80L5Ti5T/pDvB/g5cIFKjZEFFsJYRUewxHgRxjUMM4zA4I6w7LGd/cFFsfqic1iteE0CxyvmgBolVA+KkQqxncSiGz35n4LeIr2Mev9WFnpDp1whv/IQcj3zKb6Jh0Sr3NbcOvAr1J5eIi85OG5G5tI1fN3iXLGNiNK1ZWaDJFFl8S8zHV1UxZw9xUkEyS2C5JGjbFPVMM07u/YksfdmPvzewVz39yk3,iv:Ls06dX2UB+qLKSsU7IQVNJPFAtSAQCbKF7knnb3gsHQ=,tag:9bWDMCDI3aNbqjSD6gPUPQ==,type:str] + # Reference by name to the Secret containing secret files to be mounted to + # $SITE/etc + secretRef: gerrit-secure-config # Gerrit Replica - metadata: - name: gerrit-replica - labels: - app: gerrit-replica + name: gerrit-replica + labels: + app: gerrit-replica spec: - mode: REPLICA - replicas: 2 - resources: - requests: - cpu: 1 - memory: 5Gi - limits: - cpu: 1 - memory: 6Gi - service: - type: NodePort - httpPort: 80 - sshPort: 29418 - site: - size: 1Gi - plugins: - - name: oauth - url: https://gerrit-ci.gerritforge.com/job/plugin-oauth-bazel-master-master/lastSuccessfulBuild/artifact/bazel-bin/plugins/oauth/oauth.jar - sha1: 005ff9ae2f724c3bd4cd6f4259ee9c03b4ce88a5 - startupProbe: - initialDelaySeconds: 30 - periodSeconds: 10 - timeoutSeconds: 10 - successThreshold: 1 - failureThreshold: 10 - readinessProbe: - initialDelaySeconds: 30 - periodSeconds: 10 - timeoutSeconds: 10 - successThreshold: 1 - failureThreshold: 10 - livenessProbe: - initialDelaySeconds: 120 - periodSeconds: 10 - timeoutSeconds: 10 - successThreshold: 1 - failureThreshold: 3 - configFiles: - gerrit.config: ENC[AES256_GCM,data:IPABx4wNh7cvEbJURJxCOMr5MJq9WGvJa/bKIGelq47hq2jDTSI5+RaoPNYTsM337KJ+GVRVmLnGNZQw3YpbJwksB+QkG5LscWZDt0Befnc2/2AMbp6tki+HnFKdt0dfti5OVc0wUoQNZM+1gEF8+Kz9mYrql3uWcS6fKgPCixRTPhHzlnArkYvirTHO90giWcuP1eoucar4lQAMhiVm3Ho07kGe6IwWxLrRtgL8aLrRqHJRGk9KtbxhUXy94dkt09poC0C55vSqpGj5V5wgK98mgDTrwCz5c4EVNaTbALMt01+sV8Vyb59UGBFbdWU+rFTh88w2db+mBaVw3Ba6xUpmvhJRSCs9/LIE6CjP8s5Iwl18VuKijbUu+bXEWih+ai//DqosamBOhP3sPqjRkwUZUdjS8rHYXPuh0S9q9r+Uf9+eT7J1CCHtC3YKk2FUXrlmZfzqXyp7WPwUXWhP4IVROOGRSDC3i1nU3QlQir2G8PJIMsW6cKtMDzruoJC8J30dDF1uy9Df0ZfuaZjWQ07dHPtwxOPt9zStHxWZtGN6FAoSWY2JEXxzFR79KEKByb+9DthyHGBXKys2Oiyp/nKUFsK6lMB8zdnaUj+Lm3T91UIeQb0aAtaMeRi6RcCwy78A0NdGY2pA9OWcbTrQ+RzX88UPlgxLJZMarY/Z4AjgvnBGAXln5lDAl4/S3MRKhoKgiySuz3H+bThekVY5EXRfR4OKM4QD/ztArNwQpbQQxht4hZ/00Oih1g6SH8UEgh7p1ll6lLtbvsePn8+CHmAm/Ql4YWUlZasS5RNsPx9LQ7MBurNefjYrCLmZLj/UJW8cwSnBBRUm9d9eYSuyDrZ63tZ+pkqBjBkzIZT4qo/bYjvDv4XLuRf2Z0qp6MjOwr/sOuWBdKo8YhQofZv9Xu2w0GseiqCHcaNBeEPXsUdSWgK1yIXf2Ml+EoN28FWtK9X7qRObMqnxK0I1DwPvZKkheiJ3RvMBhklemxGVRK/QL8C70lsKvjuZcJ+1nD5Ls36q/X0r1IAoaEMlgqC+gsjfWjUYuQli2pSLi7ahMyCY1RXkz22LkGk/rM1YGEFQb0IcvLsY4j8ZICdRDFIKtGI2f6n9JBtSFxXKRljbEsn7UypfnrSsQaTPJPejUcc2syBA7yPfEXt13WPKOS2cXyDuj06ObMbUobVx//lHNYVVKZAbzlLrZBvpfjNSxeTKbJP5r1XT/7/1GYNLhXtf/oIj7oh2vICpJPklrIxV/eAT3gEG94W393Em+d4c6Mj/KDnU8o5krCir4yCQaGylT6ZifiaWt+iAe9Nvn2iVyzftSuunaXu+PY+B76qKg4WGONJJ0p45BjTyxctxpOetEiRvP8Epnld/Hn3f8VyRrybL9038cbywcjTrCOcovWtZr3qTYK6zIhsOFbiDDG9krCbSgLqLmhQ0FXYzC9/7YHsqCALG2ZcPD/YiSYFL0vUxht3IdwdgxHU6VUPzpEwYXY/5/u2g70FVJ0deoDMEXZpbo23yQWdvwRVyBGGKOdlXLjA+deB8pQdXJTGXDu/QO6XTBuQPbZ28Qdy1e0l9JX8wNAGHbSnUFCUhumSxrG+03bELA0cGM7Gk8eYx4HvqiPhKWGaYigwJl3MRp5Vh92M6y7BuqndfpVjK7VJu,iv:RJJBwOnO22hTq3b/Mi+MIPVzoyPBaeO/cTe0n/ZYlSs=,tag:NTwfaBf5CvBcf50H+kJOQg==,type:str] - healthcheck.config: |- - [healthcheck "auth"] - enabled = false - secretRef: gerrit-secure-config + mode: REPLICA + replicas: 2 + resources: + requests: + cpu: 1 + memory: 5Gi + limits: + cpu: 1 + memory: 6Gi + service: + type: NodePort + httpPort: 80 + sshPort: 29418 + site: + size: 1Gi + plugins: + - name: oauth + url: https://gerrit-ci.gerritforge.com/job/plugin-oauth-bazel-master-master/lastSuccessfulBuild/artifact/bazel-bin/plugins/oauth/oauth.jar + sha1: 005ff9ae2f724c3bd4cd6f4259ee9c03b4ce88a5 + startupProbe: + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + successThreshold: 1 + failureThreshold: 10 + readinessProbe: + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + successThreshold: 1 + failureThreshold: 10 + livenessProbe: + initialDelaySeconds: 120 + periodSeconds: 10 + timeoutSeconds: 10 + successThreshold: 1 + failureThreshold: 3 + configFiles: + gerrit.config: ENC[AES256_GCM,data:IPABx4wNh7cvEbJURJxCOMr5MJq9WGvJa/bKIGelq47hq2jDTSI5+RaoPNYTsM337KJ+GVRVmLnGNZQw3YpbJwksB+QkG5LscWZDt0Befnc2/2AMbp6tki+HnFKdt0dfti5OVc0wUoQNZM+1gEF8+Kz9mYrql3uWcS6fKgPCixRTPhHzlnArkYvirTHO90giWcuP1eoucar4lQAMhiVm3Ho07kGe6IwWxLrRtgL8aLrRqHJRGk9KtbxhUXy94dkt09poC0C55vSqpGj5V5wgK98mgDTrwCz5c4EVNaTbALMt01+sV8Vyb59UGBFbdWU+rFTh88w2db+mBaVw3Ba6xUpmvhJRSCs9/LIE6CjP8s5Iwl18VuKijbUu+bXEWih+ai//DqosamBOhP3sPqjRkwUZUdjS8rHYXPuh0S9q9r+Uf9+eT7J1CCHtC3YKk2FUXrlmZfzqXyp7WPwUXWhP4IVROOGRSDC3i1nU3QlQir2G8PJIMsW6cKtMDzruoJC8J30dDF1uy9Df0ZfuaZjWQ07dHPtwxOPt9zStHxWZtGN6FAoSWY2JEXxzFR79KEKByb+9DthyHGBXKys2Oiyp/nKUFsK6lMB8zdnaUj+Lm3T91UIeQb0aAtaMeRi6RcCwy78A0NdGY2pA9OWcbTrQ+RzX88UPlgxLJZMarY/Z4AjgvnBGAXln5lDAl4/S3MRKhoKgiySuz3H+bThekVY5EXRfR4OKM4QD/ztArNwQpbQQxht4hZ/00Oih1g6SH8UEgh7p1ll6lLtbvsePn8+CHmAm/Ql4YWUlZasS5RNsPx9LQ7MBurNefjYrCLmZLj/UJW8cwSnBBRUm9d9eYSuyDrZ63tZ+pkqBjBkzIZT4qo/bYjvDv4XLuRf2Z0qp6MjOwr/sOuWBdKo8YhQofZv9Xu2w0GseiqCHcaNBeEPXsUdSWgK1yIXf2Ml+EoN28FWtK9X7qRObMqnxK0I1DwPvZKkheiJ3RvMBhklemxGVRK/QL8C70lsKvjuZcJ+1nD5Ls36q/X0r1IAoaEMlgqC+gsjfWjUYuQli2pSLi7ahMyCY1RXkz22LkGk/rM1YGEFQb0IcvLsY4j8ZICdRDFIKtGI2f6n9JBtSFxXKRljbEsn7UypfnrSsQaTPJPejUcc2syBA7yPfEXt13WPKOS2cXyDuj06ObMbUobVx//lHNYVVKZAbzlLrZBvpfjNSxeTKbJP5r1XT/7/1GYNLhXtf/oIj7oh2vICpJPklrIxV/eAT3gEG94W393Em+d4c6Mj/KDnU8o5krCir4yCQaGylT6ZifiaWt+iAe9Nvn2iVyzftSuunaXu+PY+B76qKg4WGONJJ0p45BjTyxctxpOetEiRvP8Epnld/Hn3f8VyRrybL9038cbywcjTrCOcovWtZr3qTYK6zIhsOFbiDDG9krCbSgLqLmhQ0FXYzC9/7YHsqCALG2ZcPD/YiSYFL0vUxht3IdwdgxHU6VUPzpEwYXY/5/u2g70FVJ0deoDMEXZpbo23yQWdvwRVyBGGKOdlXLjA+deB8pQdXJTGXDu/QO6XTBuQPbZ28Qdy1e0l9JX8wNAGHbSnUFCUhumSxrG+03bELA0cGM7Gk8eYx4HvqiPhKWGaYigwJl3MRp5Vh92M6y7BuqndfpVjK7VJu,iv:RJJBwOnO22hTq3b/Mi+MIPVzoyPBaeO/cTe0n/ZYlSs=,tag:NTwfaBf5CvBcf50H+kJOQg==,type:str] + healthcheck.config: |- + [healthcheck "auth"] + enabled = false + secretRef: gerrit-secure-config sops: kms: [] gcp_kms: [] @@ -157,13 +157,13 @@ sops: age: - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpM1hObjZCZ2haeHBHWHFE - MVhnSEZHYXpZOU5jYUFmTWZoVk1NT05BMEM0CkJyWmdPR25Cdzd3RHlBWUpDaTFy - Z0dKR05yWUZ3STRRRE0zdlA4Y3J1WW8KLS0tIDBsY1NmeS85dDdLVHQwczcyQi83 - Z3BGektSRDJqVnVHaTBwVGlObStnSlEKkc92iZBBsd2OoIr93gPDCO7XZ6+pcnI6 - opYrhvZMNHy743CFgeNIs8lSJ0vzKYWfyZitsi9beLCoucuhQ04awA== - -----END AGE ENCRYPTED FILE----- + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpM1hObjZCZ2haeHBHWHFE + MVhnSEZHYXpZOU5jYUFmTWZoVk1NT05BMEM0CkJyWmdPR25Cdzd3RHlBWUpDaTFy + Z0dKR05yWUZ3STRRRE0zdlA4Y3J1WW8KLS0tIDBsY1NmeS85dDdLVHQwczcyQi83 + Z3BGektSRDJqVnVHaTBwVGlObStnSlEKkc92iZBBsd2OoIr93gPDCO7XZ6+pcnI6 + opYrhvZMNHy743CFgeNIs8lSJ0vzKYWfyZitsi9beLCoucuhQ04awA== + -----END AGE ENCRYPTED FILE----- lastmodified: "2024-12-20T13:32:19Z" mac: ENC[AES256_GCM,data:2Mbm09AxeGgOVMNqXyCvdtYdOx+Q+8BEGJWXetzkLB4u3T6oPBU8Ht0um9Xa5lvRRCfdaYfQfLNfyHwH9n4N03N0PGT0Ac9tQaadEYMxooSVfGo8JOH0zDgZJNCYxJO/vOtIeOtEim7SUox0kQbn8tQ8ggL49Zo8L0HHwrhnsTc=,iv:OSuZmPXLFWL0MG0FFjs3phBwUeWnUmFcQylyko5Ihmk=,tag:+6T/lGVflE2ZzefZy4k4HA==,type:str] pgp: [] diff --git a/apps/base/gerrit/ha_rbac.yaml b/apps/base/gerrit/ha_rbac.yaml @@ -1,4 +1,3 @@ ---- apiVersion: v1 kind: ServiceAccount metadata: diff --git a/apps/base/jenkins/kustomization.yaml b/apps/base/jenkins/kustomization.yaml @@ -0,0 +1,6 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: jenkins +resources: + - repository.yaml + - release.yaml diff --git a/apps/base/jenkins/release.yaml b/apps/base/jenkins/release.yaml @@ -0,0 +1,66 @@ +apiVersion: helm.toolkit.fluxcd.io/v2beta2 +kind: HelmRelease +metadata: + name: jenkins + namespace: jenkins +spec: + interval: 1h + releaseName: jenkins + chart: + spec: + chart: jenkinsci + sourceRef: + kind: HelmRepository + name: jenkins + values: + admin: + username: MTRNord + password: ENC[AES256_GCM,data:c2y/yLldictU,iv:j6hwsXdAvBNfkhwXh3lLX+QHCcQwsExM+xAkzKEMrSI=,tag:70msWjyfzW/vSlGTn6WhXw==,type:str] + jenkinsAdminEmail: ENC[AES256_GCM,data:zAjS61Wji3cpjlGqnNG1BnW7Rrk0pAWn,iv:V/C8wYCsxyLUeX3xLUwRqaFgbX0doM0gAKoPyAfhPaA=,tag:wixdOQ95feAw2Ypye43UJg==,type:str] + installPlugins: + - kubernetes:4306.vc91e951ea_eb_d + - workflow-aggregator:600.vb_57cdd26fdd7 + - git:5.6.0 + - configuration-as-code:1903.v004d55388f30 + - oic-auth:4.438.v6e62f6782770 + - gerrit-trigger:2.42.0 + JCasC: + securityRealm: ENC[AES256_GCM,data:U6UJQAKszCr9hyy+vcwjeFgbs5G28a7UbrAmZI5vdVOrPaZreQ0pXdttU+vGHbBLcCqx+zeVNtYAGrgZ3pY1++uy2gxb+obhX7NOpC8JhRquiZmRjOOUuStMzoADtIvtuUXs+5NaoTz59ZWm9K/fhjeGHA200L7psCz+IucuQ8KqplojnGewn48kTNSLI+okatgt/kz5uS2P1HKElzvd5eKSq8+t7JP8P+Uooq/0zRgpg1vXzq8p454Sdt3juje8oO07pw/XLDHwD+qvZGWH3dS7VjsDbvJRp+QvrJ6xD8YEP1KyKkvTqE9krxBvpLRDt5T6Zl6ckjlFhyzymc5W/ZsCBXFXnnrBKz27ZGNqqceeBuZrIyUoK2QOh/crrzJWO/vnWdCeo4RVJy3vLZnTm9QNP1YB1x0V0xF3XhNd6+ecalnsdq/N2xpVqC1yHHONt+rfleLqsmA/KhRvoyFX41B1VWOpnSHWrHI+m20GTyJTn0CWXt2OYKrMBWitkJbvDaqLkCWYlZ3NKRFjqdBqXwnmCzv/O/JcUxZhAu+q0x0WmPRZG7rbnQ4R/yRJ+KZc+3JghdO7RzdP7INWuSdb6sWXqCZjMNWoKOTHOzwZMBP8klNEks+7cgSrTRuNY3o3ihITDJW1NH9ktyivWEH+wb3Cnzx8cFMS9azFn6cglw9CguAB2CiM11zhRXYQzVRF6c3XKcrS1piGWjXjaI412P+7yDFxY0SfdFgxlfjYWiAZdEDO5jLqR9ZCVwZ9idG5+g88pB39MKL38Ybx57xIcutBvGsOWRFp2g==,iv:n3M+0+2+FliBnRlkSf8oJ4nnvYXFHF2fnslejMzph/c=,tag:YIGqJsRdSnFuYFy8jyJ5wA==,type:str] + authorizationStrategy: |- + loggedInUsersCanDoAnything: + allowAnonymousRead: true + ingress: + enabled: true + apiVersion: extensions/v1 + annotations: + external-dns.alpha.kubernetes.io/hostname: midnightthoughts.space + cert-manager.io/cluster-issuer: letsencrypt-dns + hostName: jenkins.midnightthoughts.space + tls: + - secretName: jenkins.midnightthoughts.space-tls + hosts: + - jenkins.midnightthoughts.space + persistence: + enabled: true + size: 8Gi + accessMode: ReadWriteMany +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYS3hhMWowNmlIWUFiSGw1 + Y3UxeGdLdCtodXBPdnJMTnJXRUpZaVovV1dBCjZObHU1WUFDbHpBRkw3SGZDbHNo + Y2I4K3Vyem9UVTM2TVpQcUo0RDZrYnMKLS0tIGpZdWNBSi9hUk9HVktzTnM4L1Zq + RSsrc2VzMVM0cVFLaFlFN00wK05VdHMK4qlWELWIryFOUgFsaBKCBaOeHOKKO2ye + rH77vhy0+4DpoRrgojGk8MZPa4s8m/HRLjpq9bAHrK5D7rQ2K8cwdA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2024-12-21T23:25:59Z" + mac: ENC[AES256_GCM,data:9xnyCp/3+4EMJafArncpI/bLmQ5v6De3MWtkdRxVnz5GSpxRojllX11wq6tDmiD5JCVSBT1iEzvopP/tWQ6Iq91Mwqxg2sFnkUUfMJFK2ZJrxMDSspy4ae/+Lwk9KUgt3772YodA4NOa9Y0KX3GAX10/hBRdvwi85Us/b97QsS8=,iv:MwYw2QqpE77kcsc85gedwePmvrt6Y3zbKm0xaYK5DrU=,tag:bI4pCwl9sLdGckX21MhOyA==,type:str] + pgp: [] + encrypted_regex: ^(jenkinsAdminEmail|securityRealm|gerrit.config|routing_key|DATABASE_URL|SMTP_PASSWORD|SECRET_KEY_BASE|admin_password|extraCommands|key|clickhouseDatabaseURL|databaseURL|client_id|client_secret|secret_key_base|otp_secret|private_key|public_key|primaryKey|deterministicKey|keyDerivationSalt|token|clientId|secretKey|installationId|installationKey|uriOverride|adminToken.value|password.value|sql_password|erlangCookie|AUTHENTICATION_PASSWORD|ROOM_API_SECRET_KEY|adminPassword|configPassword|adminUser|configUser|MAIL_PASSWORD|APP_KEY|api_key|api_secret|keys|livekit_key|livekit_secret|secret_key|admin_pass|admin_email|mariadbPassword|mariadbRootPassword|privateKey|data|stringData|PASSWD|password|pass|postgresPassword|postgresqlPassword|redminePassword|smtpPassword|registration_shared_secret|shared_secret|secret|admin_token|integrationKey|rootPassword)$ + version: 3.9.1 diff --git a/apps/base/jenkins/repository.yaml b/apps/base/jenkins/repository.yaml @@ -0,0 +1,8 @@ +apiVersion: source.toolkit.fluxcd.io/v1beta2 +kind: HelmRepository +metadata: + name: jenkins + namespace: jenkins +spec: + interval: 10m + url: https://charts.jenkins.io diff --git a/encrypt.sh b/encrypt.sh @@ -2,5 +2,5 @@ sops --age=age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh \ --encrypt \ - --encrypted-regex '^(gerrit.config|routing_key|DATABASE_URL|SMTP_PASSWORD|SECRET_KEY_BASE|admin_password|extraCommands|key|clickhouseDatabaseURL|databaseURL|client_id|client_secret|secret_key_base|otp_secret|private_key|public_key|primaryKey|deterministicKey|keyDerivationSalt|token|clientId|secretKey|installationId|installationKey|uriOverride|adminToken.value|password.value|sql_password|erlangCookie|AUTHENTICATION_PASSWORD|ROOM_API_SECRET_KEY|adminPassword|configPassword|adminUser|configUser|MAIL_PASSWORD|APP_KEY|api_key|api_secret|keys|livekit_key|livekit_secret|secret_key|admin_pass|admin_email|mariadbPassword|mariadbRootPassword|privateKey|data|stringData|PASSWD|password|pass|postgresPassword|postgresqlPassword|redminePassword|smtpPassword|registration_shared_secret|shared_secret|secret|admin_token|integrationKey|rootPassword)$' \ + --encrypted-regex '^(jenkinsAdminEmail|securityRealm|gerrit.config|routing_key|DATABASE_URL|SMTP_PASSWORD|SECRET_KEY_BASE|admin_password|extraCommands|key|clickhouseDatabaseURL|databaseURL|client_id|client_secret|secret_key_base|otp_secret|private_key|public_key|primaryKey|deterministicKey|keyDerivationSalt|token|clientId|secretKey|installationId|installationKey|uriOverride|adminToken.value|password.value|sql_password|erlangCookie|AUTHENTICATION_PASSWORD|ROOM_API_SECRET_KEY|adminPassword|configPassword|adminUser|configUser|MAIL_PASSWORD|APP_KEY|api_key|api_secret|keys|livekit_key|livekit_secret|secret_key|admin_pass|admin_email|mariadbPassword|mariadbRootPassword|privateKey|data|stringData|PASSWD|password|pass|postgresPassword|postgresqlPassword|redminePassword|smtpPassword|registration_shared_secret|shared_secret|secret|admin_token|integrationKey|rootPassword)$' \ --in-place "$1"