Compare commits

..

7 Commits

Author SHA1 Message Date
Paul Payne
763ac922d5 Add synapse federation Ingress for serverName path routing 2026-07-10 06:12:32 +00:00
Paul Payne
1b3200a5f1 Idempotent db-init passwords. 2026-07-10 05:14:24 +00:00
Paul Payne
dc5518b57f Externalize networking (welcome Wild Central!) 2026-07-10 03:49:38 +00:00
Paul Payne
bb5a76b864 Crowsec uses external LAPI. 2026-07-10 03:37:56 +00:00
Paul Payne
219a28bc65 Fixes synapse. 2026-07-10 03:36:15 +00:00
Paul Payne
387838819b Adds wild-directory server. 2026-07-10 03:35:56 +00:00
Paul Payne
c80d8dc411 Adds plausible. 2026-07-10 03:35:41 +00:00
167 changed files with 1392 additions and 1350 deletions

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: akaunting name: akaunting
namespace: akaunting namespace: akaunting
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -20,7 +16,3 @@ spec:
name: akaunting name: akaunting
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,12 +1,10 @@
version: 3.1.21-1 version: 3.1.21-2
requires: requires:
- name: mysql - name: mysql
- name: smtp - name: smtp
defaultConfig: defaultConfig:
namespace: akaunting namespace: akaunting
externalDnsDomain: '{{ .cloud.domain }}'
domain: akaunting.{{ .cloud.domain }} domain: akaunting.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
locale: en-US locale: en-US
dbPrefix: aka_ dbPrefix: aka_
@@ -15,7 +13,7 @@ defaultConfig:
adminEmail: '{{ .operator.email }}' adminEmail: '{{ .operator.email }}'
db: db:
host: '{{ .apps.mysql.host }}' host: '{{ .apps.mysql.host }}'
port: "3306" port: '3306'
name: akaunting name: akaunting
user: akaunting user: akaunting
smtp: smtp:
@@ -24,8 +22,8 @@ defaultConfig:
from: '{{ .apps.smtp.from }}' from: '{{ .apps.smtp.from }}'
user: '{{ .apps.smtp.user }}' user: '{{ .apps.smtp.user }}'
defaultSecrets: defaultSecrets:
- key: dbPassword - key: dbPassword
- key: adminPassword - key: adminPassword
- key: smtpPassword - key: smtpPassword
requiredSecrets: requiredSecrets:
- mysql.rootPassword - mysql.rootPassword

View File

@@ -2,10 +2,6 @@ apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
name: aptly name: aptly
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -19,7 +15,3 @@ spec:
name: aptly name: aptly
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,11 +1,9 @@
version: 1.6.2-3 version: 1.6.2-4
defaultConfig: defaultConfig:
namespace: aptly namespace: aptly
externalDnsDomain: "{{ .cloud.domain }}" domain: aptly.{{ .cloud.domain }}
domain: "aptly.{{ .cloud.domain }}"
tlsSecretName: wildcard-wild-cloud-tls
storage: 5Gi storage: 5Gi
apiUser: aptly apiUser: aptly
operatorEmail: "{{ .operator.email }}" operatorEmail: '{{ .operator.email }}'
defaultSecrets: defaultSecrets:
- key: apiPassword - key: apiPassword

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: baserow name: baserow
namespace: {{ .namespace }} namespace: {{ .namespace }}
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -20,7 +16,3 @@ spec:
name: baserow name: baserow
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,23 +1,21 @@
version: 2.2.2-2 version: 2.2.2-3
requires: requires:
- name: postgres - name: postgres
- name: redis - name: redis
defaultConfig: defaultConfig:
namespace: baserow namespace: baserow
externalDnsDomain: "{{ .cloud.domain }}"
domain: baserow.{{ .cloud.domain }} domain: baserow.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
db: db:
host: "{{ .apps.postgres.host }}" host: '{{ .apps.postgres.host }}'
port: "5432" port: '5432'
name: baserow name: baserow
user: baserow user: baserow
redis: redis:
host: "{{ .apps.redis.host }}" host: '{{ .apps.redis.host }}'
defaultSecrets: defaultSecrets:
- key: dbPassword - key: dbPassword
- key: secretKey - key: secretKey
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password
- redis.password - redis.password

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: bookstack name: bookstack
namespace: {{ .namespace }} namespace: {{ .namespace }}
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -20,7 +16,3 @@ spec:
name: bookstack name: bookstack
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,12 +1,10 @@
version: 26.05.1-2 version: 26.05.1-3
requires: requires:
- name: mysql - name: mysql
- name: smtp - name: smtp
defaultConfig: defaultConfig:
namespace: bookstack namespace: bookstack
externalDnsDomain: '{{ .cloud.domain }}'
domain: bookstack.{{ .cloud.domain }} domain: bookstack.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
db: db:
host: '{{ .apps.mysql.host }}' host: '{{ .apps.mysql.host }}'
@@ -19,8 +17,8 @@ defaultConfig:
from: '{{ .apps.smtp.from }}' from: '{{ .apps.smtp.from }}'
user: '{{ .apps.smtp.user }}' user: '{{ .apps.smtp.user }}'
defaultSecrets: defaultSecrets:
- key: appKey - key: appKey
- key: dbPassword - key: dbPassword
- key: smtpPassword - key: smtpPassword
requiredSecrets: requiredSecrets:
- mysql.rootPassword - mysql.rootPassword

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: bookwyrm name: bookwyrm
namespace: bookwyrm namespace: bookwyrm
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -20,7 +16,3 @@ spec:
name: bookwyrm name: bookwyrm
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,13 +1,11 @@
version: 0.8.7-1 version: 0.8.7-2
requires: requires:
- name: postgres - name: postgres
- name: redis - name: redis
- name: smtp - name: smtp
defaultConfig: defaultConfig:
namespace: bookwyrm namespace: bookwyrm
externalDnsDomain: '{{ .cloud.domain }}'
domain: bookwyrm.{{ .cloud.domain }} domain: bookwyrm.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
db: db:
host: '{{ .apps.postgres.host }}' host: '{{ .apps.postgres.host }}'
@@ -22,9 +20,9 @@ defaultConfig:
from: '{{ .apps.smtp.from }}' from: '{{ .apps.smtp.from }}'
user: '{{ .apps.smtp.user }}' user: '{{ .apps.smtp.user }}'
defaultSecrets: defaultSecrets:
- key: secretKey - key: secretKey
- key: dbPassword - key: dbPassword
- key: smtpPassword - key: smtpPassword
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password
- redis.password - redis.password

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: chamilo name: chamilo
namespace: {{ .namespace }} namespace: {{ .namespace }}
annotations:
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -20,7 +16,3 @@ spec:
name: chamilo name: chamilo
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,19 +1,17 @@
version: 1.11.28-1 version: 1.11.28-2
requires: requires:
- name: mysql - name: mysql
- name: smtp - name: smtp
defaultConfig: defaultConfig:
namespace: chamilo namespace: chamilo
externalDnsDomain: '{{ .cloud.domain }}'
domain: chamilo.{{ .cloud.domain }} domain: chamilo.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
siteName: Chamilo LMS siteName: Chamilo LMS
adminUser: admin adminUser: admin
adminEmail: '{{ .operator.email }}' adminEmail: '{{ .operator.email }}'
db: db:
host: '{{ .apps.mysql.host }}' host: '{{ .apps.mysql.host }}'
port: "3306" port: '3306'
name: chamilo name: chamilo
user: chamilo user: chamilo
smtp: smtp:
@@ -22,8 +20,8 @@ defaultConfig:
from: '{{ .apps.smtp.from }}' from: '{{ .apps.smtp.from }}'
user: '{{ .apps.smtp.user }}' user: '{{ .apps.smtp.user }}'
defaultSecrets: defaultSecrets:
- key: adminPassword - key: adminPassword
- key: dbPassword - key: dbPassword
- key: smtpPassword - key: smtpPassword
requiredSecrets: requiredSecrets:
- mysql.rootPassword - mysql.rootPassword

View File

@@ -2,10 +2,6 @@ apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
name: community-search name: community-search
annotations:
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -19,7 +15,3 @@ spec:
name: community-search name: community-search
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,12 +1,9 @@
version: 0.1.2_1 version: 0.1.2_1-1
requires: []
defaultConfig: defaultConfig:
namespace: community-search namespace: community-search
externalDnsDomain: '{{ .cloud.domain }}'
domain: search.{{ .cloud.domain }} domain: search.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
selfUrl: 'https://search.{{ .cloud.domain }}' selfUrl: https://search.{{ .cloud.domain }}
selfName: 'Community Search' selfName: Community Search
defaultSecrets: defaultSecrets:
- key: adminToken - key: adminToken

View File

