diff --git a/.helmignore b/.helmignore
deleted file mode 100644
index f0c13194..00000000
--- a/.helmignore
+++ /dev/null
@@ -1,21 +0,0 @@
-# Patterns to ignore when building packages.
-# This supports shell glob matching, relative path matching, and
-# negation (prefixed with !). Only one pattern per line.
-.DS_Store
-# Common VCS dirs
-.git/
-.gitignore
-.bzr/
-.bzrignore
-.hg/
-.hgignore
-.svn/
-# Common backup files
-*.swp
-*.bak
-*.tmp
-*~
-# Various IDEs
-.project
-.idea/
-*.tmproj
diff --git a/Chart.yaml b/Chart.yaml
deleted file mode 100644
index 381f9a24..00000000
--- a/Chart.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-apiVersion: v1
-name: nextcloud
-version: 1.12.0
-appVersion: 17.0.0
-description: A file sharing server that puts the control and security of your own data back into your hands.
-keywords:
-- nextcloud
-- storage
-- http
-- web
-- php
-home: https://nextcloud.com/
-icon: https://cdn.rawgit.com/docker-library/docs/defa5ffc7123177acd60ddef6e16bddf694cc35f/nextcloud/logo.svg
-sources:
-- https://github.com/nextcloud/docker
-maintainers:
-- name: chrisingenhaag
- email: christian.ingenhaag@googlemail.com
-- name: billimek
- email: jeff@billimek.com
diff --git a/OWNERS b/OWNERS
deleted file mode 100644
index 7936f915..00000000
--- a/OWNERS
+++ /dev/null
@@ -1,6 +0,0 @@
-approvers:
-- chrisingenhaag
-- billimek
-reviewers:
-- chrisingenhaag
-- billimek
diff --git a/requirements.lock b/requirements.lock
deleted file mode 100644
index 1b07933e..00000000
--- a/requirements.lock
+++ /dev/null
@@ -1,9 +0,0 @@
-dependencies:
-- name: mariadb
- repository: https://kubernetes-charts.storage.googleapis.com/
- version: 7.1.0
-- name: redis
- repository: https://kubernetes-charts.storage.googleapis.com/
- version: 10.0.1
-digest: sha256:88489b3a1a5bf1cd3f9e264e540f8c3515d40020bb1073f3bb281f0da56efc3f
-generated: "2019-11-28T12:08:10.111637339+01:00"
diff --git a/requirements.yaml b/requirements.yaml
deleted file mode 100644
index 396290f5..00000000
--- a/requirements.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
-dependencies:
-- name: mariadb
- version: ~7.1.0
- repository: https://kubernetes-charts.storage.googleapis.com/
- condition: mariadb.enabled
-- name: redis
- version: ~10.0.1
- repository: https://kubernetes-charts.storage.googleapis.com/
- condition: redis.enabled
diff --git a/templates/NOTES.txt b/templates/NOTES.txt
deleted file mode 100644
index c5eb47e5..00000000
--- a/templates/NOTES.txt
+++ /dev/null
@@ -1,94 +0,0 @@
-{{- if or .Values.mariadb.enabled .Values.externalDatabase.host -}}
-
-{{- if empty .Values.nextcloud.host -}}
-#################################################################################
-### WARNING: You did not provide an external host in your 'helm install' call ###
-#################################################################################
-
-This deployment will be incomplete until you configure nextcloud with a resolvable
-host. To configure nextcloud with the URL of your service:
-
-1. Get the nextcloud URL by running:
-
- {{- if contains "NodePort" .Values.service.type }}
-
- export APP_PORT=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "nextcloud.fullname" . }} -o jsonpath="{.spec.ports[0].nodePort}")
- export APP_HOST=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
-
- {{- else if contains "LoadBalancer" .Values.service.type }}
-
- NOTE: It may take a few minutes for the LoadBalancer IP to be available.
- Watch the status with: 'kubectl get svc --namespace {{ .Release.Namespace }} -w {{ template "nextcloud.fullname" . }}'
-
- export APP_HOST=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "nextcloud.fullname" . }} --template "{{ "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}" }}")
- export APP_PASSWORD=$(kubectl get secret --namespace {{ .Release.Namespace }} {{ template "nextcloud.fullname" . }} -o jsonpath="{.data.nextcloud-password}" | base64 --decode)
- {{- if .Values.mariadb.db.password }}
- export APP_DATABASE_PASSWORD=$(kubectl get secret --namespace {{ .Release.Namespace }} {{ template "nextcloud.mariadb.fullname" . }} -o jsonpath="{.data.mariadb-password}" | base64 --decode)
- {{- end }}
- {{- end }}
-
-2. Complete your nextcloud deployment by running:
-
-{{- if .Values.mariadb.enabled }}
-
- helm upgrade {{ .Release.Name }} stable/nextcloud \
- --set nextcloud.host=$APP_HOST,nextcloud.password=$APP_PASSWORD{{ if .Values.mariadb.db.password }},mariadb.db.password=$APP_DATABASE_PASSWORD{{ end }}
-{{- else }}
-
- ## PLEASE UPDATE THE EXTERNAL DATABASE CONNECTION PARAMETERS IN THE FOLLOWING COMMAND AS NEEDED ##
-
- helm upgrade {{ .Release.Name }} stable/nextcloud \
- --set nextcloud.password=$APP_PASSWORD,nextcloud.host=$APP_HOST,service.type={{ .Values.service.type }},mariadb.enabled=false{{- if not (empty .Values.externalDatabase.host) }},externalDatabase.host={{ .Values.externalDatabase.host }}{{- end }}{{- if not (empty .Values.externalDatabase.user) }},externalDatabase.user={{ .Values.externalDatabase.user }}{{- end }}{{- if not (empty .Values.externalDatabase.password) }},externalDatabase.password={{ .Values.externalDatabase.password }}{{- end }}{{- if not (empty .Values.externalDatabase.database) }},externalDatabase.database={{ .Values.externalDatabase.database }}{{- end }}
-{{- end }}
-
-{{- else -}}
-1. Get the nextcloud URL by running:
-
-{{- if eq .Values.service.type "ClusterIP" }}
-
- export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "nextcloud.fullname" . }}" -o jsonpath="{.items[0].metadata.name}")
- echo http://127.0.0.1:8080/
- kubectl port-forward $POD_NAME 8080:8080
-{{- else }}
-
- echo http://{{ .Values.nextcloud.host }}/
-{{- end }}
-
-2. Get your nextcloud login credentials by running:
-
- echo User: {{ .Values.nextcloud.username }}
- echo Password: $(kubectl get secret --namespace {{ .Release.Namespace }} {{ template "nextcloud.fullname" . }} -o jsonpath="{.data.nextcloud-password}" | base64 --decode)
-{{- end }}
-
-{{- else -}}
-
-#######################################################################################################
-## WARNING: You did not provide an external database host in your 'helm install' call ##
-## Running Nextcloud with the integrated sqlite database is not recommended for production instances ##
-#######################################################################################################
-
-For better performance etc. you have to configure nextcloud with a resolvable database
-host. To configure nextcloud to use and external database host:
-
-
-1. Complete your nextcloud deployment by running:
-
-{{- if contains "NodePort" .Values.service.type }}
- export APP_HOST=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
-{{- else if contains "LoadBalancer" .Values.service.type }}
-
- NOTE: It may take a few minutes for the LoadBalancer IP to be available.
- Watch the status with: 'kubectl get svc --namespace {{ .Release.Namespace }} -w {{ template "nextcloud.fullname" . }}'
-
- export APP_HOST=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "nextcloud.fullname" . }} --template "{{ "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}" }}")
-{{- else }}
-
- export APP_HOST=127.0.0.1
-{{- end }}
- export APP_PASSWORD=$(kubectl get secret --namespace {{ .Release.Namespace }} {{ template "nextcloud.fullname" . }} -o jsonpath="{.data.nextcloud-password}" | base64 --decode)
-
- ## PLEASE UPDATE THE EXTERNAL DATABASE CONNECTION PARAMETERS IN THE FOLLOWING COMMAND AS NEEDED ##
-
- helm upgrade {{ .Release.Name }} stable/nextcloud \
- --set nextcloud.password=$APP_PASSWORD,nextcloud.host=$APP_HOST,service.type={{ .Values.service.type }},mariadb.enabled=false{{- if not (empty .Values.externalDatabase.user) }},externalDatabase.user={{ .Values.externalDatabase.user }}{{- end }}{{- if not (empty .Values.externalDatabase.password) }},externalDatabase.password={{ .Values.externalDatabase.password }}{{- end }}{{- if not (empty .Values.externalDatabase.database) }},externalDatabase.database={{ .Values.externalDatabase.database }}{{- end }},externalDatabase.host=YOUR_EXTERNAL_DATABASE_HOST
-{{- end }}
diff --git a/templates/_helpers.tpl b/templates/_helpers.tpl
deleted file mode 100644
index 87c6e91d..00000000
--- a/templates/_helpers.tpl
+++ /dev/null
@@ -1,49 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Expand the name of the chart.
-*/}}
-{{- define "nextcloud.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "nextcloud.fullname" -}}
-{{- if .Values.fullnameOverride -}}
-{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- $name := default .Chart.Name .Values.nameOverride -}}
-{{- if contains $name .Release.Name -}}
-{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-*/}}
-{{- define "nextcloud.mariadb.fullname" -}}
-{{- printf "%s-%s" .Release.Name "mariadb" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-
-{{/*
-Create a default fully qualified redis app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-*/}}
-{{- define "nextcloud.redis.fullname" -}}
-{{- printf "%s-%s" .Release.Name "redis" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "nextcloud.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
diff --git a/templates/config.yaml b/templates/config.yaml
deleted file mode 100644
index 7fb2ade6..00000000
--- a/templates/config.yaml
+++ /dev/null
@@ -1,127 +0,0 @@
-{{- if .Values.nextcloud.configs -}}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: {{ template "nextcloud.fullname" . }}-config
- labels:
- app.kubernetes.io/name: {{ include "nextcloud.name" . }}
- helm.sh/chart: {{ include "nextcloud.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
-data:
-{{- range $key, $value := .Values.nextcloud.configs }}
- {{ $key }}: |-
-{{ $value | indent 4 }}
-{{- end }}
-{{- if .Values.nextcloud.defaultConfigs }}
-{{- if index .Values.nextcloud.defaultConfigs ".htaccess" }}
- .htaccess: |-
- # line below if for Apache 2.4
-
- Require all denied
-
- # line below if for Apache 2.2
-
- deny from all
-
- # section for Apache 2.2 and 2.4
-
- IndexIgnore *
-
-{{- end }}
-{{- if index .Values.nextcloud.defaultConfigs "redis.config.php" }}
- redis.config.php: |-
- '\OC\Memcache\Redis',
- 'memcache.locking' => '\OC\Memcache\Redis',
- 'redis' => array(
- 'host' => getenv('REDIS_HOST'),
- 'port' => getenv('REDIS_HOST_PORT') ?: 6379,
- ),
- );
- }
-{{- end }}
-{{- if index .Values.nextcloud.defaultConfigs "apache-pretty-urls.config.php" }}
- apache-pretty-urls.config.php: |-
- '/',
- );
-{{- end }}
-{{- if index .Values.nextcloud.defaultConfigs "apcu.config.php" }}
- apcu.config.php: |-
- '\OC\Memcache\APCu',
- );
-{{- end }}
-{{- if index .Values.nextcloud.defaultConfigs "apps.config.php" }}
- apps.config.php: |-
- array (
- 0 => array (
- "path" => OC::$SERVERROOT."/apps",
- "url" => "/apps",
- "writable" => false,
- ),
- 1 => array (
- "path" => OC::$SERVERROOT."/custom_apps",
- "url" => "/custom_apps",
- "writable" => true,
- ),
- ),
- );
-{{- end }}
-{{- if index .Values.nextcloud.defaultConfigs "autoconfig.php" }}
- autoconfig.php: |-
- 'smtp',
- 'mail_smtphost' => getenv('SMTP_HOST'),
- 'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
- 'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
- 'mail_smtpauth' => getenv('SMTP_NAME') && getenv('SMTP_PASSWORD'),
- 'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
- 'mail_smtpname' => getenv('SMTP_NAME') ?: '',
- 'mail_smtppassword' => getenv('SMTP_PASSWORD') ?: '',
- 'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
- 'mail_domain' => getenv('MAIL_DOMAIN'),
- );
- }
-{{- end }}
-{{- end }}
-{{- end }}
diff --git a/templates/cronjob.yaml b/templates/cronjob.yaml
deleted file mode 100644
index 25301d77..00000000
--- a/templates/cronjob.yaml
+++ /dev/null
@@ -1,71 +0,0 @@
-{{- if .Values.cronjob.enabled }}
-apiVersion: batch/v1beta1
-kind: CronJob
-metadata:
- name: {{ template "nextcloud.fullname" . }}
- labels:
- app.kubernetes.io/name: {{ include "nextcloud.name" . }}
- helm.sh/chart: {{ include "nextcloud.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
- annotations:
-{{ toYaml .Values.cronjob.annotations | indent 4 }}
-spec:
- schedule: "{{ .Values.cronjob.schedule }}"
- concurrencyPolicy: Forbid
- {{- with .Values.cronjob.failedJobsHistoryLimit }}
- failedJobsHistoryLimit: {{ . }}
- {{- end }}
- {{- with .Values.cronjob.successfulJobsHistoryLimit }}
- successfulJobsHistoryLimit: {{ . }}
- {{- end }}
- jobTemplate:
- metadata:
- labels:
- app.kubernetes.io/name: {{ include "nextcloud.name" . }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
- spec:
- template:
- metadata:
- labels:
- app.kubernetes.io/name: {{ include "nextcloud.name" . }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
- spec:
- restartPolicy: Never
- {{- if (default .Values.image.pullSecrets .Values.cronjob.image.pullSecrets) }}
- imagePullSecrets:
- {{- range (default .Values.image.pullSecrets .Values.cronjob.image.pullSecrets) }}
- - name: {{ . }}
- {{- end }}
- {{- end }}
- containers:
- - name: {{ .Chart.Name }}
- image: "{{ default .Values.image.repository .Values.cronjob.image.repository }}:{{ default .Values.image.tag .Values.cronjob.image.tag }}"
- imagePullPolicy: {{ default .Values.image.pullPolicy .Values.cronjob.image.pullPolicy }}
- command: [ "curl" ]
- args:
- {{- if .Values.cronjob.curlInsecure }}
- - "-k"
- {{- end }}
- - "--fail"
- - "-L"
- {{- if .Values.ingress.tls }}
- - "https://{{ .Values.nextcloud.host }}/cron.php"
- {{- else }}
- - "http://{{ .Values.nextcloud.host }}/cron.php"
- {{- end }}
- resources:
-{{ toYaml (default .Values.resources .Values.cronjob.resources) | indent 16 }}
- {{- with (default .Values.nodeSelector .Values.cronjob.nodeSelector) }}
- nodeSelector:
-{{ toYaml . | indent 12 }}
- {{- end }}
- {{- with (default .Values.affinity .Values.cronjob.affinity) }}
- affinity:
-{{ toYaml . | indent 12 }}
- {{- end }}
- {{- with (default .Values.tolerations .Values.cronjob.tolerations) }}
- tolerations:
-{{ toYaml . | indent 12 }}:
- {{- end }}
-{{- end }}
diff --git a/templates/db-secret.yaml b/templates/db-secret.yaml
deleted file mode 100644
index 790b65b7..00000000
--- a/templates/db-secret.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
-{{- if or .Values.mariadb.enabled .Values.externalDatabase.enabled }}
-{{- if not .Values.externalDatabase.existingSecret.enabled }}
-apiVersion: v1
-kind: Secret
-metadata:
- name: {{ printf "%s-%s" .Release.Name "db" }}
- labels:
- app.kubernetes.io/name: {{ include "nextcloud.name" . }}
- helm.sh/chart: {{ include "nextcloud.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
-type: Opaque
-data:
- {{- if .Values.mariadb.enabled }}
- db-password: {{ default "" .Values.mariadb.db.password | b64enc | quote }}
- db-username: {{ default "" .Values.mariadb.db.user | b64enc | quote }}
- {{- else }}
- db-password: {{ default "" .Values.externalDatabase.password | b64enc | quote }}
- db-username: {{ default "" .Values.externalDatabase.user | b64enc | quote }}
- {{- end }}
-{{- end }}
-{{- end }}
\ No newline at end of file
diff --git a/templates/deployment.yaml b/templates/deployment.yaml
deleted file mode 100644
index 3a395a43..00000000
--- a/templates/deployment.yaml
+++ /dev/null
@@ -1,357 +0,0 @@
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: {{ template "nextcloud.fullname" . }}
- labels:
- app.kubernetes.io/name: {{ include "nextcloud.name" . }}
- helm.sh/chart: {{ include "nextcloud.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
- {{- if .Values.deploymentAnnotations }}
- annotations:
-{{ toYaml .Values.deploymentAnnotations | indent 4 }}
- {{- end }}
-spec:
- replicas: {{ .Values.replicaCount }}
- strategy:
-{{ toYaml .Values.nextcloud.strategy | indent 4 }}
- selector:
- matchLabels:
- app.kubernetes.io/name: {{ include "nextcloud.name" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- template:
- metadata:
- labels:
- app.kubernetes.io/name: {{ include "nextcloud.name" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- {{- if .Values.redis.enabled }}
- {{ template "nextcloud.redis.fullname" . }}-client: "true"
- {{- end }}
- {{- if .Values.podAnnotations }}
- annotations:
-{{ toYaml .Values.podAnnotations | indent 8 }}
- {{- end }}
- spec:
- {{- if .Values.image.pullSecrets }}
- imagePullSecrets:
- {{- range .Values.image.pullSecrets }}
- - name: {{ . }}
- {{- end}}
- {{- end }}
- containers:
- - name: {{ .Chart.Name }}
- image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
- imagePullPolicy: {{ .Values.image.pullPolicy }}
- {{- if .Values.lifecycle }}
- lifecycle:
- {{- if .Values.lifecycle.postStartCommand }}
- postStart:
- exec:
- command:
- {{- toYaml .Values.lifecycle.postStartCommand | nindent 16 -}}
- {{- end }}
- {{- if .Values.lifecycle.preStopCommand }}
- preStop:
- exec:
- command:
- {{- toYaml .Values.lifecycle.preStopCommand | nindent 16 -}}
- {{- end }}
- {{- end }}
- env:
- {{- if .Values.internalDatabase.enabled }}
- - name: SQLITE_DATABASE
- value: {{ .Values.internalDatabase.name | quote }}
- {{- else if .Values.mariadb.enabled }}
- - name: MYSQL_HOST
- value: {{ template "nextcloud.mariadb.fullname" . }}
- - name: MYSQL_DATABASE
- value: {{ .Values.mariadb.db.name | quote }}
- - name: MYSQL_USER
- valueFrom:
- secretKeyRef:
- name: {{ .Values.externalDatabase.existingSecret.secretName | default (printf "%s-%s" .Release.Name "db") }}
- key: {{ .Values.externalDatabase.existingSecret.usernameKey | default "db-username" }}
- - name: MYSQL_PASSWORD
- valueFrom:
- secretKeyRef:
- name: {{ .Values.externalDatabase.existingSecret.secretName | default (printf "%s-%s" .Release.Name "db") }}
- key: {{ .Values.externalDatabase.existingSecret.passwordKey | default "db-password" }}
- {{- else }}
- {{- if eq .Values.externalDatabase.type "postgresql" }}
- - name: POSTGRES_HOST
- value: {{ .Values.externalDatabase.host | quote }}
- - name: POSTGRES_DB
- value: {{ .Values.externalDatabase.database | quote }}
- - name: POSTGRES_USER
- valueFrom:
- secretKeyRef:
- name: {{ .Values.externalDatabase.existingSecret.secretName | default (printf "%s-%s" .Release.Name "db") }}
- key: {{ .Values.externalDatabase.existingSecret.usernameKey | default "db-username" }}
- - name: POSTGRES_PASSWORD
- valueFrom:
- secretKeyRef:
- name: {{ .Values.externalDatabase.existingSecret.secretName | default (printf "%s-%s" .Release.Name "db") }}
- key: {{ .Values.externalDatabase.existingSecret.passwordKey | default "db-password" }}
- {{- else }}
- - name: MYSQL_HOST
- value: {{ .Values.externalDatabase.host | quote }}
- - name: MYSQL_DATABASE
- value: {{ .Values.externalDatabase.database | quote }}
- - name: MYSQL_USER
- valueFrom:
- secretKeyRef:
- name: {{ .Values.externalDatabase.existingSecret.secretName | default (printf "%s-%s" .Release.Name "db") }}
- key: {{ .Values.externalDatabase.existingSecret.usernameKey | default "db-username" }}
- - name: MYSQL_PASSWORD
- valueFrom:
- secretKeyRef:
- name: {{ .Values.externalDatabase.existingSecret.secretName | default (printf "%s-%s" .Release.Name "db") }}
- key: {{ .Values.externalDatabase.existingSecret.passwordKey | default "db-password" }}
- {{- end }}
- {{- end }}
- - name: NEXTCLOUD_ADMIN_USER
- valueFrom:
- secretKeyRef:
- name: {{ template "nextcloud.fullname" . }}
- key: nextcloud-username
- - name: NEXTCLOUD_ADMIN_PASSWORD
- valueFrom:
- secretKeyRef:
- name: {{ template "nextcloud.fullname" . }}
- key: nextcloud-password
- - name: NEXTCLOUD_TRUSTED_DOMAINS
- value: {{ .Values.nextcloud.host }}
- {{- if ne (int .Values.nextcloud.update) 0 }}
- - name: NEXTCLOUD_UPDATE
- value: {{ .Values.nextcloud.update | quote }}
- {{- end }}
- - name: NEXTCLOUD_DATA_DIR
- value: {{ .Values.nextcloud.datadir | quote }}
- {{- if .Values.nextcloud.tableprefix }}
- - name: NEXTCLOUD_TABLE_PREFIX
- value: {{ .Values.nextcloud.tableprefix | quote }}
- {{- end }}
- {{- if .Values.nextcloud.mail.enabled }}
- - name: MAIL_FROM_ADDRESS
- value: {{ .Values.nextcloud.mail.fromAddress | quote }}
- - name: MAIL_DOMAIN
- value: {{ .Values.nextcloud.mail.domain | quote }}
- - name: SMTP_HOST
- value: {{ .Values.nextcloud.mail.smtp.host | quote }}
- - name: SMTP_SECURE
- value: {{ .Values.nextcloud.mail.smtp.secure | quote }}
- - name: SMTP_PORT
- value: {{ .Values.nextcloud.mail.smtp.port | quote }}
- - name: SMTP_AUTHTYPE
- value: {{ .Values.nextcloud.mail.smtp.authtype | quote }}
- - name: SMTP_NAME
- valueFrom:
- secretKeyRef:
- name: {{ template "nextcloud.fullname" . }}
- key: smtp-username
- - name: SMTP_PASSWORD
- valueFrom:
- secretKeyRef:
- name: {{ template "nextcloud.fullname" . }}
- key: smtp-password
- {{- end }}
- {{- if .Values.redis.enabled }}
- - name: REDIS_HOST
- value: {{ template "nextcloud.redis.fullname" . }}-master
- - name: REDIS_HOST_PORT
- value: {{ .Values.redis.redisPort | quote }}
- {{- end }}
- {{- if .Values.nextcloud.extraEnv }}
-{{ toYaml .Values.nextcloud.extraEnv | indent 8 }}
- {{- end }}
- {{- if not .Values.nginx.enabled }}
- ports:
- - name: http
- containerPort: 80
- protocol: TCP
- {{- end }}
- {{- if and .Values.livenessProbe.enabled (not .Values.nginx.enabled) }}
- livenessProbe:
- httpGet:
- path: /status.php
- port: http
- httpHeaders:
- - name: Host
- value: {{ .Values.nextcloud.host | quote }}
- initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}
- periodSeconds: {{ .Values.livenessProbe.periodSeconds }}
- timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }}
- successThreshold: {{ .Values.livenessProbe.successThreshold }}
- failureThreshold: {{ .Values.livenessProbe.failureThreshold }}
- {{- end }}
- {{- if and .Values.readinessProbe.enabled (not .Values.nginx.enabled) }}
- readinessProbe:
- httpGet:
- path: /status.php
- port: http
- httpHeaders:
- - name: Host
- value: {{ .Values.nextcloud.host | quote }}
- initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}
- periodSeconds: {{ .Values.readinessProbe.periodSeconds }}
- timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }}
- successThreshold: {{ .Values.readinessProbe.successThreshold }}
- failureThreshold: {{ .Values.readinessProbe.failureThreshold }}
- {{- end }}
- resources:
-{{ toYaml .Values.resources | indent 10 }}
- volumeMounts:
- - name: nextcloud-data
- mountPath: /var/www/
- subPath: {{ ternary "root" (printf "%s/%s" .Values.nextcloud.persistence.subPath "root") (empty .Values.nextcloud.persistence.subPath) }}
- - name: nextcloud-data
- mountPath: /var/www/html
- subPath: {{ ternary "html" (printf "%s/%s" .Values.nextcloud.persistence.subPath "html") (empty .Values.nextcloud.persistence.subPath) }}
- - name: nextcloud-data
- mountPath: {{ .Values.nextcloud.datadir }}
- subPath: {{ ternary "data" (printf "%s/%s" .Values.nextcloud.persistence.subPath "data") (empty .Values.nextcloud.persistence.subPath) }}
- - name: nextcloud-data
- mountPath: /var/www/html/config
- subPath: {{ ternary "config" (printf "%s/%s" .Values.nextcloud.persistence.subPath "config") (empty .Values.nextcloud.persistence.subPath) }}
- - name: nextcloud-data
- mountPath: /var/www/html/custom_apps
- subPath: {{ ternary "custom_apps" (printf "%s/%s" .Values.nextcloud.persistence.subPath "custom_apps") (empty .Values.nextcloud.persistence.subPath) }}
- - name: nextcloud-data
- mountPath: /var/www/tmp
- subPath: {{ ternary "tmp" (printf "%s/%s" .Values.nextcloud.persistence.subPath "tmp") (empty .Values.nextcloud.persistence.subPath) }}
- - name: nextcloud-data
- mountPath: /var/www/html/themes
- subPath: {{ ternary "themes" (printf "%s/%s" .Values.nextcloud.persistence.subPath "themes") (empty .Values.nextcloud.persistence.subPath) }}
- {{- range $key, $value := .Values.nextcloud.configs }}
- - name: nextcloud-config
- mountPath: /var/www/html/config/{{ $key }}
- subPath: {{ $key }}
- {{- end }}
- {{- if .Values.nextcloud.configs }}
- {{- range $key, $value := .Values.nextcloud.defaultConfigs }}
- {{- if $value }}
- - name: nextcloud-config
- mountPath: /var/www/html/config/{{ $key }}
- subPath: {{ $key }}
- {{- end }}
- {{- end }}
- {{- end }}
- {{- range $key, $value := .Values.nextcloud.phpConfigs }}
- - name: nextcloud-phpconfig
- mountPath: /usr/local/etc/php/conf.d/{{ $key }}
- subPath: {{ $key }}
- {{- end }}
- {{- if .Values.nextcloud.extraVolumeMounts }}
-{{ toYaml .Values.nextcloud.extraVolumeMounts | indent 8 }}
- {{- end }}
- {{- if .Values.nginx.enabled }}
- - name: {{ .Chart.Name }}-nginx
- image: "{{ .Values.nginx.image.repository }}:{{ .Values.nginx.image.tag }}"
- imagePullPolicy: {{ .Values.nginx.image.pullPolicy }}
- ports:
- - name: http
- containerPort: 80
- protocol: TCP
- {{- if .Values.livenessProbe.enabled }}
- livenessProbe:
- httpGet:
- path: /status.php
- port: http
- httpHeaders:
- - name: Host
- value: {{ .Values.nextcloud.host | quote }}
- initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}
- periodSeconds: {{ .Values.livenessProbe.periodSeconds }}
- timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }}
- successThreshold: {{ .Values.livenessProbe.successThreshold }}
- failureThreshold: {{ .Values.livenessProbe.failureThreshold }}
- {{- end }}
- {{- if .Values.readinessProbe.enabled }}
- readinessProbe:
- httpGet:
- path: /status.php
- port: http
- httpHeaders:
- - name: Host
- value: {{ .Values.nextcloud.host | quote }}
- initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}
- periodSeconds: {{ .Values.readinessProbe.periodSeconds }}
- timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }}
- successThreshold: {{ .Values.readinessProbe.successThreshold }}
- failureThreshold: {{ .Values.readinessProbe.failureThreshold }}
- {{- end }}
- resources:
-{{ toYaml .Values.nginx.resources | indent 10 }}
- volumeMounts:
- - name: nextcloud-data
- mountPath: /var/www/
- subPath: {{ ternary "root" (printf "%s/%s" .Values.nextcloud.persistence.subPath "root") (empty .Values.nextcloud.persistence.subPath) }}
- - name: nextcloud-data
- mountPath: /var/www/html
- subPath: {{ ternary "html" (printf "%s/%s" .Values.nextcloud.persistence.subPath "html") (empty .Values.nextcloud.persistence.subPath) }}
- - name: nextcloud-data
- mountPath: {{ .Values.nextcloud.datadir }}
- subPath: {{ ternary "data" (printf "%s/%s" .Values.nextcloud.persistence.subPath "data") (empty .Values.nextcloud.persistence.subPath) }}
- - name: nextcloud-data
- mountPath: /var/www/html/config
- subPath: {{ ternary "config" (printf "%s/%s" .Values.nextcloud.persistence.subPath "config") (empty .Values.nextcloud.persistence.subPath) }}
- - name: nextcloud-data
- mountPath: /var/www/html/custom_apps
- subPath: {{ ternary "custom_apps" (printf "%s/%s" .Values.nextcloud.persistence.subPath "custom_apps") (empty .Values.nextcloud.persistence.subPath) }}
- - name: nextcloud-data
- mountPath: /var/www/tmp
- subPath: {{ ternary "tmp" (printf "%s/%s" .Values.nextcloud.persistence.subPath "tmp") (empty .Values.nextcloud.persistence.subPath) }}
- - name: nextcloud-data
- mountPath: /var/www/html/themes
- subPath: {{ ternary "themes" (printf "%s/%s" .Values.nextcloud.persistence.subPath "themes") (empty .Values.nextcloud.persistence.subPath) }}
- - name: nextcloud-nginx-config
- mountPath: /etc/nginx/nginx.conf
- subPath: nginx.conf
- {{- end }}
- {{- with .Values.nodeSelector }}
- nodeSelector:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.affinity }}
- affinity:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.tolerations }}
- tolerations:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- volumes:
- - name: nextcloud-data
- {{- if .Values.persistence.enabled }}
- persistentVolumeClaim:
- claimName: {{ if .Values.persistence.existingClaim }}{{ .Values.persistence.existingClaim }}{{- else }}{{ template "nextcloud.fullname" . }}-nextcloud{{- end }}
- {{- else }}
- emptyDir: {}
- {{- end }}
- {{- if .Values.nextcloud.configs }}
- - name: nextcloud-config
- configMap:
- name: {{ template "nextcloud.fullname" . }}-config
- {{- end }}
- {{- if .Values.nextcloud.phpConfigs }}
- - name: nextcloud-phpconfig
- configMap:
- name: {{ template "nextcloud.fullname" . }}-phpconfig
- {{- end }}
- {{- if .Values.nginx.enabled }}
- - name: nextcloud-nginx-config
- configMap:
- name: {{ template "nextcloud.fullname" . }}-nginxconfig
- {{- end }}
- {{- if .Values.nextcloud.extraVolumes }}
-{{ toYaml .Values.nextcloud.extraVolumes | indent 6 }}
- {{- end }}
- {{- if .Values.nginx.enabled }}
- # Will mount configuration files as www-data (id: 82) for nextcloud
- securityContext:
- fsGroup: 82
- {{- else }}
- # Will mount configuration files as www-data (id: 33) for nextcloud
- securityContext:
- fsGroup: 33
- {{- end }}
diff --git a/templates/hpa.yaml b/templates/hpa.yaml
deleted file mode 100644
index 81df1b8e..00000000
--- a/templates/hpa.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-{{- if .Values.hpa.enabled -}}
-apiVersion: autoscaling/v1
-kind: HorizontalPodAutoscaler
-metadata:
- name: {{ template "nextcloud.fullname" . }}
- labels:
- app.kubernetes.io/name: {{ include "nextcloud.name" . }}
- helm.sh/chart: {{ include "nextcloud.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
-spec:
- scaleTargetRef:
- kind: Deployment
- apiVersion: apps/v1
- name: {{ template "nextcloud.fullname" . }}
- minReplicas: {{ .Values.hpa.minPods }}
- maxReplicas: {{ .Values.hpa.maxPods }}
- targetCPUUtilizationPercentage: {{ .Values.hpa.cputhreshold }}
-{{- end }}
\ No newline at end of file
diff --git a/templates/ingress.yaml b/templates/ingress.yaml
deleted file mode 100644
index 0255e40a..00000000
--- a/templates/ingress.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-{{- if .Values.ingress.enabled }}
-apiVersion: networking.k8s.io/v1beta1
-kind: Ingress
-metadata:
- name: {{ template "nextcloud.fullname" . }}
- labels:
- app.kubernetes.io/name: {{ include "nextcloud.name" . }}
- helm.sh/chart: {{ include "nextcloud.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- if .Values.ingress.labels }}
-{{ toYaml .Values.ingress.labels | indent 4 }}
-{{- end }}
-{{- if .Values.ingress.annotations }}
- annotations:
-{{ toYaml .Values.ingress.annotations | indent 4 }}
-{{- end }}
-spec:
- rules:
- - host: {{ .Values.nextcloud.host }}
- http:
- paths:
- - backend:
- serviceName: {{ template "nextcloud.fullname" . }}
- servicePort: {{ .Values.service.port }}
-{{- if .Values.ingress.tls }}
- tls:
-{{ toYaml .Values.ingress.tls | indent 4 }}
-{{- end -}}
-{{- end }}
diff --git a/templates/metrics-deployment.yaml b/templates/metrics-deployment.yaml
deleted file mode 100644
index 5e6a0c92..00000000
--- a/templates/metrics-deployment.yaml
+++ /dev/null
@@ -1,54 +0,0 @@
-{{- if .Values.metrics.enabled }}
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: {{ template "nextcloud.fullname" . }}-metrics
- labels:
- app.kubernetes.io/name: {{ include "nextcloud.name" . }}
- helm.sh/chart: {{ include "nextcloud.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
- app.kubernetes.io/component: metrics
-spec:
- replicas: {{ .Values.metrics.replicaCount }}
- selector:
- matchLabels:
- app.kubernetes.io/name: {{ include "nextcloud.name" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- template:
- metadata:
- annotations: {{- toYaml .Values.metrics.podAnnotations | nindent 8 }}
- labels:
- app.kubernetes.io/name: {{ include "nextcloud.name" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/component: metrics
- {{- if .Values.metrics.podLabels }}
-{{ toYaml .Values.metrics.podLabels | indent 8 }}
- {{- end }}
- spec:
- containers:
- - name: metrics-exporter
- image: "{{ .Values.metrics.image.repository }}:{{ .Values.metrics.image.tag }}"
- imagePullPolicy: {{ .Values.metrics.image.pullPolicy }}
- env:
- - name: NEXTCLOUD_USERNAME
- valueFrom:
- secretKeyRef:
- name: {{ template "nextcloud.fullname" . }}
- key: nextcloud-username
- - name: NEXTCLOUD_PASSWORD
- valueFrom:
- secretKeyRef:
- name: {{ template "nextcloud.fullname" . }}
- key: nextcloud-password
- - name: NEXTCLOUD_SERVER
- value: http{{ if .Values.metrics.https }}s{{ end }}://{{ .Values.nextcloud.host }}
- - name: NEXTCLOUD_TIMEOUT
- value: {{ .Values.metrics.timeout }}
- ports:
- - name: metrics
- containerPort: 9205
- {{- if .Values.metrics.resources }}
- resources: {{- toYaml .Values.metrics.resources | nindent 10 }}
- {{- end }}
-{{- end }}
diff --git a/templates/metrics-service.yaml b/templates/metrics-service.yaml
deleted file mode 100644
index b349751c..00000000
--- a/templates/metrics-service.yaml
+++ /dev/null
@@ -1,31 +0,0 @@
-{{- if .Values.metrics.enabled }}
-apiVersion: v1
-kind: Service
-metadata:
- name: {{ template "nextcloud.fullname" . }}-metrics
- labels:
- labels:
- app.kubernetes.io/name: {{ include "nextcloud.name" . }}
- helm.sh/chart: {{ include "nextcloud.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
- {{- if .Values.metrics.service.labels -}}
- {{ toYaml .Values.metrics.service.labels | nindent 4 }}
- {{- end -}}
- {{- if .Values.metrics.service.annotations }}
- annotations: {{ toYaml .Values.metrics.service.annotations | nindent 4 }}
- {{- end }}
-spec:
- type: {{ .Values.metrics.service.type }}
- {{ if eq .Values.metrics.service.type "LoadBalancer" -}} {{ if .Values.metrics.service.loadBalancerIP }}
- loadBalancerIP: {{ .Values.metrics.service.loadBalancerIP }}
- {{ end -}}
- {{- end -}}
- ports:
- - name: metrics
- port: 9205
- targetPort: metrics
- selector:
- app.kubernetes.io/name: {{ include "nextcloud.name" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end }}
diff --git a/templates/nextcloud-pvc.yaml b/templates/nextcloud-pvc.yaml
deleted file mode 100644
index c87bdbb4..00000000
--- a/templates/nextcloud-pvc.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-{{- if .Values.persistence.enabled -}}
-{{- if not .Values.persistence.existingClaim -}}
-kind: PersistentVolumeClaim
-apiVersion: v1
-metadata:
- name: {{ template "nextcloud.fullname" . }}-nextcloud
- labels:
- app.kubernetes.io/name: {{ include "nextcloud.name" . }}
- helm.sh/chart: {{ include "nextcloud.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- if .Values.persistence.annotations }}
- annotations:
-{{ toYaml .Values.persistence.annotations | indent 4 }}
-{{- end }}
-spec:
- accessModes:
- - {{ .Values.persistence.accessMode | quote }}
- resources:
- requests:
- storage: {{ .Values.persistence.size | quote }}
-{{- if .Values.persistence.storageClass }}
-{{- if (eq "-" .Values.persistence.storageClass) }}
- storageClassName: ""
-{{- else }}
- storageClassName: "{{ .Values.persistence.storageClass }}"
-{{- end }}
-{{- end }}
-{{- end -}}
-{{- end -}}
diff --git a/templates/nginx-config.yaml b/templates/nginx-config.yaml
deleted file mode 100644
index c4b20871..00000000
--- a/templates/nginx-config.yaml
+++ /dev/null
@@ -1,185 +0,0 @@
-{{- if .Values.nginx.enabled -}}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: {{ template "nextcloud.fullname" . }}-nginxconfig
- labels:
- app.kubernetes.io/name: {{ include "nextcloud.name" . }}
- helm.sh/chart: {{ include "nextcloud.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
-data:
- nginx.conf: |-
-{{- if .Values.nginx.config.default }}
- worker_processes auto;
-
- error_log /var/log/nginx/error.log warn;
- pid /var/run/nginx.pid;
-
-
- events {
- worker_connections 1024;
- }
-
-
- http {
- include /etc/nginx/mime.types;
- default_type application/octet-stream;
-
- log_format main '$remote_addr - $remote_user [$time_local] "$request" '
- '$status $body_bytes_sent "$http_referer" '
- '"$http_user_agent" "$http_x_forwarded_for"';
-
- access_log /var/log/nginx/access.log main;
-
- sendfile on;
- #tcp_nopush on;
-
- keepalive_timeout 65;
-
- #gzip on;
-
- upstream php-handler {
- server 127.0.0.1:9000;
- }
-
- server {
- listen 80;
-
- # Add headers to serve security related headers
- # Before enabling Strict-Transport-Security headers please read into this
- # topic first.
- #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
- #
- # WARNING: Only add the preload option once you read about
- # the consequences in https://hstspreload.org/. This option
- # will add the domain to a hardcoded list that is shipped
- # in all major browsers and getting removed from this list
- # could take several months.
- add_header Referrer-Policy "no-referrer" always;
- add_header X-Content-Type-Options "nosniff" always;
- add_header X-Download-Options "noopen" always;
- add_header X-Frame-Options "SAMEORIGIN" always;
- add_header X-Permitted-Cross-Domain-Policies "none" always;
- add_header X-Robots-Tag "none" always;
- add_header X-XSS-Protection "1; mode=block" always;
-
- # Remove X-Powered-By, which is an information leak
- fastcgi_hide_header X-Powered-By;
-
- # Path to the root of your installation
- root /var/www/html;
-
- location = /robots.txt {
- allow all;
- log_not_found off;
- access_log off;
- }
-
- # The following 2 rules are only needed for the user_webfinger app.
- # Uncomment it if you're planning to use this app.
- #rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
- #rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
-
- # The following rule is only needed for the Social app.
- # Uncomment it if you're planning to use this app.
- #rewrite ^/.well-known/webfinger /public.php?service=webfinger last;
-
- location = /.well-known/carddav {
- return 301 $scheme://$host:$server_port/remote.php/dav;
- }
-
- location = /.well-known/caldav {
- return 301 $scheme://$host:$server_port/remote.php/dav;
- }
-
- # set max upload size
- client_max_body_size 10G;
- fastcgi_buffers 64 4K;
-
- # Enable gzip but do not remove ETag headers
- gzip on;
- gzip_vary on;
- gzip_comp_level 4;
- gzip_min_length 256;
- gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
- gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;
-
- # Uncomment if your server is build with the ngx_pagespeed module
- # This module is currently not supported.
- #pagespeed off;
-
- location / {
- rewrite ^ /index.php;
- }
-
- location ~ ^\/(?:build|tests|config|lib|3rdparty|templates|data)\/ {
- deny all;
- }
- location ~ ^\/(?:\.|autotest|occ|issue|indie|db_|console) {
- deny all;
- }
-
- location ~ ^\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+)\.php(?:$|\/) {
- fastcgi_split_path_info ^(.+?\.php)(\/.*|)$;
- set $path_info $fastcgi_path_info;
- try_files $fastcgi_script_name =404;
- include fastcgi_params;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- fastcgi_param PATH_INFO $path_info;
- # fastcgi_param HTTPS on;
-
- # Avoid sending the security headers twice
- fastcgi_param modHeadersAvailable true;
-
- # Enable pretty urls
- fastcgi_param front_controller_active true;
- fastcgi_pass php-handler;
- fastcgi_intercept_errors on;
- fastcgi_request_buffering off;
- }
-
- location ~ ^\/(?:updater|oc[ms]-provider)(?:$|\/) {
- try_files $uri/ =404;
- index index.php;
- }
-
- # Adding the cache control header for js, css and map files
- # Make sure it is BELOW the PHP block
- location ~ \.(?:css|js|woff2?|svg|gif|map)$ {
- try_files $uri /index.php$request_uri;
- add_header Cache-Control "public, max-age=15778463";
- # Add headers to serve security related headers (It is intended to
- # have those duplicated to the ones above)
- # Before enabling Strict-Transport-Security headers please read into
- # this topic first.
- #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
- #
- # WARNING: Only add the preload option once you read about
- # the consequences in https://hstspreload.org/. This option
- # will add the domain to a hardcoded list that is shipped
- # in all major browsers and getting removed from this list
- # could take several months.
- add_header Referrer-Policy "no-referrer" always;
- add_header X-Content-Type-Options "nosniff" always;
- add_header X-Download-Options "noopen" always;
- add_header X-Frame-Options "SAMEORIGIN" always;
- add_header X-Permitted-Cross-Domain-Policies "none" always;
- add_header X-Robots-Tag "none" always;
- add_header X-XSS-Protection "1; mode=block" always;
-
- # Optional: Don't log access to assets
- access_log off;
- }
-
- location ~ \.(?:png|html|ttf|ico|jpg|jpeg|bcmap)$ {
- try_files $uri /index.php$request_uri;
- # Optional: Don't log access to other assets
- access_log off;
- }
- }
- }
-{{- else }}
-{{ .Values.nginx.config.custom | indent 4 }}
-{{- end }}
-{{- end }}
diff --git a/templates/php-config.yaml b/templates/php-config.yaml
deleted file mode 100644
index 3ff9e95a..00000000
--- a/templates/php-config.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-{{- if .Values.nextcloud.phpConfigs -}}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: {{ template "nextcloud.fullname" . }}-phpconfig
- labels:
- app.kubernetes.io/name: {{ include "nextcloud.name" . }}
- helm.sh/chart: {{ include "nextcloud.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
-data:
-{{- range $key, $value := .Values.nextcloud.phpConfigs }}
- {{ $key }}: |-
-{{ $value | indent 4 }}
-{{- end }}
-{{- end }}
diff --git a/templates/secrets.yaml b/templates/secrets.yaml
deleted file mode 100644
index 8473eba0..00000000
--- a/templates/secrets.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
-apiVersion: v1
-kind: Secret
-metadata:
- name: {{ template "nextcloud.fullname" . }}
- labels:
- app.kubernetes.io/name: {{ include "nextcloud.name" . }}
- helm.sh/chart: {{ include "nextcloud.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
-type: Opaque
-data:
- nextcloud-username: {{ .Values.nextcloud.username | b64enc | quote }}
- {{ if .Values.nextcloud.password }}
- nextcloud-password: {{ .Values.nextcloud.password | b64enc | quote }}
- {{ else }}
- nextcloud-password: {{ randAlphaNum 10 | b64enc | quote }}
- {{ end }}
- {{- if .Values.nextcloud.mail.enabled }}
- smtp-username: {{ default "" .Values.nextcloud.mail.smtp.name | b64enc | quote }}
- smtp-password: {{ default "" .Values.nextcloud.mail.smtp.password | b64enc | quote }}
- {{- end }}
diff --git a/templates/service.yaml b/templates/service.yaml
deleted file mode 100644
index 3f788185..00000000
--- a/templates/service.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-apiVersion: v1
-kind: Service
-metadata:
- name: {{ template "nextcloud.fullname" . }}
- labels:
- app.kubernetes.io/name: {{ include "nextcloud.name" . }}
- helm.sh/chart: {{ include "nextcloud.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
-spec:
- type: {{ .Values.service.type }}
- {{- if eq .Values.service.type "LoadBalancer" }}
- loadBalancerIP: {{ default "" .Values.service.loadBalancerIP }}
- {{- end }}
- ports:
- - port: {{ .Values.service.port }}
- targetPort: http
- protocol: TCP
- name: http
- {{- if eq .Values.service.type "NodePort" }}
- nodePort: {{ default "" .Values.service.nodePort}}
- {{- end }}
- selector:
- app.kubernetes.io/name: {{ include "nextcloud.name" . }}
diff --git a/values-mariadb.yaml b/values-mariadb.yaml
deleted file mode 100644
index cc769937..00000000
--- a/values-mariadb.yaml
+++ /dev/null
@@ -1,5 +0,0 @@
-internalDatabase:
- enabled: false
-
-mariadb:
- enabled: true
\ No newline at end of file
diff --git a/values.yaml b/values.yaml
deleted file mode 100644
index 1d65695a..00000000
--- a/values.yaml
+++ /dev/null
@@ -1,383 +0,0 @@
-## Official nextcloud image version
-## ref: https://hub.docker.com/r/library/nextcloud/tags/
-##
-image:
- repository: nextcloud
- tag: 17.0.0-apache
- pullPolicy: IfNotPresent
- # pullSecrets:
- # - myRegistrKeySecretName
-
-nameOverride: ""
-fullnameOverride: ""
-
-# Number of replicas to be deployed
-replicaCount: 1
-
-## Allowing use of ingress controllers
-## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
-##
-ingress:
- enabled: false
- annotations: {}
- # nginx.ingress.kubernetes.io/proxy-body-size: 4G
- # kubernetes.io/tls-acme: "true"
- # certmanager.k8s.io/cluster-issuer: letsencrypt-prod
- # nginx.ingress.kubernetes.io/server-snippet: |-
- # server_tokens off;
- # proxy_hide_header X-Powered-By;
-
- # rewrite ^/.well-known/webfinger /public.php?service=webfinger last;
- # rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
- # rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json;
- # location = /.well-known/carddav {
- # return 301 $scheme://$host/remote.php/dav;
- # }
- # location = /.well-known/caldav {
- # return 301 $scheme://$host/remote.php/dav;
- # }
- # location = /robots.txt {
- # allow all;
- # log_not_found off;
- # access_log off;
- # }
- # location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
- # deny all;
- # }
- # location ~ ^/(?:autotest|occ|issue|indie|db_|console) {
- # deny all;
- # }
- # tls:
- # - secretName: nextcloud-tls
- # hosts:
- # - nextcloud.kube.home
- labels: {}
-
-
-# Allow configuration of lifecycle hooks
-# ref: https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/
-lifecycle: {}
- # postStartCommand: []
- # preStopCommand: []
-
-nextcloud:
- host: nextcloud.kube.home
- username: admin
- password: changeme
- update: 0
- datadir: /var/www/html/data
- tableprefix:
- persistence:
- subPath:
- mail:
- enabled: false
- fromAddress: user
- domain: domain.com
- smtp:
- host: domain.com
- secure: ssl
- port: 465
- authtype: LOGIN
- name: user
- password: pass
- # PHP Configuration files
- # Will be injected in /usr/local/etc/php/conf.d
- phpConfigs: {}
- # Default config files
- # 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/16.0/apache/config
- defaultConfigs:
- # To protect /var/www/html/config
- .htaccess: true
- # Redis default configuration
- redis.config.php: true
- # Apache configuration for rewrite urls
- apache-pretty-urls.config.php: true
- # Define APCu as local cache
- apcu.config.php: true
- # Apps directory configs
- apps.config.php: true
- # Used for auto configure database
- autoconfig.php: true
- # SMTP default configuration
- smtp.config.php: true
- # Extra config files created in /var/www/html/config/
- # ref: https://docs.nextcloud.com/server/15/admin_manual/configuration_server/config_sample_php_parameters.html#multiple-config-php-file
- configs: {}
-
- # For example, to use S3 as primary storage
- # ref: https://docs.nextcloud.com/server/13/admin_manual/configuration_files/primary_storage.html#simple-storage-service-s3
- #
- # configs:
- # s3.config.php: |-
- # array(
- # 'class' => '\\OC\\Files\\ObjectStore\\S3',
- # 'arguments' => array(
- # 'bucket' => 'my-bucket',
- # 'autocreate' => true,
- # 'key' => 'xxx',
- # 'secret' => 'xxx',
- # 'region' => 'us-east-1',
- # 'use_ssl' => true
- # )
- # )
- # );
-
- ## 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 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"
-
-nginx:
- ## You need to set an fpm version of the image for nextcloud if you want to use nginx!
- enabled: false
- image:
- repository: nginx
- tag: alpine
- pullPolicy: IfNotPresent
-
- config:
- # This generates the default nginx config as per the nextcloud documentation
- default: true
- # custom: |-
- # worker_processes 1;..
-
- resources: {}
-
-internalDatabase:
- enabled: true
- name: nextcloud
-
-##
-## External database configuration
-##
-externalDatabase:
- enabled: false
-
- ## Supported database engines: mysql or postgresql
- type: mysql
-
- ## Database host
- host:
-
- ## Database user
- user: nextcloud
-
- ## Database password
- password:
-
- ## Database name
- database: nextcloud
-
- ## Use a existing secret
- existingSecret:
- enabled: false
- # secretName: nameofsecret
- # usernameKey: username
- # passwordKey: password
-
-##
-## MariaDB chart configuration
-##
-mariadb:
- ## Whether to deploy a mariadb server to satisfy the applications database requirements. To use an external database set this to false and configure the externalDatabase parameters
- enabled: false
-
- db:
- name: nextcloud
- user: nextcloud
- password: changeme
-
- ## Enable persistence using Persistent Volume Claims
- ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
- ##
- persistence:
- enabled: false
- accessMode: ReadWriteOnce
- size: 8Gi
-
-redis:
- enabled: false
- usePassword: false
-
-## Cronjob to execute Nextcloud background tasks
-## ref: https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/background_jobs_configuration.html#cron-jobs
-##
-cronjob:
- enabled: false
- # Nexcloud image is used as default but only curl is needed
- image: {}
- # repository: nextcloud
- # tag: 16.0.3-apache
- # pullPolicy: IfNotPresent
- # pullSecrets:
- # - myRegistrKeySecretName
- # Every 15 minutes
- # Note: Setting this to any any other value than 15 minutes might
- # cause issues with how nextcloud background jobs are executed
- schedule: "*/15 * * * *"
- annotations: {}
- # Set curl's insecure option if you use e.g. self-signed certificates
- curlInsecure: false
- failedJobsHistoryLimit: 5
- successfulJobsHistoryLimit: 2
- # If not set, nextcloud deployment one will be set
- # resources:
- # We usually recommend not to specify default resources and to leave this as a conscious
- # choice for the user. This also increases chances charts run on environments with little
- # resources, such as Minikube. If you do want to specify resources, uncomment the following
- # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
- # limits:
- # cpu: 100m
- # memory: 128Mi
- # requests:
- # cpu: 100m
- # memory: 128Mi
-
- # If not set, nextcloud deployment one will be set
- # nodeSelector: {}
-
- # If not set, nextcloud deployment one will be set
- # tolerations: []
-
- # If not set, nextcloud deployment one will be set
- # affinity: {}
-
-service:
- type: ClusterIP
- port: 8080
- loadBalancerIP: nil
- nodePort: nil
-
-## Enable persistence using Persistent Volume Claims
-## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
-##
-persistence:
- # Nextcloud Data (/var/www/html)
- enabled: false
- annotations: {}
- ## nextcloud data Persistent Volume Storage Class
- ## If defined, storageClassName:
- ## If set to "-", storageClassName: "", which disables dynamic provisioning
- ## If undefined (the default) or set to null, no storageClassName spec is
- ## set, choosing the default provisioner. (gp2 on AWS, standard on
- ## GKE, AWS & OpenStack)
- ##
- # storageClass: "-"
-
- ## A manually managed Persistent Volume and Claim
- ## Requires persistence.enabled: true
- ## If defined, PVC must be created manually before volume will be bound
- # existingClaim:
-
- accessMode: ReadWriteOnce
- size: 8Gi
-
-resources: {}
- # We usually recommend not to specify default resources and to leave this as a conscious
- # choice for the user. This also increases chances charts run on environments with little
- # resources, such as Minikube. If you do want to specify resources, uncomment the following
- # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
- # limits:
- # cpu: 100m
- # memory: 128Mi
- # requests:
- # cpu: 100m
- # memory: 128Mi
-
-## Liveness and readiness probe values
-## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
-##
-livenessProbe:
- enabled: true
- initialDelaySeconds: 30
- periodSeconds: 15
- timeoutSeconds: 5
- failureThreshold: 3
- successThreshold: 1
-readinessProbe:
- enabled: true
- initialDelaySeconds: 30
- periodSeconds: 15
- timeoutSeconds: 5
- failureThreshold: 3
- successThreshold: 1
-
-## Enable pod autoscaling using HorizontalPodAutoscaler
-## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
-##
-hpa:
- enabled: false
- cputhreshold: 60
- minPods: 1
- maxPods: 10
-
-nodeSelector: {}
-
-tolerations: []
-
-affinity: {}
-
-
-## Prometheus Exporter / Metrics
-##
-metrics:
- enabled: false
-
- replicaCount: 1
- # The metrics exporter needs to know how you serve Nextcloud either http or https
- https: false
- timeout: 5s
-
- image:
- repository: xperimental/nextcloud-exporter
- tag: v0.3.0
- pullPolicy: IfNotPresent
-
- ## Metrics exporter resource requests and limits
- ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
- ##
- # resources: {}
-
- ## Metrics exporter pod Annotation and Labels
- # podAnnotations: {}
-
- # podLabels: {}
-
- 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: {}