apps: refactor to new structure

This commit is contained in:
xeruf 2024-02-06 18:32:49 +01:00
parent 0710ff6532
commit 853522f5d4
56 changed files with 255 additions and 16 deletions

View File

@ -0,0 +1,13 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1beta1
kind: Kustomization
metadata:
name: stackspout-apps
namespace: flux-system
spec:
interval: 10m
retryInterval: 2m
prune: true
path: ./apps/code
sourceRef:
kind: GitRepository
name: stackspout

View File

@ -5,7 +5,7 @@ metadata:
namespace: flux-system
spec:
interval: 10m
retryInterval: 1m
retryInterval: 2m
wait: true
timeout: 3m
dependsOn:

View File

@ -0,0 +1,11 @@
---
apiVersion: secretgenerator.mittwald.de/v1alpha1
kind: StringSecret
metadata:
name: stackspin-gitea-variables
namespace: flux-system
spec:
fields:
- fieldName: gitea_mariadb_password
- fieldName: gitea_mariadb_root_password
- fieldName: gitea_session_secret

View File

@ -0,0 +1,12 @@
---
apiVersion: secretgenerator.mittwald.de/v1alpha1
kind: StringSecret
metadata:
name: stackspin-gitea-oauth-variables
namespace: flux-system
spec:
data:
client_id: gitea
fields:
- fieldName: client_secret
length: "32"

View File

@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- gitea-release.yaml
- gitea-values-configmap.yaml
- metallb-gitea.yaml
- gitea-oauth-client.yaml
- gitea-data-pvc.yaml
- gitea-postgres-pvc.yaml

View File

@ -6,7 +6,7 @@ metadata:
namespace: flux-system
spec:
interval: 10m
retryInterval: 1m
retryInterval: 2m
wait: true
timeout: 3m
dependsOn:

View File

@ -0,0 +1,9 @@
apiVersion: secretgenerator.mittwald.de/v1alpha1
kind: StringSecret
metadata:
name: stackspin-vikunja-variables
namespace: flux-system
spec:
fields:
- fieldName: jwt
- fieldName: postgresql_password

View File

@ -6,7 +6,7 @@ metadata:
namespace: flux-system
spec:
interval: 10m
retryInterval: 1m
retryInterval: 2m
wait: true
timeout: 3m
dependsOn:

View File

@ -0,0 +1,13 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1beta1
kind: Kustomization
metadata:
name: stackspout-apps
namespace: flux-system
spec:
interval: 10m
retryInterval: 2m
prune: true
path: ./apps/forge
sourceRef:
kind: GitRepository
name: stackspout

View File

@ -5,7 +5,7 @@ metadata:
namespace: flux-system
spec:
interval: 10m
retryInterval: 1m
retryInterval: 2m
wait: true
timeout: 3m
dependsOn:

View File

@ -1,8 +1,6 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- gitea-kustomization.yaml
- forgejo-kustomization.yaml
- invoiceninja-customization.yaml
- vikunja-kustomization.yaml
- vikunja-test-kustomization.yaml
- code-kustomization.yaml
- forge-kustomization.yaml
- ninja-kustomization.yaml

View File

@ -0,0 +1,13 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1beta1
kind: Kustomization
metadata:
name: stackspout-apps
namespace: flux-system
spec:
interval: 10m
retryInterval: 2m
prune: true
path: ./apps/ninja
sourceRef:
kind: GitRepository
name: stackspout

View File

@ -5,7 +5,7 @@ metadata:
namespace: flux-system
spec:
interval: 10m
retryInterval: 1m
retryInterval: 2m
wait: true
timeout: 3m
#dependsOn:

View File

@ -0,0 +1,12 @@
apiVersion: secretgenerator.mittwald.de/v1alpha1
kind: StringSecret
metadata:
name: stackspin-invoiceninja-variables
namespace: flux-system
spec:
fields:
- fieldName: app_key
- fieldName: password
- fieldName: redis_password
- fieldName: mariadb_password
- fieldName: mariadb_root_password

View File

@ -0,0 +1,9 @@
apiVersion: secretgenerator.mittwald.de/v1alpha1
kind: StringSecret
metadata:
name: stackspin-suitecrm-variables
namespace: flux-system
data:
password: "{{ 32 | generate_password | b64encode }}"
mariadb_password: "{{ 32 | generate_password | b64encode }}"
mariadb_root_password: "{{ 32 | generate_password | b64encode }}"