@@ -60,7 +60,7 @@ spec:
- name: LEVEL_INFO - name: LEVEL_INFO
value: "true" value: "true"
- name: AGENT_USERNAME - name: AGENT_USERNAME
value: "kubernetes-cluster" value: "{{ if .agentUsername }}{{ .agentUsername }}{{ else }}kubernetes-cluster{{ end }}"
- name: AGENT_PASSWORD - name: AGENT_PASSWORD
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
@@ -72,6 +72,12 @@ spec:
name: crowdsec-secrets name: crowdsec-secrets
key: bouncerApiKey key: bouncerApiKey
optional: true optional: true
{{ if .centralLapiUrl }}
- name: DISABLE_LOCAL_API
value: "true"
- name: LOCAL_API_URL
value: "{{ .centralLapiUrl }}"
{{ end }}
ports: ports:
- name: lapi - name: lapi
containerPort: 8080 containerPort: 8080
@@ -79,6 +85,7 @@ spec:
- name: prometheus - name: prometheus
containerPort: 6060 containerPort: 6060
protocol: TCP protocol: TCP
{{ if not .centralLapiUrl }}
livenessProbe: livenessProbe:
httpGet: httpGet:
path: /health path: /health
@@ -91,6 +98,7 @@ spec:
port: 8080 port: 8080
initialDelaySeconds: 10 initialDelaySeconds: 10
periodSeconds: 10 periodSeconds: 10
{{ end }}
resources: resources:
requests: requests:
cpu: 50m cpu: 50m

View File

@@ -1,4 +1,4 @@
version: v1.7.8-1 version: v1.7.8-4
requires: requires:
- name: longhorn - name: longhorn
- name: traefik - name: traefik
@@ -6,6 +6,8 @@ defaultConfig:
namespace: crowdsec namespace: crowdsec
rateLimitAverage: "100" rateLimitAverage: "100"
rateLimitBurst: "100" rateLimitBurst: "100"
centralLapiUrl: ""
agentUsername: ""
defaultSecrets: defaultSecrets:
- key: agentPassword - key: agentPassword
- key: bouncerApiKey - key: bouncerApiKey

View File

@@ -12,7 +12,7 @@ spec:
plugin: plugin:
bouncer: bouncer:
crowdsecLapiScheme: http crowdsecLapiScheme: http
crowdsecLapiHost: crowdsec-lapi.crowdsec.svc.cluster.local:8080 crowdsecLapiHost: {{ if .centralLapiUrl }}{{ strings.TrimPrefix "http://" .centralLapiUrl }}{{ else }}crowdsec-lapi.crowdsec.svc.cluster.local:8080{{ end }}
crowdsecLapiKeyFile: /etc/traefik/crowdsec/api-key crowdsecLapiKeyFile: /etc/traefik/crowdsec/api-key
crowdsecMode: stream crowdsecMode: stream
updateIntervalSeconds: 15 updateIntervalSeconds: 15

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: cryptpad name: cryptpad
namespace: cryptpad namespace: cryptpad
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -30,8 +26,3 @@ spec:
name: cryptpad name: cryptpad
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
- {{ .sandboxDomain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,10 +1,8 @@
version: 2026.5.1-2 version: 2026.5.1-3
defaultConfig: defaultConfig:
namespace: cryptpad namespace: cryptpad
externalDnsDomain: '{{ .cloud.domain }}'
domain: cryptpad.{{ .cloud.domain }} domain: cryptpad.{{ .cloud.domain }}
sandboxDomain: cryptpad-sandbox.{{ .cloud.domain }} sandboxDomain: cryptpad-sandbox.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
defaultSecrets: defaultSecrets:
- key: adminKey - key: adminKey

View File

@@ -4,15 +4,8 @@ kind: Ingress
metadata: metadata:
name: decidim name: decidim
namespace: decidim namespace: decidim
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}
rules: rules:
- host: {{ .domain }} - host: {{ .domain }}
http: http:

View File

@@ -1,16 +1,14 @@
version: 0.31.0-3 version: 0.31.0-4
requires: requires:
- name: postgres - name: postgres
- name: redis - name: redis
- name: smtp - name: smtp
defaultConfig: defaultConfig:
namespace: decidim namespace: decidim
externalDnsDomain: '{{ .cloud.domain }}'
storage: 2Gi storage: 2Gi
systemAdminEmail: '{{ .operator.email }}' systemAdminEmail: '{{ .operator.email }}'
siteName: 'Decidim' siteName: Decidim
domain: decidim.{{ .cloud.domain }} domain: decidim.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
db: db:
host: '{{ .apps.postgres.host }}' host: '{{ .apps.postgres.host }}'
port: '{{ .apps.postgres.port }}' port: '{{ .apps.postgres.port }}'
@@ -27,13 +25,14 @@ defaultConfig:
tls: '{{ .apps.smtp.tls }}' tls: '{{ .apps.smtp.tls }}'
startTls: '{{ .apps.smtp.startTls }}' startTls: '{{ .apps.smtp.startTls }}'
defaultSecrets: defaultSecrets:
- key: systemAdminPassword - key: systemAdminPassword
- key: secretKeyBase - key: secretKeyBase
default: "{{ random.AlphaNum 128 }}" default: '{{ random.AlphaNum 128 }}'
- key: dbPassword - key: dbPassword
- key: dbUrl - key: dbUrl
default: "postgres://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host }}:{{ .app.db.port }}/{{ .app.db.name }}?sslmode=disable" default: postgres://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host
}}:{{ .app.db.port }}/{{ .app.db.name }}?sslmode=disable
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password
- redis.password - redis.password
- smtp.password - smtp.password

View File

@@ -69,6 +69,7 @@ spec:
END IF; END IF;
END END
\$\$; \$\$;
ALTER USER $DISCOURSE_DB_USER WITH PASSWORD '$DISCOURSE_DB_PASSWORD';
GRANT ALL PRIVILEGES ON DATABASE $DISCOURSE_DB_NAME TO $DISCOURSE_DB_USER; GRANT ALL PRIVILEGES ON DATABASE $DISCOURSE_DB_NAME TO $DISCOURSE_DB_USER;
GRANT ALL ON SCHEMA public TO $DISCOURSE_DB_USER; GRANT ALL ON SCHEMA public TO $DISCOURSE_DB_USER;
GRANT USAGE ON SCHEMA public TO $DISCOURSE_DB_USER; GRANT USAGE ON SCHEMA public TO $DISCOURSE_DB_USER;

View File

@@ -5,9 +5,6 @@ kind: Ingress
metadata: metadata:
name: discourse name: discourse
namespace: "{{ .namespace }}" namespace: "{{ .namespace }}"
annotations:
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/target: "{{ .externalDnsDomain }}"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -21,7 +18,3 @@ spec:
name: discourse name: discourse
port: port:
name: http name: http
tls:
- hosts:
- "{{ .domain }}"
secretName: wildcard-external-wild-cloud-tls

View File

@@ -1,17 +1,15 @@
version: 3.5.3-4 version: 3.5.3-5
requires: requires:
- name: postgres - name: postgres
- name: redis - name: redis
- name: smtp - name: smtp
defaultConfig: defaultConfig:
namespace: discourse namespace: discourse
externalDnsDomain: '{{ .cloud.domain }}'
storage: 2Gi storage: 2Gi
adminEmail: '{{ .operator.email }}' adminEmail: '{{ .operator.email }}'
adminUsername: admin adminUsername: admin
siteName: 'Community' siteName: Community
domain: discourse.{{ .cloud.domain }} domain: discourse.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
db: db:
host: '{{ .apps.postgres.host }}' host: '{{ .apps.postgres.host }}'
port: '{{ .apps.postgres.port }}' port: '{{ .apps.postgres.port }}'
@@ -28,13 +26,14 @@ defaultConfig:
tls: '{{ .apps.smtp.tls }}' tls: '{{ .apps.smtp.tls }}'
startTls: '{{ .apps.smtp.startTls }}' startTls: '{{ .apps.smtp.startTls }}'
defaultSecrets: defaultSecrets:
- key: adminPassword - key: adminPassword
- key: secretKeyBase - key: secretKeyBase
default: "{{ random.Hex 32 }}" default: '{{ random.Hex 32 }}'
- key: smtpPassword - key: smtpPassword
- key: dbPassword - key: dbPassword
- key: dbUrl - key: dbUrl
default: "postgres://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host }}:{{ .app.db.port }}/{{ .app.db.name }}?sslmode=disable" default: postgres://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host
}}:{{ .app.db.port }}/{{ .app.db.name }}?sslmode=disable
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password
- redis.password - redis.password

View File

@@ -15,7 +15,3 @@ spec:
name: docker-registry name: docker-registry
port: port:
number: 5000 number: 5000
tls:
- hosts:
- {{ .host }}
secretName: wildcard-internal-wild-cloud-tls

View File

