From 125615d787cb50ed9b9bf4b647ac0095650ebde9 Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Tue, 7 Mar 2023 20:04:13 +0000 Subject: [PATCH] Commit new Chart releases for TrueCharts Signed-off-by: TrueCharts-Bot --- enterprise/traefik/17.0.7/CHANGELOG.md | 99 + enterprise/traefik/17.0.7/Chart.yaml | 32 + enterprise/traefik/17.0.7/LICENSE | 106 + enterprise/traefik/17.0.7/README.md | 27 + enterprise/traefik/17.0.7/app-changelog.md | 9 + enterprise/traefik/17.0.7/app-readme.md | 8 + .../traefik/17.0.7/charts/common-12.2.24.tgz | Bin 0 -> 237879 bytes enterprise/traefik/17.0.7/ix_values.yaml | 418 +++ enterprise/traefik/17.0.7/questions.yaml | 2488 +++++++++++++++++ enterprise/traefik/17.0.7/templates/NOTES.txt | 1 + enterprise/traefik/17.0.7/templates/_args.tpl | 178 ++ .../traefik/17.0.7/templates/_helpers.tpl | 22 + .../17.0.7/templates/_ingressclass.tpl | 24 + .../17.0.7/templates/_ingressroute.tpl | 34 + .../traefik/17.0.7/templates/_portalhook.tpl | 26 + .../traefik/17.0.7/templates/_tlsoptions.tpl | 12 + .../traefik/17.0.7/templates/common.yaml | 17 + .../templates/middlewares/addPrefix.yaml | 17 + .../middlewares/basic-middleware.yaml | 62 + .../templates/middlewares/basicauth.yaml | 34 + .../17.0.7/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 + .../17.0.7/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.7/values.yaml | 0 34 files changed, 3978 insertions(+) create mode 100644 enterprise/traefik/17.0.7/CHANGELOG.md create mode 100644 enterprise/traefik/17.0.7/Chart.yaml create mode 100644 enterprise/traefik/17.0.7/LICENSE create mode 100644 enterprise/traefik/17.0.7/README.md create mode 100644 enterprise/traefik/17.0.7/app-changelog.md create mode 100644 enterprise/traefik/17.0.7/app-readme.md create mode 100644 enterprise/traefik/17.0.7/charts/common-12.2.24.tgz create mode 100644 enterprise/traefik/17.0.7/ix_values.yaml create mode 100644 enterprise/traefik/17.0.7/questions.yaml create mode 100644 enterprise/traefik/17.0.7/templates/NOTES.txt create mode 100644 enterprise/traefik/17.0.7/templates/_args.tpl create mode 100644 enterprise/traefik/17.0.7/templates/_helpers.tpl create mode 100644 enterprise/traefik/17.0.7/templates/_ingressclass.tpl create mode 100644 enterprise/traefik/17.0.7/templates/_ingressroute.tpl create mode 100644 enterprise/traefik/17.0.7/templates/_portalhook.tpl create mode 100644 enterprise/traefik/17.0.7/templates/_tlsoptions.tpl create mode 100644 enterprise/traefik/17.0.7/templates/common.yaml create mode 100644 enterprise/traefik/17.0.7/templates/middlewares/addPrefix.yaml create mode 100644 enterprise/traefik/17.0.7/templates/middlewares/basic-middleware.yaml create mode 100644 enterprise/traefik/17.0.7/templates/middlewares/basicauth.yaml create mode 100644 enterprise/traefik/17.0.7/templates/middlewares/chain.yaml create mode 100644 enterprise/traefik/17.0.7/templates/middlewares/forwardauth.yaml create mode 100644 enterprise/traefik/17.0.7/templates/middlewares/geoblock.yaml create mode 100644 enterprise/traefik/17.0.7/templates/middlewares/ipwhitelist.yaml create mode 100644 enterprise/traefik/17.0.7/templates/middlewares/ratelimit.yaml create mode 100644 enterprise/traefik/17.0.7/templates/middlewares/real-ip.yaml create mode 100644 enterprise/traefik/17.0.7/templates/middlewares/redirectScheme.yaml create mode 100644 enterprise/traefik/17.0.7/templates/middlewares/redirectregex.yaml create mode 100644 enterprise/traefik/17.0.7/templates/middlewares/stripPrefixRegex.yaml create mode 100644 enterprise/traefik/17.0.7/templates/middlewares/tc-chains.yaml create mode 100644 enterprise/traefik/17.0.7/templates/middlewares/tc-headers.yaml create mode 100644 enterprise/traefik/17.0.7/templates/middlewares/tc-nextcloud.yaml create mode 100644 enterprise/traefik/17.0.7/templates/middlewares/theme-park.yaml create mode 100644 enterprise/traefik/17.0.7/values.yaml diff --git a/enterprise/traefik/17.0.7/CHANGELOG.md b/enterprise/traefik/17.0.7/CHANGELOG.md new file mode 100644 index 0000000000..9aa5ccbb98 --- /dev/null +++ b/enterprise/traefik/17.0.7/CHANGELOG.md @@ -0,0 +1,99 @@ +**Important:** +*for the complete changelog, please refer to the website* + + + + +## [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)) + + + + +## [traefik-17.0.4](https://github.com/truecharts/charts/compare/traefik-17.0.3...traefik-17.0.4) (2023-03-06) + +### Chore + +- bump common and dependencies ([#7751](https://github.com/truecharts/charts/issues/7751)) + + + + +## [traefik-17.0.3](https://github.com/truecharts/charts/compare/traefik-17.0.1...traefik-17.0.3) (2023-03-06) + +### Chore + +- bump common and dependencies ([#7749](https://github.com/truecharts/charts/issues/7749)) + + + + +## [traefik-17.0.1](https://github.com/truecharts/charts/compare/traefik-17.0.0...traefik-17.0.1) (2023-03-05) + +### Chore + +- bump common and enterprise train for stability ([#7747](https://github.com/truecharts/charts/issues/7747)) + + ### Fix + +- bump common for release + + + + +## [traefik-17.0.0](https://github.com/truecharts/charts/compare/traefik-16.0.16...traefik-17.0.0) (2023-03-04) + + + + +## [traefik-16.0.16](https://github.com/truecharts/charts/compare/traefik-16.0.15...traefik-16.0.16) (2023-02-20) + +### Chore + +- update container image tccr.io/truecharts/traefik to v2.9.8 + + + + +## [traefik-16.0.15](https://github.com/truecharts/charts/compare/traefik-16.0.14...traefik-16.0.15) (2023-02-15) + +### Chore + +- update container image tccr.io/truecharts/traefik to v2.9.7 + + + + +## [traefik-16.0.14](https://github.com/truecharts/charts/compare/traefik-16.0.13...traefik-16.0.14) (2023-02-15) + +### Chore + +- update container image tccr.io/truecharts/traefik to v + + + + +## [traefik-16.0.13](https://github.com/truecharts/charts/compare/traefik-16.0.12...traefik-16.0.13) (2023-02-11) + +### Chore diff --git a/enterprise/traefik/17.0.7/Chart.yaml b/enterprise/traefik/17.0.7/Chart.yaml new file mode 100644 index 0000000000..50661b72ef --- /dev/null +++ b/enterprise/traefik/17.0.7/Chart.yaml @@ -0,0 +1,32 @@ +apiVersion: v2 +appVersion: "2.9.8" +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 12.2.24 +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://hub.docker.com/_/traefik + - https://github.com/traefik/traefik + - https://github.com/traefik/traefik-helm-chart + - https://traefik.io/ +type: application +version: 17.0.7 +annotations: + truecharts.org/catagories: | + - network + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/enterprise/traefik/17.0.7/LICENSE b/enterprise/traefik/17.0.7/LICENSE new file mode 100644 index 0000000000..4139714f20 --- /dev/null +++ b/enterprise/traefik/17.0.7/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.7/README.md b/enterprise/traefik/17.0.7/README.md new file mode 100644 index 0000000000..de60b9ed65 --- /dev/null +++ b/enterprise/traefik/17.0.7/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.7/app-changelog.md b/enterprise/traefik/17.0.7/app-changelog.md new file mode 100644 index 0000000000..0c46885a6b --- /dev/null +++ b/enterprise/traefik/17.0.7/app-changelog.md @@ -0,0 +1,9 @@ + + +## [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)) + + \ No newline at end of file diff --git a/enterprise/traefik/17.0.7/app-readme.md b/enterprise/traefik/17.0.7/app-readme.md new file mode 100644 index 0000000000..02206fafcf --- /dev/null +++ b/enterprise/traefik/17.0.7/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.7/charts/common-12.2.24.tgz b/enterprise/traefik/17.0.7/charts/common-12.2.24.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d9155693b5dd21f807450aac2943e8d04ec38449 GIT binary patch literal 237879 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

