cluster

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

gerrit_cluster.yaml (11197B)


      1 apiVersion: gerritoperator.google.com/v1beta13
      2 kind: GerritCluster
      3 metadata:
      4   name: gerrit
      5   namespace: gerrit
      6 spec:
      7   containerImages:
      8     imagePullPolicy: Always
      9     gerritImages:
     10       registry: ghcr.io
     11       org: mtrnord
     12       tag: latest
     13   storage:
     14     # Which StorageClasses should be used
     15     storageClasses:
     16       readWriteOnce: ceph-filesystem
     17       readWriteMany: ceph-filesystem
     18     # The shared storage will be used to store git repositories, logs and other
     19     # components shared between Gerrit instances
     20     sharedStorage:
     21       size: 20Mi
     22   refdb:
     23     database: ZOOKEEPER
     24     zookeeper:
     25       connectString: gerrit-zookeeper.gerrit.svc.cluster.local:2181
     26   ingress:
     27     enabled: true
     28     host: gerrit.midnightthoughts.space
     29     annotations:
     30       external-dns.alpha.kubernetes.io/hostname: midnightthoughts.space
     31     tls:
     32       enabled: true
     33       secret: ENC[AES256_GCM,data:wMWWAkkpki/+hwRefhsTkOZNcYfJkoKue+o7LC/UUF3h,iv:Ky+WgaT1yH2qJQzdqNCF2RTrTMpG4pKA6niGfu7iHcc=,tag:BZdqK5C1jBioKqgoN/xeUw==,type:str]
     34   # All Gerrit instances in the GerritCluster serve the same repositories and
     35   # thus have to use the same serverId, which has to be set centrally here.
     36   serverId: midnightthoughts-gerrit
     37   # List of Gerrit deployments to be installed in the GerritCluster
     38   gerrits:
     39     # A primary Gerrit
     40     - metadata:
     41         name: gerrit
     42         labels:
     43           app: gerrit
     44       spec:
     45         mode: PRIMARY
     46         serviceAccount: gerrit
     47         replicas: 2
     48         resources:
     49           requests:
     50             cpu: 1
     51             memory: 5Gi
     52           limits:
     53             cpu: 1
     54             memory: 6Gi
     55         service:
     56           type: NodePort
     57           httpPort: 80
     58           sshPort: 29418
     59         site:
     60           size: 1Gi
     61         startupProbe:
     62           initialDelaySeconds: 30
     63           periodSeconds: 10
     64           timeoutSeconds: 10
     65           successThreshold: 1
     66           failureThreshold: 10
     67         readinessProbe:
     68           initialDelaySeconds: 30
     69           periodSeconds: 10
     70           timeoutSeconds: 10
     71           successThreshold: 1
     72           failureThreshold: 10
     73         livenessProbe:
     74           initialDelaySeconds: 120
     75           periodSeconds: 10
     76           timeoutSeconds: 10
     77           successThreshold: 1
     78           failureThreshold: 3
     79         plugins:
     80           # This way plugins are installed from the Gerrit-war file
     81           - name: download-commands
     82           - name: delete-project
     83           - name: replication
     84           - name: checks
     85             url: https://gerrit-ci.gerritforge.com/job/plugin-checks-bazel-master/lastSuccessfulBuild/artifact/bazel-bin/plugins/checks/checks.jar
     86             sha1: 1dd4976239050b60d01783273e68b3957d04052a
     87           - name: oauth
     88             url: https://gerrit-ci.gerritforge.com/job/plugin-oauth-bazel-master-master/lastSuccessfulBuild/artifact/bazel-bin/plugins/oauth/oauth.jar
     89             sha1: 2d516d0d0d64a117b4ef5e7b09c0d19aefc1c6be
     90           - name: branch-network
     91             url: https://gerrit-ci.gerritforge.com/job/plugin-branch-network-bazel-master/lastSuccessfulBuild/artifact/bazel-bin/plugins/branch-network/branch-network.jar
     92             sha1: 8238b877c1233708b8b64293dbf3e978e61e2d32
     93           - name: checks-jenkins
     94             url: https://gerrit-ci.gerritforge.com/job/plugin-checks-jenkins-bazel-master/lastSuccessfulBuild/artifact/bazel-bin/plugins/checks-jenkins/checks-jenkins.jar
     95             sha1: 0ce402fb91760efacd7d18891b36b810541f601e
     96           - name: events-log
     97             url: https://gerrit-ci.gerritforge.com/job/plugin-events-log-bazel-master-master/lastSuccessfulBuild/artifact/bazel-bin/plugins/events-log/events-log.jar
     98             sha1: 511a2d256ec535c21b912169d4591fb418933ba6
     99             #- name: replication-status
    100             #  url: https://gerrit-ci.gerritforge.com/job/plugin-replication-status-bazel-master/lastSuccessfulBuild/artifact/bazel-bin/plugins/replication-status/replication-status.jar
    101             #  sha1: 5eb04d2238ce7d130d8b9cf0cd79f14e68e7ddfd
    102         configFiles:
    103           checks-jenkins.config: |-
    104             [jenkins "main-jenkins"]
    105                 url = "https://jenkins.midnightthoughts.space"
    106           # Some configuration options are specific to the k8sgerrit setup. These
    107           # will be set by the Gerrit Operator.
    108           gerrit.config: ENC[AES256_GCM,data:/aXn80PMx2idk3GilYPYDjwMsTSDq84BzZVjrW0WZk/kP4RlrCZ6gEl6bN2n8N6g4E8iPL9Xu6U7utcXdaqu+lreSH7NZkhsQh8C/uPOgS3KHw0d7MNzU5MpVyF3y86qtJD7TXiPXCl/IFv0e9vCjTl9+5q4e14Y07h3c1YvLhi7BXK37IIniplIdADfHLKodEQgJWvkY2fye2EQEqlkSAnCJWk6mZUDS6jE4OzqOqIFsXVx6NIQzQAeXO5kB3BMg5cvFCw+Hp/bFUBvR6eGJddZrIHR+/LpFUcyP+Wi/bau/U8vN5BC5udvbL5GLebUSZazRkkJEZLoefByAcWSK0zd6IqeXw3q7VHPu0w0OgDs1VCqn2bSlH+6mCaFfq+WsTf91thUi/4PMCSiiMRZgeaSD5m7McbeLwH4XtzIZh0xHJDtFW0LUjLGlBirAncaySN4A5VG557MOq6NHj8zlEj741XmCaj0mWKqeZ2zS97B4yG8X50tQSkMwbDTbY+UY9dqdE2ON4D0v3lfNmLvyGQEdTPEmcoFkGTPRPyrwd+Zz2x8MiyH9B2imQ3V2eCRN9qe10DU9tzjwzeM0jHJWCfbqrjNh3e3VjqCY6SIRU9GadVWQxaRuUMvci5TRABFzjwy6da4X0VxKHKYsNiLpvl+tVlp/SrCMxo4FNBpyM7pGEOTZEtz3utgf+a8uJatGoD/Se4kpsuoCZdoPH+9p6Oic2cxOIXfHiSmFAhXfeNJG/PaTtO7YxLBOHJ7Z8SHGq/WT4Y4uEhjt3foaUy+qCGVHm6dYbtFJS7RH9/6ReAW1d2gJhPzYuOI5lUJgKDGIgpFYbrEEyosXUyavDE+G4p41GbvwdyBhbXITkNJwBJe570ZIa87/NkqWiayOJjZP5er2p/xx+8R5O2QiXZrNx+LdxeosG4fYtBk5MpibY+zAb46FptGFBRHsSjcSKEA5meonDhBFWAynuPYvNZC3+qwLVkSQuMLUUuKQWYbilrBgzL6EJdfakPqI1T63OgPusCB5ChTutom7Ok6R7VW64eYdxabE2NXN60ehBmGYmj8mCvsp0x1QBQ6tPbAMc5yAsCDBx742aVaEhVmA631TjJa3RR99jPTCktwyuFlFc8eJWpw3jrKYKNbHjaOSJIny/j/MBYGtMpZY/0mksZBW6YbjiZderrlfXQHx7Le0iBll9HwxSGi96PPjqEXuc0J4VpdLk09OFux45Md58DiX6LioheF0HDGkff1ttEHhR8bC5tnKsurWvuV89wl9LGzoOchsJmWQYlfYiHfAHv4QEnBTnPPl8T+Enud/LT1EvxazskP3jZdDLv+lASzw8jLUQwejqe1TqwDG/QUIvqcRnGJJ8zqIEkcadaE+OgmDZgcTD+JzWOV5ciOk0n+LzdBRs0UNfP2Svvhzr5a73YEncPrrVQoxUfMpvJRW9PHtNI8PJCBDwMV+zHyhC5wBEV9rjt6mCN2LVGamcHDvNQB3BANjvBoxhll2g/U4l5jhl4Da8DgigPE0AkMsf/t2hTIM9P/nTr45jMOxgUR9xR5psuf5qSiiai4ULITwQ4MH3H4dVD5IB26E4t8ZYDNnzoJGjnPSDE9CQHN1qWnf3+GeLyXUMk7xXoDK8w+wdofci5Ae+rw3plVh8qFvaek,iv:QXDR0f5R5qdIrs27dRSJPc0ufd7aKTyKHwR5wa2ftEM=,tag:CdUtfP39GX/wboOxQSOowQ==,type:str]
    109         # Reference by name to the Secret containing secret files to be mounted to
    110         # $SITE/etc
    111         secretRef: gerrit-secure-config
    112     # Gerrit Replica
    113     - metadata:
    114         name: gerrit-replica
    115         labels:
    116           app: gerrit-replica
    117       spec:
    118         mode: REPLICA
    119         replicas: 2
    120         resources:
    121           requests:
    122             cpu: 1
    123             memory: 5Gi
    124           limits:
    125             cpu: 1
    126             memory: 6Gi
    127         service:
    128           type: NodePort
    129           httpPort: 80
    130           sshPort: 29418
    131         site:
    132           size: 1Gi
    133         plugins:
    134           - name: oauth
    135             url: https://gerrit-ci.gerritforge.com/job/plugin-oauth-bazel-master-master/lastSuccessfulBuild/artifact/bazel-bin/plugins/oauth/oauth.jar
    136             sha1: 2d516d0d0d64a117b4ef5e7b09c0d19aefc1c6be
    137         startupProbe:
    138           initialDelaySeconds: 30
    139           periodSeconds: 10
    140           timeoutSeconds: 10
    141           successThreshold: 1
    142           failureThreshold: 10
    143         readinessProbe:
    144           initialDelaySeconds: 30
    145           periodSeconds: 10
    146           timeoutSeconds: 10
    147           successThreshold: 1
    148           failureThreshold: 10
    149         livenessProbe:
    150           initialDelaySeconds: 120
    151           periodSeconds: 10
    152           timeoutSeconds: 10
    153           successThreshold: 1
    154           failureThreshold: 3
    155         configFiles:
    156           gerrit.config: ENC[AES256_GCM,data:ONWBaGukHdMcTz50F1R5MjIWWHg1Omqfaae5PvPAxCBRaODGRVdj9WzMR74kZchbAVn7GrnZ+QCrjE2sq2JpCdSbdd6GV4quubtYYK8Ot2EDiJwZvSLVSgXXECYLOAgOcKhPhxopvyhilAWJ7w06TVZ08p6AwqF5w7F8sO+b2FJsq7jJfl12b0xcgFmOCbyRe9e4kidParaw232tne8m6QmBl7pMStXJ6JHtaek8NUymn6b9htad7aJW9IdDdx5j+35oPDIbHla/4lIZ9fAJQlxsSKcXhp22nUXBpfwn0cuiq+38u+HAMIo/bmPSJ2eWdfDyl84VeucrlYNZdVJRv6JRsU6cQ2+fTfjAgeLCOdDXT58nCZFEcH5xWboNkqSfYRA8Oql9xOuOLgSxZQ75jJrFZZzwU9KSD5XwuaD4R6F1Ts3jW2AuqrVM5s7vAJqpi81GzS9ql/cHl7ySoAACGcbXJcPfRR/Kwm/4GimB+ewCOZNxhqSivdbaxMEfe/oRgoIrS9iTobHWQKKWUDzWbQT9B6Bocnud1YnwdytcfWJ5VPVj008f07uSb5R1XuYAtHAhjO28Knv/yFWt6qq41Gz6gOsTVEk5Sbk8WLZbmYbM4uNGZQqxIx6Oq7GbrYNlPN2gEuWnnnbiDroZjYMa1kxHwFd2FmxjjfXZTd8TLKb8vbOFbUPNkZK0FpzDI7qwCFQxOZ3F9iIuJPv47nKG0jQ/36/R7ec/1zC/RMTBQZBsyRZeglrUorMSlNDmvSpzbekkWDXQl2Y2WkUIbJ+AVCdrhGRJtunIx67kkaTismOxEAXCHa2mO3BGnflj2cP3rTcGAB97b5FsDHqEoph3gSMDwDFDNLPjECKGCgvq3Zdg6SDT6XXE0fLeL8Ap3DACE8Cz8mI3UUQbftgdZK4P6S5YvjBMCPRcmrozdPPiwjhjvdKEyq1w/m1DI4pdzWXMkCCaBsnsW059aDPP3y+0Uw/25bHu73HD7mQu1VdaEQTx7pjy2VHCb1cTw2maOy6vErARiA0T0dCaL1c+Ww54H2SI0Y6zQvG6Ms6A2Cqn3PwBZOPiz6BOy82yAH8CnQj36PSXMuYfmPB3JJDxyE5LURvs9p6XfEsS+oZtiE1Iu7QjPHUGgwhqOlxheI+C9ne92r7XbdxAJH58IT7BZPiJlLVjtyP89qm4BN5XBktTbmchRBxsNmgzHLC0bgRlLkC8kJKkWeEsmB4DYWj6im0P4Q0uKobB6VyAk5ZCggl6X8IqfGjL0qWylxA2rfXdRWvlVZO+mNUzABJq10T2dkjxgP6wmfnQE4ZpQeq2aF43B/0DyYFVmw+v0Z7Gwa58ZK1BtUWDDRtQwREAwB/2/VBza1MP6J6CI0xJjxhzmWhuZQMJshidCl9KMkZCYhVvCv/tzL/QDeMcrvwgYZui7wIjDhKhk8g20qOUjKyGF1OPGbY3So3WGthCUMOBV0exHB22QM1qEhsPHc/lRKYW7j34C86r4sE3eXTj36QqCz2K7yRubuNbsYFMCXPCDFyTRRKB8sIAfT+Cif6esdmj08Wu/hvTJusaagTzo8odalav04xrKfprhFMs1TVlgzZ6cTAcoejvAGTWHe1YId5aTx7E6XOAbeCyIcKASsR4v+Lh0gDPWDejNLLUcVW7kqu3,iv:1PLzFCQ8LpS0IR7e3aesXvl/IvOExkvuhM7SxlB3lcg=,tag:+fLag80GzG/akf4Fo8U3TQ==,type:str]
    157           healthcheck.config: |-
    158             [healthcheck "auth"]
    159               enabled = false
    160         secretRef: gerrit-secure-config
    161 sops:
    162   kms: []
    163   gcp_kms: []
    164   azure_kv: []
    165   hc_vault: []
    166   age:
    167     - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh
    168       enc: |
    169         -----BEGIN AGE ENCRYPTED FILE-----
    170         YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvelB4eDFRWHRKOExTbWMy
    171         eG8zdXpiMVU4UDB4OHROeXpTNXhWdEpVUFV3CkFMTURNNm9vdEZZS2MzSURFSit3
    172         b29iRHRYd2NnVU05cDdsajcwNmFqTFkKLS0tIE9CalFEWkcwSHRpNm1sVUhEVFhM
    173         QjU5alNnRUE4aTNXRkRTd3lNbW52bTgKekBBurjQx7iKWOhWDV+TYUH+L5tjSM7r
    174         KcakagouQFRGd3Ymchl3yOY8O3OBN5gd1wCGwUYruphgfG5/sDm7Cw==
    175         -----END AGE ENCRYPTED FILE-----
    176   lastmodified: "2024-12-22T02:54:18Z"
    177   mac: ENC[AES256_GCM,data:mXJxz/vHrQQYkuanhK89xF40WpMGhoPdLaXJVZxEXnH8cch/IIPF9M2ZDKaWL5MbMuUOYgLmfHR5h838tNlS5lzhPfoLbjf13+VoaGfs3qKVEITrgJrJmXLIWm1KufW9r21lfbAgJgJCVfIynTc5wp1eI4lOB28fbwlfEeK0YAA=,iv:O7yc3i5VrhBbAKJKDvear2l8ZmmBpmODg5Ua+BYYEXg=,tag:bXT+G1RCi3mmNBpjRbs4YA==,type:str]
    178   pgp: []
    179   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)$
    180   version: 3.9.1