Files
automation/kubernetes-templates/phpmyadmin.yml
T

101 lines
2.2 KiB
YAML

---
apiVersion: v1
kind: Namespace
metadata:
name: phpmyadmin
---
apiVersion: v1
kind: ConfigMap
metadata:
name: phpmyadmin-config
namespace: phpmyadmin
data:
PMA_HOST: "192.168.1.180"
PMA_PORT: "3306"
PMA_USER: "root"
PMA_ABSOLUTE_URI: "https://phpmyadmin.khongisa.co.za/"
ALLOW_NO_PASSWORD: "true"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: phpmyadmin
namespace: phpmyadmin
spec:
replicas: 1
selector:
matchLabels:
app: phpmyadmin
template:
metadata:
labels:
app: phpmyadmin
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: node-role.kubernetes.io/control-plane
operator: DoesNotExist
containers:
- name: phpmyadmin
image: phpmyadmin/phpmyadmin:latest
ports:
- containerPort: 80
env:
- name: PMA_HOST
valueFrom:
configMapKeyRef:
name: phpmyadmin-config
key: PMA_HOST
- name: PMA_PORT
valueFrom:
configMapKeyRef:
name: phpmyadmin-config
key: PMA_PORT
- name: PMA_USER
valueFrom:
configMapKeyRef:
name: phpmyadmin-config
key: PMA_USER
- name: ALLOW_NO_PASSWORD
valueFrom:
configMapKeyRef:
name: phpmyadmin-config
key: ALLOW_NO_PASSWORD
- name: PMA_ABSOLUTE_URI
valueFrom:
configMapKeyRef:
name: phpmyadmin-config
key: PMA_ABSOLUTE_URI
---
apiVersion: v1
kind: Service
metadata:
name: phpmyadmin-service
namespace: phpmyadmin
spec:
type: ClusterIP
selector:
app: phpmyadmin
ports:
- name: http
protocol: TCP
port: 80
targetPort: 80
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: phpmyadmin-web
namespace: phpmyadmin
spec:
entryPoints:
- websecure
routes:
- match: Host(`phpmyadmin.khongisa.co.za`)
kind: Rule
services:
- name: phpmyadmin-service
port: 80