infra/k8s/wordpress/hannah.yaml
Finn ba508dea57
All checks were successful
/ diff-and-deploy (push) Successful in 2m18s
Update seattledoulaservices.com ingress
2025-02-16 14:31:13 -08:00

188 lines
3.8 KiB
YAML

apiVersion: apps/v1
kind: StatefulSet
metadata:
name: hannah
spec:
selector:
matchLabels:
app: hannah
serviceName: hannah
replicas: 1
template:
metadata:
labels:
app: hannah
spec:
containers:
- name: wordpress
image: library/wordpress:6.7.2
env:
- name: WORDPRESS_DB_HOST
value: hannah-db
- name: WORDPRESS_DB_USER
value: wordpress
- name: WORDPRESS_DB_PASSWORD
valueFrom:
secretKeyRef:
name: hannah-db
key: password
- name: WORDPRESS_DB_NAME
value: wordpress
ports:
- containerPort: 80
name: web
volumeMounts:
- name: www
mountPath: /var/www/html
volumeClaimTemplates:
- metadata:
name: www
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 5Gi
---
apiVersion: v1
kind: Service
metadata:
name: hannah
spec:
ports:
- name: web
port: 80
clusterIP: None
selector:
app: hannah
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: hannah-db
spec:
selector:
matchLabels:
app: hannah-db
serviceName: hannah-db
replicas: 1
template:
metadata:
labels:
app: hannah-db
spec:
containers:
- name: mysql
image: library/mysql:9.1.0
env:
- name: MYSQL_DATABASE
value: wordpress
- name: MYSQL_USER
value: wordpress
- name: MYSQL_PASSWORD
valueFrom:
secretKeyRef:
name: hannah-db
key: password
- name: MYSQL_RANDOM_ROOT_PASSWORD
value: "1"
ports:
- name: mysql
containerPort: 3306
volumeMounts:
- name: data
mountPath: /var/lib/mysql
subPath: mysql
resources:
requests:
cpu: 500m
memory: 500Mi
livenessProbe:
exec:
command: ["mysqladmin", "ping"]
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 10Gi
---
apiVersion: v1
kind: Service
metadata:
name: hannah-db
spec:
ports:
- name: mysql
port: 3306
clusterIP: None
selector:
app: hannah-db
---
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: hannah-db
spec:
refreshInterval: "0"
target:
name: hannah-db
dataFrom:
- sourceRef:
generatorRef:
apiVersion: generators.external-secrets.io/v1alpha1
kind: ClusterGenerator
name: password
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: hannah
spec:
rules:
- host: hannah-wp.janky.solutions
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: hannah
port:
name: web
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: seattledoulaservices.com
annotations:
cert-manager.io/cluster-issuer: letsencrypt
spec:
tls:
- hosts: [seattledoulaservices.com, www.seattledoulaservices.com]
secretName: seattledoulaservices.com
rules:
- host: seattledoulaservices.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: hannah
port:
name: web
- host: www.seattledoulaservices.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: hannah
port:
name: web