This commit is contained in:
2024-05-22 12:49:28 -05:00
commit 35b77bb0df
219 changed files with 9997 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
apiVersion: v2
name: taiga
version: 1.0.0
sources:
- https://github.com/taigaio
- https://github.com/rabbitmq/rabbitmq-server
- https://github.com/alexlebens/helm-charts/charts/taiga
- https://github.com/alexlebens/helm-charts/charts/postgres-cluster
dependencies:
- name: taiga
version: 0.2.2
repository: http://alexlebens.github.io/helm-charts
- name: postgres-cluster
alias: postgres-16-cluster
version: 3.0.0
repository: http://alexlebens.github.io/helm-charts
appVersion: 6.7.7

View File

@@ -0,0 +1,200 @@
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: taiga-key-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: taiga-key-secret
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: key
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /taiga/key
metadataPolicy: None
property: key
---
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: taiga-oidc-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: taiga-oidc-secret
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: client
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /authentik/oidc/taiga
metadataPolicy: None
property: client
- secretKey: secret
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /authentik/oidc/taiga
metadataPolicy: None
property: secret
- secretKey: scopes
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /authentik/oidc/taiga
metadataPolicy: None
property: scopes
- secretKey: signatureAlgorithm
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /authentik/oidc/taiga
metadataPolicy: None
property: signatureAlgorithm
- secretKey: baseUrl
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /authentik/oidc/taiga
metadataPolicy: None
property: baseUrl
- secretKey: jwksEndpoint
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /authentik/oidc/taiga
metadataPolicy: None
property: jwksEndpoint
- secretKey: authorizationEndpoint
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /authentik/oidc/taiga
metadataPolicy: None
property: authorizationEndpoint
- secretKey: tokenEndpoint
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /authentik/oidc/taiga
metadataPolicy: None
property: tokenEndpoint
- secretKey: userEndpoint
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /authentik/oidc/taiga
metadataPolicy: None
property: userEndpoint
---
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: taiga-async-rabbitmq-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: taiga-async-rabbitmq-secret
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: password
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /taiga/rabbitmq/async
metadataPolicy: None
property: password
- secretKey: erlang
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /taiga/rabbitmq/async
metadataPolicy: None
property: erlang
---
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: taiga-events-rabbitmq-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: taiga-events-rabbitmq-secret
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: password
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /taiga/rabbitmq/events
metadataPolicy: None
property: password
- secretKey: erlang
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /taiga/rabbitmq/events
metadataPolicy: None
property: erlang
---
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: taiga-postgresql-16-cluster-backup-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: taiga-postgresql-16-cluster-backup-secret
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: database
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: ACCESS_KEY_ID
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /aws/keys/cl01tl-taiga-postgresql
metadataPolicy: None
property: access_key
- secretKey: ACCESS_SECRET_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /aws/keys/cl01tl-taiga-postgresql
metadataPolicy: None
property: secret_key

View File

@@ -0,0 +1,152 @@
taiga:
serviceAccount:
create: true
secretKey:
existingSecretName: taiga-key-secret
existingSecretKey: key
createInitialUser: false
enableTelemetry: false
publicRegisterEnabled: false
postgresql:
existingSecretName: taiga-postgresql-16-cluster-app
usernameKey: username
passwordKey: password
databaseNameKey: dbname
hostKey: host
portKey: port
oidc:
enabled: true
existingSecretName: taiga-oidc-secret
scopesKey: scopes
signatureAlgorithmKey: signatureAlgorithm
clientIdKey: client
clientSecretKey: secret
baseUrlKey: baseUrl
jwksEndpointKey: jwksEndpoint
authorizationEndpointKey: authorizationEndpoint
tokenEndpointKey: tokenEndpoint
userEndpointKey: userEndpoint
back:
image:
repository: ghcr.io/alexlebens/taiga-back-docker-oidc
tag: latest
pullPolicy: Always
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 500m
memory: 1Gi
livenessProbe:
enabled: true
readinessProbe:
enabled: true
async:
image:
repository: ghcr.io/alexlebens/taiga-back-docker-oidc
tag: latest
pullPolicy: Always
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 500m
memory: 1Gi
livenessProbe:
enabled: true
readinessProbe:
enabled: true
async-rabbitmq:
auth:
username: taiga
existingPasswordSecret: taiga-async-rabbitmq-secret
existingSecretPasswordKey: password
existingErlangSecret: taiga-async-rabbitmq-secret
existingSecretErlangKey: erlang
events:
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 500m
memory: 1Gi
livenessProbe:
enabled: false
readinessProbe:
enabled: false
events-rabbitmq:
auth:
username: taiga
existingPasswordSecret: taiga-events-rabbitmq-secret
existingSecretPasswordKey: password
existingErlangSecret: taiga-events-rabbitmq-secret
existingSecretErlangKey: erlang
protected:
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 500m
memory: 1Gi
livenessProbe:
enabled: false
readinessProbe:
enabled: false
front:
image:
repository: ghcr.io/alexlebens/taiga-front-docker-oidc
tag: latest
pullPolicy: Always
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 500m
memory: 1Gi
livenessProbe:
enabled: true
readinessProbe:
enabled: true
ingress:
enabled: true
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.tls: "true"
cert-manager.io/cluster-issuer: letsencrypt-issuer
className: traefik
host: taiga.alexlebens.net
persistence:
static:
enabled: true
storageClass: nfs-client
accessMode: ReadWriteMany
size: 1Gi
media:
enabled: true
storageClass: nfs-client
accessMode: ReadWriteMany
size: 1Gi
postgres-16-cluster:
mode: standalone
kubernetesClusterName: cl01tl
cluster:
walStorage:
storageClass: local-path
storage:
storageClass: local-path
monitoring:
enabled: true
prometheusRule:
enabled: false
backup:
enabled: true
endpointURL: https://s3.us-east-2.amazonaws.com
destinationPath: s3://cl01tl-postgresql-backups/taiga
endpointCredentials: taiga-postgresql-16-cluster-backup-secret
backupIndex: 1
retentionPolicy: 14d