--- # tasks file for deploy-mediawiki.yml # TODO: Create config map for LocalSettings.php - name: Create persistent volume for mediawiki k8s: state: present definition: apiVersion: v1 kind: PersistentVolume metadata: name: pv-mediawiki-eom-dev spec: capacity: storage: "{{ mediawiki_production_storage }}" accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: standard hostPath: path: /data/store-0/pv-mediawiki-eom-dev nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - alpha-worker-0 # TODO: Download and install extensions... - name: Create persistent volume claim for mediawiki k8s: state: present definition: apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc-mediawiki-eom-dev namespace: production spec: accessModes: - ReadWriteOnce resources: requests: storage: "{{ mediawiki_production_storage }}" storageClassName: standard volumeName: pv-mediawiki-eom-dev - name: Create a deployment k8s: definition: apiVersion: apps/v1 kind: Deployment metadata: name: deployment-mediawiki-eom-dev namespace: production spec: replicas: 1 selector: matchLabels: app: eom.dev template: metadata: labels: app: eom.dev spec: containers: - name: mediawiki image: mediawiki volumeMounts: - name: pv-mediawiki-eom-dev mountPath: /var/www/html/images ports: - containerPort: 80 volumes: - name: pv-mediawiki-eom-dev persistentVolumeClaim: claimName: pvc-mediawiki-eom-dev - name: Expose deployment as a service k8s: definition: apiVersion: v1 kind: Service metadata: name: service-mediawiki-eom-dev namespace: production spec: selector: app: eom.dev ports: - port: 80 protocol: TCP name: mediawiki-port-80 type: ClusterIP