# ----------------------------------------------------------------------- # VOLUMES # ----------------------------------------------------------------------- --- apiVersion: v1 kind: PersistentVolume metadata: name: mnml-postgres-pv spec: storageClassName: local-path capacity: storage: 1Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain claimRef: namespace: default name: mnml-postgres-pvc hostPath: path: "/var/lib/rancher/k3s/storage/mnml-postgres-pv" type: DirectoryOrCreate --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: mnml-postgres-pvc spec: volumeName: mnml-postgres-pv accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- apiVersion: v1 kind: PersistentVolume metadata: name: mnml-imgs-pv spec: storageClassName: local-path capacity: storage: 1Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain claimRef: namespace: default name: mnml-imgs-pvc hostPath: path: "/var/lib/rancher/k3s/storage/mnml-imgs-pv" type: DirectoryOrCreate --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: mnml-imgs-pvc spec: volumeName: mnml-imgs-pv accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- # ----------------------------------------------------------------------- # DEPLOYMENTS # ----------------------------------------------------------------------- apiVersion: apps/v1 kind: Deployment metadata: name: mnml-postgres spec: replicas: 1 selector: matchLabels: app: mnml-postgres template: metadata: labels: app: mnml-postgres spec: containers: - name: postgres image: postgres:latest ports: - containerPort: 5432 env: - name: POSTGRES_DB value: mnml - name: POSTGRES_USER value: mnml - name: POSTGRES_PASSWORD value: maximal volumeMounts: - name: mnml-postgres-storage mountPath: /var/lib/postgresql/data volumes: - name: mnml-postgres-storage persistentVolumeClaim: claimName: mnml-postgres-pvc --- apiVersion: apps/v1 kind: Deployment metadata: name: mnml-api spec: replicas: 1 selector: matchLabels: app: mnml-api template: metadata: labels: app: mnml-api spec: containers: - name: mnml-api image: registry.strix.systems/mnml-api imagePullPolicy: IfNotPresent ports: - containerPort: 40000 name: http - containerPort: 40055 name: ws env: - name: DATABASE_URL value: 'postgresql://mnml:maximal@mnml-postgres:5432/mnml' - name: MAIL_ADDRESS value: 'machines@mnml.gg' - name: MAIL_PASSWORD value: 'rabble' - name: MAIL_DOMAIN value: 'gmail' - name: STRIPE_WH_SECRET value: 'aaaaaaaaa' - name: STRIPE_SECRET value: 'bignreese' volumeMounts: - name: mnml-img-storage mountPath: /var/lib/mnml/public/imgs volumes: - name: mnml-img-storage persistentVolumeClaim: claimName: mnml-imgs-pvc --- apiVersion: apps/v1 kind: Deployment metadata: name: mnml-client spec: replicas: 1 selector: matchLabels: app: mnml-client template: metadata: labels: app: mnml-client spec: containers: - name: mnml-client image: registry.strix.systems/mnml-client imagePullPolicy: IfNotPresent ports: - containerPort: 8080 volumeMounts: - name: mnml-img-storage mountPath: /srv/imgs volumes: - name: mnml-img-storage persistentVolumeClaim: claimName: mnml-imgs-pvc --- # ----------------------------------------------------------------------- # SERVICES # ----------------------------------------------------------------------- apiVersion: v1 kind: Service metadata: name: mnml-api spec: selector: app: mnml-api ports: - port: 40000 name: http --- apiVersion: v1 kind: Service metadata: name: mnml-ws spec: selector: app: mnml-api ports: - port: 40055 name: ws --- apiVersion: v1 kind: Service metadata: name: mnml-postgres spec: selector: app: mnml-postgres ports: - port: 5432 --- apiVersion: v1 kind: Service metadata: name: mnml-client spec: selector: app: mnml-client ports: - port: 8080