--- # Source: pgadmin/templates/pvc.yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pgadmin-data namespace: pgadmin spec: accessModes: - ReadWriteOnce storageClassName: "longhorn" resources: requests: storage: "5Gi" --- # Source: pgadmin/templates/service.yaml apiVersion: v1 kind: Service metadata: name: pgadmin namespace: pgadmin spec: type: ClusterIP selector: app: pgadmin ports: - name: http port: 80 targetPort: 80 --- # Source: pgadmin/templates/deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: pgadmin namespace: pgadmin spec: replicas: 1 selector: matchLabels: app: pgadmin template: metadata: labels: app: pgadmin spec: nodeSelector: workload: app securityContext: fsGroup: 5050 fsGroupChangePolicy: "OnRootMismatch" containers: - name: pgadmin image: "dpage/pgadmin4:9.15" securityContext: runAsUser: 5050 runAsGroup: 5050 ports: - containerPort: 80 name: http envFrom: - secretRef: name: pgadmin-secret env: - name: SCRIPT_NAME value: "/internal/dev/pgadmin" volumeMounts: - name: pgadmin-data mountPath: /var/lib/pgadmin volumes: - name: pgadmin-data persistentVolumeClaim: claimName: pgadmin-data --- # Source: pgadmin/templates/httproute.yaml apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: pgadmin namespace: pgadmin spec: parentRefs: - name: public-gateway namespace: apps hostnames: - "www.symcrest.com" rules: - matches: - path: type: Exact value: "/internal/dev/pgadmin" filters: - type: RequestRedirect requestRedirect: path: type: ReplaceFullPath replaceFullPath: "/internal/dev/pgadmin/" statusCode: 301 - matches: - path: type: PathPrefix value: "/internal/dev/pgadmin/" backendRefs: - name: pgadmin port: 80