Files
ansible-role-eom/tasks/mediawiki.yaml
T
2026-10-23 11:18:18 -04:00

141 lines
3.2 KiB
YAML

---
# tasks file for mediawiki
- name: Create MediaWiki namespace
k8s:
state: present
definition:
apiVersion: v1
kind: Namespace
metadata:
name: mediawiki
- name: Deploy MariaDB
kubernetes.core.helm:
name: mariadb
chart_ref: bitnami/mariadb
release_namespace: mediawiki
values:
auth:
rootPassword: "{{ mediawiki_admin_password }}"
username: mediawiki
password: "{{ mediawiki_admin_password }}"
database: mediawiki
primary:
persistence:
size: 4Ti
- name: Create a persistent volume claim for MediaWiki
k8s:
state: present
definition:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mediawiki
namespace: mediawiki
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 32Gi
- name: Create Deployment for MediaWiki
k8s:
definition:
apiVersion: v1
kind: Deployment
metadata:
name: mediawiki
namespace: mediawiki
spec:
replicas: 1
selector:
matchLabels:
app: mediawiki
template:
metadata:
labels:
app: mediawiki
spec:
containers:
- name: mediawiki
image: mediawiki
imagePullPolicy: IfNotPresent
resources:
requests:
memory: 2Gi
ports:
- containerPort: 80
volumemounts:
- name: mediawiki
mountpath: /var/www/html
volumes:
- name: mediawiki
persistentVolumeClaim:
claimName: mediawiki
- name: Create Service for MediaWiki
k8s:
definition:
apiVersion: v1
kind: Service
metadata:
name: mediawiki
namespace: mediawiki
spec:
selector:
app: mediawiki
ports:
- port: 80
name: http
type: ClusterIP
- name: Create OnionService
k8s:
definition:
apiVersion: tor.k8s.torproject.org/v1alpha2
kind: OnionService
metadata:
name: mediawiki
namespace: mediawiki
spec:
version: 3
rules:
- port:
number: 80
backend:
service:
name: mediawiki
port:
number: 80
#- name: Create Ingress
# k8s:
# state: present
# definition:
# apiVersion: networking.k8s.io/v1
# kind: Ingress
# metadata:
# annotations:
# cert-manager.io/cluster-issuer: ca-issuer
# name: mediawiki
# namespace: mediawiki
# spec:
# ingressClassName: nginx
# rules:
# - host: mediawiki.eom.dev
# http:
# paths:
# - pathType: Prefix
# path: /
# backend:
# service:
# name: mediawiki
# port:
# number: 80
# tls:
# - hosts:
# - mediawiki.eom.dev
# secretName: mediawiki