9*7wbqKF2W;JJ^OW6@p_e}K8 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 Usoc1H4*&rF|Ml7U=>XIt01&j?{Qv*} literal 0 HcmV?d00001 diff --git a/enterprise/traefik/17.0.7/ix_values.yaml b/enterprise/traefik/17.0.7/ix_values.yaml new file mode 100644 index 0000000000..f78e5b7465 --- /dev/null +++ b/enterprise/traefik/17.0.7/ix_values.yaml @@ -0,0 +1,418 @@ +image: + repository: tccr.io/truecharts/traefik + # defaults to appVersion + tag: 2.9.8@sha256:4a2d3dda380990d825532e661b42457fc9871061dbc22b310468616378214a2e + 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: + # datadog: + # address: 127.0.0.1:8125 + # influxdb: + # address: localhost:8089 + # protocol: udp + prometheus: + entryPoint: metrics + # statsd: + # address: localhost:8125 + +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: + - "--metrics.prometheus" + - "--ping" + - "--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 diff --git a/enterprise/traefik/17.0.7/questions.yaml b/enterprise/traefik/17.0.7/questions.yaml new file mode 100644 index 0000000000..339f948e6e --- /dev/null +++ b/enterprise/traefik/17.0.7/questions.yaml @@ -0,0 +1,2488 @@ +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: + - "http" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" + path: "/dashboard/" +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..." + group: "General Settings" + 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: [["clusterIssuer", "=", ""]] + 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: [["clusterIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: secretName + label: Use Custom Secret (Advanced) + schema: + show_if: [["clusterIssuer", "=", ""]] + 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: 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.7/templates/NOTES.txt b/enterprise/traefik/17.0.7/templates/NOTES.txt new file mode 100644 index 0000000000..efcb74cb77 --- /dev/null +++ b/enterprise/traefik/17.0.7/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/enterprise/traefik/17.0.7/templates/_args.tpl b/enterprise/traefik/17.0.7/templates/_args.tpl new file mode 100644 index 0000000000..3fef2e1f77 --- /dev/null +++ b/enterprise/traefik/17.0.7/templates/_args.tpl @@ -0,0 +1,178 @@ +{{/* 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.metrics }} + {{- if .Values.metrics.datadog }} + - "--metrics.datadog=true" + - "--metrics.datadog.address={{ .Values.metrics.datadog.address }}" + {{- end }} + {{- if .Values.metrics.influxdb }} + - "--metrics.influxdb=true" + - "--metrics.influxdb.address={{ .Values.metrics.influxdb.address }}" + - "--metrics.influxdb.protocol={{ .Values.metrics.influxdb.protocol }}" + {{- end }} + {{- if .Values.metrics.prometheus }} + - "--metrics.prometheus=true" + - "--metrics.prometheus.entrypoint={{ .Values.metrics.prometheus.entryPoint }}" + {{- end }} + {{- if .Values.metrics.statsd }} + - "--metrics.statsd=true" + - "--metrics.statsd.address={{ .Values.metrics.statsd.address }}" + {{- end }} + {{- 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.7/templates/_helpers.tpl b/enterprise/traefik/17.0.7/templates/_helpers.tpl new file mode 100644 index 0000000000..1345dcea39 --- /dev/null +++ b/enterprise/traefik/17.0.7/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.7/templates/_ingressclass.tpl b/enterprise/traefik/17.0.7/templates/_ingressclass.tpl new file mode 100644 index 0000000000..004d4a6dcd --- /dev/null +++ b/enterprise/traefik/17.0.7/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.7/templates/_ingressroute.tpl b/enterprise/traefik/17.0.7/templates/_ingressroute.tpl new file mode 100644 index 0000000000..6599ceb6e2 --- /dev/null +++ b/enterprise/traefik/17.0.7/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.7/templates/_portalhook.tpl b/enterprise/traefik/17.0.7/templates/_portalhook.tpl new file mode 100644 index 0000000000..e3586c5d4e --- /dev/null +++ b/enterprise/traefik/17.0.7/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.7/templates/_tlsoptions.tpl b/enterprise/traefik/17.0.7/templates/_tlsoptions.tpl new file mode 100644 index 0000000000..3e5aad3bee --- /dev/null +++ b/enterprise/traefik/17.0.7/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.7/templates/common.yaml b/enterprise/traefik/17.0.7/templates/common.yaml new file mode 100644 index 0000000000..7833892df0 --- /dev/null +++ b/enterprise/traefik/17.0.7/templates/common.yaml @@ -0,0 +1,17 @@ +{{/* 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" . }} + + +{{/* Render the templates */}} +{{ include "tc.v1.common.loader.apply" . }} diff --git a/enterprise/traefik/17.0.7/templates/middlewares/addPrefix.yaml b/enterprise/traefik/17.0.7/templates/middlewares/addPrefix.yaml new file mode 100644 index 0000000000..233b23834c --- /dev/null +++ b/enterprise/traefik/17.0.7/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.7/templates/middlewares/basic-middleware.yaml b/enterprise/traefik/17.0.7/templates/middlewares/basic-middleware.yaml new file mode 100644 index 0000000000..9ba8e5c5d9 --- /dev/null +++ b/enterprise/traefik/17.0.7/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.7/templates/middlewares/basicauth.yaml b/enterprise/traefik/17.0.7/templates/middlewares/basicauth.yaml new file mode 100644 index 0000000000..ccb541742f --- /dev/null +++ b/enterprise/traefik/17.0.7/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.7/templates/middlewares/chain.yaml b/enterprise/traefik/17.0.7/templates/middlewares/chain.yaml new file mode 100644 index 0000000000..f87994f795 --- /dev/null +++ b/enterprise/traefik/17.0.7/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.7/templates/middlewares/forwardauth.yaml b/enterprise/traefik/17.0.7/templates/middlewares/forwardauth.yaml new file mode 100644 index 0000000000..4bdefbd5c0 --- /dev/null +++ b/enterprise/traefik/17.0.7/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.7/templates/middlewares/geoblock.yaml b/enterprise/traefik/17.0.7/templates/middlewares/geoblock.yaml new file mode 100644 index 0000000000..be21bcf57b --- /dev/null +++ b/enterprise/traefik/17.0.7/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.7/templates/middlewares/ipwhitelist.yaml b/enterprise/traefik/17.0.7/templates/middlewares/ipwhitelist.yaml new file mode 100644 index 0000000000..1179245017 --- /dev/null +++ b/enterprise/traefik/17.0.7/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.7/templates/middlewares/ratelimit.yaml b/enterprise/traefik/17.0.7/templates/middlewares/ratelimit.yaml new file mode 100644 index 0000000000..144b9d8bf3 --- /dev/null +++ b/enterprise/traefik/17.0.7/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.7/templates/middlewares/real-ip.yaml b/enterprise/traefik/17.0.7/templates/middlewares/real-ip.yaml new file mode 100644 index 0000000000..2dd1ae030a --- /dev/null +++ b/enterprise/traefik/17.0.7/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.7/templates/middlewares/redirectScheme.yaml b/enterprise/traefik/17.0.7/templates/middlewares/redirectScheme.yaml new file mode 100644 index 0000000000..f2413f84e1 --- /dev/null +++ b/enterprise/traefik/17.0.7/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.7/templates/middlewares/redirectregex.yaml b/enterprise/traefik/17.0.7/templates/middlewares/redirectregex.yaml new file mode 100644 index 0000000000..46e3e724dd --- /dev/null +++ b/enterprise/traefik/17.0.7/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.7/templates/middlewares/stripPrefixRegex.yaml b/enterprise/traefik/17.0.7/templates/middlewares/stripPrefixRegex.yaml new file mode 100644 index 0000000000..007c166ff3 --- /dev/null +++ b/enterprise/traefik/17.0.7/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.7/templates/middlewares/tc-chains.yaml b/enterprise/traefik/17.0.7/templates/middlewares/tc-chains.yaml new file mode 100644 index 0000000000..409766daa8 --- /dev/null +++ b/enterprise/traefik/17.0.7/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.7/templates/middlewares/tc-headers.yaml b/enterprise/traefik/17.0.7/templates/middlewares/tc-headers.yaml new file mode 100644 index 0000000000..a0462f1fd7 --- /dev/null +++ b/enterprise/traefik/17.0.7/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.7/templates/middlewares/tc-nextcloud.yaml b/enterprise/traefik/17.0.7/templates/middlewares/tc-nextcloud.yaml new file mode 100644 index 0000000000..6a3019d56c --- /dev/null +++ b/enterprise/traefik/17.0.7/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.7/templates/middlewares/theme-park.yaml b/enterprise/traefik/17.0.7/templates/middlewares/theme-park.yaml new file mode 100644 index 0000000000..92a4257e27 --- /dev/null +++ b/enterprise/traefik/17.0.7/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.7/values.yaml b/enterprise/traefik/17.0.7/values.yaml new file mode 100644 index 0000000000..e69de29bb2

p_^P=EFnEM*fSHq}tyQ`|SV+C8MQz4%xN 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ʩd#6MSC`q6PrHJ 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