# ================================================== # pgAdmin Secret # ================================================== apiVersion: v1 kind: Secret metadata: name: pgadmin-secret type: Opaque stringData: PGADMIN_DEFAULT_EMAIL: admin@juntekim.com PGADMIN_DEFAULT_PASSWORD: PersonAppleWinter938 --- # ================================================== # pgAdmin Deployment (STATELESS) # ================================================== apiVersion: apps/v1 kind: Deployment metadata: name: pgadmin spec: replicas: 1 selector: matchLabels: app: pgadmin template: metadata: labels: app: pgadmin spec: containers: - name: pgadmin image: dpage/pgadmin4:latest ports: - containerPort: 80 envFrom: - secretRef: name: pgadmin-secret readinessProbe: httpGet: path: / port: 80 initialDelaySeconds: 10 periodSeconds: 10 livenessProbe: httpGet: path: / port: 80 initialDelaySeconds: 30 periodSeconds: 20 --- # ================================================== # pgAdmin Service # ================================================== apiVersion: v1 kind: Service metadata: name: pgadmin spec: type: ClusterIP selector: app: pgadmin ports: - port: 80 targetPort: 80 --- # ================================================== # Traefik IngressRoute # ================================================== apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: pgadmin spec: entryPoints: - websecure routes: - match: Host(`pgadmin.juntekim.com`) kind: Rule services: - name: pgadmin port: 80 tls: certResolver: myresolver