@@ -1,8 +1,5 @@
version: "3.0.0-1" version: 3.0.0-2
requires:
- name: traefik
- name: cert-manager
defaultConfig: defaultConfig:
namespace: docker-registry namespace: docker-registry
host: "registry.{{ .cloud.internalDomain }}" host: registry.{{ .cloud.internalDomain }}
storage: 5Gi storage: 5Gi

View File

@@ -1,11 +1,9 @@
version: 1.0.0-1 version: 1.0.0-2
requires: requires:
- name: postgres - name: postgres
defaultConfig: defaultConfig:
namespace: e2e-test-app namespace: e2e-test-app
domain: e2e-test-app.{{ .cloud.domain }} domain: e2e-test-app.{{ .cloud.domain }}
externalDnsDomain: '{{ .cloud.domain }}'
tlsSecretName: wildcard-wild-cloud-tls
storage: 1Gi storage: 1Gi
db: db:
host: '{{ .apps.postgres.host }}' host: '{{ .apps.postgres.host }}'
@@ -13,8 +11,9 @@ defaultConfig:
name: e2e_test_app name: e2e_test_app
user: e2e_test_app user: e2e_test_app
defaultSecrets: defaultSecrets:
- key: dbPassword - key: dbPassword
- key: dbUrl - key: dbUrl
default: "postgres://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host }}:{{ .app.db.port }}/{{ .app.db.name }}?sslmode=disable" default: postgres://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host
}}:{{ .app.db.port }}/{{ .app.db.name }}?sslmode=disable
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password

View File

@@ -1,12 +1,10 @@
version: 2.0.0-1 version: 2.0.0-2
requires: requires:
- name: postgres - name: postgres
- name: mysql - name: mysql
defaultConfig: defaultConfig:
namespace: e2e-test-app namespace: e2e-test-app
domain: e2e-test-app.{{ .cloud.domain }} domain: e2e-test-app.{{ .cloud.domain }}
externalDnsDomain: '{{ .cloud.domain }}'
tlsSecretName: wildcard-wild-cloud-tls
storage: 1Gi storage: 1Gi
db: db:
host: '{{ .apps.postgres.host }}' host: '{{ .apps.postgres.host }}'
@@ -19,10 +17,11 @@ defaultConfig:
name: e2e_test_app name: e2e_test_app
user: e2e_test_app user: e2e_test_app
defaultSecrets: defaultSecrets:
- key: dbPassword - key: dbPassword
- key: dbUrl - key: dbUrl
default: "postgres://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host }}:{{ .app.db.port }}/{{ .app.db.name }}?sslmode=disable" default: postgres://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host
- key: mysqlPassword }}:{{ .app.db.port }}/{{ .app.db.name }}?sslmode=disable
- key: mysqlPassword
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password
- mysql.rootPassword - mysql.rootPassword

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: etherpad name: etherpad
namespace: etherpad namespace: etherpad
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -20,7 +16,3 @@ spec:
name: etherpad name: etherpad
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,11 +1,9 @@
version: 2.2.7-1 version: 2.2.7-2
requires: requires:
- name: postgres - name: postgres
defaultConfig: defaultConfig:
namespace: etherpad namespace: etherpad
externalDnsDomain: '{{ .cloud.domain }}'
domain: etherpad.{{ .cloud.domain }} domain: etherpad.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
title: Etherpad title: Etherpad
db: db:
@@ -14,9 +12,10 @@ defaultConfig:
name: etherpad name: etherpad
user: etherpad user: etherpad
defaultSecrets: defaultSecrets:
- key: adminPassword - key: adminPassword
- key: dbPassword - key: dbPassword
- key: dbUrl - key: dbUrl
default: 'postgresql://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host }}:{{ .app.db.port }}/{{ .app.db.name }}?sslmode=disable' default: postgresql://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host
}}:{{ .app.db.port }}/{{ .app.db.name }}?sslmode=disable
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: eventyay name: eventyay
namespace: {{ .namespace }} namespace: {{ .namespace }}
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -20,7 +16,3 @@ spec:
name: eventyay name: eventyay
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,13 +1,11 @@
version: main-5 version: main-6
requires: requires:
- name: postgres - name: postgres
- name: redis - name: redis
- name: smtp - name: smtp
defaultConfig: defaultConfig:
namespace: eventyay namespace: eventyay
externalDnsDomain: '{{ .cloud.domain }}'
domain: eventyay.{{ .cloud.domain }} domain: eventyay.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
timezone: UTC timezone: UTC
db: db:
@@ -24,19 +22,19 @@ defaultConfig:
from: '{{ .apps.smtp.from }}' from: '{{ .apps.smtp.from }}'
user: '{{ .apps.smtp.user }}' user: '{{ .apps.smtp.user }}'
scripts: scripts:
- name: create-superuser - name: create-superuser
path: scripts/create-superuser.sh path: scripts/create-superuser.sh
description: "Create an Eventyay superuser account for first-time setup." description: Create an Eventyay superuser account for first-time setup.
params: params:
- name: EMAIL - name: EMAIL
description: Email address for the superuser account description: Email address for the superuser account
required: true required: true
- name: PASSWORD - name: PASSWORD
description: Password (leave blank to generate a random one) description: Password (leave blank to generate a random one)
defaultSecrets: defaultSecrets:
- key: dbPassword - key: dbPassword
- key: djangoSecret - key: djangoSecret
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password
- redis.password - redis.password
- smtp.password - smtp.password

View File

@@ -3,8 +3,6 @@ apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
name: example-admin name: example-admin
annotations:
external-dns.alpha.kubernetes.io/target: '{{ .externalDnsDomain }}'
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -18,7 +16,3 @@ spec:
name: example-admin name: example-admin
port: port:
number: 80 number: 80
tls:
- hosts:
- "{{ .host }}"
secretName: wildcard-internal-wild-cloud-tls

View File

@@ -1,6 +1,4 @@
version: 1.0.0-2 version: 1.0.0-3
defaultConfig: defaultConfig:
namespace: example-admin namespace: example-admin
externalDnsDomain: '{{ .cloud.domain }}'
host: '{{ .host }}' host: '{{ .host }}'
tlsSecretName: wildcard-internal-wild-cloud-tls

View File

@@ -4,8 +4,6 @@ kind: Ingress
metadata: metadata:
name: example-app name: example-app
annotations: annotations:
external-dns.alpha.kubernetes.io/target: "{{ .cloud.externalDnsTarget }}"
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
# Optional: Enable basic auth # Optional: Enable basic auth
# traefik.ingress.kubernetes.io/auth-type: basic # traefik.ingress.kubernetes.io/auth-type: basic
# traefik.ingress.kubernetes.io/auth-secret: basic-auth # traefik.ingress.kubernetes.io/auth-secret: basic-auth
@@ -22,7 +20,3 @@ spec:
name: example-app name: example-app
port: port:
number: 80 number: 80
tls:
- hosts:
- "{{ .host }}"
secretName: wildcard-wild-cloud-tls

View File

@@ -1,6 +1,4 @@
version: 1.0.0-1 version: 1.0.0-2
defaultConfig: defaultConfig:
namespace: example-app namespace: example-app
externalDnsDomain: '{{ .cloud.domain }}'
host: example-app.{{ .cloud.domain }} host: example-app.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls

View File

@@ -28,8 +28,12 @@ spec:
- --source=ingress - --source=ingress
- --txt-owner-id={{ .ownerId }} - --txt-owner-id={{ .ownerId }}
- --provider=cloudflare - --provider=cloudflare
- --domain-filter=payne.io {{- with (index . "domainFilter") }}
#- --exclude-domains=internal.${DOMAIN} - --domain-filter={{ . }}
{{- end }}
{{- with (index . "internalDomain") }}
- --exclude-domains={{ . }}
{{- end }}
- --cloudflare-dns-records-per-page=5000 - --cloudflare-dns-records-per-page=5000
- --publish-internal-services - --publish-internal-services
- --no-cloudflare-proxied - --no-cloudflare-proxied

View File

