apiVersion: apps/v1 kind: Deployment metadata: name: xwiki namespace: xwiki labels: app: xwiki spec: replicas: 1 selector: matchLabels: app: xwiki template: metadata: labels: app: xwiki spec: containers: - name: xwiki image: xwiki ports: - containerPort: 8080 env: - name: DB_DATABASE value: xwiki - name: DB_USER value: xwiki - name: DB_PASSWORD value: xwiki - name: DB_HOST value: mariadb.mariadb volumeMounts: - mountPath: "/usr/local/xwiki" name: xwikidata volumes: - name: xwikidata persistentVolumeClaim: claimName: xwiki-pvc --- apiVersion: v1 kind: Service metadata: name: xwiki namespace: xwiki labels: app: xwiki spec: ports: - port: 8080 protocol: TCP selector: app: xwiki type: NodePort --- apiVersion: v1 kind: PersistentVolume metadata: name: xwiki-pv spec: storageClassName: "" capacity: storage: 1Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain mountOptions: - hard - nfsvers=4.1 nfs: server: 192.168.2.110 path: /mnt/nfs_share/xwiki readOnly: false --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: xwiki-pvc namespace: xwiki spec: storageClassName: "" volumeName: xwiki-pv accessModes: - ReadWriteMany volumeMode: Filesystem resources: requests: storage: 1Gi --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: xwiki-http namespace: xwiki spec: entryPoints: - web routes: - match: Host(`xwiki-prod.allarddcs.nl`) kind: Rule middlewares: services: - name: xwiki port: 8080 --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: xwiki-tls namespace: xwiki spec: entryPoints: - websecure routes: - match: Host(`xwiki-prod.allarddcs.nl`) kind: Rule services: - name: xwiki port: 8080 tls: certResolver: letsencrypt