mirror of
https://github.com/auricom/home-cluster.git
synced 2025-09-28 13:05:26 +02:00
✨ new talos cluster
This commit is contained in:
31
kubernetes/cluster-0/apps/web-tools/vikunja/config/Caddyfile
Normal file
31
kubernetes/cluster-0/apps/web-tools/vikunja/config/Caddyfile
Normal file
@@ -0,0 +1,31 @@
|
||||
{
|
||||
admin off
|
||||
auto_https off
|
||||
}
|
||||
|
||||
:8080 {
|
||||
log {
|
||||
output stdout
|
||||
}
|
||||
|
||||
@api {
|
||||
path /api/*
|
||||
path /.well-known/*
|
||||
path /dav/*
|
||||
}
|
||||
|
||||
header {
|
||||
# Remove Server header
|
||||
-Server
|
||||
}
|
||||
|
||||
# API
|
||||
handle @api {
|
||||
reverse_proxy localhost:3456
|
||||
}
|
||||
|
||||
# Filtron
|
||||
handle {
|
||||
reverse_proxy localhost:80
|
||||
}
|
||||
}
|
120
kubernetes/cluster-0/apps/web-tools/vikunja/helm-release.yaml
Normal file
120
kubernetes/cluster-0/apps/web-tools/vikunja/helm-release.yaml
Normal file
@@ -0,0 +1,120 @@
|
||||
---
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2beta1
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: &app vikunja
|
||||
namespace: default
|
||||
spec:
|
||||
interval: 15m
|
||||
chart:
|
||||
spec:
|
||||
chart: app-template
|
||||
version: 1.0.1
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: bjw-s
|
||||
namespace: flux-system
|
||||
install:
|
||||
createNamespace: true
|
||||
remediation:
|
||||
retries: 5
|
||||
upgrade:
|
||||
remediation:
|
||||
retries: 5
|
||||
dependsOn:
|
||||
- name: postgres-cluster
|
||||
namespace: default
|
||||
values:
|
||||
controller:
|
||||
replicas: 1
|
||||
strategy: Recreate
|
||||
image:
|
||||
repository: caddy
|
||||
tag: 2.6.2-alpine
|
||||
envFrom:
|
||||
- secretRef:
|
||||
name: *app
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
http:
|
||||
port: 8080
|
||||
ingress:
|
||||
main:
|
||||
enabled: true
|
||||
ingressClassName: "nginx"
|
||||
annotations:
|
||||
external-dns.home.arpa/enabled: "true"
|
||||
hosts:
|
||||
- host: &host "{{ .Release.Name }}.${SECRET_CLUSTER_DOMAIN}"
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
tls:
|
||||
- hosts:
|
||||
- *host
|
||||
persistence:
|
||||
files:
|
||||
enabled: true
|
||||
existingClaim: vikunja-files
|
||||
mountpath: /app/vikunja/files
|
||||
caddy-config:
|
||||
enabled: "true"
|
||||
mountPath: /etc/caddy/Caddyfile
|
||||
subPath: Caddyfile
|
||||
type: "custom"
|
||||
volumeSpec:
|
||||
configMap:
|
||||
name: *app
|
||||
vikunja-config:
|
||||
enabled: "true"
|
||||
mountPath: /etc/vikunja/config.yml
|
||||
subPath: Vikunja.yaml
|
||||
type: "custom"
|
||||
volumeSpec:
|
||||
configMap:
|
||||
name: *app
|
||||
podAnnotations:
|
||||
configMap.reloader.stakater.com/reload: *app
|
||||
secret.reloader.stakater.com/reload: *app
|
||||
resources:
|
||||
requests:
|
||||
cpu: 5m
|
||||
memory: 10Mi
|
||||
limits:
|
||||
memory: 100Mi
|
||||
additionalContainers:
|
||||
api:
|
||||
name: api
|
||||
image: vikunja/api:0.20.1
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: VIKUNJA_SERVICE_JWTSECRET
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: vikunja
|
||||
key: VIKUNJA_SERVICE_JWTSECRET
|
||||
- name: VIKUNJA_DATABASE_TYPE
|
||||
value: postgres
|
||||
- name: VIKUNJA_DATABASE_HOST
|
||||
value: postgres-rw.default.svc.cluster.local.
|
||||
- name: VIKUNJA_DATABASE_DATABASE
|
||||
value: vikunja
|
||||
- name: VIKUNJA_DATABASE_USER
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: vikunja
|
||||
key: VIKUNJA_DATABASE_USER
|
||||
- name: VIKUNJA_DATABASE_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: vikunja
|
||||
key: VIKUNJA_DATABASE_PASSWORD
|
||||
volumeMounts:
|
||||
- name: vikunja-config
|
||||
mountPath: /etc/vikunja/config.yml
|
||||
subPath: Vikunja.yaml
|
||||
frontend:
|
||||
name: frontend
|
||||
image: vikunja/frontend:0.20.1
|
||||
imagePullPolicy: IfNotPresent
|
@@ -0,0 +1,16 @@
|
||||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
namespace: default
|
||||
resources:
|
||||
- secret.sops.yaml
|
||||
- helm-release.yaml
|
||||
- volume.yaml
|
||||
patchesStrategicMerge:
|
||||
- patches/postgres.yaml
|
||||
configMapGenerator:
|
||||
- name: vikunja
|
||||
files:
|
||||
- config/Caddyfile
|
||||
generatorOptions:
|
||||
disableNameSuffixHash: true
|
@@ -0,0 +1,31 @@
|
||||
---
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2beta1
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: vikunja
|
||||
namespace: default
|
||||
spec:
|
||||
values:
|
||||
initContainers:
|
||||
init-db:
|
||||
image: ghcr.io/onedr0p/postgres-initdb:14.5
|
||||
env:
|
||||
- name: POSTGRES_HOST
|
||||
value: postgres-rw.default.svc.cluster.local.
|
||||
- name: POSTGRES_DB
|
||||
value: vikunja
|
||||
- name: POSTGRES_SUPER_PASS
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: postgres-superuser
|
||||
key: password
|
||||
- name: POSTGRES_USER
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: vikunja
|
||||
key: VIKUNJA_DATABASE_USER
|
||||
- name: POSTGRES_PASS
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: vikunja
|
||||
key: VIKUNJA_DATABASE_PASSWORD
|
34
kubernetes/cluster-0/apps/web-tools/vikunja/secret.sops.yaml
Normal file
34
kubernetes/cluster-0/apps/web-tools/vikunja/secret.sops.yaml
Normal file
@@ -0,0 +1,34 @@
|
||||
# yamllint disable
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: vikunja
|
||||
namespace: default
|
||||
type: Opaque
|
||||
stringData:
|
||||
VIKUNJA_SERVICE_JWTSECRET: ENC[AES256_GCM,data:4J8HtMOUKxNTEksSXYKrAAQ2KNFvdluzTvzY05/8T7k=,iv:h/666tO3f5hplYEaVJsh4BGjPlO/sFopb3+ryI3dzsQ=,tag:8dJLb9f2QgH9S/8qwF2ryg==,type:str]
|
||||
VIKUNJA_DATABASE_USER: ENC[AES256_GCM,data:IzqNYqs+HQ==,iv:bfIcOoN/DhtqAcTYtSRBXnnPF+0zM4YY+kKYGesEUJo=,tag:4C1FeAoG6QOc2AqKRKxaSw==,type:str]
|
||||
VIKUNJA_DATABASE_PASSWORD: ENC[AES256_GCM,data:7EylHKZA0JLmu+9ooB8oVw==,iv:AaXKHrU9yBPE1hci/cfOtnkxq5XHVeoJbRLzJ/SjLxE=,tag:x9stCWILtUYHjxBKNrhXEg==,type:str]
|
||||
VIKUNJA_MAILER_HOST: ENC[AES256_GCM,data:oRfkMDOjxFl1f/EOlAkkHgEFTufyYjcvv6RwFSMRyLGKt/wr8A==,iv:U3Jafk0PMBnjzEfvyZ9x5oUUfulCee7j6FTgg+bNGiA=,tag:b0EYelcD1+mZJgF6MGQbiA==,type:str]
|
||||
VIKUNJA_MAILER_PORT: ENC[AES256_GCM,data:hR5uWg==,iv:r7C2+WKphiadrgSC5yPlSEzB848im2sycU/3JW/B8PQ=,tag:W1wZ+onDoOtQc/Ew40JFkg==,type:str]
|
||||
VIKUNJA_MAILER_FROMEMAIL: ENC[AES256_GCM,data:UpQWnJN0aLcBYAi238SGkWg1TrjOqUXA3JtBSalZVfuroA==,iv:VVUjuNiIc82KlH2pd0qMlOIZEoRi3DHcRqP1yGTk/IU=,tag:PVqBIYoD9Tz1hg74coLeHA==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
azure_kv: []
|
||||
hc_vault: []
|
||||
age:
|
||||
- recipient: age1hhurqwmfvl9m3vh3hk8urulfzcdsrep2ax2neazqt435yhpamu3qj20asg
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4TWU5YTlFY3FPQWhnZ2I2
|
||||
akxnZ2xIRVNFZTdOWmg0dFhxTUNoZEFIM1cwCit5WnduNlQ1MkF2aytCVldMeVlC
|
||||
Yk5QNWRQRllOT3ZTL3VGcjJNK1VqeUkKLS0tIFMyWHNFd29nc2tMektxclJkK0pT
|
||||
Ny9OQ0l4ZXMrdW40NmRsbzgvZ0w5V3cKqTGvN5zk2TPgtxoVfwI7Wsz4N+lC9+Kq
|
||||
DCXTgTU/QXm9dvo4ErPPzeWFqdk4JchExhvSJV2JfM32O+3z+EGhNg==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2022-09-16T20:42:23Z"
|
||||
mac: ENC[AES256_GCM,data:0fH3fnxti4QLymzxc0gN5SWXbzpKUl0Mq2OG/fs5jx3YB9YW2ZNR6D7eO7A0dtF8G61YZT/fL4+MJtcQW8Gl/snVAFdEU2GLs6Jr5orCFvoHzaIzkl68/eehrWC6CFHpfljlBqNn5lA85GU8t4zrIbZiO207rDdPYsTZIXu3G8E=,iv:bOzx4OVPkoTbvABLsRF11VshmYIyTImhgRbPEiCF6lM=,tag:3I2VNKnAeqwK5yqdYiK0hQ==,type:str]
|
||||
pgp: []
|
||||
encrypted_regex: ^(data|stringData)$
|
||||
version: 3.7.3
|
17
kubernetes/cluster-0/apps/web-tools/vikunja/volume.yaml
Normal file
17
kubernetes/cluster-0/apps/web-tools/vikunja/volume.yaml
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: vikunja-files
|
||||
namespace: default
|
||||
labels:
|
||||
app.kubernetes.io/name: &name vikunja
|
||||
app.kubernetes.io/instance: *name
|
||||
snapshot.home.arpa/enabled: "true"
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
storageClassName: rook-ceph-block
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
Reference in New Issue
Block a user