@@ -1,10 +1,11 @@
version: v0.13.4-2 version: v0.13.4-6
deploymentName: external-dns deploymentName: external-dns
requires: requires:
- name: cert-manager - name: cert-manager
defaultConfig: defaultConfig:
namespace: externaldns namespace: externaldns
ownerId: "wild-cloud-{{ .cluster.name }}" ownerId: "wild-cloud-{{ .cluster.name }}"
internalDomain: "{{ .cloud.internalDomain }}"
defaultSecrets: defaultSecrets:
- key: cloudflareToken - key: cloudflareToken
requiredSecrets: requiredSecrets:

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: firefly-iii name: firefly-iii
namespace: firefly-iii namespace: firefly-iii
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -20,7 +16,3 @@ spec:
name: firefly-iii name: firefly-iii
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,11 +1,9 @@
version: 6.6.3-1 version: 6.6.3-2
requires: requires:
- name: postgres - name: postgres
defaultConfig: defaultConfig:
namespace: firefly-iii namespace: firefly-iii
externalDnsDomain: '{{ .cloud.domain }}'
domain: firefly-iii.{{ .cloud.domain }} domain: firefly-iii.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 1Gi storage: 1Gi
timezone: UTC timezone: UTC
adminEmail: '{{ .operator.email }}' adminEmail: '{{ .operator.email }}'
@@ -15,7 +13,7 @@ defaultConfig:
name: fireflyiii name: fireflyiii
user: fireflyiii user: fireflyiii
defaultSecrets: defaultSecrets:
- key: appKey - key: appKey
- key: dbPassword - key: dbPassword
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: formbricks name: formbricks
namespace: {{ .namespace }} namespace: {{ .namespace }}
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -20,7 +16,3 @@ spec:
name: formbricks name: formbricks
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,27 +1,26 @@
version: 3.6.0-1 version: 3.6.0-2
requires: requires:
- name: postgres - name: postgres
- name: redis - name: redis
defaultConfig: defaultConfig:
namespace: formbricks namespace: formbricks
externalDnsDomain: "{{ .cloud.domain }}"
domain: formbricks.{{ .cloud.domain }} domain: formbricks.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
db: db:
host: "{{ .apps.postgres.host }}" host: '{{ .apps.postgres.host }}'
port: "{{ .apps.postgres.port }}" port: '{{ .apps.postgres.port }}'
name: formbricks name: formbricks
user: formbricks user: formbricks
redis: redis:
host: "{{ .apps.redis.host }}" host: '{{ .apps.redis.host }}'
defaultSecrets: defaultSecrets:
- key: dbPassword - key: dbPassword
- key: dbUrl - key: dbUrl
default: "postgresql://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host }}:{{ .app.db.port }}/{{ .app.db.name }}?sslmode=disable" default: postgresql://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host
- key: nextauthSecret }}:{{ .app.db.port }}/{{ .app.db.name }}?sslmode=disable
- key: encryptionKey - key: nextauthSecret
- key: cronSecret - key: encryptionKey
- key: cronSecret
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password
- redis.password - redis.password

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: gancio name: gancio
namespace: gancio namespace: gancio
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -20,7 +16,3 @@ spec:
name: gancio name: gancio
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,11 +1,9 @@
version: 1.28.2-1 version: 1.28.2-2
requires: requires:
- name: postgres - name: postgres
defaultConfig: defaultConfig:
namespace: gancio namespace: gancio
externalDnsDomain: '{{ .cloud.domain }}'
domain: gancio.{{ .cloud.domain }} domain: gancio.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
db: db:
host: '{{ .apps.postgres.host }}' host: '{{ .apps.postgres.host }}'
@@ -13,8 +11,9 @@ defaultConfig:
name: gancio name: gancio
user: gancio user: gancio
defaultSecrets: defaultSecrets:
- key: dbPassword - key: dbPassword
- key: dbUrl - key: dbUrl
default: 'postgresql://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host }}:{{ .app.db.port }}/{{ .app.db.name }}?sslmode=disable' default: postgresql://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host
}}:{{ .app.db.port }}/{{ .app.db.name }}?sslmode=disable
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: ghost name: ghost
namespace: ghost namespace: ghost
annotations:
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -20,7 +16,3 @@ spec:
name: ghost name: ghost
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,12 +1,10 @@
version: 5.130.6-1 version: 5.130.6-2
requires: requires:
- name: mysql - name: mysql
- name: smtp - name: smtp
defaultConfig: defaultConfig:
namespace: ghost namespace: ghost
externalDnsDomain: '{{ .cloud.domain }}'
domain: ghost.{{ .cloud.domain }} domain: ghost.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
db: db:
host: '{{ .apps.mysql.host }}' host: '{{ .apps.mysql.host }}'
@@ -19,7 +17,7 @@ defaultConfig:
from: '{{ .apps.smtp.from }}' from: '{{ .apps.smtp.from }}'
user: '{{ .apps.smtp.user }}' user: '{{ .apps.smtp.user }}'
defaultSecrets: defaultSecrets:
- key: dbPassword - key: dbPassword
- key: smtpPassword - key: smtpPassword
requiredSecrets: requiredSecrets:
- mysql.rootPassword - mysql.rootPassword

View File

@@ -3,9 +3,6 @@ kind: Ingress
metadata: metadata:
name: gitea-public name: gitea-public
namespace: gitea namespace: gitea
annotations:
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/target: "{{ .externalDnsDomain }}"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -19,7 +16,3 @@ spec:
name: gitea-http name: gitea-http
port: port:
number: 3000 number: 3000
tls:
- secretName: "{{ .tlsSecretName }}"
hosts:
- "{{ .domain }}"

View File

@@ -1,16 +1,14 @@
version: 1.24.3-4 version: 1.24.3-5
requires: requires:
- name: postgres - name: postgres
- name: smtp - name: smtp
defaultConfig: defaultConfig:
namespace: gitea namespace: gitea
externalDnsDomain: '{{ .cloud.domain }}'
appName: Gitea appName: Gitea
domain: gitea.{{ .cloud.domain }} domain: gitea.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
adminUser: admin adminUser: admin
adminEmail: "{{ .operator.email }}" adminEmail: '{{ .operator.email }}'
db: db:
name: gitea name: gitea
user: gitea user: gitea
@@ -22,10 +20,10 @@ defaultConfig:
user: '{{ .apps.smtp.user }}' user: '{{ .apps.smtp.user }}'
from: '{{ .apps.smtp.from }}' from: '{{ .apps.smtp.from }}'
defaultSecrets: defaultSecrets:
- key: adminPassword - key: adminPassword
- key: dbPassword - key: dbPassword
- key: secretKey - key: secretKey
- key: jwtSecret - key: jwtSecret
- key: smtpPassword - key: smtpPassword
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password

View File

@@ -1,64 +1,18 @@
--- apiVersion: networking.k8s.io/v1
apiVersion: traefik.io/v1alpha1 kind: Ingress
kind: Middleware
metadata: metadata:
name: internal-only name: headlamp
namespace: headlamp namespace: headlamp
spec: spec:
ipWhiteList: ingressClassName: traefik
sourceRange: rules:
- 127.0.0.1/32 - host: headlamp.{{ .internalDomain }}
- 10.0.0.0/8 http:
- 172.16.0.0/12 paths:
- 192.168.0.0/16 - path: /
pathType: Prefix
--- backend:
apiVersion: traefik.io/v1alpha1 service:
kind: Middleware name: headlamp
metadata: port:
name: headlamp-redirect-scheme number: 80
namespace: headlamp
spec:
redirectScheme:
scheme: https
permanent: true
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: headlamp-https
namespace: headlamp
spec:
entryPoints:
- websecure
routes:
- match: Host(`headlamp.{{ .internalDomain }}`)
kind: Rule
middlewares:
- name: internal-only
namespace: headlamp
services:
- name: headlamp
port: 80
tls:
secretName: wildcard-internal-wild-cloud-tls
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: headlamp-http
namespace: headlamp
spec:
entryPoints:
- web
routes:
- match: Host(`headlamp.{{ .internalDomain }}`)
kind: Rule
middlewares:
- name: headlamp-redirect-scheme
namespace: headlamp
services:
- name: headlamp
port: 80

View File

@@ -1,11 +1,13 @@
version: v0.42.0 version: v0.42.0-1
requires:
- name: traefik
- name: cert-manager
defaultConfig: defaultConfig:
namespace: headlamp namespace: headlamp
internalDomain: "{{ .cloud.internalDomain }}" internalDomain: '{{ .cloud.internalDomain }}'
central:
ipAllow:
- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16
deploy: deploy:
waitForRollout: waitForRollout:
name: headlamp name: headlamp
timeout: "120s" timeout: 120s

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: headscale name: headscale
namespace: headscale namespace: headscale
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -20,7 +16,3 @@ spec:
name: headscale name: headscale
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,19 +1,18 @@
version: 0.29.1-1 version: 0.29.1-2
scripts: scripts:
- name: register-node - name: register-node
description: Register a Tailscale node using the auth ID shown in the Tailscale app. description: Register a Tailscale node using the auth ID shown in the Tailscale
path: scripts/register-node.sh app.
params: path: scripts/register-node.sh
- name: AUTH_ID params:
description: The auth ID shown by the Tailscale app (e.g. hskey-authreq-...) - name: AUTH_ID
required: true description: The auth ID shown by the Tailscale app (e.g. hskey-authreq-...)
- name: USER required: true
description: Headscale username to register the node under - name: USER
required: true description: Headscale username to register the node under
required: true
defaultConfig: defaultConfig:
namespace: headscale namespace: headscale
domain: headscale.{{ .cloud.domain }} domain: headscale.{{ .cloud.domain }}
externalDnsDomain: "{{ .cloud.domain }}"
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
vpnBaseDomain: vpn.{{ .cloud.domain }} vpnBaseDomain: vpn.{{ .cloud.domain }}

