cluster

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

commit 6e2a61eef262af9501b8727dfe5974484c198672
parent 51ebfb311c9d4a7b06500d64b5fc828f5ab237cf
Author: MTRNord <mtrnord1@gmail.com>
Date:   Sat,  4 May 2024 13:41:50 +0200

Migrate freifunk draupnir

Diffstat:
Aapps/2024_cluster/secrets/draupnir-freifunk-config.yaml | 27+++++++++++++++++++++++++++
Mapps/2024_cluster/secrets/kustomization.yaml | 1+
Aapps/base/matrix/draupnir-freifunk/deployment.yaml | 63+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aapps/base/matrix/draupnir-freifunk/kustomization.yaml | 7+++++++
Aapps/base/matrix/draupnir-freifunk/pvc.yaml | 11+++++++++++
Aapps/base/matrix/draupnir-freifunk/service.yaml | 13+++++++++++++
6 files changed, 122 insertions(+), 0 deletions(-)

diff --git a/apps/2024_cluster/secrets/draupnir-freifunk-config.yaml b/apps/2024_cluster/secrets/draupnir-freifunk-config.yaml @@ -0,0 +1,27 @@ +apiVersion: v1 +data: + production.yaml: ENC[AES256_GCM,data:jtAOIWiehve34sCuIHmPfIxA0tEjvTKhLO29WFsUe2k57B01B7sk0pJlPhHbIgbc8hqZbyuWQfRrbFemXeLyLzhad6505FORjqCEuSdr/yiCoDyp4o+s1v4baE1xfXEoWTQqvGYN7Q9eqjA0zv75M2jSKxJ+w3Soe7VtDEo2jyrN0pHuZF2kw8SUgnxgjoNoV4F4PjNQ+Ru6xW4ScVQeQxSyTIa2IByNYbi5eFvzBf8h+E5axxbGZNyYMil6ckzFv7LSWMappHhI1K0UiiGKxfD3ECSD2vK34F4eHsF/UANhZYwsw0DVmihp1BTTqM6/MuJwxolRKi/85ZhOOTsd3ktaZpkboakeahkC0UzIBp39Y0ekIv8dFHpyEYArIX8BHdINhQMgontinw4L/6tzTEkT6nrm4AYjYHrJNzUf7hMsx9CSdrY17kz2dwp7AA1+4JAVpgQDDghWf9Rk8Ci890TRxD963OdkAICznrnrUUgXvRS693/l+wJnHSupfZskXljtCEJW/kXJVhahaDpmigSof9nAobkgyJBY657K2OXDpR0VbQGMoq5l8bXXkNOIU+HCyQBie6mx6oo3hd8dyjE+xJ99AYSpd5sggKOpymYp2NWWivWE8pYgj1UPuvohSBG3ahJjH5W+6tUAQVU69+iOVns6qSNiuVVfmiqAl22ViHwQnbagBhx0OntaiLtzvILSIaJ+Npm/OrHjyha2Tln9ejjy2vAqTMTnOrtaSey0DO9ZFZHY9s6ycptHqAnus1oG/tRiSIzckyHEbqCE5pB7NAmUcolVRCe+M8LXZKIYT0fP6yPuRrbwVGXqpe8rHDSe3feJRURs2QYa4g9xDp+xBeuxjjz2KFbnbA1gvil5rb+tXwFpFL6TBul6xbXV6cYp9htXZa20ktgBcHZOSDjEZBy1Hr5irbBdJormPaVT0zvuYKITunRWmoiYg7MgNnErNiprVQWqxMMU4zKwCBf6Y61VO3B2JQyu3A1DywMvXeAOaXgQc75M8g8kcKBEeWs6VrlkpwUDtaNxknJU85Oma3JkY/hAqO0QgSws1vs2hKAaAhttkE2aV4qiqn2Ghtuf1KLMlodWZOqIYyzxUHMkgAKPtBQBvTimutoOXOonwVKpeGz9V9eViqcn6syffMc9AFYJvQW/ZhpQJW/YAggMhoZDr3Kt5nZ0qScAcYW5TK5GNYbafgeLOJexz5XjJMNHuGUNHGEIdEY0HnRT/6CrngupXZRr2jg6wYkJTBLyjRTUdM7KN0DBiZiUaJZD58ViRDR3H1WxwmHnqBqMgm2OyaeVHdSHZvsrMGw4iFQZRmLRh6HgI4xUgZdPbH+rBo0c9oVenMADTBdLrblk6J/mlin1h210SvBgiKxOH282OzBqXSc0OhOPjt83f3B527FakKIOciAGm3TMscFZHktNxsF4BvYPEzGwPokbTSYoEf9I5lm+2TyQC5TUQA==,iv:PAC9NHG4/jriKy5bakQ+CkRuIiJqIbjTUk+NiDydzxs=,tag:BILZJoi07NbmCTXTHdmFwQ==,type:str] +kind: ConfigMap +metadata: + name: mjolnir-freifunk-config + namespace: matrix +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFbUt2aHZtNitJMzRPb0pX + Z3U5N3JFU21xWkxsSUVJZktlU3puSHhITTJRCkhFWUQzUkhDK3ViYzBqcmpDTit6 + VjhPSUpCaEc3d3prQ1BBb1hUVDZGYWcKLS0tIG5xZzdRVG85bitmakQxSTlxandO + TWhBdmVPdk0yTjYrWDZsUVg2VFJQdWsKi+oMMmj/KuC1UB1sSjac/DAmM9Ga2gcW + EQ2XC9rzgI/shvekReMbd/SsM11D8JU73/D81oRoRT0DGYVfCe5s7A== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2024-05-04T11:39:38Z" + mac: ENC[AES256_GCM,data:rlmLaUyIdjzDIn8V7LKUbFZNCh3JEZGgCp8eWif7G3bPeSRVS6BHtnFbv8wZapRbIeXhbKZDkarCubSORfg+uI0iYfqCg7JDjAkrwSVmSTvW32NIHix7ckO0tax1k6ufQNWANEuBNrqYzs39dh9GkSqEE3DIWoqbM7hMOHsOS9g=,iv:eUW/ADCePKJCG/LBHsyMhgHgujTfuNjdcDz9LSyQUT8=,tag:TTHpQux4AT48KJTgFyn2OQ==,type:str] + pgp: [] + encrypted_regex: ^(clientId|secretKey|installationId|installationKey|uriOverride|adminToken.value|password.value|sql_password|erlangCookie|PASSWD|AUTHENTICATION_PASSWORD|ROOM_API_SECRET_KEY|adminPassword|configPassword|adminUser|configUser|APP_KEY|api_key|api_secret|keys|livekit_key|livekit_secret|secret_key|adminPassword|admin_pass|admin_email|mariadbPassword|mariadbRootPassword|privateKey|data|stringData|PASSWD|password|pass|postgresPassword|postgresqlPassword|redminePassword|smtpPassword|registration_shared_secret|shared_secret|secret)$ + version: 3.8.1 diff --git a/apps/2024_cluster/secrets/kustomization.yaml b/apps/2024_cluster/secrets/kustomization.yaml @@ -7,3 +7,4 @@ resources: - draupnir-fluffy-config.yaml - draupnir-synapse-signingkey.yaml - matrix-synapse-signingkey.yaml + - draupnir-freifunk-config.yaml diff --git a/apps/base/matrix/draupnir-freifunk/deployment.yaml b/apps/base/matrix/draupnir-freifunk/deployment.yaml @@ -0,0 +1,63 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: mjolnir-freifunk + namespace: matrix +spec: + replicas: 1 + selector: + matchLabels: + app: mjolnir-freifunk + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + labels: + app: mjolnir-freifunk + spec: + containers: + - image: gnuxie/draupnir:latest + imagePullPolicy: Always + livenessProbe: + failureThreshold: 3 + httpGet: + path: /healthz + port: 8080 + initialDelaySeconds: 60 + periodSeconds: 30 + successThreshold: 1 + timeoutSeconds: 1 + name: mjolnir-freifunk-container + ports: + - containerPort: 8081 + name: http + readinessProbe: + httpGet: + path: /health + port: 8080 + initialDelaySeconds: 60 + periodSeconds: 30 + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true + #runAsNonRoot: true + volumeMounts: + - mountPath: /data/config/production.yaml + name: config-volume + subPath: production.yaml + - mountPath: /data/storage + name: storage + volumes: + - configMap: + name: mjolnir-freifunk-config + name: config-volume + - name: storage + persistentVolumeClaim: + claimName: mjolnir-freifunk diff --git a/apps/base/matrix/draupnir-freifunk/kustomization.yaml b/apps/base/matrix/draupnir-freifunk/kustomization.yaml @@ -0,0 +1,7 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: matrix +resources: + - pvc.yaml + - deployment.yaml + - service.yaml diff --git a/apps/base/matrix/draupnir-freifunk/pvc.yaml b/apps/base/matrix/draupnir-freifunk/pvc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: mjolnir-freifunk + namespace: matrix +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 512Mi diff --git a/apps/base/matrix/draupnir-freifunk/service.yaml b/apps/base/matrix/draupnir-freifunk/service.yaml @@ -0,0 +1,13 @@ +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app: mjolnir-freifunk + name: mjolnir-freifunk-srv + namespace: matrix +spec: + ports: + - port: 8081 + selector: + app: mjolnir-freifunk