feature(wip): Implement basic services and some databases.

This commit is contained in:
greysoh 2024-07-19 10:45:34 -04:00
parent c36ae6cdf0
commit 7b7f90ff16
Signed by: imterah
GPG key ID: 8FA7DD57BA6CEA37
38 changed files with 794 additions and 6 deletions

View file

@ -0,0 +1,8 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: postgres-db-details
labels:
app: postgres
data:
POSTGRES_DB: ps_db

View file

@ -0,0 +1,17 @@
apiVersion: v1
kind: Service
metadata:
name: postgres
labels:
app: postgres
annotations:
metallb.universe.tf/loadBalancerIPs: 192.168.2.11
spec:
type: LoadBalancer
ports:
- protocol: TCP
port: 5432
targetPort: 5432
selector:
app: postgres

View file

@ -0,0 +1,41 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: postgres-deployment
spec:
replicas: 2
selector:
matchLabels:
app: postgres
template:
metadata:
labels:
app: postgres
spec:
containers:
- name: postgres
image: "postgres:16"
imagePullPolicy: IfNotPresent
ports:
- containerPort: 5432
envFrom:
- configMapRef:
name: postgres-db-details
env:
- name: POSTGRES_USER
valueFrom:
secretKeyRef:
name: db-credentials
key: username
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: db-credentials
key: password
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: postgresdata
volumes:
- name: postgresdata
persistentVolumeClaim:
claimName: postgres-volume-claim

View file

@ -0,0 +1,42 @@
[meta]
format_ver = 1
[postgres_configmap]
mode = k3s
depends_on = metallb_ip_config:db_credentials
[#postgres_configmap/k3s]
mode = install
yml_path = ./configmap.yml
[postgres_pv]
mode = k3s
depends_on = postgres_configmap
[#postgres_pv/k3s]
mode = install
yml_path = ./pv.yml
[postgres_pv_claim]
mode = k3s
depends_on = postgres_pv
[#postgres_pv_claim/k3s]
mode = install
yml_path = ./pv-claim.yml
[postgres]
mode = k3s
depends_on = postgres_pv_claim
[#postgres/k3s]
mode = install
yml_path = ./postgres.yml
[postgres_svc]
mode = k3s
depends_on = postgres
[#postgres_svc/k3s]
mode = install
yml_path = ./postgres-svc.yml

View file

@ -0,0 +1,13 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: postgres-volume-claim
labels:
app: postgres
spec:
storageClassName: manual
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi

View file

@ -0,0 +1,15 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: postgres-volume
labels:
type: local
app: postgres
spec:
storageClassName: manual
capacity:
storage: 10Gi
accessModes:
- ReadWriteMany
hostPath:
path: /data/postgresql