View File

@@ -3,9 +3,6 @@ apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
name: immich-public name: immich-public
annotations:
external-dns.alpha.kubernetes.io/target: "{{ .externalDnsDomain }}"
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -19,7 +16,3 @@ spec:
name: immich-server name: immich-server
port: port:
number: 3001 number: 3001
tls:
- secretName: wildcard-wild-cloud-tls
hosts:
- "{{ .domain }}"

View File

@@ -1,14 +1,12 @@
version: 1.135.3-4 version: 1.135.3-5
requires: requires:
- name: redis - name: redis
- name: postgres - name: postgres
defaultConfig: defaultConfig:
namespace: immich namespace: immich
externalDnsDomain: '{{ .cloud.domain }}'
storage: 5Gi storage: 5Gi
cacheStorage: 5Gi cacheStorage: 5Gi
domain: immich.{{ .cloud.domain }} domain: immich.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
db: db:
host: '{{ .apps.postgres.host }}' host: '{{ .apps.postgres.host }}'
name: immich name: immich
@@ -16,7 +14,7 @@ defaultConfig:
redis: redis:
host: '{{ .apps.redis.host }}' host: '{{ .apps.redis.host }}'
defaultSecrets: defaultSecrets:
- key: dbPassword - key: dbPassword
requiredSecrets: requiredSecrets:
- redis.password - redis.password
- postgres.password - postgres.password

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: indico name: indico
namespace: {{ .namespace }} namespace: {{ .namespace }}
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -20,7 +16,3 @@ spec:
name: indico name: indico
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,32 +1,30 @@
version: 3.3.12-1 version: 3.3.12-2
requires: requires:
- name: postgres - name: postgres
- name: redis - name: redis
- name: smtp - name: smtp
defaultConfig: defaultConfig:
namespace: indico namespace: indico
externalDnsDomain: "{{ .cloud.domain }}" domain: indico.{{ .cloud.domain }}
domain: "indico.{{ .cloud.domain }}"
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
timezone: UTC timezone: UTC
db: db:
host: "{{ .apps.postgres.host }}" host: '{{ .apps.postgres.host }}'
port: "{{ .apps.postgres.port }}" port: '{{ .apps.postgres.port }}'
name: indico name: indico
user: indico user: indico
redis: redis:
host: "{{ .apps.redis.host }}" host: '{{ .apps.redis.host }}'
port: "6379" port: '6379'
smtp: smtp:
host: "{{ .apps.smtp.host }}" host: '{{ .apps.smtp.host }}'
port: "{{ .apps.smtp.port }}" port: '{{ .apps.smtp.port }}'
from: "{{ .apps.smtp.from }}" from: '{{ .apps.smtp.from }}'
user: "{{ .apps.smtp.user }}" user: '{{ .apps.smtp.user }}'
defaultSecrets: defaultSecrets:
- key: dbPassword - key: dbPassword
- key: secretKey - key: secretKey
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password
- redis.password - redis.password
- smtp.password - smtp.password

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: jitsi name: jitsi
namespace: {{ .namespace }} namespace: {{ .namespace }}
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -20,7 +16,3 @@ spec:
name: jitsi-web name: jitsi-web
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,16 +1,14 @@
version: web-1.0.9282-2 version: web-1.0.9282-3
defaultConfig: defaultConfig:
namespace: jitsi namespace: jitsi
domain: "jitsi.{{ .cloud.domain }}" domain: jitsi.{{ .cloud.domain }}
externalDnsDomain: "{{ .cloud.domain }}"
tlsSecretName: wildcard-wild-cloud-tls
xmppDomain: meet.jitsi xmppDomain: meet.jitsi
xmppAuthDomain: auth.meet.jitsi xmppAuthDomain: auth.meet.jitsi
xmppMucDomain: muc.meet.jitsi xmppMucDomain: muc.meet.jitsi
xmppInternalMucDomain: internal-muc.meet.jitsi xmppInternalMucDomain: internal-muc.meet.jitsi
xmppGuestDomain: guest.meet.jitsi xmppGuestDomain: guest.meet.jitsi
jvbStunServers: "stun.l.google.com:19302,stun1.l.google.com:19302" jvbStunServers: stun.l.google.com:19302,stun1.l.google.com:19302
defaultSecrets: defaultSecrets:
- key: jicofoAuthPassword - key: jicofoAuthPassword
- key: jvbAuthPassword - key: jvbAuthPassword
- key: jicofoComponentSecret - key: jicofoComponentSecret

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: karrot name: karrot
namespace: {{ .namespace }} namespace: {{ .namespace }}
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -20,7 +16,3 @@ spec:
name: karrot-frontend name: karrot-frontend
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,12 +1,10 @@
version: v17.4.1 version: v17.4.1-1
requires: requires:
- name: postgres - name: postgres
- name: smtp - name: smtp
defaultConfig: defaultConfig:
namespace: karrot namespace: karrot
externalDnsDomain: '{{ .cloud.domain }}'
domain: karrot.{{ .cloud.domain }} domain: karrot.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
db: db:
host: '{{ .apps.postgres.host }}' host: '{{ .apps.postgres.host }}'
@@ -21,8 +19,8 @@ defaultConfig:
from: '{{ .apps.smtp.from }}' from: '{{ .apps.smtp.from }}'
user: '{{ .apps.smtp.user }}' user: '{{ .apps.smtp.user }}'
defaultSecrets: defaultSecrets:
- key: secretKey - key: secretKey
- key: dbPassword - key: dbPassword
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password
- smtp.password - smtp.password

View File

@@ -58,6 +58,7 @@ spec:
echo "Creating database and user for Keila..." echo "Creating database and user for Keila..."
psql -c "CREATE DATABASE ${DB_NAME};" || echo "Database ${DB_NAME} already exists" psql -c "CREATE DATABASE ${DB_NAME};" || echo "Database ${DB_NAME} already exists"
psql -c "CREATE USER ${DB_USER} WITH PASSWORD '${DB_PASSWORD}';" || echo "User ${DB_USER} already exists" psql -c "CREATE USER ${DB_USER} WITH PASSWORD '${DB_PASSWORD}';" || echo "User ${DB_USER} already exists"
psql -c "ALTER USER ${DB_USER} WITH PASSWORD '${DB_PASSWORD}';"
psql -c "GRANT ALL PRIVILEGES ON DATABASE ${DB_NAME} TO ${DB_USER};" psql -c "GRANT ALL PRIVILEGES ON DATABASE ${DB_NAME} TO ${DB_USER};"
psql -d ${DB_NAME} -c "GRANT ALL ON SCHEMA public TO ${DB_USER};" psql -d ${DB_NAME} -c "GRANT ALL ON SCHEMA public TO ${DB_USER};"
echo "Database initialization complete" echo "Database initialization complete"

View File

@@ -2,12 +2,6 @@ apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
name: keila name: keila
annotations:
traefik.ingress.kubernetes.io/router.tls: "true"
traefik.ingress.kubernetes.io/router.tls.certresolver: letsencrypt
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
traefik.ingress.kubernetes.io/router.middlewares: keila-cors@kubernetescrd
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -21,7 +15,3 @@ spec:
name: keila name: keila
port: port:
number: 80 number: 80
tls:
- secretName: "wildcard-wild-cloud-tls"
hosts:
- "{{ .domain }}"

View File

@@ -14,4 +14,3 @@ resources:
- ingress.yaml - ingress.yaml
- pvc.yaml - pvc.yaml
- db-init-job.yaml - db-init-job.yaml
- middleware-cors.yaml

View File

@@ -1,15 +1,13 @@
version: 0.17.1-4 version: 0.17.1-5
requires: requires:
- name: postgres - name: postgres
- name: smtp - name: smtp
defaultConfig: defaultConfig:
namespace: keila namespace: keila
externalDnsDomain: '{{ .cloud.domain }}'
storage: 1Gi storage: 1Gi
domain: keila.{{ .cloud.domain }} domain: keila.{{ .cloud.domain }}
disableRegistration: 'true' disableRegistration: 'true'
adminUser: admin@{{ .cloud.domain }} adminUser: admin@{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
db: db:
host: '{{ .apps.postgres.host }}' host: '{{ .apps.postgres.host }}'
port: '{{ .apps.postgres.port }}' port: '{{ .apps.postgres.port }}'
@@ -22,13 +20,23 @@ defaultConfig:
user: '{{ .apps.smtp.user }}' user: '{{ .apps.smtp.user }}'
tls: '{{ .apps.smtp.tls }}' tls: '{{ .apps.smtp.tls }}'
startTls: '{{ .apps.smtp.startTls }}' startTls: '{{ .apps.smtp.startTls }}'
central:
headers:
response:
Access-Control-Allow-Origin: https://{{ .cloud.domain }}
Access-Control-Allow-Credentials: 'true'
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With,
Accept, Origin, Cache-Control, X-File-Name
Access-Control-Max-Age: '86400'
defaultSecrets: defaultSecrets:
- key: secretKeyBase - key: secretKeyBase
default: "{{ random.AlphaNum 64 }}" default: '{{ random.AlphaNum 64 }}'
- key: dbPassword - key: dbPassword
- key: dbUrl - key: dbUrl
default: "postgres://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host }}:{{ .app.db.port }}/{{ .app.db.name }}?sslmode=disable" default: postgres://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host
- key: adminPassword }}:{{ .app.db.port }}/{{ .app.db.name }}?sslmode=disable
- key: smtpPassword - key: adminPassword
- key: smtpPassword
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password

