formol/test/common/deployment.yaml

95 lines
1.7 KiB
YAML

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: apache-deployment
namespace: demo
labels:
app: apache
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: apache
template:
metadata:
labels:
app: apache
spec:
imagePullSecrets:
- name: regcred
containers:
- name: apache
image: docker.io/httpd:alpine3.17
ports:
- containerPort: 80
volumeMounts:
- name: demo-data
mountPath: /data
volumes:
- name: demo-data
persistentVolumeClaim:
claimName: demo-pvc
---
apiVersion: v1
kind: ConfigMap
metadata:
name: postgres-config-demo
namespace: demo
labels:
app: postgres
data:
POSTGRES_DB: demopostgres
POSTGRES_USER: demopostgres
POSTGRES_PASSWORD: password123!
---
apiVersion: v1
kind: Service
metadata:
name: postgres
namespace: demo
labels:
app: postgres
spec:
ports:
- port: 5432
name: postgres
clusterIP: None
selector:
app: postgres
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: postgres-demo
namespace: demo
spec:
serviceName: "postgres"
replicas: 1
selector:
matchLabels:
app: postgres
template:
metadata:
labels:
app: postgres
spec:
containers:
- name: postgres
image: postgres:12
envFrom:
- configMapRef:
name: postgres-config-demo
ports:
- containerPort: 5432
name: postgresdb
volumeMounts:
- name: postgres-volume
mountPath: /var/lib/postgresql/data
volumes:
- name: postgres-volume
hostPath:
path: /data/postgresdb