cluster

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

commit 90a11d11b0fa0763e70852b77c978b33bdbc59e1
parent 292a55f2729203b63ad6eb57c72fbddb7f97dbe4
Author: MTRNord <mtrnord1@gmail.com>
Date:   Tue,  7 Jan 2025 23:01:56 +0100

Add mariadb and prepare osticket

Diffstat:
Mapps/2024_cluster/namespaces/kustomization.yaml | 1+
Aapps/2024_cluster/namespaces/osticket.yaml | 4++++
Mapps/2024_cluster/secrets/kustomization.yaml | 1+
Aapps/2024_cluster/secrets/mariadb-operator.yaml | 27+++++++++++++++++++++++++++
Aapps/base/osticket/kustomization.yaml | 6++++++
Aapps/base/osticket/release.yaml | 68++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aapps/base/osticket/repository.yaml | 10++++++++++
Mencrypt.sh | 2+-
8 files changed, 118 insertions(+), 1 deletion(-)

diff --git a/apps/2024_cluster/namespaces/kustomization.yaml b/apps/2024_cluster/namespaces/kustomization.yaml @@ -24,3 +24,4 @@ resources: - gerrit.yaml - jenkins.yaml - mariadb-operator.yaml + - osticket.yaml diff --git a/apps/2024_cluster/namespaces/osticket.yaml b/apps/2024_cluster/namespaces/osticket.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: osticket diff --git a/apps/2024_cluster/secrets/kustomization.yaml b/apps/2024_cluster/secrets/kustomization.yaml @@ -16,3 +16,4 @@ resources: - postgres-exporter.yaml - pg-secrets.yaml - gerrit.yaml + - mariadb-operator.yaml diff --git a/apps/2024_cluster/secrets/mariadb-operator.yaml b/apps/2024_cluster/secrets/mariadb-operator.yaml @@ -0,0 +1,27 @@ +apiVersion: v1 +stringData: + password: ENC[AES256_GCM,data:kY53tTCUmSbY9dNKyISq9TEkrULxqlSaiz7EhOmaSe2VTz9DP/XDDsen5shHZIq60tJfPVrZ4kSb6B4KNLtGnA==,iv:5hfT4V5heotzQzPqrQkwJ0z4Pk9TS5qfuAqLMdq/zhk=,tag:8yW3xOsKR7/dJvwnWMyajA==,type:str] +kind: Secret +metadata: + name: mariadb-osticket + namespace: mariadb-operator +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQVHhZaGcyUFFUZHQwRTFG + Y0cwc3NWaUxOVXdLb3N1WEl1NWlHMzdJbDJJClJMSkYrKy9UMXZyMkRNTTNuU1JM + UDZjNUhqWGFiczIwLy94REdYVEp1UlEKLS0tIEVPZ0tmbzVueW1neTJ4bG9VYVhC + TERGKzhyZDJFS05EbW1taG4xckdrQUkKNamaTUZek5Rlx4WnNEG1leHJ4PViVA5m + NrtDpL214EyEd3GqdhvwbCTdVu9px8a5+6eQWvOZp/CHhRJHIKTRzQ== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-01-07T22:01:16Z" + mac: ENC[AES256_GCM,data:KlLKz8hv/6VJD92YYehfh/kXt1+NLi26rnCd1K1Eh7mSyWveTviFyQ4OUE2VsLtcPlqWKT1eRyKCRNyA4iWdgCrMu5bDW+aAQCb2GHsdfRHmsj6NSS1BoTPLDxCClQ/LdUh2cvoZNxCO8pJfIrG+mm5KgrKcxaN6W+OG/TFQGGw=,iv:6vNynE/CHE22QJW+/E4bzxCA1p7xb/T91xZYOiSUGaE=,tag:qHx34Gk3I4PtjuH1OKJcvQ==,type:str] + pgp: [] + encrypted_regex: ^(adminPassword|adminEmail|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/osticket/kustomization.yaml b/apps/base/osticket/kustomization.yaml @@ -0,0 +1,6 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: osticket +resources: + - repository.yaml + - release.yaml diff --git a/apps/base/osticket/release.yaml b/apps/base/osticket/release.yaml @@ -0,0 +1,68 @@ +apiVersion: helm.toolkit.fluxcd.io/v2beta2 +kind: HelmRelease +metadata: + name: osticket + namespace: osticket +spec: + releaseName: osticket + interval: 60m + chart: + spec: + chart: ./charts/osticket + sourceRef: + kind: GitRepository + name: osticket + namespace: osticket + values: + ostName: Midnightthoughts osTicket + ostEmail: support@midnightthoughts.space + adminFirstName: MTR + adminLastName: Nord + adminEmail: ENC[AES256_GCM,data:PsSwlZwtddGd4YpVJAJr6TM/290RKrOr,iv:CcaEhVlArN9kGoMoczHFXIQ6te2jDR5AXAVSwh47ZAQ=,tag:WeXK4SKSvAG0JNBTGJUwEw==,type:str] + adminUserName: mtrnord + adminPassword: ENC[AES256_GCM,data:HoT4JJ3Dn11r,iv:PL8wJZCYMXAcDeqlNHmxCsVDIHtmYty+9SaDUTN+DK8=,tag:x0TtK9EkxGa/8HeTqkCafQ==,type:str] + timezone: Europe/Berlin + service: + type: ClusterIP + port: 80 + ingress: + enabled: true + annotations: + external-dns.alpha.kubernetes.io/hostname: midnightthoughts.space + cert-manager.io/cluster-issuer: letsencrypt-dns + hosts: + - host: osticket.midnightthoughts.space + paths: + - path: / + pathType: ImplementationSpecific + tls: + - secretName: osticket.midnightthoughts.space-tls + hosts: + - osticket.midnightthoughts.space + mysql: + enabled: false + externalAddress: mariadb-maxscale.mariadb-operator.svc.cluster.local + auth: + database: osticket + username: osticket + password: ENC[AES256_GCM,data:P9nr60VD2bDh/5FzPQPf1/70bd/yJjeI8tZZdAiUp6UHCjfTVhx02DD6JjIqtFrvZLqAx30DjTRsDXBxvY5KyQ==,iv:dBj43ab4A3fW3m7h4MY8xSLAuKAOTBouFgAJp5rH25g=,tag:vDtyLMMGqHAUu7c3e0RthQ==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNM09ZdjlNYUdpQXlUUDlS + WjF4SjVzNFdQTG5iMGcxUGtHdmV6ZmU5eFVjClQ1b1NlSkZlQ0ZjblFXaGdXaFhJ + ZWNidk5Wa1paOFYvdmZxdmpNYVYvMWcKLS0tIG9yU2VlTU1wbW44S1g1Y3l1YUF0 + eGFLZkd5OG8rUWlxdjZhUU5TOXdhMmMKsA9WAluYt3SOsVAi8hqpDPsIfcdRBd6v + XjcHiPG0l6gGhMHsIXrbuE02J9NPe9QFte5C//FNetFBZAmKWGHiVw== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-01-07T22:01:35Z" + mac: ENC[AES256_GCM,data:0+irWwOBQgbP+dci/TdPzZHZh86fg0AEKAM9ewFlwntbOtuzKXJkpb9hGeHcjTxNgoWLaKwpx0KZtw11DE/oTyLeLL2n20lVtbD4BcZGirkVUZ0NeHlUg+826evzkKmMI5ONv4JBdOWiAvF237//Gnu6/tFML50HBoaPUFHTdOQ=,iv:JkqgGBRT8C4TOl4oYRVcgVsJZ42AGVQOcJmqN0oU5P8=,tag:Vz8G9l4wccrAJ1Yz9EKmFg==,type:str] + pgp: [] + encrypted_regex: ^(adminPassword|adminEmail|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/osticket/repository.yaml b/apps/base/osticket/repository.yaml @@ -0,0 +1,10 @@ +apiVersion: source.toolkit.fluxcd.io/v1beta2 +kind: GitRepository +metadata: + name: osticket + namespace: osticket +spec: + interval: 8h + url: https://github.com/MTRNord/osTicket-helm.git + ref: + branch: main diff --git a/encrypt.sh b/encrypt.sh @@ -2,5 +2,5 @@ sops --age=age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh \ --encrypt \ - --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)$' \ + --encrypted-regex '^(adminPassword|adminEmail|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"