--- apiVersion: secretgenerator.mittwald.de/v1alpha1 kind: StringSecret metadata: name: memelord-raiko-redis spec: fields: - fieldName: redis-password length: "32" encoding: hex --- apiVersion: dragonflydb.io/v1alpha1 kind: Dragonfly metadata: name: memelord-raiko-redis spec: authentication: passwordFromSecret: name: memelord-raiko-redis key: redis-password replicas: 1 resources: requests: cpu: 500m memory: 500Mi limits: cpu: 600m memory: 750Mi --- apiVersion: secretgenerator.mittwald.de/v1alpha1 kind: StringSecret metadata: name: memelord-raiko-database labels: cnpg.io/reload: "true" spec: data: username: memelord-raiko fields: - fieldName: password length: "32" encoding: hex --- apiVersion: postgresql.cnpg.io/v1 kind: Cluster metadata: name: memelord-raiko-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-raiko ensure: present login: true passwordSecret: name: memelord-raiko-database --- apiVersion: postgresql.cnpg.io/v1 kind: Database metadata: name: memelord-raiko spec: name: memelord-raiko owner: memelord-raiko cluster: name: memelord-raiko-database --- apiVersion: s3.onyxia.sh/v1alpha1 kind: Policy metadata: name: memelord-raiko-policy spec: name: memelord-raiko-policy s3InstanceRef: minio/default policyContent: >- { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:*" ], "Resource": [ "arn:aws:s3:::memelord-raiko", "arn:aws:s3:::memelord-raiko/*" ] } ] } --- apiVersion: s3.onyxia.sh/v1alpha1 kind: S3User metadata: name: memelord-raiko-bucket spec: accessKey: memelord-raiko-bucket policies: - memelord-raiko-policy s3InstanceRef: minio/default --- apiVersion: s3.onyxia.sh/v1alpha1 kind: Bucket metadata: name: memelord-raiko spec: name: memelord-raiko s3InstanceRef: minio/default quota: default: 100000000 --- apiVersion: v1 kind: Service metadata: name: memelord spec: type: ClusterIP selector: app: memelord ports: - name: http port: 80 targetPort: 8000 --- apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: memelord-raiko spec: secretName: memelord-raiko-tls dnsNames: - {{ .Values.hostname }} issuerRef: name: letsencrypt kind: ClusterIssuer --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: memelord-raiko annotations: traefik.ingress.kubernetes.io/router.entrypoints: websecure spec: ingressClassName: traefik rules: - host: {{ .Values.hostname }} http: paths: - pathType: Prefix path: "/" backend: service: name: memelord port: number: 80 tls: - secretName: memelord-raiko-tls