diff --git a/charts/incubator/nginx-proxy-manager/.helmignore b/charts/incubator/nginx-proxy-manager/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/incubator/nginx-proxy-manager/.helmignore @@ -0,0 +1,30 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png diff --git a/charts/incubator/nginx-proxy-manager/Chart.yaml b/charts/incubator/nginx-proxy-manager/Chart.yaml new file mode 100644 index 00000000000..43f56e9d6df --- /dev/null +++ b/charts/incubator/nginx-proxy-manager/Chart.yaml @@ -0,0 +1,36 @@ +apiVersion: v2 +appVersion: "2.9.18" +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 10.7.0 + - condition: mariadb.enabled + name: mariadb + repository: https://charts.truecharts.org/ + version: 3.0.92 +deprecated: false +description: Managing Nginx proxy hosts with a simple, powerful interface. +home: https://truecharts.org/docs/charts/incubator/nginx-proxy-manager +icon: https://truecharts.org/img/hotlink-ok/chart-icons/nginx-proxy-manager.png +keywords: + - nginx-proxy-manager + - nginx + - reverse-proxy +kubeVersion: ">=1.16.0-0" +maintainers: + - email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: nginx-proxy-manager +sources: + - https://github.com/truecharts/charts/tree/master/charts/incubator/nginx-proxy-manager + - https://github.com/NginxProxyManager/nginx-proxy-manager + - https://hub.docker.com/r/jc21/nginx-proxy-manager + - https://nginxproxymanager.com/ +type: application +version: 0.0.1 +annotations: + truecharts.org/catagories: | + - networking + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/charts/incubator/nginx-proxy-manager/README.md b/charts/incubator/nginx-proxy-manager/README.md new file mode 100644 index 00000000000..0f96ea7137d --- /dev/null +++ b/charts/incubator/nginx-proxy-manager/README.md @@ -0,0 +1 @@ +# nginx-proxy-manager diff --git a/charts/incubator/nginx-proxy-manager/docs/credentials.md b/charts/incubator/nginx-proxy-manager/docs/credentials.md new file mode 100644 index 00000000000..bd3bb2f3cab --- /dev/null +++ b/charts/incubator/nginx-proxy-manager/docs/credentials.md @@ -0,0 +1,4 @@ +# Default Username/Password + +- Email: `admin@example.com` +- Password: `changeme` diff --git a/charts/incubator/nginx-proxy-manager/docs/disclaimer.md b/charts/incubator/nginx-proxy-manager/docs/disclaimer.md new file mode 100644 index 00000000000..73d3e82aad2 --- /dev/null +++ b/charts/incubator/nginx-proxy-manager/docs/disclaimer.md @@ -0,0 +1,8 @@ +# Disclaimer + +:::warning + +We do not advice anyone to use this, instead use an ingress like Traefik. +This app is **excluded** from support, also same applies for reverse proxing apps using this. + +::: diff --git a/charts/incubator/nginx-proxy-manager/icon.png b/charts/incubator/nginx-proxy-manager/icon.png new file mode 100644 index 00000000000..e971bf3e793 Binary files /dev/null and b/charts/incubator/nginx-proxy-manager/icon.png differ diff --git a/charts/incubator/nginx-proxy-manager/questions.yaml b/charts/incubator/nginx-proxy-manager/questions.yaml new file mode 100644 index 00000000000..077995a22ab --- /dev/null +++ b/charts/incubator/nginx-proxy-manager/questions.yaml @@ -0,0 +1,189 @@ +# Include{groups} +portals: + open: +# Include{portalLink} +questions: +# Include{global} +# Include{controller} +# Include{controllerDeployment} +# Include{replicas} +# Include{replica1} +# Include{strategy} +# Include{recreate} +# Include{controllerExpert} +# Include{controllerExpertExtraArgs} + - variable: env + group: Container Configuration + label: Image Environment + schema: + additional_attrs: true + type: dict + attrs: + - variable: DISABLE_IPV6 + label: Disable IPv6 + schema: + type: boolean + default: true +# Include{containerConfig} +# Include{serviceRoot} + - variable: main + label: Main Service + description: The Primary service on which the healthcheck runs, often the webUI + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelectorLoadBalancer} +# Include{serviceSelectorExtras} + - 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: 10582 + required: true +# Include{advancedPortHTTP} + - variable: targetPort + label: Target Port + description: The internal(!) port on the container the Application runs on + schema: + type: int + default: 81 + - variable: web + label: Web Entrypoint Configuration + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelectorLoadBalancer} +# Include{serviceSelectorExtras} + - variable: web + label: Web 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: 10583 + required: true +# Include{advancedPortHTTP} + - variable: targetPort + label: Target Port + description: The internal(!) port on the container the Application runs on + schema: + type: int + default: 80 + - variable: websecure + label: Web Secure Entrypoint Configuration + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelectorLoadBalancer} +# Include{serviceSelectorExtras} + - variable: websecure + label: Web Secure 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: 10584 + required: true +# Include{advancedPortHTTPS} + - variable: targetPort + label: Target Port + description: The internal(!) port on the container the Application runs on + schema: + type: int + default: 443 +# Include{serviceExpertRoot} + default: false +# Include{serviceExpert} +# Include{serviceList} +# Include{persistenceRoot} + - variable: data + label: App Data Storage + description: Stores the Application Data. + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + - variable: letsencrypt + label: App Letsencrypt Storage + description: Stores the Application Letsencrypt. + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} +# Include{persistenceList} +# Include{ingressList} +# Include{security} +# Include{securityContextAdvancedRoot} + - 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: true +# Include{securityContextAdvanced} +# Include{podSecurityContextRoot} + - 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: 568 +# Include{podSecurityContextAdvanced} +# Include{resources} +# Include{advanced} +# Include{addons} +# Include{codeserver} +# Include{promtail} +# Include{netshoot} +# Include{vpn} +# Include{documentation} diff --git a/charts/incubator/nginx-proxy-manager/templates/common.yaml b/charts/incubator/nginx-proxy-manager/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/incubator/nginx-proxy-manager/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/incubator/nginx-proxy-manager/values.yaml b/charts/incubator/nginx-proxy-manager/values.yaml new file mode 100644 index 00000000000..84c864d1169 --- /dev/null +++ b/charts/incubator/nginx-proxy-manager/values.yaml @@ -0,0 +1,92 @@ +image: + repository: tccr.io/truecharts/nginx-proxy-manager + pullPolicy: IfNotPresent + tag: 2.9.18@sha256:55ee54d7b38af2fe8d443463aeb8107bd43425010004497e8fd060af5f859745 + +securityContext: + runAsNonRoot: false + readOnlyRootFilesystem: false + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +env: + DISABLE_IPV6: true + DB_MYSQL_PORT: 3306 + DB_MYSQL_NAME: "{{ .Values.mariadb.mariadbDatabase }}" + DB_MYSQL_USER: "{{ .Values.mariadb.mariadbUsername }}" + DB_MYSQL_HOST: + secretKeyRef: + name: mariadbcreds + key: plainhost + DB_MYSQL_PASSWORD: + secretKeyRef: + name: mariadbcreds + key: mariadb-password + +probes: + liveness: + enabled: true + custom: true + spec: + exec: + command: + - /bin/check-health + readiness: + enabled: true + custom: true + spec: + exec: + command: + - /bin/check-health + startup: + enabled: true + custom: true + spec: + exec: + command: + - /bin/check-health + +service: + main: + ports: + main: + targetPort: 81 + protocol: HTTP + port: 10582 + web: + enabled: true + ports: + web: + enabled: true + targetPort: 80 + protocol: HTTP + port: 10583 + websecure: + enabled: true + ports: + websecure: + enabled: true + targetPort: 443 + protocol: HTTPS + port: 10584 + +persistence: + data: + enabled: true + mountPath: /data + size: 256Gi + letsencrypt: + enabled: true + mountPath: /etc/letsencrypt + size: 256Gi + +mariadb: + enabled: true + mariadbUsername: npm + mariadbDatabase: npm + existingSecret: mariadbcreds + +portal: + enabled: true