View File

@@ -1,28 +0,0 @@
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: cors
spec:
headers:
accessControlAllowCredentials: true
accessControlAllowHeaders:
- "Content-Type"
- "Authorization"
- "X-Requested-With"
- "Accept"
- "Origin"
- "Cache-Control"
- "X-File-Name"
accessControlAllowMethods:
- "GET"
- "POST"
- "PUT"
- "DELETE"
- "OPTIONS"
accessControlAllowOriginList:
- "http://localhost:1313"
- "https://*.{{ .externalDnsDomain }}"
- "https://{{ .externalDnsDomain }}"
accessControlExposeHeaders:
- "*"
accessControlMaxAge: 86400

View File

@@ -3,15 +3,8 @@ kind: Ingress
metadata: metadata:
name: lemmy-ingress name: lemmy-ingress
namespace: {{ .namespace }} namespace: {{ .namespace }}
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}
rules: rules:
- host: {{ .domain }} - host: {{ .domain }}
http: http:

View File

@@ -1,12 +1,10 @@
version: 0.19.15-3 version: 0.19.15-4
requires: requires:
- name: postgres - name: postgres
- name: smtp - name: smtp
defaultConfig: defaultConfig:
namespace: lemmy namespace: lemmy
externalDnsDomain: lemmy.{{ .cloud.baseDomain }}
domain: lemmy.{{ .cloud.domain }} domain: lemmy.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
pictrsStorage: 2Gi pictrsStorage: 2Gi
db: db:
@@ -18,12 +16,12 @@ defaultConfig:
host: '{{ .apps.smtp.host }}' host: '{{ .apps.smtp.host }}'
port: '{{ .apps.smtp.port }}' port: '{{ .apps.smtp.port }}'
user: '{{ .apps.smtp.user }}' user: '{{ .apps.smtp.user }}'
from: 'noreply@{{ .cloud.baseDomain }}' from: noreply@{{ .cloud.baseDomain }}
tls: '{{ .apps.smtp.tls }}' tls: '{{ .apps.smtp.tls }}'
defaultSecrets: defaultSecrets:
- key: dbPassword - key: dbPassword
- key: adminPassword - key: adminPassword
- key: jwtSecret - key: jwtSecret
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password
- smtp.password - smtp.password

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: librebooking name: librebooking
namespace: {{ .namespace }} namespace: {{ .namespace }}
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -20,7 +16,3 @@ spec:
name: librebooking name: librebooking
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,20 +1,18 @@
version: 3.3.7-1 version: 3.3.7-2
requires: requires:
- name: mysql - name: mysql
defaultConfig: defaultConfig:
namespace: librebooking namespace: librebooking
externalDnsDomain: "{{ .cloud.domain }}"
domain: booking.{{ .cloud.domain }} domain: booking.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
timezone: UTC timezone: UTC
db: db:
host: "{{ .apps.mysql.host }}" host: '{{ .apps.mysql.host }}'
port: "3306" port: '3306'
name: librebooking name: librebooking
user: librebooking user: librebooking
defaultSecrets: defaultSecrets:
- key: dbPassword - key: dbPassword
- key: installPassword - key: installPassword
requiredSecrets: requiredSecrets:
- mysql.rootPassword - mysql.rootPassword

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: limesurvey name: limesurvey
namespace: limesurvey namespace: limesurvey
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -20,7 +16,3 @@ spec:
name: limesurvey name: limesurvey
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,28 +1,26 @@
version: 6.17.5-1 version: 6.17.5-2
requires: requires:
- name: postgres - name: postgres
- name: smtp - name: smtp
defaultConfig: defaultConfig:
namespace: limesurvey namespace: limesurvey
externalDnsDomain: "{{ .cloud.domain }}"
domain: limesurvey.{{ .cloud.domain }} domain: limesurvey.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
adminUser: admin adminUser: admin
adminEmail: "{{ .operator.email }}" adminEmail: '{{ .operator.email }}'
db: db:
host: "{{ .apps.postgres.host }}" host: '{{ .apps.postgres.host }}'
port: "{{ .apps.postgres.port }}" port: '{{ .apps.postgres.port }}'
name: limesurvey name: limesurvey
user: limesurvey user: limesurvey
smtp: smtp:
host: "{{ .apps.smtp.host }}" host: '{{ .apps.smtp.host }}'
port: "{{ .apps.smtp.port }}" port: '{{ .apps.smtp.port }}'
from: "{{ .apps.smtp.from }}" from: '{{ .apps.smtp.from }}'
user: "{{ .apps.smtp.user }}" user: '{{ .apps.smtp.user }}'
defaultSecrets: defaultSecrets:
- key: adminPassword - key: adminPassword
- key: dbPassword - key: dbPassword
- key: smtpPassword - key: smtpPassword
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password

View File

@@ -60,6 +60,7 @@ spec:
echo "Creating database and user for Listmonk..." echo "Creating database and user for Listmonk..."
psql -c "CREATE DATABASE ${DB_NAME};" || echo "Database ${DB_NAME} already exists" psql -c "CREATE DATABASE ${DB_NAME};" || echo "Database ${DB_NAME} already exists"
psql -c "CREATE USER ${DB_USER} WITH PASSWORD '${DB_PASSWORD}';" || echo "User ${DB_USER} already exists" psql -c "CREATE USER ${DB_USER} WITH PASSWORD '${DB_PASSWORD}';" || echo "User ${DB_USER} already exists"
psql -c "ALTER USER ${DB_USER} WITH PASSWORD '${DB_PASSWORD}';"
psql -c "GRANT ALL PRIVILEGES ON DATABASE ${DB_NAME} TO ${DB_USER};" psql -c "GRANT ALL PRIVILEGES ON DATABASE ${DB_NAME} TO ${DB_USER};"
psql -d ${DB_NAME} -c "GRANT ALL ON SCHEMA public TO ${DB_USER};" psql -d ${DB_NAME} -c "GRANT ALL ON SCHEMA public TO ${DB_USER};"
echo "Database initialization complete" echo "Database initialization complete"

View File

@@ -3,17 +3,8 @@ kind: Ingress
metadata: metadata:
name: listmonk name: listmonk
namespace: listmonk namespace: listmonk
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.tls: "true"
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}
rules: rules:
- host: {{ .domain }} - host: {{ .domain }}
http: http:

View File

@@ -1,11 +1,9 @@
version: 5.0.3-2 version: 5.0.3-3
requires: requires:
- name: postgres - name: postgres
defaultConfig: defaultConfig:
namespace: listmonk namespace: listmonk
externalDnsDomain: '{{ .cloud.domain }}'
domain: listmonk.{{ .cloud.domain }} domain: listmonk.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 1Gi storage: 1Gi
db: db:
host: '{{ .apps.postgres.host }}' host: '{{ .apps.postgres.host }}'
@@ -13,8 +11,9 @@ defaultConfig:
name: listmonk name: listmonk
user: listmonk user: listmonk
defaultSecrets: defaultSecrets:
- key: dbPassword - key: dbPassword
- key: dbUrl - key: dbUrl
default: 'postgres://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host }}:{{ .app.db.port }}/{{ .app.db.name }}?sslmode=disable' default: postgres://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host
}}:{{ .app.db.port }}/{{ .app.db.name }}?sslmode=disable
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password

View File

@@ -16,7 +16,3 @@ spec:
name: longhorn-frontend name: longhorn-frontend
port: port:
number: 80 number: 80
tls:
- secretName: wildcard-internal-wild-cloud-tls
hosts:
- "longhorn.{{ .internalDomain }}"

View File

@@ -1,10 +1,9 @@
version: v1.8.1-4 version: v1.8.1-5
deploymentName: longhorn-ui deploymentName: longhorn-ui
requires: requires:
- name: traefik - name: nfs
- name: nfs - name: snapshot-controller
- name: snapshot-controller
defaultConfig: defaultConfig:
namespace: longhorn-system namespace: longhorn-system
internalDomain: "{{ .cloud.internalDomain }}" internalDomain: '{{ .cloud.internalDomain }}'
backupTarget: "nfs://{{ .apps.nfs.host }}:/data/{{ .cluster.name }}/backups" backupTarget: nfs://{{ .apps.nfs.host }}:/data/{{ .cluster.name }}/backups

