413 lines
12 KiB
YAML
413 lines
12 KiB
YAML
# image:
|
|
# repository: 'docker.sunet.se/drive/nextcloud-custom'
|
|
# tag: '29.0.10.3-1'
|
|
# pullPolicy: 'Always'
|
|
image:
|
|
repository: nextcloud
|
|
flavor: apache
|
|
# default is generated by flavor and appVersion
|
|
tag:
|
|
pullPolicy: IfNotPresent
|
|
|
|
nameOverride: ""
|
|
fullnameOverride: ""
|
|
podAnnotations: {}
|
|
deploymentAnnotations: {}
|
|
deploymentLabels: {}
|
|
|
|
replicaCount: 1
|
|
|
|
ingress:
|
|
enabled: true
|
|
className: 'nginx'
|
|
annotations:
|
|
acme.cert-manager.io/http01-edit-in-place: 'true'
|
|
cert-manager.io/issuer: 'letsencrypt'
|
|
tls:
|
|
- secretName: 'tls-secret'
|
|
hosts:
|
|
- 'richir.drive.test.sunet.se'
|
|
labels:
|
|
app.kubernetes.io/instance: 'richir'
|
|
path: '/'
|
|
pathType: 'Prefix'
|
|
|
|
lifecycle: {}
|
|
# postStartCommand: []
|
|
# preStopCommand: []
|
|
|
|
phpClientHttpsFix:
|
|
enabled: false
|
|
protocol: 'https'
|
|
|
|
nextcloud:
|
|
host: 'richir.drive.test.sunet.se'
|
|
existingSecret:
|
|
enabled: true
|
|
secretName: 'nc-secret'
|
|
passwordKey: 'nc_admin_password'
|
|
usernameKey: 'nc_admin_user'
|
|
smtpHostKey: 'smtp_host'
|
|
smtpPasswordKey: 'smtp_password'
|
|
smtpUsernameKey: 'smtp_user'
|
|
update: 0
|
|
containerPort: 80
|
|
datadir: '/var/www/html/data'
|
|
persistence:
|
|
subPath:
|
|
trustedDomains:
|
|
- 'customer.drive.test.sunet.se'
|
|
mail:
|
|
enabled: true
|
|
fromAddress: 'noreply@drive.test.sunet.se'
|
|
domain: 'drive.test.sunet.se'
|
|
smtp:
|
|
secure: 'tls'
|
|
port: 587
|
|
authtype: 'LOGIN'
|
|
objectStore:
|
|
s3:
|
|
enabled: true
|
|
legacyAuth: false
|
|
ssl: true
|
|
port: 443
|
|
region: 'us-east-1'
|
|
prefix: 'urn:oid:'
|
|
usePathStyle: true
|
|
autoCreate: true
|
|
storageClass: 'STANDARD'
|
|
existingSecret: 's3-secret'
|
|
secretKeys:
|
|
bucket: 's3_bucket'
|
|
accessKey: 's3_key'
|
|
host: 's3_host'
|
|
secretKey: 's3_secret'
|
|
|
|
## PHP Configuration files
|
|
# Will be injected in /usr/local/etc/php/conf.d for apache image and in /usr/local/etc/php-fpm.d when nginx.enabled: true
|
|
phpConfigs: {} #FIXME?
|
|
## Default config files that utilize environment variables:
|
|
# see: https://github.com/nextcloud/docker/tree/master#auto-configuration-via-environment-variables
|
|
# IMPORTANT: Will be used only if you put extra configs, otherwise default will come from nextcloud itself
|
|
# Default confgurations can be found here: https://github.com/nextcloud/docker/tree/master/.config
|
|
defaultConfigs:
|
|
# To protect /var/www/html/config
|
|
.htaccess: true
|
|
# Apache configuration for rewrite urls
|
|
apache-pretty-urls.config.php: false
|
|
# Define APCu as local cache
|
|
apcu.config.php: false
|
|
# Apps directory configs
|
|
apps.config.php: false
|
|
# Used for auto configure database
|
|
autoconfig.php: false
|
|
# Redis default configuration
|
|
redis.config.php: true
|
|
# Reverse proxy default configuration
|
|
reverse-proxy.config.php: false
|
|
# S3 Object Storage as primary storage
|
|
s3.config.php: true
|
|
# SMTP default configuration via environment variables
|
|
smtp.config.php: true
|
|
# Swift Object Storage as primary storage
|
|
swift.config.php: false
|
|
# disables the web based updater as the default nextcloud docker image does not support it
|
|
upgrade-disable-web.config.php: true
|
|
|
|
# Extra config files created in /var/www/html/config/
|
|
# ref: https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/config_sample_php_parameters.html#multiple-config-php-file
|
|
configs: {} #FIXME?
|
|
# For example, to enable image and text file previews:
|
|
# previews.config.php: |-
|
|
# <?php
|
|
# $CONFIG = array (
|
|
# 'enable_previews' => true,
|
|
# 'enabledPreviewProviders' => array (
|
|
# 'OC\Preview\Movie',
|
|
# 'OC\Preview\PNG',
|
|
# 'OC\Preview\JPEG',
|
|
# 'OC\Preview\GIF',
|
|
# 'OC\Preview\BMP',
|
|
# 'OC\Preview\XBitmap',
|
|
# 'OC\Preview\MP3',
|
|
# 'OC\Preview\MP4',
|
|
# 'OC\Preview\TXT',
|
|
# 'OC\Preview\MarkDown',
|
|
# 'OC\Preview\PDF'
|
|
# ),
|
|
# );
|
|
|
|
# Hooks for auto configuration
|
|
# Here you could write small scripts which are placed in `/docker-entrypoint-hooks.d/<hook-name>/helm.sh`
|
|
# ref: https://github.com/nextcloud/docker?tab=readme-ov-file#auto-configuration-via-hook-folders
|
|
hooks:
|
|
pre-installation:
|
|
post-installation:
|
|
pre-upgrade:
|
|
post-upgrade:
|
|
before-starting:
|
|
|
|
## Strategy used to replace old pods
|
|
## IMPORTANT: use with care, it is suggested to leave as that for upgrade purposes
|
|
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
|
|
strategy:
|
|
type: Recreate
|
|
# type: RollingUpdate
|
|
# rollingUpdate:
|
|
# maxSurge: 1
|
|
# maxUnavailable: 0
|
|
|
|
##
|
|
## Extra environment variables
|
|
extraEnv:
|
|
# - name: SOME_SECRET_ENV
|
|
# valueFrom:
|
|
# secretKeyRef:
|
|
# name: nextcloud
|
|
# key: secret_key
|
|
|
|
# Extra init containers that runs before pods start.
|
|
extraInitContainers: []
|
|
# - name: do-something
|
|
# image: busybox
|
|
# command: ['do', 'something']
|
|
|
|
# Extra sidecar containers.
|
|
extraSidecarContainers: []
|
|
# - name: nextcloud-logger
|
|
# image: busybox
|
|
# command: [/bin/sh, -c, 'while ! test -f "/run/nextcloud/data/nextcloud.log"; do sleep 1; done; tail -n+1 -f /run/nextcloud/data/nextcloud.log']
|
|
# volumeMounts:
|
|
# - name: nextcloud-data
|
|
# mountPath: /run/nextcloud/data
|
|
|
|
# Extra mounts for the pods. Example shown is for connecting a legacy NFS volume
|
|
# to NextCloud pods in Kubernetes. This can then be configured in External Storage
|
|
extraVolumes:
|
|
# - name: nfs
|
|
# nfs:
|
|
# server: "10.0.0.1"
|
|
# path: "/nextcloud_data"
|
|
# readOnly: false
|
|
extraVolumeMounts:
|
|
# - name: nfs
|
|
# mountPath: "/legacy_data"
|
|
|
|
# Set securityContext parameters for the nextcloud CONTAINER only (will not affect nginx container).
|
|
# For example, you may need to define runAsNonRoot directive
|
|
securityContext: {}
|
|
# runAsUser: 33
|
|
# runAsGroup: 33
|
|
# runAsNonRoot: true
|
|
# readOnlyRootFilesystem: false
|
|
|
|
# Set securityContext parameters for the entire pod. For example, you may need to define runAsNonRoot directive
|
|
podSecurityContext: {}
|
|
# runAsUser: 33
|
|
# runAsGroup: 33
|
|
# runAsNonRoot: true
|
|
# readOnlyRootFilesystem: false
|
|
|
|
# Settings for the MariaDB init container
|
|
mariaDbInitContainer:
|
|
resources: {}
|
|
# Set mariadb initContainer securityContext parameters. For example, you may need to define runAsNonRoot directive
|
|
securityContext: {}
|
|
|
|
# Settings for the PostgreSQL init container
|
|
postgreSqlInitContainer:
|
|
resources: {}
|
|
# Set postgresql initContainer securityContext parameters. For example, you may need to define runAsNonRoot directive
|
|
securityContext: {}
|
|
|
|
internalDatabase:
|
|
enabled: false
|
|
|
|
externalDatabase:
|
|
enabled: true
|
|
type: 'mysql'
|
|
host: 'proxysqlcluster.proxysql:6033'
|
|
database: 'nextcloud_richir'
|
|
existingSecret:
|
|
enabled: true
|
|
secretName: 'db-secret'
|
|
passwordKey: 'db_password'
|
|
usernameKey: 'db_username'
|
|
|
|
redis:
|
|
enabled: true
|
|
auth:
|
|
enabled: false
|
|
global:
|
|
storageClass: ""
|
|
master:
|
|
persistence:
|
|
enabled: true
|
|
replica:
|
|
persistence:
|
|
enabled: true
|
|
|
|
## Cronjob to execute Nextcloud background tasks
|
|
## ref: https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/background_jobs_configuration.html#cron
|
|
##
|
|
cronjob:
|
|
enabled: false
|
|
|
|
## Cronjob sidecar resource requests and limits
|
|
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
|
##
|
|
resources: {}
|
|
|
|
# Allow configuration of lifecycle hooks
|
|
# ref: https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/
|
|
lifecycle:
|
|
postStartCommand: ["/bin/bash", "-c", "/usr/local/bin/nc-upgrade"]
|
|
# preStopCommand: []
|
|
# Set securityContext parameters. For example, you may need to define runAsNonRoot directive
|
|
securityContext: {}
|
|
# runAsUser: 33
|
|
# runAsGroup: 33
|
|
# runAsNonRoot: true
|
|
# readOnlyRootFilesystem: true
|
|
|
|
service:
|
|
type: 'ClusterIP'
|
|
port: 8080
|
|
loadBalancerIP: ""
|
|
nodePort:
|
|
# -- use additional annotation on service for nextcloud
|
|
annotations: {}
|
|
|
|
persistence:
|
|
enabled: true
|
|
storageClass: 'csi-sc-cinderplugin'
|
|
accessMode: 'ReadWriteOnce'
|
|
size: '1Gi'
|
|
nextcloudData:
|
|
enabled: false
|
|
|
|
resources:
|
|
limits:
|
|
cpu: '2'
|
|
memory: '2Gi'
|
|
requests:
|
|
cpu: '1'
|
|
memory: '512Mi'
|
|
|
|
readinessProbe:
|
|
tcpSocket:
|
|
port: 80
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 60
|
|
livenessProbe:
|
|
tcpSocket:
|
|
port: 80
|
|
initialDelaySeconds: 20
|
|
periodSeconds: 180
|
|
|
|
## Prometheus Exporter / Metrics
|
|
##
|
|
metrics:
|
|
enabled: false
|
|
|
|
replicaCount: 1
|
|
# Optional: becomes NEXTCLOUD_SERVER env var in the nextcloud-exporter container.
|
|
# Without it, we will use the full name of the nextcloud service
|
|
server: ""
|
|
# The metrics exporter needs to know how you serve Nextcloud either http or https
|
|
https: false
|
|
# Use API token if set, otherwise fall back to password authentication
|
|
# https://github.com/xperimental/nextcloud-exporter#token-authentication
|
|
# Currently you still need to set the token manually in your nextcloud install
|
|
token: ""
|
|
timeout: 5s
|
|
# if set to true, exporter skips certificate verification of Nextcloud server.
|
|
tlsSkipVerify: false
|
|
info:
|
|
# Optional: becomes NEXTCLOUD_INFO_APPS env var in the nextcloud-exporter container.
|
|
# Enables gathering of apps-related metrics. Defaults to false
|
|
apps: false
|
|
|
|
image:
|
|
repository: xperimental/nextcloud-exporter
|
|
tag: 0.6.2
|
|
pullPolicy: IfNotPresent
|
|
# pullSecrets:
|
|
# - myRegistrKeySecretName
|
|
|
|
## Metrics exporter resource requests and limits
|
|
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
|
##
|
|
resources: {}
|
|
|
|
# -- Metrics exporter pod Annotation
|
|
podAnnotations: {}
|
|
|
|
# -- Metrics exporter pod Labels
|
|
podLabels: {}
|
|
|
|
# -- Metrics exporter pod nodeSelector
|
|
nodeSelector: {}
|
|
|
|
# -- Metrics exporter pod tolerations
|
|
tolerations: []
|
|
|
|
# -- Metrics exporter pod affinity
|
|
affinity: {}
|
|
|
|
service:
|
|
type: ClusterIP
|
|
# Use serviceLoadBalancerIP to request a specific static IP,
|
|
# otherwise leave blank
|
|
loadBalancerIP:
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "9205"
|
|
labels: {}
|
|
|
|
# -- security context for the metrics CONTAINER in the pod
|
|
securityContext:
|
|
runAsUser: 1000
|
|
runAsNonRoot: true
|
|
# allowPrivilegeEscalation: false
|
|
# capabilities:
|
|
# drop:
|
|
# - ALL
|
|
|
|
# -- security context for the metrics POD
|
|
podSecurityContext: {}
|
|
# runAsNonRoot: true
|
|
# seccompProfile:
|
|
# type: RuntimeDefault
|
|
|
|
## Prometheus Operator ServiceMonitor configuration
|
|
##
|
|
serviceMonitor:
|
|
## @param metrics.serviceMonitor.enabled Create ServiceMonitor Resource for scraping metrics using PrometheusOperator
|
|
##
|
|
enabled: false
|
|
|
|
## @param metrics.serviceMonitor.namespace Namespace in which Prometheus is running
|
|
##
|
|
namespace: ""
|
|
|
|
## @param metrics.serviceMonitor.namespaceSelector The selector of the namespace where the target service is located (defaults to the release namespace)
|
|
namespaceSelector:
|
|
|
|
## @param metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in prometheus.
|
|
##
|
|
jobLabel: ""
|
|
|
|
## @param metrics.serviceMonitor.interval Interval at which metrics should be scraped
|
|
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
|
|
##
|
|
interval: 30s
|
|
|
|
## @param metrics.serviceMonitor.scrapeTimeout Specify the timeout after which the scrape is ended
|
|
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
|
|
##
|
|
scrapeTimeout: ""
|
|
|
|
## @param metrics.serviceMonitor.labels Extra labels for the ServiceMonitor
|
|
##
|
|
labels: {}
|