View File

@ -0,0 +1,25 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
kind: Kustomization
metadata:
name: zammad
namespace: flux-system
spec:
interval: 10m
retryInterval: 2m
wait: true
timeout: 3m
dependsOn:
- name: single-sign-on
sourceRef:
kind: GitRepository
name: stackspout
path: ./basic/apps/name
prune: true
postBuild:
substituteFrom:
#- kind: Secret
# name: stackspin-zammad-variables
- kind: Secret
name: stackspin-zammad-oauth-variables
- kind: Secret
name: stackspin-cluster-variables

View File

@ -0,0 +1,21 @@
apiVersion: hydra.ory.sh/v1alpha1
kind: OAuth2Client
metadata:
name: zammad-oauth-client
# Has to live in the same namespace as the stackspin-zammad-oauth-variables secret
namespace: flux-system
spec:
# TODO copied from wekan: https://github.com/wekan/wekan/wiki/Keycloak
grantTypes:
- authorization_code
- refresh_token
- client_credentials
- implicit
responseTypes:
- id_token
- code
scope: "openid profile email stackspin_roles"
secretName: stackspin-zammad-oauth-variables
#redirectUris:
# - https://support.${domain}/oauth/openid/
#tokenEndpointAuthMethod: client_secret_post

View File

@ -0,0 +1,15 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: zammad-data
namespace: stackspout
labels:
stackspin.net/backupSet: "zammad"
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
resources:
requests:
storage: 2Gi
storageClassName: local-path

View File

@ -0,0 +1,27 @@
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: zammad
namespace: stackspout
spec:
releaseName: zammad
chart:
spec:
chart: zammad
version: # TODO
sourceRef:
kind: HelmRepository
name: zammad
namespace: flux-system
interval: 5m
valuesFrom:
- kind: ConfigMap
name: stackspin-zammad-values
optional: false
# Allow overriding values by ConfigMap or Secret
- kind: ConfigMap
name: stackspin-zammad-override
optional: true
- kind: Secret
name: stackspin-zammad-override
optional: true

View File

@ -0,0 +1,40 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: stackspin-zammad-values
namespace: stackspout
data:
values.yaml: |
# TODO verify structure matches chart
ingress:
enabled: true
# Elaborate style
annotations:
kubernetes.io/tls-acme: "true"
hosts:
- host: "support.${domain}"
paths:
- path: /
pathType: Prefix
tls:
- secretName: zammad-tls
hosts:
- "support.${domain}"
# Bitnami style
hostname: "support.${domain}"
tls: true
certManager: true
# TODO Configure PVC for data & database
# TODO Adjust zammad Mailing config
# mailer:
# enabled: "${outgoing_mail_enabled}"
# host: "${outgoing_mail_smtp_host}"
# port: "${outgoing_mail_smtp_port}"
# username: "${outgoing_mail_smtp_user}"
# password: "${outgoing_mail_smtp_password}"
# fromemail: "${outgoing_mail_from_address}"
# TODO Adjust zammad OpenID Connect Single Sign-On Configuration
# - name: Stackspin
# key: "${client_id}"
# secret: "${client_secret}"
# autoDiscoverUrl: 'https://sso.${domain}/.well-known/openid-configuration'

View File

@ -0,0 +1,10 @@
apiVersion: secretgenerator.mittwald.de/v1alpha1
kind: StringSecret
metadata:
name: stackspin-kimai-variables
namespace: flux-system
data:
password: "{{ 32 | generate_password | b64encode }}"
secret: "{{ 32 | generate_password | b64encode }}"
mariadb_password: "{{ 32 | generate_password | b64encode }}"
mariadb_root_password: "{{ 32 | generate_password | b64encode }}"

View File

@ -1,6 +0,0 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- kimai-release.yaml
- pvc.yaml
- kimai-values-configmap.yaml

View File

@ -0,0 +1,8 @@
apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: HelmRepository
metadata:
name: zammad
namespace: flux-system
spec:
interval: 60m
url: https://zammad.github.io/zammad-helm