From 7026963fe343b486e51356bcc2f5f3b409c77e63 Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Fri, 7 Apr 2023 09:42:50 +0000 Subject: [PATCH] Commit new Chart releases for TrueCharts Signed-off-by: TrueCharts-Bot --- enterprise/traefik/17.0.15/CHANGELOG.md | 99 + enterprise/traefik/17.0.15/Chart.yaml | 31 + enterprise/traefik/17.0.15/LICENSE | 106 + enterprise/traefik/17.0.15/README.md | 27 + enterprise/traefik/17.0.15/app-changelog.md | 9 + enterprise/traefik/17.0.15/app-readme.md | 8 + .../traefik/17.0.15/charts/common-12.2.32.tgz | Bin 0 -> 238590 bytes enterprise/traefik/17.0.15/ix_values.yaml | 417 +++ enterprise/traefik/17.0.15/questions.yaml | 2522 +++++++++++++++++ .../traefik/17.0.15/templates/NOTES.txt | 1 + .../traefik/17.0.15/templates/_args.tpl | 182 ++ .../traefik/17.0.15/templates/_helpers.tpl | 22 + .../17.0.15/templates/_ingressclass.tpl | 24 + .../17.0.15/templates/_ingressroute.tpl | 34 + .../traefik/17.0.15/templates/_portalhook.tpl | 26 + .../traefik/17.0.15/templates/_tlsoptions.tpl | 12 + .../traefik/17.0.15/templates/common.yaml | 23 + .../templates/middlewares/addPrefix.yaml | 17 + .../middlewares/basic-middleware.yaml | 62 + .../templates/middlewares/basicauth.yaml | 34 + .../17.0.15/templates/middlewares/chain.yaml | 21 + .../templates/middlewares/forwardauth.yaml | 34 + .../templates/middlewares/geoblock.yaml | 35 + .../templates/middlewares/ipwhitelist.yaml | 33 + .../templates/middlewares/ratelimit.yaml | 19 + .../templates/middlewares/real-ip.yaml | 21 + .../templates/middlewares/redirectScheme.yaml | 19 + .../templates/middlewares/redirectregex.yaml | 20 + .../middlewares/stripPrefixRegex.yaml | 20 + .../templates/middlewares/tc-chains.yaml | 29 + .../templates/middlewares/tc-headers.yaml | 62 + .../templates/middlewares/tc-nextcloud.yaml | 25 + .../templates/middlewares/theme-park.yaml | 26 + enterprise/traefik/17.0.15/values.yaml | 0 34 files changed, 4020 insertions(+) create mode 100644 enterprise/traefik/17.0.15/CHANGELOG.md create mode 100644 enterprise/traefik/17.0.15/Chart.yaml create mode 100644 enterprise/traefik/17.0.15/LICENSE create mode 100644 enterprise/traefik/17.0.15/README.md create mode 100644 enterprise/traefik/17.0.15/app-changelog.md create mode 100644 enterprise/traefik/17.0.15/app-readme.md create mode 100644 enterprise/traefik/17.0.15/charts/common-12.2.32.tgz create mode 100644 enterprise/traefik/17.0.15/ix_values.yaml create mode 100644 enterprise/traefik/17.0.15/questions.yaml create mode 100644 enterprise/traefik/17.0.15/templates/NOTES.txt create mode 100644 enterprise/traefik/17.0.15/templates/_args.tpl create mode 100644 enterprise/traefik/17.0.15/templates/_helpers.tpl create mode 100644 enterprise/traefik/17.0.15/templates/_ingressclass.tpl create mode 100644 enterprise/traefik/17.0.15/templates/_ingressroute.tpl create mode 100644 enterprise/traefik/17.0.15/templates/_portalhook.tpl create mode 100644 enterprise/traefik/17.0.15/templates/_tlsoptions.tpl create mode 100644 enterprise/traefik/17.0.15/templates/common.yaml create mode 100644 enterprise/traefik/17.0.15/templates/middlewares/addPrefix.yaml create mode 100644 enterprise/traefik/17.0.15/templates/middlewares/basic-middleware.yaml create mode 100644 enterprise/traefik/17.0.15/templates/middlewares/basicauth.yaml create mode 100644 enterprise/traefik/17.0.15/templates/middlewares/chain.yaml create mode 100644 enterprise/traefik/17.0.15/templates/middlewares/forwardauth.yaml create mode 100644 enterprise/traefik/17.0.15/templates/middlewares/geoblock.yaml create mode 100644 enterprise/traefik/17.0.15/templates/middlewares/ipwhitelist.yaml create mode 100644 enterprise/traefik/17.0.15/templates/middlewares/ratelimit.yaml create mode 100644 enterprise/traefik/17.0.15/templates/middlewares/real-ip.yaml create mode 100644 enterprise/traefik/17.0.15/templates/middlewares/redirectScheme.yaml create mode 100644 enterprise/traefik/17.0.15/templates/middlewares/redirectregex.yaml create mode 100644 enterprise/traefik/17.0.15/templates/middlewares/stripPrefixRegex.yaml create mode 100644 enterprise/traefik/17.0.15/templates/middlewares/tc-chains.yaml create mode 100644 enterprise/traefik/17.0.15/templates/middlewares/tc-headers.yaml create mode 100644 enterprise/traefik/17.0.15/templates/middlewares/tc-nextcloud.yaml create mode 100644 enterprise/traefik/17.0.15/templates/middlewares/theme-park.yaml create mode 100644 enterprise/traefik/17.0.15/values.yaml diff --git a/enterprise/traefik/17.0.15/CHANGELOG.md b/enterprise/traefik/17.0.15/CHANGELOG.md new file mode 100644 index 0000000000..d372583e10 --- /dev/null +++ b/enterprise/traefik/17.0.15/CHANGELOG.md @@ -0,0 +1,99 @@ +**Important:** +*for the complete changelog, please refer to the website* + + + + +## [traefik-17.0.15](https://github.com/truecharts/charts/compare/traefik-17.0.14...traefik-17.0.15) (2023-04-07) + +### Chore + +- update container image tccr.io/truecharts/traefik to v2.9.9 ([#7883](https://github.com/truecharts/charts/issues/7883)) + + + + +## [traefik-17.0.14](https://github.com/truecharts/charts/compare/traefik-17.0.13...traefik-17.0.14) (2023-04-05) + +### Chore + +- bump common to 32 on enterprise charts + + + + +## [traefik-17.0.13](https://github.com/truecharts/charts/compare/traefik-17.0.12...traefik-17.0.13) (2023-03-25) + + + + +## [traefik-17.0.12](https://github.com/truecharts/charts/compare/traefik-17.0.11...traefik-17.0.12) (2023-03-19) + +### Chore + +- bump common and deps on enterprise train ([#7819](https://github.com/truecharts/charts/issues/7819)) + + + + +## [traefik-17.0.11](https://github.com/truecharts/charts/compare/traefik-17.0.10...traefik-17.0.11) (2023-03-19) + +### Fix + +- fix portal button ([#7811](https://github.com/truecharts/charts/issues/7811)) + + + + +## [traefik-17.0.10](https://github.com/truecharts/charts/compare/traefik-17.0.9...traefik-17.0.10) (2023-03-11) + +### Fix + +- bump to get metrics working + + + + +## [traefik-17.0.9](https://github.com/truecharts/charts/compare/traefik-17.0.8...traefik-17.0.9) (2023-03-11) + +### Fix + +- bump to release fix for new service monitor + + + + +## [traefik-17.0.8](https://github.com/truecharts/charts/compare/traefik-17.0.7...traefik-17.0.8) (2023-03-11) + +### Feat + +- generate a service monitor ([#7785](https://github.com/truecharts/charts/issues/7785)) + + + + +## [traefik-17.0.7](https://github.com/truecharts/charts/compare/traefik-17.0.6...traefik-17.0.7) (2023-03-07) + +### Fix + +- actually fix labels ([#7763](https://github.com/truecharts/charts/issues/7763)) + + + + +## [traefik-17.0.6](https://github.com/truecharts/charts/compare/traefik-17.0.5...traefik-17.0.6) (2023-03-07) + +### Fix + +- misc fixes from common and prometheus storageclass patch ([#7762](https://github.com/truecharts/charts/issues/7762)) + + + + +## [traefik-17.0.5](https://github.com/truecharts/charts/compare/traefik-17.0.4...traefik-17.0.5) (2023-03-07) + +### Fix + +- fix labels ([#7759](https://github.com/truecharts/charts/issues/7759)) + + diff --git a/enterprise/traefik/17.0.15/Chart.yaml b/enterprise/traefik/17.0.15/Chart.yaml new file mode 100644 index 0000000000..04e085e483 --- /dev/null +++ b/enterprise/traefik/17.0.15/Chart.yaml @@ -0,0 +1,31 @@ +apiVersion: v2 +appVersion: "2.9.9" +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 12.2.32 +deprecated: false +description: Traefik is a flexible reverse proxy and Ingress Provider. +home: https://truecharts.org/charts/enterprise/traefik +icon: https://truecharts.org/img/hotlink-ok/chart-icons/traefik.png +keywords: + - traefik + - ingress +kubeVersion: ">=1.16.0-0" +maintainers: + - email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: traefik +sources: + - https://github.com/truecharts/charts/tree/master/charts/enterprise/traefik + - https://github.com/traefik/traefik + - https://github.com/traefik/traefik-helm-chart + - https://traefik.io/ +type: application +version: 17.0.15 +annotations: + truecharts.org/catagories: | + - network + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/enterprise/traefik/17.0.15/LICENSE b/enterprise/traefik/17.0.15/LICENSE new file mode 100644 index 0000000000..4139714f20 --- /dev/null +++ b/enterprise/traefik/17.0.15/LICENSE @@ -0,0 +1,106 @@ +Business Source License 1.1 + +Parameters + +Licensor: The TrueCharts Project, it's owner and it's contributors +Licensed Work: The TrueCharts "Traefik" Helm Chart +Additional Use Grant: You may use the licensed work in production, as long + as it is directly sourced from a TrueCharts provided + official repository, catalog or source. You may also make private + modification to the directly sourced licenced work, + when used in production. + + The following cases are, due to their nature, also + defined as 'production use' and explicitly prohibited: + - Bundling, including or displaying the licensed work + with(in) another work intended for production use, + with the apparent intend of facilitating and/or + promoting production use by third parties in + violation of this license. + +Change Date: 2050-01-01 + +Change License: 3-clause BSD license + +For information about alternative licensing arrangements for the Software, +please contact: legal@truecharts.org + +Notice + +The Business Source License (this document, or the “License”) is not an Open +Source license. However, the Licensed Work will eventually be made available +under an Open Source License, as stated in this License. + +License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved. +“Business Source License” is a trademark of MariaDB Corporation Ab. + +----------------------------------------------------------------------------- + +Business Source License 1.1 + +Terms + +The Licensor hereby grants you the right to copy, modify, create derivative +works, redistribute, and make non-production use of the Licensed Work. The +Licensor may make an Additional Use Grant, above, permitting limited +production use. + +Effective on the Change Date, or the fourth anniversary of the first publicly +available distribution of a specific version of the Licensed Work under this +License, whichever comes first, the Licensor hereby grants you rights under +the terms of the Change License, and the rights granted in the paragraph +above terminate. + +If your use of the Licensed Work does not comply with the requirements +currently in effect as described in this License, you must purchase a +commercial license from the Licensor, its affiliated entities, or authorized +resellers, or you must refrain from using the Licensed Work. + +All copies of the original and modified Licensed Work, and derivative works +of the Licensed Work, are subject to this License. This License applies +separately for each version of the Licensed Work and the Change Date may vary +for each version of the Licensed Work released by Licensor. + +You must conspicuously display this License on each original or modified copy +of the Licensed Work. If you receive the Licensed Work in original or +modified form from a third party, the terms and conditions set forth in this +License apply to your use of that work. + +Any use of the Licensed Work in violation of this License will automatically +terminate your rights under this License for the current and all other +versions of the Licensed Work. + +This License does not grant you any right in any trademark or logo of +Licensor or its affiliates (provided that you may use a trademark or logo of +Licensor as expressly required by this License). + +TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON +AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, +EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND +TITLE. + +MariaDB hereby grants you permission to use this License’s text to license +your works, and to refer to it using the trademark “Business Source License”, +as long as you comply with the Covenants of Licensor below. + +Covenants of Licensor + +In consideration of the right to use this License’s text and the “Business +Source License” name and trademark, Licensor covenants to MariaDB, and to all +other recipients of the licensed work to be provided by Licensor: + +1. To specify as the Change License the GPL Version 2.0 or any later version, + or a license that is compatible with GPL Version 2.0 or a later version, + where “compatible” means that software provided under the Change License can + be included in a program with software provided under GPL Version 2.0 or a + later version. Licensor may specify additional Change Licenses without + limitation. + +2. To either: (a) specify an additional grant of rights to use that does not + impose any additional restriction on the right granted in this License, as + the Additional Use Grant; or (b) insert the text “None”. + +3. To specify a Change Date. + +4. Not to modify this License in any other way. diff --git a/enterprise/traefik/17.0.15/README.md b/enterprise/traefik/17.0.15/README.md new file mode 100644 index 0000000000..de60b9ed65 --- /dev/null +++ b/enterprise/traefik/17.0.15/README.md @@ -0,0 +1,27 @@ +# README + +## General Info + +TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. +However only installations using the TrueNAS SCALE Apps system are supported. + +For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/enterprise/) + +**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)** + + +## Support + +- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE%20Apps/Important-MUST-READ). +- See the [Website](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/charts/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/sponsor) or contributing back to the project any way you can! + +*All Rights Reserved - The TrueCharts Project* diff --git a/enterprise/traefik/17.0.15/app-changelog.md b/enterprise/traefik/17.0.15/app-changelog.md new file mode 100644 index 0000000000..68399de2c0 --- /dev/null +++ b/enterprise/traefik/17.0.15/app-changelog.md @@ -0,0 +1,9 @@ + + +## [traefik-17.0.15](https://github.com/truecharts/charts/compare/traefik-17.0.14...traefik-17.0.15) (2023-04-07) + +### Chore + +- update container image tccr.io/truecharts/traefik to v2.9.9 ([#7883](https://github.com/truecharts/charts/issues/7883)) + + \ No newline at end of file diff --git a/enterprise/traefik/17.0.15/app-readme.md b/enterprise/traefik/17.0.15/app-readme.md new file mode 100644 index 0000000000..02206fafcf --- /dev/null +++ b/enterprise/traefik/17.0.15/app-readme.md @@ -0,0 +1,8 @@ +Traefik is a flexible reverse proxy and Ingress Provider. + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/enterprise/traefik](https://truecharts.org/charts/enterprise/traefik) + +--- + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can! diff --git a/enterprise/traefik/17.0.15/charts/common-12.2.32.tgz b/enterprise/traefik/17.0.15/charts/common-12.2.32.tgz new file mode 100644 index 0000000000000000000000000000000000000000..3304bd5a80b320fb45763088b187cf7d7e7d6631 GIT binary patch literal 238590 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�T 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 z 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

