k8s-manifests/customers/base/nextcloud-deployment.yml

124 lines
3.6 KiB
YAML

kind: StatefulSet
apiVersion: apps/v1
metadata:
name: customer-node
labels:
app: customer-node
spec:
replicas: 1
selector:
matchLabels:
app: customer-node
updateStrategy:
type: RollingUpdate
template:
metadata:
labels:
app: customer-node
kano: micke
spec:
restartPolicy: Always
initContainers:
- image: docker.sunet.se/sunet/docker-jinja:latest
name: init-config
volumeMounts:
- name: nextcloud-config
mountPath: /tmp/config.php.template
subPath: config.php
- name: nextcloud-data
mountPath: /var/www/html/config
subPath: config
envFrom:
- configMapRef:
name: nextcloud-env
- secretRef:
name: nextcloud-secrets
command: ["/bin/bash", "-c", "/usr/bin/j2 -f env -o /var/www/html/config/config.php /tmp/config.php.template"]
containers:
- name: customer
image: nextcloud-custom-image
volumeMounts:
- name: nextcloud-data
mountPath: /var/www/html/config/
subPath: config
- name: apache-config
mountPath: /etc/apache2/sites-enabled/000-default.conf
subPath: 000-default.conf
- name: script-config
mountPath: /usr/local/bin/nc-upgrade
subPath: nc-upgrade
- name: apache-php-config
mountPath: /etc/php/8.0/apache2/php.ini
subPath: php.ini
- name: apcu-config
mountPath: /etc/php/8.0/mods-available/apcu.ini
subPath: apcu.ini
- name: cli-php-config
mountPath: /etc/php/8.0/cli/php.ini
subPath: php.ini
resources:
limits:
cpu: 2000m
memory: 2048Mi
requests:
cpu: 1000m
memory: 512Mi
readinessProbe:
tcpSocket:
port: 80
initialDelaySeconds: 10
periodSeconds: 60
livenessProbe:
tcpSocket:
port: 80
initialDelaySeconds: 20
periodSeconds: 180
ports:
- containerPort: 80
name: nextcloud-http
command: ["/bin/bash"]
args: ["-c", "apachectl -D FOREGROUND"]
lifecycle:
postStart:
exec:
command: ["/bin/bash", "-c", "/usr/local/bin/nc-upgrade"]
volumes:
- name: script-config
configMap:
name: script-configmap
items:
- key: "nc-upgrade"
path: "nc-upgrade"
defaultMode: 0744
- name: apache-php-config
configMap:
name: apache-php-configmap
items:
- key: "php.ini"
path: "php.ini"
- name: apcu-config
configMap:
name: apcu-configmap
items:
- key: "apcu.ini"
path: "apcu.ini"
- name: cli-php-config
configMap:
name: cli-php-configmap
items:
- key: "php.ini"
path: "php.ini"
- name: apache-config
configMap:
name: apache-configmap
items:
- key: "000-default.conf"
path: "000-default.conf"
- name: nextcloud-config
configMap:
name: nextcloud-configmap
items:
- key: "config.php"
path: "config.php"
- name: nextcloud-data
emptyDir: {}