Files
local-k8s/kind/postgres.yaml
T
argoyle 4a12d69151 feat(database): add tax database creation to postgres.yaml
Adds the creation of the 'tax' database in the Postgres configuration to 
enhance data management capabilities for financial transactions. This 
change improves the database structure and prepares for future data 
requirements.
2025-10-14 12:01:17 +02:00

106 lines
2.9 KiB
YAML

kind: ConfigMap
apiVersion: v1
metadata:
name: shared-postgres
data:
DB_HOST: "postgres-postgresql"
DB_PORT: "5432"
DB_USER: "postgres"
---
apiVersion: v1
kind: ConfigMap
metadata:
name: postgres-init
data:
initdb.sh: |-
#!/usr/bin/env bash
set -e
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
CREATE DATABASE schemas WITH OWNER postgres ENCODING utf8;
CREATE DATABASE accounting WITH OWNER postgres ENCODING utf8;
CREATE DATABASE authz WITH OWNER postgres ENCODING utf8;
CREATE DATABASE company WITH OWNER postgres ENCODING utf8;
CREATE DATABASE consumer WITH OWNER postgres ENCODING utf8;
CREATE DATABASE employee WITH OWNER postgres ENCODING utf8;
CREATE DATABASE invoice WITH OWNER postgres ENCODING utf8;
CREATE DATABASE notification WITH OWNER postgres ENCODING utf8;
CREATE DATABASE salary WITH OWNER postgres ENCODING utf8;
CREATE DATABASE supplier WITH OWNER postgres ENCODING utf8;
CREATE DATABASE supplier_invoice WITH OWNER postgres ENCODING utf8;
CREATE DATABASE tax WITH OWNER postgres ENCODING utf8;
CREATE DATABASE time WITH OWNER postgres ENCODING utf8;
CREATE DATABASE dancefinder WITH OWNER postgres ENCODING utf8;
CREATE DATABASE hifi WITH OWNER postgres ENCODING utf8;
CREATE DATABASE sloth WITH OWNER postgres ENCODING utf8;
EOSQL
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: postgres
spec:
selector:
matchLabels:
app.kubernetes.io/name: postgres
replicas: 1
template:
metadata:
labels:
app.kubernetes.io/name: postgres
spec:
containers:
- name: postgres
image: postgres:18.0-alpine@sha256:f898ac406e1a9e05115cc2efcb3c3abb3a92a4c0263f3b6f6aaae354cbb1953a
args:
- -c
- shared_buffers=384MB
- -c
- max_connections=300
imagePullPolicy: "IfNotPresent"
resources:
requests:
memory: 400Mi
limits:
memory: 600Mi
ports:
- containerPort: 5432
env:
- name: POSTGRES_DB
value: postgres
- name: POSTGRES_USER
value: postgres
- name: POSTGRES_PASSWORD
value: postgres
- name: LANG
value: sv_SE.utf8
- name: POSTGRES_INITDB_ARGS
value: --locale-provider=icu --icu-locale=sv-SE
volumeMounts:
- name: data
mountPath: /var/lib/postgresql/data
- mountPath: /docker-entrypoint-initdb.d/initdb.sh
name: initdb
subPath: initdb.sh
volumes:
- name: data
hostPath:
path: /data/postgres
- name: initdb
configMap:
name: postgres-init
---
apiVersion: v1
kind: Service
metadata:
name: postgres
labels:
app.kubernetes.io/name: postgres
spec:
ports:
- port: 5432
nodePort: 5432
selector:
app.kubernetes.io/name: postgres
type: NodePort