0(2a}#`$&2 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 Y=8{V;x!kz?F8~1l|7i;pZUE#X0MX*T@Bjb+ literal 0 HcmV?d00001 diff --git a/enterprise/traefik/17.0.15/ix_values.yaml b/enterprise/traefik/17.0.15/ix_values.yaml new file mode 100644 index 0000000000..8aabf64f5e --- /dev/null +++ b/enterprise/traefik/17.0.15/ix_values.yaml @@ -0,0 +1,417 @@ +image: + repository: tccr.io/truecharts/traefik + # defaults to appVersion + tag: 2.9.9@sha256:4b9750e70b54df2a0c39c3262fe2963815a0304b7982fb8f80d0782a8e8021fa + pullPolicy: IfNotPresent + +workload: + main: + replicas: 2 + strategy: RollingUpdate + podSpec: + containers: + main: + args: [] + probes: + # -- Liveness probe configuration + # @default -- See below + liveness: + # -- sets the probe type when not using a custom probe + # @default -- "TCP" + type: tcp + # -- If a HTTP probe is used (default for HTTP/HTTPS services) this path is used + # @default -- "/" + # path: "/ping" + + # -- Redainess probe configuration + # @default -- See below + readiness: + # -- sets the probe type when not using a custom probe + # @default -- "TCP" + type: tcp + # -- If a HTTP probe is used (default for HTTP/HTTPS services) this path is used + # @default -- "/" + # path: "/ping" + + # -- Startup probe configuration + # @default -- See below + startup: + # -- sets the probe type when not using a custom probe + # @default -- "TCP" + type: tcp + # -- If a HTTP probe is used (default for HTTP/HTTPS services) this path is used + # @default -- "/" + # path: "/ping" + +# -- Options for all pods +# Can be overruled per pod +podOptions: + automountServiceAccountToken: true + +# -- Use ingressClass. Ignored if Traefik version < 2.3 / kubernetes < 1.18.x +ingressClass: + # true is not unit-testable yet, pending https://github.com/rancher/helm-unittest/pull/12 + enabled: false + isDefaultClass: false + # Use to force a networking.k8s.io API Version for certain CI/CD applications. E.g. "v1beta1" + fallbackApiVersion: "" + +# -- Create an IngressRoute for the dashboard +ingressRoute: + dashboard: + enabled: true + # Additional ingressRoute annotations (e.g. for kubernetes.io/ingress.class) + annotations: {} + # Additional ingressRoute labels (e.g. for filtering IngressRoute by custom labels) + labels: {} +# +# -- Configure providers +providers: + kubernetesCRD: + enabled: true + namespaces: + [] + # - "default" + kubernetesIngress: + enabled: true + # labelSelector: environment=production,method=traefik + namespaces: + [] + # - "default" + # IP used for Kubernetes Ingress endpoints + publishedService: + enabled: true + # Published Kubernetes Service to copy status from. Format: namespace/servicename + # By default this Traefik service + # pathOverride: "" + +# -- Logs +# https://docs.traefik.io/observability/logs/ +logs: + # Traefik logs concern everything that happens to Traefik itself (startup, configuration, events, shutdown, and so on). + general: + # By default, the level is set to ERROR. Alternative logging levels are DEBUG, PANIC, FATAL, ERROR, WARN, and INFO. + level: ERROR + # -- Set the format of General Logs to be either Common Log Format or JSON. For more information: https://doc.traefik.io/traefik/observability/logs/#format + format: common + access: + # To enable access logs + enabled: false + # To write the logs in an asynchronous fashion, specify a bufferingSize option. + # This option represents the number of log lines Traefik will keep in memory before writing + # them to the selected output. In some cases, this option can greatly help performances. + # bufferingSize: 100 + # Filtering https://docs.traefik.io/observability/access-logs/#filtering + filters: + {} + # statuscodes: "200,300-302" + # retryattempts: true + # minduration: 10ms + # Fields + # https://docs.traefik.io/observability/access-logs/#limiting-the-fieldsincluding-headers + fields: + general: + defaultmode: keep + names: + {} + # Examples: + # ClientUsername: drop + headers: + defaultmode: drop + names: + {} + # Examples: + # User-Agent: redact + # Authorization: drop + # Content-Type: keep + # -- Set the format of Access Logs to be either Common Log Format or JSON. For more information: https://doc.traefik.io/traefik/observability/access-logs/#format + format: common + +metrics: + main: + enabled: true + type: servicemonitor + endpoints: + - port: metrics + path: /metrics + targetSelector: metrics + +globalArguments: + - "--global.checknewversion" + +## +# -- Additional arguments to be passed at Traefik's binary +# All available options available on https://docs.traefik.io/reference/static-configuration/cli/ +## Use curly braces to pass values: `helm install --set="additionalArguments={--providers.kubernetesingress.ingressclass=traefik-internal,--log.level=DEBUG}"` +additionalArguments: + - "--serverstransport.insecureskipverify=true" + - "--providers.kubernetesingress.allowexternalnameservices=true" + +# -- TLS Options to be created as TLSOption CRDs +# https://doc.traefik.io/tccr.io/truecharts/https/tls/#tls-options +# Example: +tlsOptions: + default: + sniStrict: false + minVersion: VersionTLS12 + curvePreferences: + - CurveP521 + - CurveP384 + cipherSuites: + - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 + - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 + - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305 + - TLS_AES_128_GCM_SHA256 + - TLS_AES_256_GCM_SHA384 + - TLS_CHACHA20_POLY1305_SHA256 + +# -- Options for the main traefik service, where the entrypoints traffic comes from +# from. +service: + main: + type: LoadBalancer + ports: + main: + port: 9000 + targetPort: 9000 + protocol: http + # -- Forwarded Headers should never be enabled on Main entrypoint + forwardedHeaders: + enabled: false + # -- Proxy Protocol should never be enabled on Main entrypoint + proxyProtocol: + enabled: false + tcp: + enabled: true + type: LoadBalancer + ports: + web: + enabled: true + port: 9080 + protocol: http + redirectTo: websecure + # Options: Empty, 0 (ingore), or positive int + # redirectPort: + # -- Configure (Forwarded Headers)[https://doc.traefik.io/traefik/routing/entrypoints/#forwarded-headers] Support + forwardedHeaders: + enabled: false + # -- List of trusted IP and CIDR references + trustedIPs: [] + # -- Trust all forwarded headers + insecureMode: false + # -- Configure (Proxy Protocol Headers)[https://doc.traefik.io/traefik/routing/entrypoints/#proxyprotocol] Support + proxyProtocol: + enabled: false + # -- Only IPs in trustedIPs will lead to remote client address replacement + trustedIPs: [] + # -- Trust every incoming connection + insecureMode: false + websecure: + enabled: true + port: 9443 + protocol: https + # -- Configure (Forwarded Headers)[https://doc.traefik.io/traefik/routing/entrypoints/#forwarded-headers] Support + forwardedHeaders: + enabled: false + # -- List of trusted IP and CIDR references + trustedIPs: [] + # -- Trust all forwarded headers + insecureMode: false + # -- Configure (Proxy Protocol Headers)[https://doc.traefik.io/traefik/routing/entrypoints/#proxyprotocol] Support + proxyProtocol: + enabled: false + # -- Only IPs in trustedIPs will lead to remote client address replacement + trustedIPs: [] + # -- Trust every incoming connection + insecureMode: false + # tcpexample: + # enabled: true + # targetPort: 9443 + # protocol: tcp + # tls: + # enabled: false + # # this is the name of a TLSOption definition + # options: "" + # certResolver: "" + # domains: [] + # # - main: example.com + # # sans: + # # - foo.example.com + # # - bar.example.com + metrics: + enabled: true + type: ClusterIP + ports: + metrics: + enabled: true + port: 9180 + targetPort: 9180 + protocol: http + # -- Forwarded Headers should never be enabled on Metrics entrypoint + forwardedHeaders: + enabled: false + # -- Proxy Protocol should never be enabled on Metrics entrypoint + proxyProtocol: + enabled: false + # udp: + # enabled: false + +# -- Whether Role Based Access Control objects like roles and rolebindings should be created +rbac: + main: + enabled: true + primary: true + clusterWide: true + rules: + - apiGroups: + - "" + resources: + - services + - endpoints + - secrets + verbs: + - get + - list + - watch + - apiGroups: + - extensions + - networking.k8s.io + resources: + - ingresses + - ingressclasses + verbs: + - get + - list + - watch + - apiGroups: + - extensions + - networking.k8s.io + resources: + - ingresses/status + verbs: + - update + - apiGroups: + - traefik.containo.us + resources: + - ingressroutes + - ingressroutetcps + - ingressrouteudps + - middlewares + - middlewaretcps + - tlsoptions + - tlsstores + - traefikservices + - serverstransports + verbs: + - get + - list + - watch + +# -- The service account the pods will use to interact with the Kubernetes API +serviceAccount: + main: + enabled: true + primary: true + +# -- SCALE Middleware Handlers +middlewares: + basicAuth: [] + # - name: basicauthexample + # users: + # - username: testuser + # password: testpassword + forwardAuth: [] + # - name: forwardAuthexample + # address: https://auth.example.com/ + # authResponseHeaders: + # - X-Secret + # - X-Auth-User + # authRequestHeaders: + # - "Accept" + # - "X-CustomHeader" + # authResponseHeadersRegex: "^X-" + # trustForwardHeader: true + chain: [] + # - name: chainname + # middlewares: + # - name: compress + redirectScheme: [] + # - name: redirectSchemeName + # scheme: https + # permanent: true + rateLimit: [] + # - name: rateLimitName + # average: 300 + # burst: 200 + redirectRegex: [] + # - name: redirectRegexName + # regex: putregexhere + # replacement: replacementurlhere + # permanent: false + stripPrefixRegex: [] + # - name: stripPrefixRegexName + # regex: [] + ipWhiteList: [] + # - name: ipWhiteListName + # sourceRange: [] + # ipStrategy: + # depth: 2 + # excludedIPs: [] + themeParkVersion: v1.3.0 + themePark: [] + # - name: themeParkName + # -- Supported apps, lower case name + # -- https://docs.theme-park.dev/themes + # app: appnamehere + # -- Supported themes, lower case name + # -- https://docs.theme-park.dev/themes/APPNAMEHERE + # -- https://docs.theme-park.dev/community-themes + # theme: themenamehere + # -- https://theme-park.dev or a self hosted url + # baseUrl: https://theme-park.dev + realIPVersion: v1.0.3 + # Sets X-Real-Ip with an IP from the X-Forwarded-For or + # Cf-Connecting-Ip (If from Cloudflare) + # Evaluation of those headers will go from last to first + realIP: [] + # - name: realIPName + # -- The real IP will be the first one that is + # -- not included in any of the CIDRs passed here + # excludedNetworks: + # - 1.1.1.1/24 + addPrefix: [] + # - name: addPrefixName + # prefix: "/foo" + geoBlockVersion: v0.2.4 + geoBlock: [] + # -- https://github.com/PascalMinder/geoblock + # - name: geoBlockName + # allowLocalRequests: true + # logLocalRequests: false + # logAllowedRequests: false + # logApiRequests: false + # api: https://get.geojs.io/v1/ip/country/{ip} + # apiTimeoutMs: 500 + # cacheSize: 25 + # forceMonthlyUpdate: true + # allowUnknownCountries: false + # unknownCountryApiResponse: nil + # blackListMode: false + # countries: + # - RU + +portalhook: + enabled: true + +persistence: + plugins: + enabled: true + mountPath: "/plugins-storage" + type: emptyDir + +portal: + open: + enabled: true + path: /dashboard/ + override: + protocol: http diff --git a/enterprise/traefik/17.0.15/questions.yaml b/enterprise/traefik/17.0.15/questions.yaml new file mode 100644 index 0000000000..bfd5f230a2 --- /dev/null +++ b/enterprise/traefik/17.0.15/questions.yaml @@ -0,0 +1,2522 @@ +groups: + - name: Container Image + description: Image to be used for container + - name: General Settings + description: General Deployment Settings + - name: Workload Settings + description: Workload Settings + - 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: Postgresql + description: Postgresql + - name: Documentation + description: Documentation +portals: + open: + protocols: + - "$kubernetes-resource_configmap_tcportal-open_protocol" + host: + - "$kubernetes-resource_configmap_tcportal-open_host" + ports: + - "$kubernetes-resource_configmap_tcportal-open_port" + path: "$kubernetes-resource_configmap_tcportal-open_path" +questions: + + - variable: workload + group: "Workload Settings" + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type (Advanced) + schema: + type: string + default: Deployment + enum: + - value: Deployment + description: Deployment + - value: DaemonSet + description: DaemonSet + + - variable: replicas + label: Replicas (Advanced) + description: Set the number of Replicas + schema: + type: int + show_if: [["type", "!=", "DaemonSet"]] + default: 1 + - variable: podSpec + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: containers + label: Containers + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: Main Container + schema: + additional_attrs: true + type: dict + attrs: + - variable: envList + label: Extra Environment Variables + description: "Please be aware that some variables are set in the background, adding duplicates here might cause issues or prevent the app from starting..." + 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: extraArgs + label: Extra Args + schema: + type: list + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: command + label: Command + schema: + type: list + default: [] + items: + - variable: param + label: Param + schema: + type: string + + - variable: TZ + label: Timezone + group: "General Settings" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: ingressClass + label: "ingressClass" + group: "App Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable" + description: "When enabled, ingressClass will match the entered name of this app" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: isDefaultClass + label: "isDefaultClass" + schema: + type: boolean + default: false + - variable: logs + label: "Logs" + group: "App Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: general + label: "General Logs" + schema: + additional_attrs: true + type: dict + attrs: + - variable: level + label: "Log Level" + schema: + type: string + default: "ERROR" + enum: + - value: "INFO" + description: "Info" + - value: "WARN" + description: "Warnings" + - value: "ERROR" + description: "Errors" + - value: "FATAL" + description: "Fatal Errors" + - value: "PANIC" + description: "Panics" + - value: "DEBUG" + description: "Debug" + - variable: format + label: "General Log format" + schema: + type: string + default: "common" + enum: + - value: "common" + description: "Common Log Format" + - value: "json" + description: "JSON" + - variable: access + label: "Access Logs" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabledFilters + label: "Enable Filters" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: filters + label: "Filters" + schema: + additional_attrs: true + type: dict + attrs: + - variable: statuscodes + label: "Status codes" + schema: + type: string + default: "200,300-302" + - variable: retryattempts + label: "retryattempts" + schema: + type: boolean + default: true + - variable: minduration + label: "minduration" + schema: + type: string + default: "10ms" + - variable: fields + label: "Fields" + schema: + additional_attrs: true + type: dict + attrs: + - variable: general + label: "General" + schema: + additional_attrs: true + type: dict + attrs: + - variable: defaultmode + label: "Default Mode" + schema: + type: string + default: "keep" + enum: + - value: "keep" + description: "Keep" + - value: "drop" + description: "Drop" + - variable: headers + label: "Headers" + schema: + additional_attrs: true + type: dict + attrs: + - variable: defaultmode + label: "Default Mode" + schema: + type: string + default: "drop" + enum: + - value: "keep" + description: "Keep" + - value: "drop" + description: "Drop" + - variable: format + label: "Access Log format" + schema: + type: string + default: "common" + enum: + - value: "common" + description: "Common Log Format" + - value: "json" + description: "JSON" + - variable: middlewares + label: "" + group: "Middlewares" + schema: + additional_attrs: true + type: dict + attrs: + - variable: basicAuth + label: basicAuth + schema: + type: list + default: [] + items: + - variable: basicAuthEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + default: "" + - variable: users + label: Users + schema: + type: list + default: [] + items: + - variable: usersEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: username + label: Username + schema: + type: string + required: true + default: "" + - variable: password + label: Password + schema: + type: string + required: true + default: "" + - variable: forwardAuth + label: forwardAuth + schema: + type: list + default: [] + items: + - variable: basicAuthEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + default: "" + - variable: address + label: Address + schema: + type: string + required: true + default: "" + - variable: trustForwardHeader + label: trustForwardHeader + schema: + type: boolean + default: false + - variable: tls + label: TLS + schema: + additional_attrs: true + type: dict + attrs: + - variable: insecureSkipVerify + label: insecureSkipVerify (expert) + description: >- + This disables all TLS certificate validation on communications with the authentication endpoint. + This could be a security risk and should only be used if you know what you are doing. + schema: + type: boolean + default: false + - variable: authResponseHeadersRegex + label: authResponseHeadersRegex + schema: + type: string + default: "" + - variable: authResponseHeaders + label: authResponseHeaders + schema: + type: list + default: [] + items: + - variable: authResponseHeadersEntry + label: "" + schema: + type: string + default: "" + - variable: authRequestHeaders + label: authRequestHeaders + schema: + type: list + default: [] + items: + - variable: authRequestHeadersEntry + label: "" + schema: + type: string + default: "" + - variable: chain + label: Chain + schema: + type: list + default: [] + items: + - variable: chainEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: middlewares + label: Middlewares to Chain + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + required: true + default: "" + - variable: redirectScheme + label: redirectScheme + schema: + type: list + default: [] + items: + - variable: redirectSchemeEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: scheme + label: Scheme + schema: + type: string + required: true + default: https + enum: + - value: https + description: https + - value: http + description: http + - variable: permanent + label: Permanent + schema: + type: boolean + default: false + - variable: rateLimit + label: rateLimit + schema: + type: list + default: [] + items: + - variable: rateLimitEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: average + label: Average + schema: + type: int + required: true + default: 300 + - variable: burst + label: Burst + schema: + type: int + required: true + default: 200 + - variable: redirectRegex + label: redirectRegex + schema: + type: list + default: [] + items: + - variable: redirectRegexEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: regex + label: Regex + schema: + type: string + required: true + default: "" + - variable: replacement + label: Replacement + schema: + type: string + required: true + default: "" + - variable: permanent + label: Permanent + schema: + type: boolean + default: false + - variable: stripPrefixRegex + label: stripPrefixRegex + schema: + type: list + default: [] + items: + - variable: stripPrefixRegexEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: regex + label: Regex + schema: + type: list + default: [] + items: + - variable: regexEntry + label: Regex + schema: + type: string + required: true + default: "" + - variable: ipWhiteList + label: ipWhiteList + schema: + type: list + default: [] + items: + - variable: ipWhiteListEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + default: "" + - variable: sourceRange + label: Source Range + schema: + type: list + default: [] + items: + - variable: sourceRangeEntry + label: "" + schema: + type: string + required: true + default: "" + - variable: ipStrategy + label: IP Strategy + schema: + additional_attrs: true + type: dict + attrs: + - variable: depth + label: Depth + schema: + type: int + required: true + - variable: excludedIPs + label: Excluded IPs + schema: + type: list + default: [] + items: + - variable: excludedIPsEntry + label: "" + schema: + type: string + required: true + default: "" + - variable: themePark + label: theme.park + schema: + type: list + default: [] + items: + - variable: themeParkEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: This is a 3rd party plugin and not maintained by TrueCharts, + for more information go to traefik-themepark + schema: + type: string + required: true + default: "" + - variable: appName + label: App Name + description: Lower case, name of the app to be themed. +
Go to https://docs.theme-park.dev/themes/ to see supported apps. + schema: + type: string + required: true + default: "" + - variable: themeName + label: Theme Name + description: Lower case, name of the theme to be applied. +
Go to https://docs.theme-park.dev/theme-options/ to see supported themes. + schema: + type: string + required: true + default: "" + - variable: baseUrl + label: Base URL + description: Replace `https://theme-park.dev` URL for self-hosting reference. + schema: + type: string + required: true + default: https://theme-park.dev + - variable: addons + label: Addons + schema: + type: list + default: [] + items: + - variable: addonEntry + label: Addon + description: Currently only supports 'darker' and '4k-logo' for *arr apps. +
Go to https://docs.theme-park.dev/themes/addons/ for Addon information. +
Go to https://github.com/packruler/traefik-themepark for more context on plugin + schema: + type: string + required: true + default: "" + - variable: realIP + label: Real IP + schema: + type: list + default: [] + items: + - variable: realIPEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + default: "" + - variable: excludedNetworks + label: Excluded Networks + schema: + type: list + default: [] + items: + - variable: excludedNetEntry + label: Excluded Network Entry + description: Network to exclude setting it to X-Real-Ip + schema: + type: string + required: true + default: "" + - variable: geoBlock + label: GeoBlock + schema: + type: list + default: [] + items: + - variable: geoBlockEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: This is a 3rd party plugin and not maintained by TrueCharts, + for more information go to geoblock + schema: + type: string + required: true + default: "" + - variable: allowLocalRequests + label: Allow Local Requests + description: If set to true, will not block request from Private IP Ranges + schema: + type: boolean + default: true + - variable: logLocalRequests + label: Log Local Requests + description: If set to true, will log every connection from any IP in the private IP range + schema: + type: boolean + default: false + - variable: logAllowedRequests + label: Log Allowed Requests + description: If set to true, will show a log message with the IP and the country of origin if a request is allowed. + schema: + type: boolean + default: false + - variable: logApiRequests + label: Log API Requests + description: If set to true, will show a log message for every API hit. + schema: + type: boolean + default: false + - variable: api + label: API + description: Defines the API URL for the IP to Country resolution. The IP to fetch can be added with {ip} to the URL. + schema: + type: string + required: true + default: https://get.geojs.io/v1/ip/country/{ip} + - variable: apiTimeoutMs + label: API Timeout in ms + description: Timeout for the call to the api uri. + schema: + type: int + required: true + default: 500 + - variable: cacheSize + label: Cache Size + description: Defines the max size of the LRU (least recently used) cache. + schema: + type: int + required: true + default: 25 + - variable: forceMonthlyUpdate + label: Force Monthly Update + description: Even if an IP stays in the cache for a period of a month (about 30 x 24 hours), it must be fetch again after a month. + schema: + type: boolean + default: true + - variable: allowUnknownCountries + label: Allow Unknown Countries + description: Some IP addresses have no country associated with them. If this option is set to true, all IPs with no associated country are also allowed. + schema: + type: boolean + default: false + - variable: unknownCountryApiResponse + label: Unknown Countries API Response + description: The API uri can be customized. This options allows to customize the response string of the API when a IP with no associated country is requested. + schema: + type: string + required: true + default: nil + - variable: blackListMode + label: Blacklist Mode + description: When set to true the filter logic is inverted, i.e. requests originating from countries listed in the countries list are blocked. + schema: + type: boolean + default: false + - variable: countries + description: Country codes (2 characters) from which connections to the service should be allowed or blocked, based on the mode. + label: Countries + schema: + type: list + default: [] + items: + - variable: countryEntry + label: Country + description: Country codes (2 characters) from which connections to the service should be allowed or blocked, based on the mode. + schema: + type: string + required: true + # Allow only 2 Characters + valid_chars: '^[a-zA-Z]{2}$' + default: "" + - variable: addPrefix + label: Add Prefix + schema: + type: list + default: [] + items: + - variable: addPrefixEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + default: "" + - variable: prefix + label: Prefix + schema: + type: string + required: true + default: "" + - variable: service + group: "Networking and Services" + label: "Configure Service Entrypoint" + 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 and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: LoadBalancer + description: LoadBalancer (Expose Ports) + - value: ClusterIP + description: ClusterIP (Do Not Expose Ports) + - value: Simple + description: Deprecated CHANGE THIS + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: ports + label: "Service's Port(s) Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Entrypoint Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Entrypoints Port" + schema: + type: int + default: 9000 + required: true + - variable: tcp + label: "TCP Service" + description: "The tcp Entrypoint service" + 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 and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: LoadBalancer + description: LoadBalancer (Expose Ports) + - value: ClusterIP + description: ClusterIP (Do Not Expose Ports) + - value: Simple + description: Deprecated CHANGE THIS + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: ports + label: "Service's Port(s) Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: web + label: "web Entrypoint Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Entrypoints Port" + schema: + type: int + default: 9080 + required: true + - variable: advanced + label: Show Advanced Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: redirectPort + label: "Redirect to Port" + schema: + type: int + - variable: redirectTo + label: "Redirect to Entrypoint" + schema: + type: string + default: "websecure" + - variable: forwardedHeaders + label: Accept Forwarded Headers + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: trustedIPs + label: Trusted IPs + description: Trust Forwarded Headers from specific IPs. + schema: + type: list + default: [] + items: + - variable: trustedIPsEntry + label: "" + schema: + type: string + required: true + default: "" + - variable: insecureMode + label: Insecure Mode + description: Always Trust Forwarded Headers + schema: + type: boolean + default: false + - variable: proxyProtocol + label: Accept Proxy Protocol connections + description: If Proxy Protocol header parsing is enabled for the entry point, this entry point can accept connections with or without Proxy Protocol headers. + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: trustedIPs + label: Trusted IPs + description: Only IPs in trustedIPs will lead to remote client address replacement + schema: + type: list + default: [] + items: + - variable: trustedIPsEntry + label: "" + schema: + type: string + required: true + default: "" + - variable: insecureMode + label: Insecure Mode + description: Trust every incoming connection + schema: + type: boolean + default: false + - variable: websecure + label: "websecure Entrypoints Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Entrypoints Port" + schema: + type: int + default: 9443 + required: true + - variable: advanced + label: Show Advanced Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: redirectPort + label: "Redirect to Port" + schema: + type: int + - variable: redirectTo + label: "Redirect to Entrypoint" + schema: + type: string + - variable: forwardedHeaders + label: Accept Forwarded Headers + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: trustedIPs + label: Trusted IPs + description: Trust Forwarded Headers from specific IPs. + schema: + type: list + default: [] + items: + - variable: trustedIPsEntry + label: "" + schema: + type: string + required: true + default: "" + - variable: insecureMode + label: Insecure Mode + description: Always Trust Forwarded Headers + schema: + type: boolean + default: false + - variable: proxyProtocol + label: Accept Proxy Protocol connections + description: If Proxy Protocol header parsing is enabled for the entry point, this entry point can accept connections with or without Proxy Protocol headers. + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: trustedIPs + label: Trusted IPs + description: Only IPs in trustedIPs will lead to remote client address replacement + schema: + type: list + default: [] + items: + - variable: trustedIPsEntry + label: "" + schema: + type: string + required: true + default: "" + - variable: insecureMode + label: Insecure Mode + description: Trust every incoming connection + schema: + type: boolean + default: false + - variable: tls + label: "websecure Entrypoints Configuration" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: portsList + label: "Additional TCP Entrypoints" + schema: + type: list + default: [] + items: + - variable: portsListEntry + label: "Custom Entrypoints" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Entrypoints Name" + schema: + type: string + default: "" + - variable: protocol + label: "Entrypoints Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + required: true + - variable: tls + label: "websecure Entrypoints Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + - variable: redirectPort + label: "Redirect to Port" + schema: + type: int + - variable: redirectTo + label: "Redirect to Entrypoint" + schema: + type: string + - variable: forwardedHeaders + label: Accept Forwarded Headers + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: trustedIPs + label: Trusted IPs + description: Trust Forwarded Headers from specific IPs. + schema: + type: list + default: [] + items: + - variable: trustedIPsEntry + label: "" + schema: + type: string + required: true + default: "" + - variable: insecureMode + label: Insecure Mode + description: Always Trust Forwarded Headers + schema: + type: boolean + default: false + - variable: proxyProtocol + label: Accept Proxy Protocol connections + description: If Proxy Protocol header parsing is enabled for the entry point, this entry point can accept connections with or without Proxy Protocol headers. + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: trustedIPs + label: Trusted IPs + description: Only IPs in trustedIPs will lead to remote client address replacement + schema: + type: list + default: [] + items: + - variable: trustedIPsEntry + label: "" + schema: + type: string + required: true + default: "" + - variable: insecureMode + label: Insecure Mode + description: Trust every incoming connection + schema: + type: boolean + default: false + - 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: certificateIssuer + label: Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates. Cannot be used combined with tls option below' + schema: + type: string + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + show_if: [["certificateIssuer", "=", ""]] + 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: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: scaleCert + label: Use TrueNAS SCALE Certificate (Deprecated) + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: secretName + label: Use Custom Secret (Advanced) + schema: + show_if: [["certificateIssuer", "=", ""]] + type: string + default: "" + - 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: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + default: "" + - 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: 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: 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: clusterIssuer + label: clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates. Cannot be used combined with tls option below' + schema: + type: string + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + show_if: [["clusterIssuer", "=", ""]] + 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: clusterIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: scaleCert + label: Use TrueNAS SCALE Certificate (Deprecated) + schema: + show_if: [["clusterIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: secretName + label: Use Custom Secret (Advanced) + schema: + type: string + show_if: [["clusterIssuer", "=", ""]] + default: "" + - 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: securityContext + group: Security and Permissions + label: Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: container + label: Container + schema: + additional_attrs: true + type: dict + attrs: + # Settings from questions.yaml get appended here on a per-app basis + + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: "The groupID of the user running the application" + schema: + type: int + default: 568 + # Settings from questions.yaml get appended here on a per-app basis + - 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 + show_if: [["runAsUser", "=", "0"]] + 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: "0022" + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: true + + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + + - variable: resources + group: Resources and Devices + label: "Resource Limits" + 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 + hidden: true + 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 + hidden: true + 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 + hidden: true + 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" + - variable: scaleGPU + label: GPU Configuration + group: Resources and Devices + schema: + type: list + default: [] + items: + - variable: scaleGPUEntry + label: GPU + schema: + additional_attrs: true + type: dict + attrs: + # Specify GPU configuration + - variable: gpu + label: Select GPU + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + - variable: metrics + group: Metrics + label: Prometheus Metrics + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: Main Metrics + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + description: Enable Prometheus Metrics + schema: + type: boolean + default: true + show_subquestions_if: true + subquestions: + - variable: prometheusRule + label: PrometheusRule + description: Enable and configure Prometheus Rules for the App. + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + description: Enable Prometheus Metrics + schema: + type: boolean + default: false + # TODO: Rule List section +# - variable: horizontalPodAutoscaler +# group: Advanced +# label: (Advanced) Horizontal Pod Autoscaler +# schema: +# type: list +# default: [] +# items: +# - variable: hpaEntry +# label: HPA Entry +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: name +# label: Name +# schema: +# type: string +# required: true +# default: "" +# - 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: + type: list + default: [] + items: + - variable: netPolicyEntry + label: Network Policy Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + default: "" + - 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: 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: service + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: NodePort + description: Deprecated CHANGE THIS + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: ports + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + 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: 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: 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: gluetun + description: Gluetun + - value: tailscale + description: Tailscale + - value: openvpn + description: OpenVPN (Deprecated) + - value: wireguard + description: Wireguard (Deprecated) + - 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: auth_once + label: Auth Once + description: Only attempt to log in if not already logged in. + schema: + type: boolean + default: true + - 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: The address on which to listen for SOCKS5 proxying into the tailscale net. + schema: + type: string + default: "" + - variable: outbound_http_proxy_listen + label: Outbound HTTP Proxy Listen + description: The address on which to listen for HTTP proxying into the tailscale net. + 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: string + show_if: [["type", "!=", "disabled"]] + default: "" + + - 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: docs + group: Documentation + label: Please read the documentation at https://truecharts.org + description: 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/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/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/enterprise/traefik/17.0.15/templates/NOTES.txt b/enterprise/traefik/17.0.15/templates/NOTES.txt new file mode 100644 index 0000000000..efcb74cb77 --- /dev/null +++ b/enterprise/traefik/17.0.15/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/enterprise/traefik/17.0.15/templates/_args.tpl b/enterprise/traefik/17.0.15/templates/_args.tpl new file mode 100644 index 0000000000..cf1e35a1d4 --- /dev/null +++ b/enterprise/traefik/17.0.15/templates/_args.tpl @@ -0,0 +1,182 @@ +{{/* Define the args */}} +{{- define "traefik.args" -}} +args: + {{/* merge all ports */}} + {{- $ports := dict }} + {{- range $.Values.service }} + {{- range $name, $value := .ports }} + {{- $_ := set $ports $name $value }} + {{- end }} + {{- end }} + {{/* start of actual arguments */}} + {{- with .Values.globalArguments }} + {{- range . }} + - {{ . | quote }} + {{- end }} + {{- end }} + {{- range $name, $config := $ports }} + {{- if $config }} + {{- if or ( eq $config.protocol "http" ) ( eq $config.protocol "https" ) ( eq $config.protocol "tcp" ) }} + {{- $_ := set $config "protocol" "tcp" }} + {{- end }} + - "--entryPoints.{{$name}}.address=:{{ $config.port }}/{{ default "tcp" $config.protocol | lower }}" + {{- end }} + {{- end }} + - "--api.dashboard=true" + - "--ping=true" + {{- if .Values.traefikMetrics }} + {{- if .Values.traefikMetrics.datadog }} + - "--metrics.datadog=true" + - "--metrics.datadog.address={{ .Values.traefikMetrics.datadog.address }}" + {{- end }} + {{- if .Values.traefikMetrics.influxdb }} + - "--metrics.influxdb=true" + - "--metrics.influxdb.address={{ .Values.traefikMetrics.influxdb.address }}" + - "--metrics.influxdb.protocol={{ .Values.traefikMetrics.influxdb.protocol }}" + {{- end }} + {{- if .Values.traefikMetrics.statsd }} + - "--metrics.statsd=true" + - "--metrics.statsd.address={{ .Values.traefikMetrics.statsd.address }}" + {{- if or .Values.traefikMetrics.prometheus }} + - "--metrics.prometheus=true" + - "--metrics.prometheus.entrypoint=metrics" + {{- end }} + {{- end }} + {{- end }} + {{- if or .Values.metrics.main.enabled }} + - "--metrics.prometheus=true" + - "--metrics.prometheus.entrypoint=metrics" + {{- end }} + {{- if .Values.providers.kubernetesCRD.enabled }} + - "--providers.kubernetescrd" + {{- end }} + {{- if .Values.providers.kubernetesIngress.enabled }} + - "--providers.kubernetesingress" + {{- if .Values.providers.kubernetesIngress.publishedService.enabled }} + - "--providers.kubernetesingress.ingressendpoint.publishedservice={{ template "providers.kubernetesIngress.publishedServicePath" . }}" + {{- end }} + {{- if .Values.providers.kubernetesIngress.labelSelector }} + - "--providers.kubernetesingress.labelSelector={{ .Values.providers.kubernetesIngress.labelSelector }}" + {{- end }} + {{- end }} + {{- if and .Values.rbac.enabled .Values.rbac.namespaced }} + {{- if .Values.providers.kubernetesCRD.enabled }} + - "--providers.kubernetescrd.namespaces={{ template "providers.kubernetesCRD.namespaces" . }}" + {{- end }} + {{- if .Values.providers.kubernetesIngress.enabled }} + - "--providers.kubernetesingress.namespaces={{ template "providers.kubernetesIngress.namespaces" . }}" + {{- end }} + {{- end }} + {{- if .Values.ingressClass.enabled }} + - "--providers.kubernetesingress.ingressclass={{ .Release.Name }}" + {{- end }} + {{- range $entrypoint, $config := $ports }} + {{/* add args for proxyProtocol support */}} + {{- if $config.proxyProtocol }} + {{- if $config.proxyProtocol.enabled }} + {{- if $config.proxyProtocol.insecureMode }} + - "--entrypoints.{{ $entrypoint }}.proxyProtocol.insecure" + {{- end }} + {{- if not ( empty $config.proxyProtocol.trustedIPs ) }} + - "--entrypoints.{{ $entrypoint }}.proxyProtocol.trustedIPs={{ join "," $config.proxyProtocol.trustedIPs }}" + {{- end }} + {{- end }} + {{- end }} + {{/* add args for forwardedHeaders support */}} + {{- if $config.forwardedHeaders.enabled }} + {{- if not ( empty $config.forwardedHeaders.trustedIPs ) }} + - "--entrypoints.{{ $entrypoint }}.forwardedHeaders.trustedIPs={{ join "," $config.forwardedHeaders.trustedIPs }}" + {{- end }} + {{- if $config.forwardedHeaders.insecureMode }} + - "--entrypoints.{{ $entrypoint }}.forwardedHeaders.insecure" + {{- end }} + {{- end }} + {{/* end forwardedHeaders configuration */}} + {{- if $config.redirectTo }} + {{- $toPort := index $ports $config.redirectTo }} + - "--entrypoints.{{ $entrypoint }}.http.redirections.entryPoint.to=:{{ $toPort.port }}" + - "--entrypoints.{{ $entrypoint }}.http.redirections.entryPoint.scheme=https" + {{- else if $config.redirectPort }} + {{ if gt $config.redirectPort 0.0 }} + - "--entrypoints.{{ $entrypoint }}.http.redirections.entryPoint.to=:{{ $config.redirectPort }}" + - "--entrypoints.{{ $entrypoint }}.http.redirections.entryPoint.scheme=https" + {{- end }} + {{- end }} + {{- if or ( $config.tls ) ( eq $config.protocol "https" ) }} + {{- if or ( $config.tls.enabled ) ( eq $config.protocol "https" ) }} + - "--entrypoints.{{ $entrypoint }}.http.tls=true" + {{- if $config.tls.options }} + - "--entrypoints.{{ $entrypoint }}.http.tls.options={{ $config.tls.options }}" + {{- end }} + {{- if $config.tls.certResolver }} + - "--entrypoints.{{ $entrypoint }}.http.tls.certResolver={{ $config.tls.certResolver }}" + {{- end }} + {{- if $config.tls.domains }} + {{- range $index, $domain := $config.tls.domains }} + {{- if $domain.main }} + - "--entrypoints.{{ $entrypoint }}.http.tls.domains[{{ $index }}].main={{ $domain.main }}" + {{- end }} + {{- if $domain.sans }} + - "--entrypoints.{{ $entrypoint }}.http.tls.domains[{{ $index }}].sans={{ join "," $domain.sans }}" + {{- end }} + {{- end }} + {{- end }} + {{- end }} + {{- end }} + {{- end }} + {{- with .Values.logs }} + - "--log.format={{ .general.format }}" + {{- if ne .general.level "ERROR" }} + - "--log.level={{ .general.level | upper }}" + {{- end }} + {{- if .access.enabled }} + - "--accesslog=true" + - "--accesslog.format={{ .access.format }}" + {{- if .access.bufferingsize }} + - "--accesslog.bufferingsize={{ .access.bufferingsize }}" + {{- end }} + {{- if .access.filters }} + {{- if .access.filters.statuscodes }} + - "--accesslog.filters.statuscodes={{ .access.filters.statuscodes }}" + {{- end }} + {{- if .access.filters.retryattempts }} + - "--accesslog.filters.retryattempts" + {{- end }} + {{- if .access.filters.minduration }} + - "--accesslog.filters.minduration={{ .access.filters.minduration }}" + {{- end }} + {{- end }} + - "--accesslog.fields.defaultmode={{ .access.fields.general.defaultmode }}" + {{- range $fieldname, $fieldaction := .access.fields.general.names }} + - "--accesslog.fields.names.{{ $fieldname }}={{ $fieldaction }}" + {{- end }} + - "--accesslog.fields.headers.defaultmode={{ .access.fields.headers.defaultmode }}" + {{- range $fieldname, $fieldaction := .access.fields.headers.names }} + - "--accesslog.fields.headers.names.{{ $fieldname }}={{ $fieldaction }}" + {{- end }} + {{- end }} + {{- end }} + {{/* theme.park */}} + {{- if .Values.middlewares.themePark }} + - "--experimental.plugins.traefik-themepark.modulename=github.com/packruler/traefik-themepark" + - "--experimental.plugins.traefik-themepark.version={{ .Values.middlewares.themeParkVersion }}" + {{- end }} + {{/* End of theme.park */}} + {{/* GeoBlock */}} + {{- if .Values.middlewares.geoBlock }} + - "--experimental.plugins.GeoBlock.modulename=github.com/PascalMinder/geoblock" + - "--experimental.plugins.GeoBlock.version={{ .Values.middlewares.geoBlockVersion }}" + {{- end }} + {{/* End of GeoBlock */}} + {{/* RealIP */}} + {{- if .Values.middlewares.realIP }} + - "--experimental.plugins.traefik-real-ip.modulename=github.com/soulbalz/traefik-real-ip" + - "--experimental.plugins.traefik-real-ip.version={{ .Values.middlewares.realIPVersion }}" + {{- end }} + {{/* End of RealIP */}} + {{- with .Values.additionalArguments }} + {{- range . }} + - {{ . | quote }} + {{- end }} + {{- end }} +{{- end -}} diff --git a/enterprise/traefik/17.0.15/templates/_helpers.tpl b/enterprise/traefik/17.0.15/templates/_helpers.tpl new file mode 100644 index 0000000000..1345dcea39 --- /dev/null +++ b/enterprise/traefik/17.0.15/templates/_helpers.tpl @@ -0,0 +1,22 @@ +{{/* +Construct the path for the providers.kubernetesingress.ingressendpoint.publishedservice. +By convention this will simply use the / to match the name of the +service generated. +Users can provide an override for an explicit service they want bound via `.Values.providers.kubernetesIngress.publishedService.pathOverride` +*/}} +{{- define "providers.kubernetesIngress.publishedServicePath" -}} +{{- $fullName := include "tc.v1.common.lib.chart.names.fullname" . -}} +{{- $defServiceName := printf "%s/%s-tcp" .Release.Namespace $fullName -}} +{{- $servicePath := default $defServiceName .Values.providers.kubernetesIngress.publishedService.pathOverride }} +{{- print $servicePath | trimSuffix "-" -}} +{{- end -}} + +{{/* +Construct a comma-separated list of whitelisted namespaces +*/}} +{{- define "providers.kubernetesIngress.namespaces" -}} +{{- default .Release.Namespace (join "," .Values.providers.kubernetesIngress.namespaces) }} +{{- end -}} +{{- define "providers.kubernetesCRD.namespaces" -}} +{{- default .Release.Namespace (join "," .Values.providers.kubernetesCRD.namespaces) }} +{{- end -}} diff --git a/enterprise/traefik/17.0.15/templates/_ingressclass.tpl b/enterprise/traefik/17.0.15/templates/_ingressclass.tpl new file mode 100644 index 0000000000..004d4a6dcd --- /dev/null +++ b/enterprise/traefik/17.0.15/templates/_ingressclass.tpl @@ -0,0 +1,24 @@ +{{/* Define the ingressClass */}} +{{- define "traefik.ingressClass" -}} +--- +{{ if .Values.ingressClass.enabled }} + {{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1/IngressClass" }} +apiVersion: networking.k8s.io/v1 + {{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/IngressClass" }} +apiVersion: networking.k8s.io/v1beta1 + {{- else if or (eq .Values.ingressClass.fallbackApiVersion "v1beta1") (eq .Values.ingressClass.fallbackApiVersion "v1") }} +apiVersion: {{ printf "networking.k8s.io/%s" .Values.ingressClass.fallbackApiVersion }} + {{- else }} + {{- fail "\n\n ERROR: You must have at least networking.k8s.io/v1beta1 to use ingressClass" }} + {{- end }} +kind: IngressClass +metadata: + annotations: + ingressclass.kubernetes.io/is-default-class: {{ .Values.ingressClass.isDefaultClass | quote }} + labels: + {{- include "tc.v1.common.lib.metadata.allLabels" . | nindent 4 }} + name: {{ .Release.Name }} +spec: + controller: traefik.io/ingress-controller +{{- end }} +{{- end }} diff --git a/enterprise/traefik/17.0.15/templates/_ingressroute.tpl b/enterprise/traefik/17.0.15/templates/_ingressroute.tpl new file mode 100644 index 0000000000..6599ceb6e2 --- /dev/null +++ b/enterprise/traefik/17.0.15/templates/_ingressroute.tpl @@ -0,0 +1,34 @@ +{{/* Define the ingressRoute */}} +{{- define "traefik.ingressRoute" -}} +{{ if .Values.ingressRoute.dashboard.enabled }} + +{{- $ingressRouteLabels := .Values.ingressRoute.dashboard.labels -}} +{{- $ingressRouteAnnotations := .Values.ingressRoute.dashboard.annotations -}} + +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute +metadata: + name: {{ include "tc.v1.common.lib.chart.names.fullname" . }}-dashboard + {{- $labels := (mustMerge ($ingressRouteLabels | default dict) (include "tc.v1.common.lib.metadata.allLabels" $ | fromYaml)) -}} + {{- with (include "tc.v1.common.lib.metadata.render" (dict "rootCtx" $ "labels" $labels) | trim) }} + labels: + {{- . | nindent 4 }} + {{- end }} + {{- $annotations := (mustMerge ($ingressRouteAnnotations | default dict) (include "tc.v1.common.lib.metadata.allAnnotations" $ | fromYaml)) -}} + {{- with (include "tc.v1.common.lib.metadata.render" (dict "rootCtx" $ "annotations" $annotations) | trim) }} + annotations: + {{- . | nindent 4 }} + {{- end }} + +spec: + entryPoints: + - main + routes: + - match: PathPrefix(`/dashboard`) || PathPrefix(`/api`) + kind: Rule + services: + - name: api@internal + kind: TraefikService +{{ end }} +{{- end -}} diff --git a/enterprise/traefik/17.0.15/templates/_portalhook.tpl b/enterprise/traefik/17.0.15/templates/_portalhook.tpl new file mode 100644 index 0000000000..e3586c5d4e --- /dev/null +++ b/enterprise/traefik/17.0.15/templates/_portalhook.tpl @@ -0,0 +1,26 @@ +{{/* Define the portalHook */}} +{{- define "traefik.portalhook" -}} +{{- if .Values.portalhook.enabled }} +{{- $namespace := ( printf "ix-%s" .Release.Name ) }} +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +{{- $namespace = "default" }} +{{- end }} +--- + +apiVersion: v1 +kind: ConfigMap +metadata: + name: portalhook + namespace: {{ $namespace }} +data: + {{- $ports := dict }} + {{- range $.Values.service }} + {{- range $name, $value := .ports }} + {{- $_ := set $ports $name $value }} + {{- end }} + {{- end }} + {{- range $name, $value := $ports }} + {{ $name }}: {{ $value.port | quote }} + {{- end }} +{{- end }} +{{- end -}} diff --git a/enterprise/traefik/17.0.15/templates/_tlsoptions.tpl b/enterprise/traefik/17.0.15/templates/_tlsoptions.tpl new file mode 100644 index 0000000000..3e5aad3bee --- /dev/null +++ b/enterprise/traefik/17.0.15/templates/_tlsoptions.tpl @@ -0,0 +1,12 @@ +{{/* Define the tlsOptions */}} +{{- define "traefik.tlsOptions" -}} +{{- range $name, $config := .Values.tlsOptions }} +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: TLSOption +metadata: + name: {{ $name }} +spec: + {{- toYaml $config | nindent 2 }} +{{- end }} +{{- end -}} diff --git a/enterprise/traefik/17.0.15/templates/common.yaml b/enterprise/traefik/17.0.15/templates/common.yaml new file mode 100644 index 0000000000..d70a9887a4 --- /dev/null +++ b/enterprise/traefik/17.0.15/templates/common.yaml @@ -0,0 +1,23 @@ +{{/* Make sure all variables are set properly */}} +{{- include "tc.v1.common.loader.init" . }} + +{{- $newArgs := (include "traefik.args" . | fromYaml) }} +{{- $_ := set .Values "newArgs" $newArgs -}} +{{- $mergedargs := concat $.Values.workload.main.podSpec.containers.main.args .Values.newArgs.args }} +{{- $_ := set $.Values.workload.main.podSpec.containers.main "args" $mergedargs -}} + +{{- include "traefik.portalhook" . }} +{{- include "traefik.tlsOptions" . }} +{{- include "traefik.ingressRoute" . }} +{{- include "traefik.ingressClass" . }} + +{{- with .Values.ingress -}} + {{- with .main -}} + {{- if .enabled -}} + {{- $_ := set $.Values.portal.open.override "protocol" "https" -}} + {{- end -}} + {{- end -}} +{{- end -}} + +{{/* Render the templates */}} +{{ include "tc.v1.common.loader.apply" . }} diff --git a/enterprise/traefik/17.0.15/templates/middlewares/addPrefix.yaml b/enterprise/traefik/17.0.15/templates/middlewares/addPrefix.yaml new file mode 100644 index 0000000000..233b23834c --- /dev/null +++ b/enterprise/traefik/17.0.15/templates/middlewares/addPrefix.yaml @@ -0,0 +1,17 @@ +{{- $values := .Values }} +{{- $namespace := ( printf "ix-%s" .Release.Name ) }} +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +{{- $namespace = "default" }} +{{- end }} +{{- range $index, $middlewareData := .Values.middlewares.addPrefix }} + +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: {{ $middlewareData.name }} + namespace: {{ $namespace }} +spec: + addPrefix: + prefix: {{ $middlewareData.prefix }} +{{- end }} diff --git a/enterprise/traefik/17.0.15/templates/middlewares/basic-middleware.yaml b/enterprise/traefik/17.0.15/templates/middlewares/basic-middleware.yaml new file mode 100644 index 0000000000..9ba8e5c5d9 --- /dev/null +++ b/enterprise/traefik/17.0.15/templates/middlewares/basic-middleware.yaml @@ -0,0 +1,62 @@ +{{- $values := .Values }} +{{- $namespace := ( printf "ix-%s" .Release.Name ) }} +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +{{- $namespace = "default" }} +{{- end }} +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: compress + namespace: {{ $namespace }} +spec: + compress: {} +--- +# Here, an average of 300 requests per second is allowed. +# In addition, a burst of 200 requests is allowed. +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: basic-ratelimit + namespace: {{ $namespace }} +spec: + rateLimit: + average: 600 + burst: 400 +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: basic-secure-headers + namespace: {{ $namespace }} +spec: + headers: + accessControlAllowMethods: + - GET + - OPTIONS + - HEAD + - PUT + accessControlMaxAge: 100 + stsSeconds: 63072000 + # stsIncludeSubdomains: false + # stsPreload: false + forceSTSHeader: true + contentTypeNosniff: true + browserXssFilter: true + referrerPolicy: same-origin + customRequestHeaders: + X-Forwarded-Proto: "https" + customResponseHeaders: + server: '' +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: chain-basic + namespace: {{ $namespace }} +spec: + chain: + middlewares: + - name: basic-ratelimit + - name: basic-secure-headers + - name: compress diff --git a/enterprise/traefik/17.0.15/templates/middlewares/basicauth.yaml b/enterprise/traefik/17.0.15/templates/middlewares/basicauth.yaml new file mode 100644 index 0000000000..ccb541742f --- /dev/null +++ b/enterprise/traefik/17.0.15/templates/middlewares/basicauth.yaml @@ -0,0 +1,34 @@ +{{- $values := .Values }} +{{- $namespace := ( printf "ix-%s" .Release.Name ) }} +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +{{- $namespace = "default" }} +{{- end }} +{{ range $index, $middlewareData := .Values.middlewares.basicAuth }} +--- +{{- $users := list }} +{{ range $index, $userdata := $middlewareData.users }} + {{ $users = append $users ( htpasswd $userdata.username $userdata.password ) }} +{{ end }} + +apiVersion: v1 +kind: Secret +metadata: + name: {{printf "%v-%v" $middlewareData.name "secret" }} + namespace: {{ $namespace }} +type: Opaque +stringData: + users: | + {{- range $index, $user := $users }} + {{ printf "%s" $user }} + {{- end }} +--- +# Declaring the user list +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: {{ $middlewareData.name }} + namespace: {{ $namespace }} +spec: + basicAuth: + secret: {{printf "%v-%v" $middlewareData.name "secret" }} +{{ end }} diff --git a/enterprise/traefik/17.0.15/templates/middlewares/chain.yaml b/enterprise/traefik/17.0.15/templates/middlewares/chain.yaml new file mode 100644 index 0000000000..f87994f795 --- /dev/null +++ b/enterprise/traefik/17.0.15/templates/middlewares/chain.yaml @@ -0,0 +1,21 @@ +{{- $values := .Values }} +{{- $namespace := ( printf "ix-%s" .Release.Name ) }} +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +{{- $namespace = "default" }} +{{- end }} +{{ range $index, $middlewareData := .Values.middlewares.chain }} + +--- +# Declaring the user list +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: {{ $middlewareData.name }} + namespace: {{ $namespace }} +spec: + chain: + middlewares: + {{ range $index, $middleware := .middlewares }} + - name: {{ printf "%v-%v@%v" $namespace $middleware "kubernetescrd" }} + {{ end }} +{{ end }} diff --git a/enterprise/traefik/17.0.15/templates/middlewares/forwardauth.yaml b/enterprise/traefik/17.0.15/templates/middlewares/forwardauth.yaml new file mode 100644 index 0000000000..4bdefbd5c0 --- /dev/null +++ b/enterprise/traefik/17.0.15/templates/middlewares/forwardauth.yaml @@ -0,0 +1,34 @@ +{{- $values := .Values }} +{{- $namespace := ( printf "ix-%s" .Release.Name ) }} +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +{{- $namespace = "default" }} +{{- end }} +{{ range $index, $middlewareData := .Values.middlewares.forwardAuth }} +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: {{ $middlewareData.name }} + namespace: {{ $namespace }} +spec: + forwardAuth: + address: {{ $middlewareData.address }} + {{- with $middlewareData.authResponseHeaders }} + authResponseHeaders: + {{- toYaml . | nindent 4 }} + {{- end }} + {{- with $middlewareData.authRequestHeaders }} + authRequestHeaders: + {{- toYaml . | nindent 4 }} + {{- end }} + {{- if $middlewareData.authResponseHeadersRegex }} + authResponseHeadersRegex: {{ $middlewareData.authResponseHeadersRegex }} + {{- end }} + {{- if $middlewareData.trustForwardHeader }} + trustForwardHeader: true + {{- end }} + {{- with $middlewareData.tls }} + tls: + insecureSkipVerify: {{ .insecureSkipVerify | default false }} + {{- end }} +{{ end }} diff --git a/enterprise/traefik/17.0.15/templates/middlewares/geoblock.yaml b/enterprise/traefik/17.0.15/templates/middlewares/geoblock.yaml new file mode 100644 index 0000000000..be21bcf57b --- /dev/null +++ b/enterprise/traefik/17.0.15/templates/middlewares/geoblock.yaml @@ -0,0 +1,35 @@ +{{- $values := .Values }} +{{- $namespace := ( printf "ix-%s" .Release.Name ) }} +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +{{- $namespace = "default" }} +{{- end }} +{{- range $index, $middlewareData := .Values.middlewares.geoBlock }} + +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: {{ $middlewareData.name }} + namespace: {{ $namespace }} +spec: + plugin: + GeoBlock: + allowLocalRequests: {{ $middlewareData.allowLocalRequests }} + logLocalRequests: {{ $middlewareData.logLocalRequests }} + logAllowedRequests: {{ $middlewareData.logAllowedRequests }} + logApiRequests: {{ $middlewareData.logApiRequests }} + api: {{ $middlewareData.api }} + apiTimeoutMs: {{ $middlewareData.apiTimeoutMs }} + cacheSize: {{ $middlewareData.cacheSize }} + forceMonthlyUpdate: {{ $middlewareData.forceMonthlyUpdate }} + allowUnknownCountries: {{ $middlewareData.allowUnknownCountries }} + unknownCountryApiResponse: {{ $middlewareData.unknownCountryApiResponse }} + blackListMode: {{ $middlewareData.blackListMode }} + {{- if not $middlewareData.countries }} + {{- fail "You have to define at least one country..." }} + {{- end }} + countries: + {{- range $middlewareData.countries }} + - {{ . }} + {{- end }} +{{- end }} diff --git a/enterprise/traefik/17.0.15/templates/middlewares/ipwhitelist.yaml b/enterprise/traefik/17.0.15/templates/middlewares/ipwhitelist.yaml new file mode 100644 index 0000000000..1179245017 --- /dev/null +++ b/enterprise/traefik/17.0.15/templates/middlewares/ipwhitelist.yaml @@ -0,0 +1,33 @@ +{{- $values := .Values }} +{{- $namespace := ( printf "ix-%s" .Release.Name ) }} +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +{{- $namespace = "default" }} +{{- end }} +{{ range $index, $middlewareData := .Values.middlewares.ipWhiteList }} + +--- +# Declaring the user list +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: {{ $middlewareData.name }} + namespace: {{ $namespace }} +spec: + ipWhiteList: + sourceRange: + {{- range $middlewareData.sourceRange }} + - {{ . }} + {{- end }} + {{- if $middlewareData.ipStrategy }} + ipStrategy: + {{- if $middlewareData.ipStrategy.depth }} + depth: {{ $middlewareData.ipStrategy.depth }} + {{- end }} + {{- if $middlewareData.ipStrategy.excludedIPs }} + excludedIPs: + {{- range $middlewareData.ipStrategy.excludedIPs }} + - {{ . }} + {{- end }} + {{- end }} + {{- end }} +{{ end }} diff --git a/enterprise/traefik/17.0.15/templates/middlewares/ratelimit.yaml b/enterprise/traefik/17.0.15/templates/middlewares/ratelimit.yaml new file mode 100644 index 0000000000..144b9d8bf3 --- /dev/null +++ b/enterprise/traefik/17.0.15/templates/middlewares/ratelimit.yaml @@ -0,0 +1,19 @@ +{{- $values := .Values }} +{{- $namespace := ( printf "ix-%s" .Release.Name ) }} +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +{{- $namespace = "default" }} +{{- end }} +{{ range $index, $middlewareData := .Values.middlewares.rateLimit }} + +--- +# Declaring the user list +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: {{ $middlewareData.name }} + namespace: {{ $namespace }} +spec: + rateLimit: + average: {{ $middlewareData.average }} + burst: {{ $middlewareData.burst }} +{{ end }} diff --git a/enterprise/traefik/17.0.15/templates/middlewares/real-ip.yaml b/enterprise/traefik/17.0.15/templates/middlewares/real-ip.yaml new file mode 100644 index 0000000000..2dd1ae030a --- /dev/null +++ b/enterprise/traefik/17.0.15/templates/middlewares/real-ip.yaml @@ -0,0 +1,21 @@ +{{- $values := .Values }} +{{- $namespace := ( printf "ix-%s" .Release.Name ) }} +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +{{- $namespace = "default" }} +{{- end }} +{{- range $index, $middlewareData := .Values.middlewares.realIP }} + +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: {{ $middlewareData.name }} + namespace: {{ $namespace }} +spec: + plugin: + traefik-real-ip: + excludednets: + {{- range $middlewareData.excludedNetworks }} + - {{ . | quote }} + {{- end }} +{{- end }} diff --git a/enterprise/traefik/17.0.15/templates/middlewares/redirectScheme.yaml b/enterprise/traefik/17.0.15/templates/middlewares/redirectScheme.yaml new file mode 100644 index 0000000000..f2413f84e1 --- /dev/null +++ b/enterprise/traefik/17.0.15/templates/middlewares/redirectScheme.yaml @@ -0,0 +1,19 @@ +{{- $values := .Values }} +{{- $namespace := ( printf "ix-%s" .Release.Name ) }} +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +{{- $namespace = "default" }} +{{- end }} +{{ range $index, $middlewareData := .Values.middlewares.redirectScheme }} + +--- +# Declaring the user list +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: {{ $middlewareData.name }} + namespace: {{ $namespace }} +spec: + redirectScheme: + scheme: {{ $middlewareData.scheme }} + permanent: {{ $middlewareData.permanent }} +{{ end }} diff --git a/enterprise/traefik/17.0.15/templates/middlewares/redirectregex.yaml b/enterprise/traefik/17.0.15/templates/middlewares/redirectregex.yaml new file mode 100644 index 0000000000..46e3e724dd --- /dev/null +++ b/enterprise/traefik/17.0.15/templates/middlewares/redirectregex.yaml @@ -0,0 +1,20 @@ +{{- $values := .Values }} +{{- $namespace := ( printf "ix-%s" .Release.Name ) }} +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +{{- $namespace = "default" }} +{{- end }} +{{ range $index, $middlewareData := .Values.middlewares.redirectRegex }} + +--- +# Declaring the user list +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: {{ $middlewareData.name }} + namespace: {{ $namespace }} +spec: + redirectRegex: + regex: {{ $middlewareData.regex | quote }} + replacement: {{ $middlewareData.replacement | quote }} + permanent: {{ $middlewareData.permanent }} +{{ end }} diff --git a/enterprise/traefik/17.0.15/templates/middlewares/stripPrefixRegex.yaml b/enterprise/traefik/17.0.15/templates/middlewares/stripPrefixRegex.yaml new file mode 100644 index 0000000000..007c166ff3 --- /dev/null +++ b/enterprise/traefik/17.0.15/templates/middlewares/stripPrefixRegex.yaml @@ -0,0 +1,20 @@ +{{- $values := .Values }} +{{- $namespace := ( printf "ix-%s" .Release.Name ) }} +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +{{- $namespace = "default" }} +{{- end }} + +{{ range $index, $middlewareData := .Values.middlewares.stripPrefixRegex }} +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: {{ $middlewareData.name }} + namespace: {{ $namespace }} +spec: + stripPrefixRegex: + regex: + {{- range $middlewareData.regex }} + - {{ . | quote }} + {{- end }} +{{ end }} diff --git a/enterprise/traefik/17.0.15/templates/middlewares/tc-chains.yaml b/enterprise/traefik/17.0.15/templates/middlewares/tc-chains.yaml new file mode 100644 index 0000000000..409766daa8 --- /dev/null +++ b/enterprise/traefik/17.0.15/templates/middlewares/tc-chains.yaml @@ -0,0 +1,29 @@ +{{- $values := .Values }} +{{- $namespace := ( printf "ix-%s" .Release.Name ) }} +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +{{- $namespace = "default" }} +{{- end }} +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: tc-opencors-chain + namespace: {{ $namespace }} +spec: + chain: + middlewares: + - name: basic-ratelimit + - name: tc-opencors-headers + - name: compress +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: tc-closedcors-chain + namespace: {{ $namespace }} +spec: + chain: + middlewares: + - name: basic-ratelimit + - name: tc-closedcors-headers + - name: compress diff --git a/enterprise/traefik/17.0.15/templates/middlewares/tc-headers.yaml b/enterprise/traefik/17.0.15/templates/middlewares/tc-headers.yaml new file mode 100644 index 0000000000..a0462f1fd7 --- /dev/null +++ b/enterprise/traefik/17.0.15/templates/middlewares/tc-headers.yaml @@ -0,0 +1,62 @@ +{{- $values := .Values }} +{{- $namespace := ( printf "ix-%s" .Release.Name ) }} +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +{{- $namespace = "default" }} +{{- end }} +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: tc-opencors-headers + namespace: {{ $namespace }} +spec: + headers: + accessControlAllowHeaders: + - '*' + accessControlAllowMethods: + - GET + - OPTIONS + - HEAD + - PUT + - POST + accessControlAllowOriginList: + - '*' + accessControlMaxAge: 100 + browserXssFilter: true + contentTypeNosniff: true + customRequestHeaders: + X-Forwarded-Proto: https + customResponseHeaders: + server: "" + forceSTSHeader: true + referrerPolicy: same-origin + sslForceHost: true + sslRedirect: true + stsSeconds: 63072000 +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: tc-closedcors-headers + namespace: {{ $namespace }} +spec: + headers: + accessControlAllowMethods: + - GET + - OPTIONS + - HEAD + - PUT + accessControlMaxAge: 100 + sslRedirect: true + stsSeconds: 63072000 + # stsIncludeSubdomains: false + # stsPreload: false + forceSTSHeader: true + contentTypeNosniff: true + browserXssFilter: true + sslForceHost: true + referrerPolicy: same-origin + customRequestHeaders: + X-Forwarded-Proto: "https" + customResponseHeaders: + server: '' diff --git a/enterprise/traefik/17.0.15/templates/middlewares/tc-nextcloud.yaml b/enterprise/traefik/17.0.15/templates/middlewares/tc-nextcloud.yaml new file mode 100644 index 0000000000..6a3019d56c --- /dev/null +++ b/enterprise/traefik/17.0.15/templates/middlewares/tc-nextcloud.yaml @@ -0,0 +1,25 @@ +{{- $values := .Values }} +{{- $namespace := ( printf "ix-%s" .Release.Name ) }} +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +{{- $namespace = "default" }} +{{- end }} +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: tc-nextcloud-redirectregex-dav + namespace: {{ $namespace }} +spec: + redirectRegex: + regex: "https://(.*)/.well-known/(card|cal)dav" + replacement: "https://${1}/remote.php/dav/" +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: tc-nextcloud-chain + namespace: {{ $namespace }} +spec: + chain: + middlewares: + - name: tc-nextcloud-redirectregex-dav diff --git a/enterprise/traefik/17.0.15/templates/middlewares/theme-park.yaml b/enterprise/traefik/17.0.15/templates/middlewares/theme-park.yaml new file mode 100644 index 0000000000..92a4257e27 --- /dev/null +++ b/enterprise/traefik/17.0.15/templates/middlewares/theme-park.yaml @@ -0,0 +1,26 @@ +{{- $values := .Values }} +{{- $namespace := ( printf "ix-%s" .Release.Name ) }} +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +{{- $namespace = "default" }} +{{- end }} +{{- range $index, $middlewareData := .Values.middlewares.themePark }} + +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: {{ $middlewareData.name }} + namespace: {{ $namespace }} +spec: + plugin: + traefik-themepark: + app: {{ $middlewareData.appName }} + theme: {{ $middlewareData.themeName }} + baseUrl: {{ $middlewareData.baseUrl }} + {{- if $middlewareData.addons }} + addons: + {{- range $middlewareData.addons }} + - {{ . | quote }} + {{- end }} + {{- end }} +{{- end }} diff --git a/enterprise/traefik/17.0.15/values.yaml b/enterprise/traefik/17.0.15/values.yaml new file mode 100644 index 0000000000..e69de29bb2