Split manifest and add ConfigMap

This commit is contained in:
2026-02-10 13:29:32 +02:00
parent e54921a4cc
commit 91929adf45
5 changed files with 941 additions and 256 deletions

51
bucket.yaml Normal file
View File

@@ -0,0 +1,51 @@
---
apiVersion: s3.onyxia.sh/v1alpha1
kind: Policy
metadata:
name: memelord-kkurval-policy
spec:
name: memelord-kkurval-policy
s3InstanceRef: minio/default
policyContent: >-
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetObject",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::memelord-kkurval",
"arn:aws:s3:::memelord-kkurval/*"
]
}
]
}
---
apiVersion: s3.onyxia.sh/v1alpha1
kind: S3User
metadata:
name: memelord-kkurval-bucket
spec:
accessKey: memelord-kkurval-bucket # This is automatically created
policies:
- memelord-kkurval-policy
s3InstanceRef: minio/default
---
apiVersion: s3.onyxia.sh/v1alpha1
kind: Bucket
metadata:
name: memelord-kkurval
spec:
name: memelord-kkurval
s3InstanceRef: minio/default
quota:
default: 100000000
# Minio is depricated. No sure what it is for...
# Maps key to file. Instead of filesystem and filename...

53
ingress.yaml Normal file
View File

@@ -0,0 +1,53 @@
# For public access
---
apiVersion: v1
kind: Service
metadata:
name: memelord-kkurval-app
spec:
type: ClusterIP
selector:
app: memelord-kkurval-app
ports:
- name: http
port: 80
targetPort: 8000
# Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`.
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: memelord-kkurval
spec:
secretName: memelord-kkurval-tls
dnsNames:
- memelord-kkurval.ee-lte-1.codemowers.io
issuerRef:
name: letsencrypt
kind: ClusterIssuer
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: memelord-kkurval
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: websecure
spec:
ingressClassName: traefik
rules:
- host: memelord-kkurval.ee-lte-1.codemowers.io
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: memelord-kkurval-app
port:
number: 80
tls:
- secretName: memelord-kkurval-tls

File diff suppressed because it is too large Load Diff

61
postgres.yaml Normal file
View File

@@ -0,0 +1,61 @@
---
apiVersion: secretgenerator.mittwald.de/v1alpha1
kind: StringSecret
metadata:
name: memelord-kkurval-database
labels:
cnpg.io/reload: "true"
spec:
data:
username: memelord-kkurval
fields:
- fieldName: password
length: "32"
encoding: hex
# For regular database data..
---
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: memelord-kkurval-database
spec:
instances: 1
imageName: ghcr.io/cloudnative-pg/postgresql:17
storage:
size: 1Gi
storageClass: postgres
affinity:
podAntiAffinityType: required
nodeSelector:
codemowers.io/lvm-ubuntu-vg: enterprise-ssd
resources:
requests:
cpu: "100m"
memory: "1Gi"
limits:
cpu: "1"
memory: "4Gi"
postgresql:
parameters:
max_connections: "300"
shared_buffers: "512MB"
effective_cache_size: "2GB"
managed:
roles:
- name: memelord-kkurval
ensure: present
login: true
passwordSecret:
name: memelord-kkurval-database
---
apiVersion: postgresql.cnpg.io/v1
kind: Database
metadata:
name: memelord-kkurval
spec:
name: memelord-kkurval
owner: memelord-kkurval
cluster:
name: memelord-kkurval-database

31
redis.yaml Normal file
View File

@@ -0,0 +1,31 @@
---
# For session info, fast database
apiVersion: secretgenerator.mittwald.de/v1alpha1
kind: StringSecret
metadata:
# Not very good. Find something better then redis
name: memelord-kkurval-redis
spec:
fields:
- fieldName: redis-password
length: "32"
encoding: hex
---
apiVersion: dragonflydb.io/v1alpha1
kind: Dragonfly
metadata:
name: memelord-kkurval-redis
spec:
authentication:
passwordFromSecret:
name: memelord-kkurval-redis
key: redis-password
replicas: 1
resources:
requests:
cpu: 500m
memory: 500Mi
limits:
cpu: 600m
memory: 750Mi