View File

@@ -2,15 +2,8 @@ apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
name: loomio name: loomio
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}
rules: rules:
- host: {{ .domain }} - host: {{ .domain }}
http: http:

View File

@@ -1,15 +1,13 @@
version: 3.0.24-2 version: 3.0.24-3
requires: requires:
- name: postgres - name: postgres
installed_as: postgres installed_as: postgres
- name: redis - name: redis
- name: smtp - name: smtp
defaultConfig: defaultConfig:
namespace: loomio namespace: loomio
externalDnsDomain: '{{ .cloud.domain }}'
appName: Loomio appName: Loomio
domain: 'loomio.{{ .cloud.domain }}' domain: loomio.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: storage:
uploads: 5Gi uploads: 5Gi
files: 5Gi files: 5Gi
@@ -31,15 +29,16 @@ defaultConfig:
tls: '{{ .apps.smtp.tls }}' tls: '{{ .apps.smtp.tls }}'
from: '{{ .apps.smtp.from }}' from: '{{ .apps.smtp.from }}'
defaultSecrets: defaultSecrets:
- key: dbPassword - key: dbPassword
default: "{{ random.AlphaNum 32 }}" default: '{{ random.AlphaNum 32 }}'
- key: dbUrl - key: dbUrl
default: "postgresql://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host }}:{{ .app.db.port }}/{{ .app.db.name }}?pool=30&sslmode=disable" default: postgresql://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host
- key: deviseSecret }}:{{ .app.db.port }}/{{ .app.db.name }}?pool=30&sslmode=disable
default: "{{ random.AlphaNum 32 }}" - key: deviseSecret
- key: secretCookieToken default: '{{ random.AlphaNum 32 }}'
default: "{{ random.AlphaNum 32 }}" - key: secretCookieToken
- key: smtpPassword default: '{{ random.AlphaNum 32 }}'
default: "{{ .secrets.smtp.password }}" - key: smtpPassword
default: '{{ .secrets.smtp.password }}'
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password

View File

@@ -3,16 +3,8 @@ kind: Ingress
metadata: metadata:
name: mastodon name: mastodon
namespace: {{ .namespace }} namespace: {{ .namespace }}
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
traefik.ingress.kubernetes.io/router.entrypoints: websecure
spec: spec:
ingressClassName: traefik ingressClassName: traefik
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}
rules: rules:
- host: {{ .domain }} - host: {{ .domain }}
http: http:

View File

@@ -1,17 +1,15 @@
version: 4.5.3-3 version: 4.5.3-4
requires: requires:
- name: postgres - name: postgres
- name: redis - name: redis
- name: smtp - name: smtp
defaultConfig: defaultConfig:
namespace: mastodon namespace: mastodon
externalDnsDomain: '{{ .cloud.domain }}'
domain: mastodon.{{ .cloud.domain }} domain: mastodon.{{ .cloud.domain }}
locale: en locale: en
singleUserMode: false singleUserMode: false
assetsStorage: 5Gi assetsStorage: 5Gi
systemStorage: 5Gi systemStorage: 5Gi
tlsSecretName: wildcard-wild-cloud-tls
sidekiq: sidekiq:
replicas: 1 replicas: 1
db: db:
@@ -30,22 +28,20 @@ defaultConfig:
user: '{{ .apps.smtp.user }}' user: '{{ .apps.smtp.user }}'
tls: '{{ .apps.smtp.tls }}' tls: '{{ .apps.smtp.tls }}'
defaultSecrets: defaultSecrets:
- key: secretKeyBase - key: secretKeyBase
default: "{{ random.AlphaNum 128 }}" default: '{{ random.AlphaNum 128 }}'
- key: otpSecret - key: otpSecret
default: "{{ random.AlphaNum 128 }}" default: '{{ random.AlphaNum 128 }}'
- key: vapidPrivateKey - key: vapidPrivateKey
# Generated by vapid-init-job.yaml on first deploy - key: vapidPublicKey
- key: vapidPublicKey - key: activeRecordPrimaryKey
# Generated by vapid-init-job.yaml on first deploy default: '{{ random.AlphaNum 32 }}'
- key: activeRecordPrimaryKey - key: activeRecordDeterministicKey
default: "{{ random.AlphaNum 32 }}" default: '{{ random.AlphaNum 32 }}'
- key: activeRecordDeterministicKey - key: activeRecordKeyDerivationSalt
default: "{{ random.AlphaNum 32 }}" default: '{{ random.AlphaNum 32 }}'
- key: activeRecordKeyDerivationSalt - key: dbPassword
default: "{{ random.AlphaNum 32 }}" - key: smtpPassword
- key: dbPassword
- key: smtpPassword
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password
- redis.password - redis.password

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: mattermost name: mattermost
namespace: mattermost namespace: mattermost
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -20,7 +16,3 @@ spec:
name: mattermost name: mattermost
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,11 +1,9 @@
version: 10.8.1-1 version: 10.8.1-2
requires: requires:
- name: postgres - name: postgres
defaultConfig: defaultConfig:
namespace: mattermost namespace: mattermost
externalDnsDomain: '{{ .cloud.domain }}'
domain: mattermost.{{ .cloud.domain }} domain: mattermost.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
db: db:
host: '{{ .apps.postgres.host }}' host: '{{ .apps.postgres.host }}'
@@ -13,8 +11,9 @@ defaultConfig:
name: mattermost name: mattermost
user: mattermost user: mattermost
defaultSecrets: defaultSecrets:
- key: dbPassword - key: dbPassword
- key: dbUrl - key: dbUrl
default: 'postgres://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host }}:{{ .app.db.port }}/{{ .app.db.name }}?sslmode=disable&connect_timeout=10' default: postgres://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host
}}:{{ .app.db.port }}/{{ .app.db.name }}?sslmode=disable&connect_timeout=10
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password

View File

@@ -2,10 +2,6 @@ apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
name: mautic name: mautic
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -19,7 +15,3 @@ spec:
name: mautic name: mautic
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,18 +1,16 @@
version: 7.1.2-2 version: 7.1.2-3
requires: requires:
- name: mysql - name: mysql
- name: smtp - name: smtp
defaultConfig: defaultConfig:
namespace: mautic namespace: mautic
externalDnsDomain: '{{ .cloud.domain }}'
domain: mautic.{{ .cloud.domain }} domain: mautic.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
siteUrl: https://mautic.{{ .cloud.domain }} siteUrl: https://mautic.{{ .cloud.domain }}
adminEmail: '{{ .operator.email }}' adminEmail: '{{ .operator.email }}'
db: db:
host: '{{ .apps.mysql.host }}' host: '{{ .apps.mysql.host }}'
port: "3306" port: '3306'
name: mautic name: mautic
user: mautic user: mautic
smtp: smtp:
@@ -21,8 +19,8 @@ defaultConfig:
user: '{{ .apps.smtp.user }}' user: '{{ .apps.smtp.user }}'
from: '{{ .apps.smtp.from }}' from: '{{ .apps.smtp.from }}'
defaultSecrets: defaultSecrets:
- key: dbPassword - key: dbPassword
- key: adminPassword - key: adminPassword
requiredSecrets: requiredSecrets:
- mysql.rootPassword - mysql.rootPassword
- smtp.password - smtp.password

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: mediawiki name: mediawiki
namespace: mediawiki namespace: mediawiki
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -20,7 +16,3 @@ spec:
name: mediawiki name: mediawiki
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,18 +1,16 @@
version: 1.43.1-1 version: 1.43.1-2
requires: requires:
- name: mysql - name: mysql
- name: smtp - name: smtp
defaultConfig: defaultConfig:
namespace: mediawiki namespace: mediawiki
externalDnsDomain: '{{ .cloud.domain }}'
domain: wiki.{{ .cloud.domain }} domain: wiki.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
siteName: My Wiki siteName: My Wiki
adminUser: admin adminUser: admin
db: db:
host: '{{ .apps.mysql.host }}' host: '{{ .apps.mysql.host }}'
port: "3306" port: '3306'
name: mediawiki name: mediawiki
user: mediawiki user: mediawiki
smtp: smtp:
@@ -21,10 +19,10 @@ defaultConfig:
from: '{{ .apps.smtp.from }}' from: '{{ .apps.smtp.from }}'
user: '{{ .apps.smtp.user }}' user: '{{ .apps.smtp.user }}'
defaultSecrets: defaultSecrets:
- key: adminPassword - key: adminPassword
- key: secretKey - key: secretKey
- key: upgradeKey - key: upgradeKey
- key: dbPassword - key: dbPassword
- key: smtpPassword - key: smtpPassword
requiredSecrets: requiredSecrets:
- mysql.rootPassword - mysql.rootPassword

View File

