From c0247ef9461ad875ccd7f49c74fe4bdd8d5209cd Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Wed, 24 Aug 2022 15:21:40 +0000 Subject: [PATCH] Commit new Chart releases for TrueCharts Signed-off-by: TrueCharts-Bot --- stable/nextcloud/15.2.43/CHANGELOG.md | 99 + stable/nextcloud/15.2.43/Chart.lock | 15 + stable/nextcloud/15.2.43/Chart.yaml | 45 + stable/nextcloud/15.2.43/README.md | 112 + stable/nextcloud/15.2.43/app-readme.md | 8 + .../charts/collabora-online-12.1.30.tgz | Bin 0 -> 58319 bytes .../15.2.43/charts/common-10.5.0.tgz | Bin 0 -> 48188 bytes .../15.2.43/charts/postgresql-8.0.62.tgz | Bin 0 -> 55407 bytes .../nextcloud/15.2.43/charts/redis-3.0.58.tgz | Bin 0 -> 56022 bytes stable/nextcloud/15.2.43/ci/basic-values.yaml | 11 + stable/nextcloud/15.2.43/ix_values.yaml | 453 +++ stable/nextcloud/15.2.43/questions.yaml | 2866 +++++++++++++++++ .../15.2.43/templates/_configmap.tpl | 36 + .../nextcloud/15.2.43/templates/_cronjob.tpl | 64 + stable/nextcloud/15.2.43/templates/_hpb.tpl | 173 + .../15.2.43/templates/_imaginary.tpl | 40 + stable/nextcloud/15.2.43/templates/_nginx.tpl | 54 + .../nextcloud/15.2.43/templates/common.yaml | 22 + stable/nextcloud/15.2.43/values.yaml | 0 19 files changed, 3998 insertions(+) create mode 100644 stable/nextcloud/15.2.43/CHANGELOG.md create mode 100644 stable/nextcloud/15.2.43/Chart.lock create mode 100644 stable/nextcloud/15.2.43/Chart.yaml create mode 100644 stable/nextcloud/15.2.43/README.md create mode 100644 stable/nextcloud/15.2.43/app-readme.md create mode 100644 stable/nextcloud/15.2.43/charts/collabora-online-12.1.30.tgz create mode 100644 stable/nextcloud/15.2.43/charts/common-10.5.0.tgz create mode 100644 stable/nextcloud/15.2.43/charts/postgresql-8.0.62.tgz create mode 100644 stable/nextcloud/15.2.43/charts/redis-3.0.58.tgz create mode 100644 stable/nextcloud/15.2.43/ci/basic-values.yaml create mode 100644 stable/nextcloud/15.2.43/ix_values.yaml create mode 100644 stable/nextcloud/15.2.43/questions.yaml create mode 100644 stable/nextcloud/15.2.43/templates/_configmap.tpl create mode 100644 stable/nextcloud/15.2.43/templates/_cronjob.tpl create mode 100644 stable/nextcloud/15.2.43/templates/_hpb.tpl create mode 100644 stable/nextcloud/15.2.43/templates/_imaginary.tpl create mode 100644 stable/nextcloud/15.2.43/templates/_nginx.tpl create mode 100644 stable/nextcloud/15.2.43/templates/common.yaml create mode 100644 stable/nextcloud/15.2.43/values.yaml diff --git a/stable/nextcloud/15.2.43/CHANGELOG.md b/stable/nextcloud/15.2.43/CHANGELOG.md new file mode 100644 index 0000000000..95dc8ad3ac --- /dev/null +++ b/stable/nextcloud/15.2.43/CHANGELOG.md @@ -0,0 +1,99 @@ +# Changelog + + + +## [nextcloud-15.2.43](https://github.com/truecharts/charts/compare/nextcloud-15.2.42...nextcloud-15.2.43) (2022-08-24) + +### Chore + +- set overwrite.cli.url ([#3541](https://github.com/truecharts/charts/issues/3541)) + + + + +## [nextcloud-15.2.42](https://github.com/truecharts/charts/compare/nextcloud-15.2.41...nextcloud-15.2.42) (2022-08-24) + +### Chore + +- update docker general non-major ([#3552](https://github.com/truecharts/charts/issues/3552)) + + + + +## [nextcloud-15.2.41](https://github.com/truecharts/charts/compare/nextcloud-15.2.40...nextcloud-15.2.41) (2022-08-23) + +### Chore + +- update helm general non-major helm releases ([#3545](https://github.com/truecharts/charts/issues/3545)) + + + + +## [nextcloud-15.2.40](https://github.com/truecharts/charts/compare/nextcloud-15.2.39...nextcloud-15.2.40) (2022-08-23) + +### Chore + +- update docker general non-major docker tags ([#3544](https://github.com/truecharts/charts/issues/3544)) + + + + +## [nextcloud-15.2.39](https://github.com/truecharts/charts/compare/nextcloud-15.2.38...nextcloud-15.2.39) (2022-08-17) + +### Chore + +- update helm general non-major helm releases ([#3484](https://github.com/truecharts/charts/issues/3484)) + - update docker general non-major ([#3478](https://github.com/truecharts/charts/issues/3478)) + + + + +## [nextcloud-15.2.38](https://github.com/truecharts/charts/compare/nextcloud-15.2.37...nextcloud-15.2.38) (2022-08-14) + +### Chore + +- update docker general non-major docker tags ([#3465](https://github.com/truecharts/charts/issues/3465)) + + + + +## [nextcloud-15.2.37](https://github.com/truecharts/charts/compare/nextcloud-15.2.36...nextcloud-15.2.37) (2022-08-12) + +### Chore + +- update helm general non-major helm releases ([#3456](https://github.com/truecharts/charts/issues/3456)) + + + + +## [nextcloud-15.2.36](https://github.com/truecharts/charts/compare/nextcloud-15.2.35...nextcloud-15.2.36) (2022-08-12) + +### Chore + +- add documentation checkbox/section to all SCALE Apps + - update docker general non-major ([#3453](https://github.com/truecharts/charts/issues/3453)) + + ### Fix + +- move extraArgs from .Values.controller to .Values ([#3447](https://github.com/truecharts/charts/issues/3447)) + + + + +## [nextcloud-15.2.35](https://github.com/truecharts/charts/compare/nextcloud-15.2.34...nextcloud-15.2.35) (2022-08-09) + +### Chore + +- update helm general non-major helm releases to v10.4.9 ([#3413](https://github.com/truecharts/charts/issues/3413)) + + + + +## [nextcloud-15.2.34](https://github.com/truecharts/charts/compare/nextcloud-15.2.33...nextcloud-15.2.34) (2022-08-09) + +### Chore + +- update docker general non-major ([#3377](https://github.com/truecharts/charts/issues/3377)) + + ### Fix + diff --git a/stable/nextcloud/15.2.43/Chart.lock b/stable/nextcloud/15.2.43/Chart.lock new file mode 100644 index 0000000000..0ab3ff8161 --- /dev/null +++ b/stable/nextcloud/15.2.43/Chart.lock @@ -0,0 +1,15 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.5.0 +- name: postgresql + repository: https://charts.truecharts.org/ + version: 8.0.62 +- name: collabora-online + repository: https://charts.truecharts.org/ + version: 12.1.30 +- name: redis + repository: https://charts.truecharts.org + version: 3.0.58 +digest: sha256:c6534180b83992915fb275343b3bf12ad2ccd3fe881bd26d6fc7c904db8eb2ae +generated: "2022-08-24T15:14:13.982678814Z" diff --git a/stable/nextcloud/15.2.43/Chart.yaml b/stable/nextcloud/15.2.43/Chart.yaml new file mode 100644 index 0000000000..3249e34266 --- /dev/null +++ b/stable/nextcloud/15.2.43/Chart.yaml @@ -0,0 +1,45 @@ +apiVersion: v2 +appVersion: "24.0.4" +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 10.5.0 + - condition: postgresql.enabled + name: postgresql + repository: https://charts.truecharts.org/ + version: 8.0.62 + - condition: collabora.enabled + name: collabora-online + repository: https://charts.truecharts.org/ + version: 12.1.30 + - condition: redis.enabled + name: redis + repository: https://charts.truecharts.org + version: 3.0.58 +deprecated: false +description: A private cloud server that puts the control and security of your own data back into your hands. +home: https://truecharts.org/docs/charts/stable/nextcloud +icon: https://truecharts.org/img/hotlink-ok/chart-icons/nextcloud.png +keywords: + - nextcloud + - storage + - http + - web + - php +kubeVersion: ">=1.16.0-0" +maintainers: + - email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: nextcloud +sources: + - https://github.com/truecharts/charts/tree/master/charts/stable/nextcloud + - https://github.com/nextcloud/docker + - https://github.com/nextcloud/helm +type: application +version: 15.2.43 +annotations: + truecharts.org/catagories: | + - cloud + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/stable/nextcloud/15.2.43/README.md b/stable/nextcloud/15.2.43/README.md new file mode 100644 index 0000000000..b6d3be0f35 --- /dev/null +++ b/stable/nextcloud/15.2.43/README.md @@ -0,0 +1,112 @@ +# nextcloud + +![Version: 15.2.43](https://img.shields.io/badge/Version-15.2.43-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 24.0.4](https://img.shields.io/badge/AppVersion-24.0.4-informational?style=flat-square) + +A private cloud server that puts the control and security of your own data back into your hands. + +TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. + +This readme is just an automatically generated general guide on installing our Helm Charts and Apps. +For more information, please click here: [nextcloud](https://truecharts.org/docs/charts/stable/nextcloud) + +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://charts.truecharts.org/ | collabora-online | 12.1.30 | +| https://charts.truecharts.org/ | postgresql | 8.0.62 | +| https://charts.truecharts.org | redis | 3.0.58 | +| https://library-charts.truecharts.org | common | 10.5.0 | + +## Installing the Chart + +### TrueNAS SCALE + +To install this Chart on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Installing-an-App). + +### Helm + +To install the chart with the release name `nextcloud` + +```console +helm repo add TrueCharts https://charts.truecharts.org +helm repo update +helm install nextcloud TrueCharts/nextcloud +``` + +## Uninstall + +### TrueNAS SCALE + +**Upgrading, Rolling Back and Uninstalling the Chart** + +To upgrade, rollback or delete this Chart from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Upgrade-rollback-delete-an-App). + +### Helm + +To uninstall the `nextcloud` deployment + +```console +helm uninstall nextcloud +``` + +## Configuration + +### Helm + +#### Available Settings + +Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values. +Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common). + +#### Configure using the command line + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. + +```console +helm install nextcloud \ + --set env.TZ="America/New York" \ + TrueCharts/nextcloud +``` + +#### Configure using a yaml file + +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. + +```console +helm install nextcloud TrueCharts/nextcloud -f values.yaml +``` + +#### Connecting to other charts + +If you need to connect this Chart to other Charts on TrueNAS SCALE, please refer to our [Linking Charts Internally](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/linking-apps) quick-start guide. + +## Support + +- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Important-MUST-READ). +- See the [Website](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) + +--- + +## Sponsor TrueCharts + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can! + +--- + +All Rights Reserved - The TrueCharts Project diff --git a/stable/nextcloud/15.2.43/app-readme.md b/stable/nextcloud/15.2.43/app-readme.md new file mode 100644 index 0000000000..47480dc348 --- /dev/null +++ b/stable/nextcloud/15.2.43/app-readme.md @@ -0,0 +1,8 @@ +A private cloud server that puts the control and security of your own data back into your hands. + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/docs/charts/stable/nextcloud](https://truecharts.org/docs/charts/stable/nextcloud) + +--- + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can! diff --git a/stable/nextcloud/15.2.43/charts/collabora-online-12.1.30.tgz b/stable/nextcloud/15.2.43/charts/collabora-online-12.1.30.tgz new file mode 100644 index 0000000000000000000000000000000000000000..84e1a096dd9b8c174e83e195968d5b3534cc4720 GIT binary patch literal 58319 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
)Ck+LY83p23n#S~`^c0~7F^1{HKCNxWJ)*f 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 nSTu~#AKHA3iq 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 literal 0 HcmV?d00001 diff --git a/stable/nextcloud/15.2.43/ci/basic-values.yaml b/stable/nextcloud/15.2.43/ci/basic-values.yaml new file mode 100644 index 0000000000..0e1ca14554 --- /dev/null +++ b/stable/nextcloud/15.2.43/ci/basic-values.yaml @@ -0,0 +1,11 @@ +env: + # IP used for exposing nextcloud + # Often the service or nodePort IP + AccessIP: "127.0.0.1" + +service: + main: + ports: + main: + port: 8080 + targetPort: 8080 diff --git a/stable/nextcloud/15.2.43/ix_values.yaml b/stable/nextcloud/15.2.43/ix_values.yaml new file mode 100644 index 0000000000..c3c9d85577 --- /dev/null +++ b/stable/nextcloud/15.2.43/ix_values.yaml @@ -0,0 +1,453 @@ +image: + repository: tccr.io/truecharts/nextcloud-fpm + pullPolicy: IfNotPresent + tag: 24.0.4@sha256:79ec4b85af5ad19741fd96b9f2e054409eb337e3dcd2083677ee20374fe9cc52 + +nginxImage: + repository: tccr.io/truecharts/nginx-unprivileged + pullPolicy: IfNotPresent + tag: 1.23.1@sha256:ec7cdfebdd87de76be564bd9e7d85e3c6a64bb744f81d9047a13dbd3a244d5ad + +imaginaryImage: + repository: h2non/imaginary + pullPolicy: IfNotPresent + tag: 1.2.4@sha256:7facb4221047a5e79b9e902f380247f4e5bf4376400d0badbeb738d3e1c2f654 + +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + fsGroup: 33 + +service: + main: + ports: + main: + port: 10020 + targetPort: 8080 + backend: + enabled: true + ports: + hpb: + enabled: true + port: 7867 + targetPort: 7867 + hpb-metrics: + enabled: true + port: 7868 + targetPort: 7868 + fpm: + enabled: true + port: 9000 + targetPort: 9000 + imaginary: + enabled: true + port: 9090 + targetPort: 9090 + +hostAliases: + - ip: '{{ .Values.env.AccessIP | default "127.0.0.1" }}' + hostnames: + - "{{ if .Values.ingress.main.enabled }}{{ with (first .Values.ingress.main.hosts) }}{{ .host }}{{ end }}{{ else }}placeholder.fakedomain.dns{{ end }}" + +secretEnv: + NEXTCLOUD_ADMIN_USER: "admin" + NEXTCLOUD_ADMIN_PASSWORD: "adminpass" + +probes: + liveness: + custom: true + spec: + initialDelaySeconds: 25 + httpGet: + path: /status.php + port: 8080 + httpHeaders: + - name: Host + value: "test.fakedomain.dns" + + readiness: + custom: true + spec: + initialDelaySeconds: 25 + httpGet: + path: /status.php + port: 8080 + httpHeaders: + - name: Host + value: "test.fakedomain.dns" + + startup: + custom: true + spec: + initialDelaySeconds: 25 + httpGet: + path: /status.php + port: 8080 + httpHeaders: + - name: Host + value: "test.fakedomain.dns" + +initContainers: + prestart: + image: '{{ include "tc.common.images.selector" . }}' + securityContext: + runAsUser: 0 + runAsGroup: 0 + privileged: true + command: + - "/bin/sh" + - "-c" + - | + /bin/bash <<'EOF' + if [[ -f /data/config/config.php ]] && [[ ! -f /html/config/config.php ]]; then + echo "migrating from single to dual PVC's..." + echo "moving to placeholder location..." + mv -f /var/www/html/data/* /var/www/html/data/tomigrate/ + echo "moving userdata to data-pvc root..." + mv -f /var/www/html/data/tomigrate/data/* /var/www/html/data/ + echo "removing old data folder..." + rm -rf /var/www/html/data/tomigrate/data + echo "moving config, apps, templates and other content to html-pvc root..." + mv -f /var/www/html/data/tomigrate/* /var/www/html/ + echo "Removing migration temporary folder..." + rm -rf /var/www/html/data/tomigrate + fi + echo "Enforcing chmod 770 on data-dir..." + chmod 770 /var/www/html/data + echo "Migrating old data when found..." + EOF + + volumeMounts: + - name: data + mountPath: "/var/www/html/data" + - name: html + mountPath: "/var/www/html" + +env: + # IP used for exposing nextcloud + # Often the service or nodePort IP + # Defaults to the main serviceName for CI purposes. + AccessIP: + NEXTCLOUD_INIT_HTACCESS: true + PHP_MEMORY_LIMIT: 1G + PHP_UPLOAD_LIMIT: 10G + NEXTCLOUD_CHUNKSIZE: "31457280" + TRUSTED_PROXIES: "172.16.0.0/16 127.0.0.1" + POSTGRES_DB: "{{ .Values.postgresql.postgresqlDatabase }}" + POSTGRES_USER: "{{ .Values.postgresql.postgresqlUsername }}" + POSTGRES_PASSWORD: + secretKeyRef: + name: dbcreds + key: postgresql-password + POSTGRES_HOST: + secretKeyRef: + name: dbcreds + key: plainporthost + REDIS_HOST: + secretKeyRef: + name: rediscreds + key: plainhost + REDIS_HOST_PASSWORD: + secretKeyRef: + name: rediscreds + key: redis-password + +envFrom: + - configMapRef: + name: nextcloudconfig + +persistence: + html: + enabled: true + mountPath: "/var/www/html" + data: + enabled: true + mountPath: "/var/www/html/data" + varrun: + enabled: true + cache: + enabled: true + type: emptyDir + mountPath: /var/cache/nginx + medium: Memory + nginx: + enabled: "true" + mountPath: "/etc/nginx" + noMount: true + readOnly: true + type: "custom" + volumeSpec: + configMap: + name: '{{ include "tc.common.names.fullname" . }}-nginx' + items: + - key: nginx.conf + path: nginx.conf + +configmap: + nginx: + enabled: true + data: + nginx.conf: |- + 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; + + # Prevent nginx HTTP Server Detection + server_tokens off; + + keepalive_timeout 65; + + #gzip on; + + upstream php-handler { + server 127.0.0.1:9000; + } + + server { + listen 8080; + absolute_redirect off; + + # Forward Notify_Push "High Performance Backend" to it's own container + location ^~ /push/ { + proxy_pass http://127.0.0.1:7867/; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + + # HSTS settings + # 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 Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always; + + # set max upload size + client_max_body_size {{ .Values.env.PHP_UPLOAD_LIMIT | default "512M" }}; + 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; + + # Pagespeed is not supported by Nextcloud, so if your server is built + # with the `ngx_pagespeed` module, uncomment this line to disable it. + #pagespeed off; + + # HTTP response headers borrowed from Nextcloud `.htaccess` + 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; + + # Specify how to handle directories -- specifying `/index.php$request_uri` + # here as the fallback means that Nginx always exhibits the desired behaviour + # when a client requests a path that corresponds to a directory that exists + # on the server. In particular, if that directory contains an index.php file, + # that file is correctly served; if it doesn't, then the request is passed to + # the front-end controller. This consistent behaviour means that we don't need + # to specify custom rules for certain paths (e.g. images and other assets, + # `/updater`, `/ocm-provider`, `/ocs-provider`), and thus + # `try_files $uri $uri/ /index.php$request_uri` + # always provides the desired behaviour. + index index.php index.html /index.php$request_uri; + + # Rule borrowed from `.htaccess` to handle Microsoft DAV clients + location = / { + if ( $http_user_agent ~ ^DavClnt ) { + return 302 /remote.php/webdav/$is_args$args; + } + } + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + # Make a regex exception for `/.well-known` so that clients can still + # access it despite the existence of the regex rule + # `location ~ /(\.|autotest|...)` which would otherwise handle requests + # for `/.well-known`. + location ^~ /.well-known { + # The rules in this block are an adaptation of the rules + # in `.htaccess` that concern `/.well-known`. + + location = /.well-known/carddav { return 301 /remote.php/dav/; } + location = /.well-known/caldav { return 301 /remote.php/dav/; } + + # according to the documentation these two lines are not necessary, but some users are still recieving errors + location = /.well-known/webfinger { return 301 /index.php$uri; } + location = /.well-known/nodeinfo { return 301 /index.php$uri; } + + location /.well-known/acme-challenge { try_files $uri $uri/ =404; } + location /.well-known/pki-validation { try_files $uri $uri/ =404; } + + # Let Nextcloud's API for `/.well-known` URIs handle all other + # requests by passing them to the front-end controller. + return 301 /index.php$request_uri; + } + + # Rules borrowed from `.htaccess` to hide certain paths from clients + location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/) { return 404; } + location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { return 404; } + + # Ensure this block, which passes PHP files to the PHP process, is above the blocks + # which handle static assets (as seen below). If this block is not declared first, + # then Nginx will encounter an infinite rewriting loop when it prepends `/index.php` + # to the URI, resulting in a HTTP 500 error response. + location ~ \.php(?:$|/) { + # Required for legacy support + rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri; + + 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; + + fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twice + fastcgi_param front_controller_active true; # Enable pretty urls + fastcgi_pass php-handler; + + fastcgi_intercept_errors on; + fastcgi_request_buffering off; + + proxy_send_timeout 300s; + proxy_read_timeout 300s; + fastcgi_send_timeout 300s; + fastcgi_read_timeout 300s; + } + + location ~ \.(?:css|js|svg|gif)$ { + try_files $uri /index.php$request_uri; + expires 6M; # Cache-Control policy borrowed from `.htaccess` + access_log off; # Optional: Don't log access to assets + } + + location ~ \.woff2?$ { + try_files $uri /index.php$request_uri; + expires 7d; # Cache-Control policy borrowed from `.htaccess` + access_log off; # Optional: Don't log access to assets + } + + # Rule borrowed from `.htaccess` + location /remote { + return 301 /remote.php$request_uri; + } + + location / { + try_files $uri $uri/ /index.php$request_uri; + } + } + } + +cronjob: + enabled: true + generatePreviews: true + schedule: "*/5 * * * *" + annotations: {} + failedJobsHistoryLimit: 5 + successfulJobsHistoryLimit: 2 + +hpb: + enabled: true + +imaginary: + enabled: true + preview_max_x: 2048 + preview_max_y: 2048 + preview_max_memory: 512 + preview_max_filesize_image: 150 + preview_png: true + preview_jpeg: true + preview_gif: true + preview_bmp: true + preview_xbitmap: true + preview_mp3: true + preview_markdown: true + preview_opendoc: true + preview_txt: true + preview_krita: true + preview_illustrator: false + preview_heic: false + preview_movie: false + preview_msoffice2003: false + preview_msoffice2007: false + preview_msofficedoc: false + preview_pdf: false + preview_photoshop: false + preview_postscript: false + preview_staroffice: false + preview_svg: false + preview_tiff: false + preview_font: false + +collabora: + enabled: false + env: + aliasgroup1: + configMapRef: + name: nextcloudconfig + key: aliasgroup1 + dictionaries: "de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru" + extra_params: "--o:welcome.enable=false --o:logging.level=information --o:user_interface.mode=notebookbar --o:ssl.termination=true --o:ssl.enable=false " + server_name: "" + DONT_GEN_SSL_CERT: true + +postgresql: + enabled: true + existingSecret: "dbcreds" + postgresqlUsername: nextcloud + postgresqlDatabase: nextcloud + +redis: + enabled: true + existingSecret: "rediscreds" + +portal: + enabled: true diff --git a/stable/nextcloud/15.2.43/questions.yaml b/stable/nextcloud/15.2.43/questions.yaml new file mode 100644 index 0000000000..7c9a09a344 --- /dev/null +++ b/stable/nextcloud/15.2.43/questions.yaml @@ -0,0 +1,2866 @@ +groups: + - name: Container Image + description: Image to be used for container + - name: Controller + description: Configure Workload Deployment + - name: Container Configuration + description: Additional Container Configuration + - name: App Configuration + description: App Specific Config Options + - name: Networking and Services + description: Configure Network and Services for Container + - name: Storage and Persistence + description: Persist and Share Data that is Separate from the Container + - name: Ingress + description: Ingress Configuration + - name: Security and Permissions + description: Configure Security Context and Permissions + - name: Resources and Devices + description: "Specify Resources/Devices to be Allocated to Workload" + - name: Middlewares + description: Traefik Middlewares + - name: Metrics + description: Metrics + - name: Addons + description: Addon Configuration + - name: Advanced + description: Advanced Configuration + - name: Documentation + description: Documentation +portals: + open: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: global + label: Global Settings + group: Controller + schema: + type: dict + hidden: true + attrs: + - variable: isSCALE + label: Flag this is SCALE + schema: + type: boolean + default: true + hidden: true + - variable: controller + group: Controller + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: advanced + label: Show Advanced Controller Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: Please specify type of workload to deploy + label: (Advanced) Controller Type + schema: + type: string + required: true + enum: + - value: deployment + description: Deployment + - value: statefulset + description: Statefulset + - value: daemonset + description: Daemonset + default: deployment + - variable: replicas + description: Number of desired pod replicas + label: Desired Replicas + schema: + type: int + required: true + default: 1 + - variable: strategy + description: Please specify type of workload to deploy + label: (Advanced) Update Strategy + schema: + type: string + required: true + enum: + - value: Recreate + description: "Recreate: Kill existing pods before creating new ones" + - value: RollingUpdate + description: "RollingUpdate: Create new pods and then kill old ones" + - value: OnDelete + description: "(Legacy) OnDelete: ignore .spec.template changes" + default: Recreate + - variable: expert + label: Show Expert Configuration Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Controller Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Controller Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: customextraargs + group: Controller + label: "Extra Args" + description: "Do not click this unless you know what you are doing" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: extraArgs + label: Extra Args + schema: + type: list + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + - variable: secretEnv + group: "Container Configuration" + label: "Image Secrets" + schema: + additional_attrs: true + type: dict + attrs: + - variable: NEXTCLOUD_ADMIN_USER + label: "NEXTCLOUD_ADMIN_USER (First Install Only)" + description: "Sets the initial nextcloud's admin username, changing this variable after first launch will NOT change admin's username" + schema: + type: string + required: true + default: "REPLACETHIS" + - variable: NEXTCLOUD_ADMIN_PASSWORD + label: "NEXTCLOUD_ADMIN_PASSWORD (First Install Only)" + description: "Sets the initial nextcloud's admin password, changing this variable after first launch will NOT change admin's password" + schema: + type: string + private: true + required: true + default: "REPLACETHIS" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + additional_attrs: true + type: dict + attrs: + - variable: TRUSTED_PROXIES + label: "Trusted Proxies (First Install Only - Advanced)" + description: "Sets nextcloud Trusted Proxies" + schema: + type: string + default: "172.16.0.0/16 127.0.0.1" + - variable: PHP_MEMORY_LIMIT + label: "PHP_MEMORY_LIMIT" + description: "Sets php memory_limit setting" + schema: + type: string + default: "1G" + - variable: PHP_UPLOAD_LIMIT + label: "PHP_UPLOAD_LIMIT" + description: "Sets php upload_max_filesize and post_max_size settings" + schema: + type: string + default: "10G" + - variable: AccessIP + label: "Access IP" + description: "Set to the IP-Address used to reach Nextcloud. Most often the Service or NodePort IP (Ensure this is correct!)" + schema: + type: string + required: true + $ref: + - "definitions/nodeIP" + - variable: imaginary + group: "Container Configuration" + label: "Preview Generation Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: preview_max_x + label: "Preview Max X" + description: "The maximum width, in pixels, of a preview." + schema: + type: int + required: true + default: 2048 + - variable: preview_max_y + label: "Preview Max Y" + description: "The maximum height, in pixels, of a preview." + schema: + type: int + required: true + default: 2048 + - variable: preview_max_memory + label: "Preview Max Memory" + description: "Max memory in MB for generating image previews." + schema: + type: int + required: true + default: 512 + - variable: preview_max_filesize_image + label: "Preview Max Filesize Image" + description: "Max file size in MB for generating image previews." + schema: + type: int + required: true + default: 150 + - variable: preview_png + label: "Generate previews for PNG" + schema: + type: boolean + default: true + - variable: preview_jpeg + label: "Generate previews for JPEG " + schema: + type: boolean + default: true + - variable: preview_gif + label: "Generate previews for GIF" + schema: + type: boolean + default: true + - variable: preview_bmp + label: "Generate previews for BMP" + schema: + type: boolean + default: true + - variable: preview_xbitmap + label: "Generate previews for XBitmap" + schema: + type: boolean + default: true + - variable: preview_mp3 + label: "Generate previews for MP3" + schema: + type: boolean + default: true + - variable: preview_markdown + label: "Generate previews for MarkDown" + schema: + type: boolean + default: true + - variable: preview_opendoc + label: "Generate previews for OpenDocument" + schema: + type: boolean + default: true + - variable: preview_txt + label: "Generate previews for TXT" + schema: + type: boolean + default: true + - variable: preview_krita + label: "Generate previews for Krita" + schema: + type: boolean + default: true + - variable: preview_illustrator + label: "Generate previews for Illustrator" + schema: + type: boolean + default: false + - variable: preview_heic + label: "Generate previews for HEIC" + schema: + type: boolean + default: false + - variable: preview_movie + label: "Generate previews for Movie" + schema: + type: boolean + default: false + - variable: preview_msoffice2003 + label: "Generate previews for MSOffice2003" + schema: + type: boolean + default: false + - variable: preview_msoffice2007 + label: "Generate previews for MSOffice2007" + schema: + type: boolean + default: false + - variable: preview_msofficedoc + label: "Generate previews for MSOfficeDoc" + schema: + type: boolean + default: false + - variable: preview_pdf + label: "Generate previews for PDF" + schema: + type: boolean + default: false + - variable: preview_photoshop + label: "Generate previews for Photoshop" + schema: + type: boolean + default: false + - variable: preview_postscript + label: "Generate previews for Postscript" + schema: + type: boolean + default: false + - variable: preview_staroffice + label: "Generate previews for StarOffice" + schema: + type: boolean + default: false + - variable: preview_svg + label: "Generate previews for SVG" + schema: + type: boolean + default: false + - variable: preview_tiff + label: "Generate previews for TIFF" + schema: + type: boolean + default: false + - variable: preview_font + label: "Generate previews for Font" + schema: + type: boolean + default: false + - variable: TZ + label: Timezone + group: Container Configuration + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: envList + label: Image Environment + group: Container Configuration + schema: + type: list + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: expertpodconf + group: Container Configuration + label: Show Expert Configuration + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: tty + label: Enable TTY + description: Determines whether containers in a pod runs with TTY enabled. By default pod has it disabled. + group: Workload Details + schema: + type: boolean + default: false + - variable: stdin + label: Enable STDIN + description: Determines whether containers in a pod runs with stdin enabled. By default pod has it disabled. + group: Workload Details + schema: + type: boolean + default: false + - variable: termination + group: Container Configuration + label: Termination settings + schema: + additional_attrs: true + type: dict + attrs: + - variable: gracePeriodSeconds + label: Grace Period Seconds + schema: + type: int + default: 10 + - variable: podLabelsList + group: Container Configuration + label: Pod Labels + schema: + type: list + default: [] + items: + - variable: podLabelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: podAnnotationsList + group: Container Configuration + label: Pod Annotations + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: service + group: Networking and Services + label: Configure Service(s) + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Service + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Service Type + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: Simple + enum: + - value: Simple + description: Simple + - value: ClusterIP + description: ClusterIP + - value: NodePort + description: NodePort (Advanced) + - value: LoadBalancer + description: LoadBalancer (Advanced) + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ipFamilyPolicy + label: IP Family Policy + description: (Advanced) Specify the IP Policy + schema: + show_if: [["type", "!=", "Simple"]] + type: string + default: SingleStack + enum: + - value: SingleStack + description: SingleStack + - value: PreferDualStack + description: PreferDualStack + - value: RequireDualStack + description: RequireDualStack + - variable: ipFamilies + label: (Advanced) IP Families + description: (Advanced) The IP Families that should be used + schema: + show_if: [["type", "!=", "Simple"]] + type: list + default: [] + items: + - variable: ipFamily + label: IP Family + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 10020 + required: true + - variable: advanced + label: Show Advanced Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: Enable the Port + schema: + type: boolean + hidden: true + default: true + - variable: protocol + label: Port Type + schema: + type: string + default: HTTP + enum: + - value: HTTP + description: HTTP + - value: HTTPS + description: HTTPS + - value: TCP + description: TCP + - value: UDP + description: UDP + - variable: nodePort + label: Node Port (Optional) + description: This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 8080 + - variable: serviceexpert + group: Networking and Services + label: Show Expert Config + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + group: Networking and Services + label: Host-Networking (Complicated) + schema: + type: boolean + default: false + - variable: externalInterfaces + description: Add External Interfaces + label: Add external Interfaces + group: Networking + schema: + type: list + items: + - variable: interfaceConfiguration + description: Interface Configuration + label: Interface Configuration + schema: + type: dict + $ref: + - "normalize/interfaceConfiguration" + attrs: + - variable: hostInterface + description: Please Specify Host Interface + label: Host Interface + schema: + type: string + required: true + $ref: + - "definitions/interface" + - variable: ipam + description: Define how IP Address will be managed + label: IP Address Management + schema: + type: dict + required: true + attrs: + - variable: type + description: Specify type for IPAM + label: IPAM Type + schema: + type: string + required: true + enum: + - value: dhcp + description: Use DHCP + - value: static + description: Use Static IP + show_subquestions_if: static + subquestions: + - variable: staticIPConfigurations + label: Static IP Addresses + schema: + type: list + items: + - variable: staticIP + label: Static IP + schema: + type: ipaddr + cidr: true + - variable: staticRoutes + label: Static Routes + schema: + type: list + items: + - variable: staticRouteConfiguration + label: Static Route Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: destination + label: Destination + schema: + type: ipaddr + cidr: true + required: true + - variable: gateway + label: Gateway + schema: + type: ipaddr + cidr: false + required: true + - variable: dnsPolicy + group: Networking and Services + label: dnsPolicy + schema: + type: string + default: "" + enum: + - value: "" + description: Default + - value: ClusterFirst + description: ClusterFirst + - value: ClusterFirstWithHostNet + description: ClusterFirstWithHostNet + - value: None + description: None + - variable: dnsConfig + label: DNS Configuration + group: Networking and Services + description: Specify custom DNS configuration which will be applied to the pod + schema: + additional_attrs: true + type: dict + attrs: + - variable: nameservers + label: Name Servers + schema: + default: [] + type: list + items: + - variable: nameserver + label: Name Server + schema: + type: string + - variable: options + label: Options + schema: + default: [] + type: list + items: + - variable: option + label: Option Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: searches + label: Searches + schema: + default: [] + type: list + items: + - variable: search + label: Search Entry + schema: + type: string + - variable: serviceList + label: Add Manual Custom Services + group: Networking and Services + schema: + type: list + default: [] + items: + - variable: serviceListEntry + label: Custom Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the service + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name + schema: + type: string + default: "" + - variable: type + label: Service Type + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: Simple + enum: + - value: Simple + description: Simple + - value: NodePort + description: NodePort + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: portsList + label: Additional Service Ports + schema: + type: list + default: [] + items: + - variable: portsListEntry + label: Custom ports + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Port + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Port Name + schema: + type: string + default: "" + - variable: protocol + label: Port Type + schema: + type: string + default: TCP + enum: + - value: HTTP + description: HTTP + - value: HTTPS + description: HTTPS + - value: TCP + description: TCP + - value: UDP + description: UDP + - variable: targetPort + label: Target Port + description: This port exposes the container port on the service + schema: + type: int + required: true + - variable: port + label: Container Port + schema: + type: int + required: true + - variable: nodePort + label: Node Port (Optional) + description: This port gets exposed to the node. Only considered when service type is NodePort + schema: + type: int + min: 9000 + max: 65535 + - variable: persistence + label: Integrated Persistent Storage + description: Integrated Persistent Storage + group: Storage and Persistence + schema: + additional_attrs: true + type: dict + attrs: + - variable: html + label: "App html Storage" + description: "Stores the Application html." + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: simplePVC + enum: + - value: simplePVC + description: PVC (simple) + - value: simpleHP + description: Host Path (simple) + - value: emptyDir + description: emptyDir + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: nfs + description: NFS Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: setPermissionsSimple + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: false + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPathSimple + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size quotum of Storage + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 999Gi + - variable: hostPathType + label: (Advanced) hostPath Type + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: DirectoryOrCreate + description: DirectoryOrCreate + - value: Directory + description: Directory + - value: FileOrCreate + description: FileOrCreate + - value: File + description: File + - value: Socket + description: Socket + - value: CharDevice + description: CharDevice + - value: BlockDevice + description: BlockDevice + - variable: storageClass + label: (Advanced) storageClass + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: SCALE-ZFS + - variable: accessMode + label: (Advanced) Access Mode + description: Allow or disallow multiple PVC's writhing to the same PV + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: ReadWriteOnce + enum: + - value: ReadWriteOnce + description: ReadWriteOnce + - value: ReadOnlyMany + description: ReadOnlyMany + - value: ReadWriteMany + description: ReadWriteMany + - variable: advanced + label: Show Advanced Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: data + label: "UserData Storage" + description: "Stores the User Data." + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: simplePVC + enum: + - value: simplePVC + description: PVC (simple) + - value: simpleHP + description: Host Path (simple) + - value: emptyDir + description: emptyDir + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: nfs + description: NFS Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: setPermissionsSimple + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: false + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPathSimple + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size quotum of Storage + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 999Gi + - variable: hostPathType + label: (Advanced) hostPath Type + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: DirectoryOrCreate + description: DirectoryOrCreate + - value: Directory + description: Directory + - value: FileOrCreate + description: FileOrCreate + - value: File + description: File + - value: Socket + description: Socket + - value: CharDevice + description: CharDevice + - value: BlockDevice + description: BlockDevice + - variable: storageClass + label: (Advanced) storageClass + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: SCALE-ZFS + - variable: accessMode + label: (Advanced) Access Mode + description: Allow or disallow multiple PVC's writhing to the same PV + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: ReadWriteOnce + enum: + - value: ReadWriteOnce + description: ReadWriteOnce + - value: ReadOnlyMany + description: ReadOnlyMany + - value: ReadWriteMany + description: ReadWriteMany + - variable: advanced + label: Show Advanced Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: persistenceList + label: Additional App Storage + group: Storage and Persistence + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: Custom Storage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the storage + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name (Optional) + description: "Not required, please set to config when mounting /config or temp when mounting /tmp" + schema: + type: string + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: simpleHP + enum: + - value: simplePVC + description: PVC (Simple) + - value: simpleHP + description: Host Path (Simple) + - value: emptyDir + description: emptyDir + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: nfs + description: NFS Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: setPermissionsSimple + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPathSimple + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: Mount Path + description: Path inside the container the storage is mounted + schema: + type: string + default: "" + required: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size Quotum of Storage + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 999Gi + - variable: hostPathType + label: (Advanced) Host Path Type + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: DirectoryOrCreate + description: DirectoryOrCreate + - value: Directory + description: Directory + - value: FileOrCreate + description: FileOrCreate + - value: File + description: File + - value: Socket + description: Socket + - value: CharDevice + description: CharDevice + - value: BlockDevice + description: BlockDevice + - variable: storageClass + label: (Advanced) StorageClass + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: SCALE-ZFS + - variable: accessMode + label: (Advanced) Access Mode + description: Allow or disallow multiple PVC's writhing to the same PV + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: ReadWriteOnce + enum: + - value: ReadWriteOnce + description: ReadWriteOnce + - value: ReadOnlyMany + description: ReadOnlyMany + - value: ReadWriteMany + description: ReadWriteMany + - variable: advanced + label: Show Advanced Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: ingress + label: "" + group: Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: Select TrueNAS SCALE Certificate + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: (Advanced) Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: expert + label: Show Expert Configuration Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enableFixedMiddlewares + description: These middlewares enforce a number of best practices. + label: Enable Default Middlewares + schema: + type: boolean + default: true + - variable: ingressClassName + label: IngressClass Name + schema: + type: string + default: "" + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: ingressList + label: Add Manual Custom Ingresses + group: Ingress + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: Custom Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name + schema: + type: string + default: "" + - variable: ingressClassName + label: IngressClass Name + schema: + type: string + default: "" + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: service + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: Select TrueNAS SCALE Certificate + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: security + label: Container Security Settings + group: Security and Permissions + schema: + type: dict + additional_attrs: true + attrs: + - variable: editsecurity + label: Change PUID / UMASK values + description: By enabling this you override default set values. + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: PUID + label: Process User ID - PUID + description: When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps + schema: + type: int + default: 568 + - variable: UMASK + label: UMASK + description: When supported by the container, this sets the UMASK for the App. Not supported by all Apps + schema: + type: string + default: "002" + - variable: advancedSecurity + label: Show Advanced Security Settings + group: Security and Permissions + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + - variable: capabilities + label: Capabilities + schema: + additional_attrs: true + type: dict + attrs: + - variable: drop + label: Drop Capability + schema: + type: list + default: [] + items: + - variable: dropEntry + label: "" + schema: + type: string + - variable: add + label: Add Capability + schema: + type: list + default: [] + items: + - variable: addEntry + label: "" + schema: + type: string + - variable: podSecurityContext + group: Security and Permissions + label: Pod Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: "The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 33 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: OnRootMismatch + enum: + - value: OnRootMismatch + description: OnRootMismatch + - value: Always + description: Always + - variable: supplementalGroups + label: Supplemental Groups + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: Supplemental Group + schema: + type: int + + - variable: advancedresources + label: Set Custom Resource Limits/Requests (Advanced) + group: Resources and Devices + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: resources + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: limits + label: Advanced Limit Resource Consumption + schema: + additional_attrs: true + type: dict + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 4000m + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: RAM + description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 8Gi + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: requests + label: "Minimum Resources Required (request)" + schema: + additional_attrs: true + type: dict + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 10m + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "RAM" + description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 50Mi + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: deviceList + label: Mount USB Devices + group: Resources and Devices + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: Device + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Storage + schema: + type: boolean + default: true + - variable: type + label: (Advanced) Type of Storage + description: Sets the persistence type + schema: + type: string + default: hostPath + hidden: true + - variable: readOnly + label: readOnly + schema: + type: boolean + default: false + - variable: hostPath + label: Host Device Path + description: Path to the device on the host system + schema: + type: path + - variable: mountPath + label: Container Device Path + description: Path inside the container the device is mounted + schema: + type: string + default: "/dev/ttyACM0" + # Specify GPU configuration + - variable: scaleGPU + label: GPU Configuration + group: Resources and Devices + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] +# - variable: autoscaling +# group: Advanced +# label: (Advanced) Horizontal Pod Autoscaler +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: enabled +# label: Enabled +# schema: +# type: boolean +# default: false +# show_subquestions_if: true +# subquestions: +# - variable: target +# label: Target +# description: Deployment name, Defaults to Main Deployment +# schema: +# type: string +# default: "" +# - variable: minReplicas +# label: Minimum Replicas +# schema: +# type: int +# default: 1 +# - variable: maxReplicas +# label: Maximum Replicas +# schema: +# type: int +# default: 5 +# - variable: targetCPUUtilizationPercentage +# label: Target CPU Utilization Percentage +# schema: +# type: int +# default: 80 +# - variable: targetMemoryUtilizationPercentage +# label: Target Memory Utilization Percentage +# schema: +# type: int +# default: 80 +# - variable: networkPolicy +# group: Advanced +# label: (Advanced) Network Policy +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: enabled +# label: Enabled +# schema: +# type: boolean +# default: false +# show_subquestions_if: true +# subquestions: +# - variable: policyType +# label: Policy Type +# schema: +# type: string +# default: "" +# enum: +# - value: "" +# description: Default +# - value: ingress +# description: Ingress +# - value: egress +# description: Egress +# - value: ingress-egress +# description: Ingress and Egress +# - variable: egress +# label: Egress +# schema: +# type: list +# default: [] +# items: +# - variable: egressEntry +# label: "" +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: to +# label: To +# schema: +# type: list +# default: [] +# items: +# - variable: toEntry +# label: "" +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: ipBlock +# label: IP Block +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: cidr +# label: CIDR +# schema: +# type: string +# default: "" +# - variable: except +# label: Except +# schema: +# type: list +# default: [] +# items: +# - variable: exceptint +# label: "" +# schema: +# type: string +# - variable: namespaceSelector +# label: Namespace Selector +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: matchExpressions +# label: Match Expressions +# schema: +# type: list +# default: [] +# items: +# - variable: expressionEntry +# label: "" +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: key +# label: Key +# schema: +# type: string +# - variable: operator +# label: Operator +# schema: +# type: string +# default: TCP +# enum: +# - value: In +# description: In +# - value: NotIn +# description: NotIn +# - value: Exists +# description: Exists +# - value: DoesNotExist +# description: DoesNotExist +# - variable: values +# label: Values +# schema +# type: list +# default: [] +# items: +# - variable: value +# label: "" +# schema: +# type: string +# - variable: podSelector +# label: "" +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: matchExpressions +# label: Match Expressions +# schema: +# type: list +# default: [] +# items: +# - variable: expressionEntry +# label: "" +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: key +# label: Key +# schema: +# type: string +# - variable: operator +# label: Operator +# schema: +# type: string +# default: TCP +# enum: +# - value: In +# description: In +# - value: NotIn +# description: NotIn +# - value: Exists +# description: Exists +# - value: DoesNotExist +# description: DoesNotExist +# - variable: values +# label: Values +# schema: +# type: list +# default: [] +# items: +# - variable: value +# label: "" +# schema: +# type: string +# - variable: ports +# label: Ports +# schema: +# type: list +# default: [] +# items: +# - variable: portsEntry +# label: "" +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: port +# label: Port +# schema: +# type: int +# - variable: endPort +# label: End Port +# schema: +# type: int +# - variable: protocol +# label: Protocol +# schema: +# type: string +# default: TCP +# enum: +# - value: TCP +# description: TCP +# - value: UDP +# description: UDP +# - value: SCTP +# description: SCTP +# - variable: ingress +# label: Ingress +# schema: +# type: list +# default: [] +# items: +# - variable: ingressEntry +# label: "" +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: from +# label: From +# schema: +# type: list +# default: [] +# items: +# - variable: fromEntry +# label: "" +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: ipBlock +# label: IP Block +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: cidr +# label: CIDR +# schema: +# type: string +# default: "" +# - variable: except +# label: Except +# schema: +# type: list +# default: [] +# items: +# - variable: exceptint +# label: "" +# schema: +# type: string +# - variable: namespaceSelector +# label: Namespace Selector +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: matchExpressions +# label: Match Expressions +# schema: +# type: list +# default: [] +# items: +# - variable: expressionEntry +# label: "" +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: key +# label: Key +# schema: +# type: string +# - variable: operator +# label: Operator +# schema: +# type: string +# default: TCP +# enum: +# - value: In +# description: In +# - value: NotIn +# description: NotIn +# - value: Exists +# description: Exists +# - value: DoesNotExist +# description: DoesNotExist +# - variable: values +# label: Values +# schema: +# type: list +# default: [] +# items: +# - variable: value +# label: "" +# schema: +# type: string +# - variable: podSelector +# label: "" +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: matchExpressions +# label: Match Expressions +# schema: +# type: list +# default: [] +# items: +# - variable: expressionEntry +# label: "" +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: key +# label: Key +# schema: +# type: string +# - variable: operator +# label: Operator +# schema: +# type: string +# default: TCP +# enum: +# - value: In +# description: In +# - value: NotIn +# description: NotIn +# - value: Exists +# description: Exists +# - value: DoesNotExist +# description: DoesNotExist +# - variable: values +# label: Values +# schema: +# type: list +# default: [] +# items: +# - variable: value +# label: "" +# schema: +# type: string +# - variable: ports +# label: Ports +# schema: +# type: list +# default: [] +# items: +# - variable: portsEntry +# label: "" +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: port +# label: Port +# schema: +# type: int +# - variable: endPort +# label: End Port +# schema: +# type: int +# - variable: protocol +# label: Protocol +# schema: +# type: string +# default: TCP +# enum: +# - value: TCP +# description: TCP +# - value: UDP +# description: UDP +# - value: SCTP +# description: SCTP + + - variable: addons + group: Addons + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: vpn + label: VPN + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type + schema: + type: string + default: disabled + enum: + - value: disabled + description: disabled + - value: openvpn + description: OpenVPN + - value: wireguard + description: Wireguard + - value: tailscale + description: Tailscale + - variable: openvpn + label: OpenVPN Settings + schema: + type: dict + show_if: [["type", "=", "openvpn"]] + attrs: + - variable: username + label: Authentication Username (Optional) + description: Authentication Username, Optional + schema: + type: string + default: "" + - variable: password + label: Authentication Password + description: Authentication Credentials + schema: + type: string + default: "" + required: true + - variable: tailscale + label: Tailscale Settings + schema: + type: dict + show_if: [["type", "=", "tailscale"]] + attrs: + - variable: authkey + label: Authentication Key + description: Provide an auth key to automatically authenticate the node as your user account. + schema: + type: string + private: true + default: "" + - variable: accept_dns + label: Accept DNS + description: Accept DNS configuration from the admin console. + schema: + type: boolean + default: false + - variable: userspace + label: Userspace + description: Userspace Networking mode allows running Tailscale where you do not have access to create a VPN tunnel device. + schema: + type: boolean + default: false + - variable: routes + label: Routes + description: Expose physical subnet routes to your entire Tailscale network. + schema: + type: string + default: "" + - variable: dest_ip + label: Destination IP + description: Tells the DNAT mechanism which Destination IP to set in the IP header, and where to send packets that are matched. + schema: + type: string + default: "" + - variable: sock5_server + label: Sock5 Server + description: Sock5 Server + schema: + type: string + default: "" + - variable: extra_args + label: Extra Args + description: Extra Args + schema: + type: string + default: "" + - variable: daemon_extra_args + label: Tailscale Daemon Extra Args + description: Tailscale Daemon Extra Args + schema: + type: string + default: "" + - variable: killSwitch + label: Enable Killswitch + schema: + type: boolean + show_if: [["type", "!=", "disabled"]] + default: true + - variable: excludedNetworks_IPv4 + label: Killswitch Excluded IPv4 networks + description: List of Killswitch Excluded IPv4 Addresses + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: networkv4 + label: IPv4 Network + schema: + type: string + required: true + - variable: excludedNetworks_IPv6 + label: Killswitch Excluded IPv6 networks + description: "List of Killswitch Excluded IPv6 Addresses" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: networkv6 + label: IPv6 Network + schema: + type: string + required: true + - variable: configFile + label: VPN Config File Location + schema: + type: dict + show_if: [["type", "!=", "disabled"]] + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Type + schema: + type: string + default: hostPath + hidden: true + - variable: hostPathType + label: hostPathType + schema: + type: string + default: File + hidden: true + - variable: noMount + label: noMount + schema: + type: boolean + default: true + hidden: true + - variable: hostPath + label: Full Path to File + description: "Path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn" + schema: + type: string + default: "" + required: true + - variable: envList + label: VPN Environment Variables + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: value + label: Value + schema: + type: string + required: true + - variable: codeserver + label: Codeserver + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: git + label: Git Settings + schema: + additional_attrs: true + type: dict + attrs: + - variable: deployKey + description: Raw SSH Private Key + label: Deploy Key + schema: + type: string + - variable: deployKeyBase64 + description: Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence + label: Deploy Key Base64 + schema: + type: string + - variable: service + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Service Type + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: NodePort + enum: + - value: NodePort + description: NodePort + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ports + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: nodePort + description: Leave Empty to Disable + label: "nodePort" + schema: + type: int + default: 36107 + - variable: envList + label: Codeserver Environment Variables + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: value + label: Value + schema: + type: string + required: true + - variable: promtail + label: Promtail + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: loki + label: Loki URL + schema: + type: string + required: true + - variable: logs + label: Log Paths + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: path + label: Path + schema: + type: string + required: true + - variable: args + label: Promtail Command Line Arguments + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + required: true + - variable: envList + label: Promtail Environment Variables + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: value + label: Value + schema: + type: string + required: true + - variable: netshoot + label: Netshoot + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: envList + label: Netshoot Environment Variables + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: value + label: Value + schema: + type: string + required: true + - variable: docs + group: Documentation + label: "Please read the documentation at https://truecharts.org" + schema: + additional_attrs: true + type: dict + attrs: + - variable: confirmDocs + label: I have checked the documentation + schema: + type: boolean + default: true + - variable: donateNag + group: Documentation + label: "Please consider supporting TrueCharts, see: https://truecharts.org/docs/about/sponsor" + schema: + additional_attrs: true + type: dict + attrs: + - variable: confirmDonate + label: I have considered donating + schema: + type: boolean + default: true + hidden: true diff --git a/stable/nextcloud/15.2.43/templates/_configmap.tpl b/stable/nextcloud/15.2.43/templates/_configmap.tpl new file mode 100644 index 0000000000..abe500d31e --- /dev/null +++ b/stable/nextcloud/15.2.43/templates/_configmap.tpl @@ -0,0 +1,36 @@ +{{/* Define the configmap */}} +{{- define "nextcloud.configmap" -}} + +{{- $hosts := "" }} +{{- if .Values.ingress.main.enabled }} +{{- range .Values.ingress }} +{{- range $index, $host := .hosts }} + {{- if $index }} + {{ $hosts = ( printf "%v %v" $hosts $host.host ) }} + {{- else }} + {{ $hosts = ( printf "%s" $host.host ) }} + {{- end }} +{{- end }} +{{- end }} +{{- end }} + + +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: nextcloudconfig +data: + {{- $aliasgroup1 := ( printf "http://%s" ( .Values.env.AccessIP | default ( printf "%v-%v" .Release.Name "nextcloud" ) ) ) }} + {{- if .Values.ingress.main.enabled }} + {{- with (first .Values.ingress.main.hosts) }} + {{- $aliasgroup1 = ( printf "https://%s" .host ) }} + {{- end }} + {{- end }} + aliasgroup1: {{ $aliasgroup1 }} + NEXTCLOUD_TRUSTED_DOMAINS: {{ ( printf "%v %v %v %v %v %v %v %v" "test.fakedomain.dns" "localhost" "127.0.0.1" ( printf "%v:%v" "127.0.0.1" .Values.service.main.ports.main.port ) ( .Values.env.AccessIP | default "localhost" ) ( printf "%v-%v" .Release.Name "nextcloud" ) ( printf "%v-%v" .Release.Name "nextcloud-backend" ) $hosts ) | quote }} + {{- if .Values.ingress.main.enabled }} + APACHE_DISABLE_REWRITE_IP: "1" + {{- end }} + +{{- end -}} diff --git a/stable/nextcloud/15.2.43/templates/_cronjob.tpl b/stable/nextcloud/15.2.43/templates/_cronjob.tpl new file mode 100644 index 0000000000..302f3b83aa --- /dev/null +++ b/stable/nextcloud/15.2.43/templates/_cronjob.tpl @@ -0,0 +1,64 @@ +{{/* Define the cronjob */}} +{{- define "nextcloud.cronjob" -}} +{{- if .Values.cronjob.enabled -}} +{{- $jobName := include "tc.common.names.fullname" . }} + +--- +apiVersion: batch/v1 +kind: CronJob +metadata: + name: {{ printf "%s-cronjob" $jobName }} + labels: + {{- include "tc.common.labels" . | nindent 4 }} +spec: + schedule: "{{ .Values.cronjob.schedule }}" + concurrencyPolicy: Forbid + {{- with .Values.cronjob.failedJobsHistoryLimit }} + failedJobsHistoryLimit: {{ . }} + {{- end }} + {{- with .Values.cronjob.successfulJobsHistoryLimit }} + successfulJobsHistoryLimit: {{ . }} + {{- end }} + jobTemplate: + metadata: + spec: + template: + metadata: + spec: + restartPolicy: Never + {{- with (include "tc.common.controller.volumes" . | trim) }} + volumes: + {{- nindent 12 . }} + {{- end }} + containers: + - name: {{ .Chart.Name }} + image: '{{ include "tc.common.images.selector" . }}' + imagePullPolicy: {{ default .Values.image.pullPolicy }} + command: + - "/bin/sh" + - "-c" + - | + /bin/bash <<'EOF' + echo "running nextcloud cronjob..." + php -f /var/www/html/cron.php + echo "cronjob finished" + {{- if .Values.cronjob.generatePreviews }} + echo "Pre-generating Previews..." + php /var/www/html/occ preview:pre-generate + echo "Previews generated." + {{- end }} + EOF + # Will mount configuration files as www-data (id: 33) by default for nextcloud + {{- with (include "tc.common.controller.volumeMounts" . | trim) }} + volumeMounts: + {{ nindent 16 . }} + {{- end }} + securityContext: + runAsUser: 33 + runAsGroup: 33 + readOnlyRootFilesystem: true + runAsNonRoot: true + resources: +{{ toYaml .Values.resources | indent 16 }} +{{- end -}} +{{- end -}} diff --git a/stable/nextcloud/15.2.43/templates/_hpb.tpl b/stable/nextcloud/15.2.43/templates/_hpb.tpl new file mode 100644 index 0000000000..e318b95688 --- /dev/null +++ b/stable/nextcloud/15.2.43/templates/_hpb.tpl @@ -0,0 +1,173 @@ +{{/* Define the hbp container */}} +{{- define "nextcloud.hpb" -}} +{{- $jobName := include "tc.common.names.fullname" . }} +image: '{{ include "tc.common.images.selector" . }}' +imagePullPolicy: '{{ .Values.image.pullPolicy }}' +securityContext: + runAsUser: 33 + runAsGroup: 33 + readOnlyRootFilesystem: true + runAsNonRoot: true +{{- with (include "tc.common.controller.volumeMounts" . | trim) }} +volumeMounts: + {{ nindent 2 . }} +{{- end }} +ports: + - containerPort: 7867 +readinessProbe: + httpGet: + path: /push/test/cookie + port: 7867 + httpHeaders: + - name: Host + value: "test.fakedomain.dns" + initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }} + periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }} + timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }} + failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }} +livenessProbe: + httpGet: + path: /push/test/cookie + port: 7867 + httpHeaders: + - name: Host + value: "test.fakedomain.dns" + initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }} + periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }} + timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }} + failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }} +startupProbe: + httpGet: + path: /push/test/cookie + port: 7867 + httpHeaders: + - name: Host + value: "test.fakedomain.dns" + initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }} + periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }} + timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }} + failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }} +command: + - "/bin/sh" + - "-c" + - | + /bin/bash <<'EOF' + set -m + echo "Waiting for notify_push file to be available..." + until [ -f /var/www/html/custom_apps/notify_push/bin/x86_64/notify_push ] + do + sleep 10 + echo "Notify_push not found... waiting..." + done + echo "Waiting for Nextcloud to start..." + until $(curl --output /dev/null --silent --head --fail -H "Host: test.fakedomain.dns" http://127.0.0.1:8080/status.php); do + echo "Nextcloud not found... waiting..." + sleep 10 + done + until $(curl --silent --fail -H "Host: test.fakedomain.dns" http://127.0.0.1:8080/status.php | jq --raw-output '.installed' | grep "true"); do + echo "Nextcloud not installed... waiting..." + sleep 10 + done + echo "Nextcloud instance with Notify_push found... Launching High Performance Backend..." + /var/www/html/custom_apps/notify_push/bin/x86_64/notify_push /var/www/html/config/config.php & + + {{- if .Values.imaginary.enabled }} + echo "Imaginary High Performance Previews enabled, enabling it on Nextcloud..." + php /var/www/html/occ config:system:set preview_imaginary_url --value='http://127.0.0.1:9090' + php /var/www/html/occ config:system:set preview_max_x --value='{{ .Values.imaginary.preview_max_x }}' + php /var/www/html/occ config:system:set preview_max_y --value='{{ .Values.imaginary.preview_max_y }}' + php /var/www/html/occ config:system:set preview_max_memory --value='{{ .Values.imaginary.preview_max_memory }}' + php /var/www/html/occ config:system:set preview_max_filesize_image --value='{{ .Values.imaginary.preview_max_filesize_image }}' + # Remove all preview providers and re-add only selected + php /var/www/html/occ config:system:delete enabledPreviewProviders + # Add imaginary always + {{ $c := 0 }} # Initialize counter + php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Imaginary'{{ $c = add1 $c }} + {{ if .Values.imaginary.preview_png }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\PNG'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_jpeg }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\JPEG'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_gif }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\GIF'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_bmp }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\BMP'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_xbitmap }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\XBitmap'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_mp3 }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\MP3'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_markdown }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\MarkDown'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_opendoc }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\OpenDocument'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_txt }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\TXT'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_krita }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Krita'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_illustrator }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Illustrator'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_heic }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\HEIC'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_movie }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Movie'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_msoffice2003 }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\MSOffice2003'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_msoffice2007 }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\MSOffice2007'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_msofficedoc }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\MSOfficeDoc'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_pdf }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\PDF'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_photoshop }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Photoshop'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_postscript }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Postscript'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_staroffice }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\StarOffice'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_svg }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\SVG'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_tiff }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\TIFF'{{ $c = add1 $c }}{{ end }} + {{ if .Values.imaginary.preview_font }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Font'{{ $c = add1 $c }}{{ end }} + {{- end }} + + # Set overwrite.cli.uri + {{- $url := ( printf "http://%s/" ( .Values.env.AccessIP | default ( printf "%v-%v" .Release.Name "nextcloud" ) ) ) }} + {{- if .Values.ingress.main.enabled }} + {{- with (first .Values.ingress.main.hosts) }} + {{- $url = ( printf "https://%s/" .host ) }} + {{- end }} + {{- end }} + php /var/www/html/occ config:system:set overwrite.cli.url --value='{{ $url }}' + + until $(curl --output /dev/null --silent --head --fail -H "Host: test.fakedomain.dns" http://127.0.0.1:7867/push/test/cookie); do + echo "High Performance Backend not running ... waiting..." + sleep 10 + done + {{- $accessurl := ( printf "http://%v:%v" ( .Values.env.AccessIP | default ( printf "%v-%v" .Release.Name "nextcloud" ) ) .Values.service.main.ports.main.port ) }} + {{- if .Values.ingress.main.enabled }} + {{- with (first .Values.ingress.main.hosts) }} + {{- $accessurl = ( printf "https://%s" .host ) }} + {{- end }} + {{- end }} + until $(curl --output /dev/null --silent --head --fail {{ $accessurl }}/push/test/cookie); do + echo "High Performance Backend service not accessable ... waiting..." + sleep 10 + done + echo "High Performance Backend found..." + echo "Configuring High Performance Backend for url: {{ $accessurl }}" + php /var/www/html/occ notify_push:setup {{ $accessurl }}/push + fg + EOF +env: + - name: NEXTCLOUD_URL + value: 'http://127.0.0.1:8080' + - name: METRICS_PORT + value: '7868' + - name: TRUSTED_PROXIES + value: "{{ .Values.env.TRUSTED_PROXIES }}" + - name: POSTGRES_DB + value: "{{ .Values.postgresql.postgresqlDatabase }}" + - name: POSTGRES_USER + value: "{{ .Values.postgresql.postgresqlUsername }}" + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: dbcreds + key: postgresql-password + - name: POSTGRES_HOST + valueFrom: + secretKeyRef: + name: dbcreds + key: plainporthost + - name: REDIS_HOST + valueFrom: + secretKeyRef: + name: rediscreds + key: plainhost + - name: REDIS_HOST_PASSWORD + valueFrom: + secretKeyRef: + name: rediscreds + key: redis-password +envFrom: + - configMapRef: + name: nextcloudconfig +{{- end -}} diff --git a/stable/nextcloud/15.2.43/templates/_imaginary.tpl b/stable/nextcloud/15.2.43/templates/_imaginary.tpl new file mode 100644 index 0000000000..57a72c4302 --- /dev/null +++ b/stable/nextcloud/15.2.43/templates/_imaginary.tpl @@ -0,0 +1,40 @@ +{{/* Define the imaginary container */}} +{{- define "nextcloud.imaginary" -}} +image: {{ .Values.imaginaryImage.repository }}:{{ .Values.imaginaryImage.tag }} +imagePullPolicy: '{{ .Values.image.pullPolicy }}' +securityContext: + runAsUser: 33 + runAsGroup: 33 + readOnlyRootFilesystem: true + runAsNonRoot: true +ports: + - containerPort: 9090 +args: ["-enable-url-source"] +env: + - name: 'PORT' + value: '9090' +readinessProbe: + httpGet: + path: / + port: 9090 + initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }} + periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }} + timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }} + failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }} +livenessProbe: + httpGet: + path: / + port: 9090 + initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }} + periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }} + timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }} + failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }} +startupProbe: + httpGet: + path: / + port: 9090 + initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }} + periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }} + timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }} + failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }} +{{- end -}} diff --git a/stable/nextcloud/15.2.43/templates/_nginx.tpl b/stable/nextcloud/15.2.43/templates/_nginx.tpl new file mode 100644 index 0000000000..df427f44bd --- /dev/null +++ b/stable/nextcloud/15.2.43/templates/_nginx.tpl @@ -0,0 +1,54 @@ +{{/* Define the nginx container */}} +{{- define "nextcloud.nginx" -}} +image: {{ .Values.nginxImage.repository }}:{{ .Values.nginxImage.tag }} +imagePullPolicy: '{{ .Values.image.pullPolicy }}' +securityContext: + runAsUser: 33 + runAsGroup: 33 + readOnlyRootFilesystem: true + runAsNonRoot: true +{{- with (include "tc.common.controller.volumeMounts" . | trim) }} +volumeMounts: + {{ nindent 2 . }} +{{- end }} + - mountPath: /etc/nginx/nginx.conf + name: nginx + readOnly: true + subPath: nginx.conf +ports: + - containerPort: 8080 + +readinessProbe: + httpGet: + path: /robots.txt + port: 8080 + httpHeaders: + - name: Host + value: "test.fakedomain.dns" + initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }} + periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }} + timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }} + failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }} +livenessProbe: + httpGet: + path: /robots.txt + port: 8080 + httpHeaders: + - name: Host + value: "test.fakedomain.dns" + initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }} + periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }} + timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }} + failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }} +startupProbe: + httpGet: + path: /robots.txt + port: 8080 + httpHeaders: + - name: Host + value: "test.fakedomain.dns" + initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }} + periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }} + timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }} + failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }} +{{- end -}} diff --git a/stable/nextcloud/15.2.43/templates/common.yaml b/stable/nextcloud/15.2.43/templates/common.yaml new file mode 100644 index 0000000000..9314524b1a --- /dev/null +++ b/stable/nextcloud/15.2.43/templates/common.yaml @@ -0,0 +1,22 @@ +{{/* Make sure all variables are set properly */}} +{{- include "tc.common.loader.init" . }} + +{{/* Render configmap for nextcloud */}} +{{- include "nextcloud.configmap" . }} + +{{- $newMiddlewares := append .Values.ingress.main.fixedMiddlewares "tc-nextcloud-chain" }} +{{- $_ := set .Values.ingress.main "fixedMiddlewares" $newMiddlewares -}} + +{{- $_ := set .Values.additionalContainers "nginx" (include "nextcloud.nginx" . | fromYaml) -}} +{{- if .Values.imaginary.enabled -}} +{{- $_ := set .Values.additionalContainers "imaginary" (include "nextcloud.imaginary" . | fromYaml) -}} +{{- end -}} +{{- if .Values.hpb.enabled -}} +{{- $_ := set .Values.additionalContainers "hpb" (include "nextcloud.hpb" . | fromYaml) -}} +{{- end -}} + +{{/* Render the templates */}} +{{ include "tc.common.loader.apply" . }} + +{{/* Render cronjob for nextcloud */}} +{{- include "nextcloud.cronjob" . }} diff --git a/stable/nextcloud/15.2.43/values.yaml b/stable/nextcloud/15.2.43/values.yaml new file mode 100644 index 0000000000..e69de29bb2