feat: add pg-admin
This commit is contained in:
@@ -0,0 +1,16 @@
|
|||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: pgadmin
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 10m
|
||||||
|
path: ./apps/pgadmin
|
||||||
|
prune: true
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
name: flux-system
|
||||||
|
decryption:
|
||||||
|
provider: sops
|
||||||
|
secretRef:
|
||||||
|
name: sops-age
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: pgadmin-config
|
||||||
|
namespace: pgadmin
|
||||||
|
data:
|
||||||
|
servers.json: |
|
||||||
|
{
|
||||||
|
"Servers": {
|
||||||
|
"1": {
|
||||||
|
"Name": "Davis",
|
||||||
|
"Group": "CNPG",
|
||||||
|
"Host": "davis-db-rw.davis.svc.cluster.local",
|
||||||
|
"Port": 5432,
|
||||||
|
"MaintenanceDB": "postgres",
|
||||||
|
"Username": "postgres",
|
||||||
|
"SSLMode": "prefer"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"Name": "Forgejo",
|
||||||
|
"Group": "CNPG",
|
||||||
|
"Host": "forgejo-db-rw.forgejo.svc.cluster.local",
|
||||||
|
"Port": 5432,
|
||||||
|
"MaintenanceDB": "postgres",
|
||||||
|
"Username": "postgres",
|
||||||
|
"SSLMode": "prefer"
|
||||||
|
},
|
||||||
|
"3": {
|
||||||
|
"Name": "Garmin",
|
||||||
|
"Group": "CNPG",
|
||||||
|
"Host": "garmin-db-rw.garmin.svc.cluster.local",
|
||||||
|
"Port": 5432,
|
||||||
|
"MaintenanceDB": "postgres",
|
||||||
|
"Username": "postgres",
|
||||||
|
"SSLMode": "prefer"
|
||||||
|
},
|
||||||
|
"4": {
|
||||||
|
"Name": "Synapse",
|
||||||
|
"Group": "CNPG",
|
||||||
|
"Host": "synapse-db-rw.synapse.svc.cluster.local",
|
||||||
|
"Port": 5432,
|
||||||
|
"MaintenanceDB": "postgres",
|
||||||
|
"Username": "postgres",
|
||||||
|
"SSLMode": "prefer"
|
||||||
|
},
|
||||||
|
"5": {
|
||||||
|
"Name": "Synapse MAS",
|
||||||
|
"Group": "CNPG",
|
||||||
|
"Host": "mas-db-rw.synapse.svc.cluster.local",
|
||||||
|
"Port": 5432,
|
||||||
|
"MaintenanceDB": "postgres",
|
||||||
|
"Username": "postgres",
|
||||||
|
"SSLMode": "prefer"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: pgadmin
|
||||||
|
namespace: pgadmin
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: pgadmin
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: pgadmin
|
||||||
|
spec:
|
||||||
|
securityContext:
|
||||||
|
fsGroup: 5050
|
||||||
|
containers:
|
||||||
|
- name: pgadmin
|
||||||
|
image: dpage/pgadmin4:latest
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
envFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: pgadmin-secret
|
||||||
|
env:
|
||||||
|
- name: PGADMIN_SERVER_JSON_FILE
|
||||||
|
value: /pgadmin4/servers.json
|
||||||
|
volumeMounts:
|
||||||
|
- name: pgadmin-data
|
||||||
|
mountPath: /var/lib/pgadmin
|
||||||
|
- name: pgadmin-config
|
||||||
|
mountPath: /pgadmin4/servers.json
|
||||||
|
subPath: servers.json
|
||||||
|
volumes:
|
||||||
|
- name: pgadmin-data
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: pgadmin-pvc
|
||||||
|
- name: pgadmin-config
|
||||||
|
configMap:
|
||||||
|
name: pgadmin-config
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: pgadmin
|
||||||
|
resources:
|
||||||
|
- namespace.yaml
|
||||||
|
- secret.sops.yaml
|
||||||
|
- configmap.yaml
|
||||||
|
- pvc.yaml
|
||||||
|
- deployment.yaml
|
||||||
|
- service.yaml
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: pgadmin
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: pgadmin-pvc
|
||||||
|
namespace: pgadmin
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
storageClassName: longhorn # du nutzt Longhorn laut deiner Struktur
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 1Gi
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
apiVersion: ENC[AES256_GCM,data:S6I=,iv:9kcFV2XMJVl1j8uPvyg4zDIaUa0WHLUK7jkH1ZjYWK8=,tag:w1Xz8SWN2exyt0f9lGsOdg==,type:str]
|
||||||
|
kind: ENC[AES256_GCM,data:2LHfZbCK,iv:DqMYkW+7+9Ved4hvXRBiqK1ydY5GrHTnToNLMU4Ne90=,tag:J84eLTmKxHwaC+QLX1jJrw==,type:str]
|
||||||
|
metadata:
|
||||||
|
name: ENC[AES256_GCM,data:5uP/Faegom7X2qE3fGs=,iv:Rr2l4PaiS9GDnZoT3ASRH6CGq0snnaLDHoJfAqfZItg=,tag:DgVmVgFKnz8oTdw/wgmJAw==,type:str]
|
||||||
|
namespace: ENC[AES256_GCM,data:1AZ1cHo59w==,iv:uEVIvjVXMOyd+LXelmTwuW3BcAJUY8ycYFJhB0oHK/U=,tag:uqBy8SkwTd+hwKjGm4afzQ==,type:str]
|
||||||
|
stringData:
|
||||||
|
#ENC[AES256_GCM,data:PWJdjfRj6U8k,iv:E2CGfPxRBJI0Vhr0WZ/E1dYTqItREyPl2CNUmYpIFwo=,tag:kNBAsTaWa8j4ZexqK+GlJg==,type:comment]
|
||||||
|
PGADMIN_DEFAULT_EMAIL: ENC[AES256_GCM,data:ic6a0htMv2Vc5gFaNlIKe60nLyM=,iv:BvevFffY2XW02zJf7gOT5XHFXmC7lpYU3dY9ZIZ1pWU=,tag:tDM4yDpo7wknOEeJxvkaOA==,type:str]
|
||||||
|
#ENC[AES256_GCM,data:bVMCR1ntygJ+H6dVsl0IUk53+1fccludCqPiVKU=,iv:B0/KW1EAAcukyBWvBREpkhiMiDGsJ9W4vB6/6mF+JUo=,tag:SMzHjGq4O1NCfQeyeRkQlA==,type:comment]
|
||||||
|
PGADMIN_DEFAULT_PASSWORD: ENC[AES256_GCM,data:bFMgeTFcay0=,iv:bAoWlJsfDzwnEcYQ8Yi3QPtRLQUmxe/x/4DL1nId3vY=,tag:bgAmCXMDK2rNkg8+FbW8nQ==,type:str]
|
||||||
|
sops:
|
||||||
|
kms: []
|
||||||
|
gcp_kms: []
|
||||||
|
azure_kv: []
|
||||||
|
hc_vault: []
|
||||||
|
age:
|
||||||
|
- recipient: age1rydfcalt7pu4jnmh298lgjlasxyjldyaz3xyssk7v54lpu30fv0qna96ea
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBINEJtSjJOSHZpKzk2dkFO
|
||||||
|
emhpbFp4N0F6c25EVnlZQXZTUndUaFgrZzEwCnZOZytyY2N1a2FyNnp6b01yVmVy
|
||||||
|
aklNK0p4OUNoSHF6OURlSzh6UHFpUFkKLS0tIEFWVFFNQlFQV3BPdWxqbmFlazgx
|
||||||
|
TjI4NHBMdXRUSHVBcU14eHdvVkwvdG8KJ4LblkxOzp5WlgPFLqTrEdu+qm13pdzm
|
||||||
|
wVCb2n1ormGxCE5oVdW+zI1ZrnWtZe0nKcq4WCtfnwBdsQYcarxChQ==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
lastmodified: "2026-04-30T10:35:18Z"
|
||||||
|
mac: ENC[AES256_GCM,data:KWIcP9bUuFDFQP8I35EvvY6Z5jbB5sWPBInP41UA18lLSoXCLsMxKY0cHWAVZTex0vNM3ScjsuZt28LYdugZtcHUMDMwYYAslhKQDHI4HUG3piJ5oEG5cvOiWXkpMkpN4kplKrIJPzs8njEkZics4855kbWjmc2z97IEudmk5tk=,iv:d1x1UKAPeup3Hy74H5sIUOgH/bf5LBmCkDfeElYlTAg=,tag:BTXuWcg1wubL00DqJi843A==,type:str]
|
||||||
|
pgp: []
|
||||||
|
unencrypted_suffix: _unencrypted
|
||||||
|
version: 3.9.4
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: pgadmin
|
||||||
|
namespace: pgadmin
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: pgadmin
|
||||||
|
ports:
|
||||||
|
- port: 80
|
||||||
|
targetPort: 80
|
||||||
Reference in New Issue
Block a user