@@ -1,5 +1,4 @@
version: 1.6.32-3 version: 1.6.32-4
requires: []
defaultConfig: defaultConfig:
namespace: memcached namespace: memcached
host: memcached.memcached.svc.cluster.local host: memcached.memcached.svc.cluster.local

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: mobilizon name: mobilizon
namespace: {{ .namespace }} namespace: {{ .namespace }}
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -20,7 +16,3 @@ spec:
name: mobilizon name: mobilizon
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,12 +1,10 @@
version: 5.2.3-3 version: 5.2.3-4
requires: requires:
- name: postgres - name: postgres
- name: smtp - name: smtp
defaultConfig: defaultConfig:
namespace: mobilizon namespace: mobilizon
externalDnsDomain: '{{ .cloud.domain }}'
domain: mobilizon.{{ .cloud.domain }} domain: mobilizon.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
instanceName: Mobilizon instanceName: Mobilizon
instanceEmail: '{{ .operator.email }}' instanceEmail: '{{ .operator.email }}'
@@ -21,10 +19,10 @@ defaultConfig:
user: '{{ .apps.smtp.user }}' user: '{{ .apps.smtp.user }}'
from: '{{ .apps.smtp.from }}' from: '{{ .apps.smtp.from }}'
defaultSecrets: defaultSecrets:
- key: dbPassword - key: dbPassword
- key: secretKeyBase - key: secretKeyBase
- key: secretKey - key: secretKey
- key: smtpPassword - key: smtpPassword
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password
- smtp.password - smtp.password

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: moodle name: moodle
namespace: {{ .namespace }} namespace: {{ .namespace }}
annotations:
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -20,7 +16,3 @@ spec:
name: moodle name: moodle
port: port:
number: 8080 number: 8080
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,19 +1,17 @@
version: 4.5.2-3 version: 4.5.2-4
requires: requires:
- name: mysql - name: mysql
defaultConfig: defaultConfig:
namespace: moodle namespace: moodle
domain: moodle.{{ .cloud.domain }} domain: moodle.{{ .cloud.domain }}
externalDnsDomain: "{{ .cloud.domain }}"
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
db: db:
host: "{{ .apps.mysql.host }}" host: '{{ .apps.mysql.host }}'
port: "3306" port: '3306'
name: moodle name: moodle
user: moodle user: moodle
defaultSecrets: defaultSecrets:
- key: dbPassword - key: dbPassword
- key: adminPassword - key: adminPassword
requiredSecrets: requiredSecrets:
- mysql.rootPassword - mysql.rootPassword

View File

@@ -1,5 +1,4 @@
version: 9.1.0-3 version: 9.1.0-4
requires: []
defaultConfig: defaultConfig:
namespace: mysql namespace: mysql
host: mysql.mysql.svc.cluster.local host: mysql.mysql.svc.cluster.local
@@ -7,5 +6,5 @@ defaultConfig:
dbName: mysql dbName: mysql
user: mysql user: mysql
defaultSecrets: defaultSecrets:
- key: rootPassword - key: rootPassword
- key: password - key: password

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: nextcloud name: nextcloud
namespace: {{ .namespace }} namespace: {{ .namespace }}
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -20,7 +16,3 @@ spec:
name: nextcloud name: nextcloud
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,12 +1,10 @@
version: 34.0.0-1 version: 34.0.0-2
requires: requires:
- name: postgres - name: postgres
- name: redis - name: redis
defaultConfig: defaultConfig:
namespace: nextcloud namespace: nextcloud
externalDnsDomain: '{{ .cloud.domain }}'
domain: nextcloud.{{ .cloud.domain }} domain: nextcloud.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 5Gi storage: 5Gi
adminUser: admin adminUser: admin
db: db:
@@ -17,10 +15,11 @@ defaultConfig:
redis: redis:
host: '{{ .apps.redis.host }}' host: '{{ .apps.redis.host }}'
defaultSecrets: defaultSecrets:
- key: adminPassword - key: adminPassword
- key: dbPassword - key: dbPassword
- key: dbUrl - key: dbUrl
default: 'postgresql://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host }}:{{ .app.db.port }}/{{ .app.db.name }}?sslmode=disable' default: postgresql://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host
}}:{{ .app.db.port }}/{{ .app.db.name }}?sslmode=disable
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password
- redis.password - redis.password

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: nocodb name: nocodb
namespace: nocodb namespace: nocodb
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -20,7 +16,3 @@ spec:
name: nocodb name: nocodb
port: port:
number: 80 number: 80
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,11 +1,9 @@
version: 2026.04.1-1 version: 2026.04.1-2
requires: requires:
- name: postgres - name: postgres
defaultConfig: defaultConfig:
namespace: nocodb namespace: nocodb
externalDnsDomain: '{{ .cloud.domain }}'
domain: nocodb.{{ .cloud.domain }} domain: nocodb.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 1Gi storage: 1Gi
db: db:
host: '{{ .apps.postgres.host }}' host: '{{ .apps.postgres.host }}'
@@ -13,9 +11,10 @@ defaultConfig:
name: nocodb name: nocodb
user: nocodb user: nocodb
defaultSecrets: defaultSecrets:
- key: dbPassword - key: dbPassword
- key: ncAuthJwtSecret - key: ncAuthJwtSecret
- key: dbUrl - key: dbUrl
default: 'pg://{{ .app.db.host }}:{{ .app.db.port }}?u={{ .app.db.user }}&p={{ .secrets.dbPassword }}&d={{ .app.db.name }}' default: pg://{{ .app.db.host }}:{{ .app.db.port }}?u={{ .app.db.user }}&p={{ .secrets.dbPassword
}}&d={{ .app.db.name }}
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: odoo name: odoo
namespace: {{ .namespace }} namespace: {{ .namespace }}
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -20,7 +16,3 @@ spec:
name: odoo name: odoo
port: port:
number: 8069 number: 8069
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,19 +1,17 @@
version: 18.0-2 version: 18.0-3
requires: requires:
- name: postgres - name: postgres
defaultConfig: defaultConfig:
namespace: odoo namespace: odoo
externalDnsDomain: "{{ .cloud.domain }}"
domain: odoo.{{ .cloud.domain }} domain: odoo.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls
storage: 2Gi storage: 2Gi
db: db:
host: "{{ .apps.postgres.host }}" host: '{{ .apps.postgres.host }}'
port: "{{ .apps.postgres.port }}" port: '{{ .apps.postgres.port }}'
name: odoo name: odoo
user: odoo user: odoo
defaultSecrets: defaultSecrets:
- key: dbPassword - key: dbPassword
- key: adminPassword - key: adminPassword
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password

View File

@@ -3,10 +3,6 @@ kind: Ingress
metadata: metadata:
name: ohmyform name: ohmyform
namespace: {{ .namespace }} namespace: {{ .namespace }}
annotations:
external-dns.alpha.kubernetes.io/target: {{ .externalDnsDomain }}
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
external-dns.alpha.kubernetes.io/ttl: "60"
spec: spec:
ingressClassName: traefik ingressClassName: traefik
rules: rules:
@@ -27,7 +23,3 @@ spec:
name: ohmyform-ui name: ohmyform-ui
port: port:
number: 4000 number: 4000
tls:
- hosts:
- {{ .domain }}
secretName: {{ .tlsSecretName }}

View File

@@ -1,26 +1,25 @@
version: 1.0.3-2 version: 1.0.3-3
requires: requires:
- name: postgres - name: postgres
- name: redis - name: redis
defaultConfig: defaultConfig:
namespace: ohmyform namespace: ohmyform
externalDnsDomain: "{{ .cloud.domain }}"
domain: ohmyform.{{ .cloud.domain }} domain: ohmyform.{{ .cloud.domain }}
tlsSecretName: wildcard-wild-cloud-tls adminEmail: '{{ .operator.email }}'
adminEmail: "{{ .operator.email }}"
db: db:
host: "{{ .apps.postgres.host }}" host: '{{ .apps.postgres.host }}'
port: "{{ .apps.postgres.port }}" port: '{{ .apps.postgres.port }}'
name: ohmyform name: ohmyform
user: ohmyform user: ohmyform
redis: redis:
host: "{{ .apps.redis.host }}" host: '{{ .apps.redis.host }}'
defaultSecrets: defaultSecrets:
- key: dbPassword - key: dbPassword
- key: dbUrl - key: dbUrl
default: "postgresql://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host }}:{{ .app.db.port }}/{{ .app.db.name }}?sslmode=disable" default: postgresql://{{ .app.db.user }}:{{ .secrets.dbPassword }}@{{ .app.db.host
- key: secretKey }}:{{ .app.db.port }}/{{ .app.db.name }}?sslmode=disable
- key: adminPassword - key: secretKey
- key: adminPassword
requiredSecrets: requiredSecrets:
- postgres.password - postgres.password
- redis.password - redis.password

Some files were not shown because too many files have changed in this diff Show More