apiVersion: apps/v1
kind: Deployment
metadata:
  name: guacamole
  namespace: guacamole
  labels:
    app: guacamole
spec:
  replicas: 1
  selector:
    matchLabels:
      app: guacamole
  template:
    metadata:
      labels:
        app: guacamole
    spec:
      hostname: guacamole
      containers:
      - name: guacamole
        image: guacamole/guacamole:1.5.5
        env:
        - name: GUACD_HOSTNAME
          value: 'guacamole.guacamole.svc.cluster.local'
        - name: POSTGRESQL_HOSTNAME
          value: 'guacamole.guacamole.svc.cluster.local'
        - name: GUACAMOLE_HOME
          value: '/etc/guacamole'
        envFrom:
        - secretRef:
            name: guacamole-db-secret
        volumeMounts:
        - name: flexvolsmb-guacamole-home
          mountPath: /etc/guacamole
        ports:
          - name: ui
            containerPort: 8080
      - name: guacd
        image: guacamole/guacd:1.5.5
        env:
        - name: GUACD_LOG_LEVEL
          value: 'debug'
        ports:
          - name: proxy
            containerPort: 4822
      - name: db
        image: postgres:16-alpine
        securityContext:
          runAsUser: 70
          runAsGroup: 70
        env:
        - name: PGDATA
          value: /var/lib/postgresql/data/pgdata
        envFrom:
        - secretRef:
            name: guacamole-db-secret
        volumeMounts:
        - name: flexvolsmb-guacamole-db
          mountPath: /var/lib/postgresql/data
        ports:
          - name: db
            containerPort: 5432
      volumes:
      - name: flexvolsmb-guacamole-db
        persistentVolumeClaim:
          claimName: flexvolsmb-guacamole-db
      - name: flexvolsmb-guacamole-home
        persistentVolumeClaim:
          claimName: flexvolsmb-guacamole-home