REFACTOR(pgweb): migrate to bjw-s/app-template

- Replace deployment.yaml with helm-values.yaml
- ArgoCD uses app-template chart v3.6.1
- Ingress now defined in helm-values.yaml
This commit is contained in:
2026-01-06 15:41:55 +09:00
parent c46de7c16e
commit ef8bef964b
5 changed files with 85 additions and 100 deletions

View File

@@ -8,6 +8,15 @@ metadata:
spec: spec:
project: default project: default
sources: sources:
- repoURL: https://bjw-s.github.io/helm-charts
chart: app-template
targetRevision: 3.6.1
helm:
valueFiles:
- $values/pgweb/helm-values.yaml
- repoURL: https://github.com/K3S-HOME/storage.git
targetRevision: main
ref: values
- repoURL: https://github.com/K3S-HOME/storage.git - repoURL: https://github.com/K3S-HOME/storage.git
targetRevision: main targetRevision: main
path: pgweb path: pgweb

View File

@@ -1,62 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: pgweb
namespace: pgweb
labels:
app: pgweb
annotations:
reloader.stakater.com/auto: "true"
spec:
replicas: 1
selector:
matchLabels:
app: pgweb
template:
metadata:
labels:
app: pgweb
spec:
containers:
- name: pgweb
image: sosedoff/pgweb:0.17.0
ports:
- containerPort: 8081
name: http
env:
- name: DATABASE_URL
valueFrom:
secretKeyRef:
name: pgweb-password
key: database-url
args:
- "--bind=0.0.0.0"
- "--listen=8081"
resources:
requests:
memory: "64Mi"
cpu: "5m" # Reduced from 50m based on actual usage (1m)
livenessProbe:
tcpSocket:
port: 8081
initialDelaySeconds: 10
periodSeconds: 10
readinessProbe:
tcpSocket:
port: 8081
initialDelaySeconds: 5
periodSeconds: 5
---
apiVersion: v1
kind: Service
metadata:
name: pgweb
namespace: pgweb
spec:
type: ClusterIP
ports:
- name: http
port: 80
targetPort: 8081
selector:
app: pgweb

76
pgweb/helm-values.yaml Normal file
View File

@@ -0,0 +1,76 @@
# pgweb - bjw-s/app-template values
# PostgreSQL Web UI
controllers:
main:
annotations:
reloader.stakater.com/auto: "true"
containers:
main:
image:
repository: sosedoff/pgweb
tag: "0.17.0"
args:
- "--bind=0.0.0.0"
- "--listen=8081"
env:
DATABASE_URL:
valueFrom:
secretKeyRef:
name: pgweb-password
key: database-url
resources:
requests:
cpu: 5m
memory: 64Mi
probes:
liveness:
enabled: true
custom: true
spec:
tcpSocket:
port: 8081
initialDelaySeconds: 10
periodSeconds: 10
readiness:
enabled: true
custom: true
spec:
tcpSocket:
port: 8081
initialDelaySeconds: 5
periodSeconds: 5
service:
main:
controller: main
ports:
http:
port: 80
targetPort: 8081
ingress:
main:
enabled: true
className: traefik
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
traefik.ingress.kubernetes.io/router.middlewares: authelia-authelia-auth@kubernetescrd
hosts:
- host: pgweb0213.kro.kr
paths:
- path: /
service:
identifier: main
port: http
- host: www.pgweb0213.kro.kr
paths:
- path: /
service:
identifier: main
port: http
tls:
- secretName: pgweb-tls
hosts:
- pgweb0213.kro.kr
- www.pgweb0213.kro.kr

View File

@@ -1,36 +0,0 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: pgweb-ingress
namespace: pgweb
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
traefik.ingress.kubernetes.io/router.middlewares: authelia-authelia-auth@kubernetescrd
spec:
ingressClassName: traefik
tls:
- hosts:
- pgweb0213.kro.kr
- www.pgweb0213.kro.kr
secretName: pgweb-tls
rules:
- host: pgweb0213.kro.kr
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: pgweb
port:
number: 80
- host: www.pgweb0213.kro.kr
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: pgweb
port:
number: 80

View File

@@ -1,6 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: resources:
- deployment.yaml
- vault/pgweb-secret.yaml - vault/pgweb-secret.yaml
- ingress.yaml