diff --git a/incubator/plausible/5.0.0/CHANGELOG.md b/incubator/plausible/5.0.0/CHANGELOG.md new file mode 100644 index 00000000000..16c4a5f8ffe --- /dev/null +++ b/incubator/plausible/5.0.0/CHANGELOG.md @@ -0,0 +1,99 @@ +**Important:** +*for the complete changelog, please refer to the website* + + + + + + +## [plausible-5.0.0](https://github.com/truecharts/charts/compare/plausible-4.0.25...plausible-5.0.0) (2023-07-31) + +### Feat + +- hide advanced ingress options behind checbox ([#9203](https://github.com/truecharts/charts/issues/9203)) + + ### Fix + +- fix mistakes on questions.yaml + - fix indentation ([#8536](https://github.com/truecharts/charts/issues/8536)) + + + + +## [plausible-4.0.25](https://github.com/truecharts/charts/compare/plausible-4.0.24...plausible-4.0.25) (2023-02-27) + +### Chore + +- update helm general non-major ([#7725](https://github.com/truecharts/charts/issues/7725)) + + + + +## [plausible-4.0.24](https://github.com/truecharts/charts/compare/plausible-4.0.23...plausible-4.0.24) (2023-02-19) + +### Chore + +- update helm general non-major + + + + +## [plausible-4.0.23](https://github.com/truecharts/charts/compare/plausible-4.0.22...plausible-4.0.23) (2023-02-10) + +### Fix + +- ensure new helm deps repo is used in latest releases as well. + + + + +## [plausible-4.0.22](https://github.com/truecharts/charts/compare/plausible-4.0.21...plausible-4.0.22) (2023-02-02) + +### Fix + +- remove non-link sources ([#6826](https://github.com/truecharts/charts/issues/6826)) + + + + +## [plausible-4.0.21](https://github.com/truecharts/charts/compare/plausible-4.0.20...plausible-4.0.21) (2023-01-31) + +### Chore + +- update helm chart clickhouse to 3.0.17 + + + + +## [plausible-4.0.20](https://github.com/truecharts/charts/compare/plausible-4.0.19...plausible-4.0.20) (2023-01-24) + +### Chore + +- update helm general non-major ([#6689](https://github.com/truecharts/charts/issues/6689)) + + + + +## [plausible-4.0.19](https://github.com/truecharts/charts/compare/plausible-4.0.18...plausible-4.0.19) (2023-01-23) + +### Chore + +- update helm general non-major + + + + +## [plausible-4.0.18](https://github.com/truecharts/charts/compare/plausible-4.0.17...plausible-4.0.18) (2023-01-17) + +### Chore + +- update helm general non-major ([#6430](https://github.com/truecharts/charts/issues/6430)) + + + + +## [plausible-4.0.17](https://github.com/truecharts/charts/compare/plausible-4.0.16...plausible-4.0.17) (2023-01-07) + +### Chore + +- update helm general non-major ([#6121](https://github.com/truecharts/charts/issues/6121)) diff --git a/incubator/plausible/5.0.0/Chart.yaml b/incubator/plausible/5.0.0/Chart.yaml new file mode 100644 index 00000000000..a6e954f8373 --- /dev/null +++ b/incubator/plausible/5.0.0/Chart.yaml @@ -0,0 +1,37 @@ +apiVersion: v2 +appVersion: "2.0.0" +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 14.0.2 + - condition: clickhouse.enabled + name: clickhouse + repository: https://deps.truecharts.org/ + version: 7.0.1 +deprecated: false +description: Plausible is lightweight and open source web analytics. No cookies and fully compliant with GDPR, CCPA and PECR. +home: https://truecharts.org/charts/incubator/plausible +icon: https://truecharts.org/img/hotlink-ok/chart-icons/plausible.png +keywords: + - analytics + - plausible +kubeVersion: ">=1.16.0-0" +maintainers: + - email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: plausible +sources: + - https://github.com/truecharts/charts/tree/master/charts/incubator/plausible + - https://plausible.io/ + - https://plausible.io/docs/self-hosting + - https://github.com/plausible/analytics + - https://github.com/plausible/hosting +type: application +version: 5.0.0 +annotations: + truecharts.org/catagories: | + - analytics + - plausible + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/incubator/plausible/5.0.0/README.md b/incubator/plausible/5.0.0/README.md new file mode 100644 index 00000000000..83229a60265 --- /dev/null +++ b/incubator/plausible/5.0.0/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/incubator/) + +**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/guides/scale-intro). +- 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/incubator/plausible/5.0.0/app-changelog.md b/incubator/plausible/5.0.0/app-changelog.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/plausible/5.0.0/app-readme.md b/incubator/plausible/5.0.0/app-readme.md new file mode 100644 index 00000000000..a8961caf469 --- /dev/null +++ b/incubator/plausible/5.0.0/app-readme.md @@ -0,0 +1,8 @@ +Plausible is lightweight and open source web analytics. No cookies and fully compliant with GDPR, CCPA and PECR. + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/plausible](https://truecharts.org/charts/incubator/plausible) + +--- + +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/incubator/plausible/5.0.0/charts/clickhouse-7.0.1.tgz b/incubator/plausible/5.0.0/charts/clickhouse-7.0.1.tgz new file mode 100644 index 00000000000..2649a2a3a17 Binary files /dev/null and b/incubator/plausible/5.0.0/charts/clickhouse-7.0.1.tgz differ diff --git a/incubator/plausible/5.0.0/charts/common-14.0.2.tgz b/incubator/plausible/5.0.0/charts/common-14.0.2.tgz new file mode 100644 index 00000000000..5e335091105 Binary files /dev/null and b/incubator/plausible/5.0.0/charts/common-14.0.2.tgz differ diff --git a/incubator/plausible/5.0.0/ix_values.yaml b/incubator/plausible/5.0.0/ix_values.yaml new file mode 100644 index 00000000000..55806d280f3 --- /dev/null +++ b/incubator/plausible/5.0.0/ix_values.yaml @@ -0,0 +1,128 @@ +image: + repository: tccr.io/truecharts/plausible + pullPolicy: IfNotPresent + tag: v2.0.0@sha256:1ef59e863cfdcddc308d4ec743091bc8eda4f62e16b269cf4d778c89b8c02a68 + +# Plausible self-hosting documentation +# https://plausible.io/docs/self-hosting + +plausible: + # Server + BASE_URL: http://localhost + DISABLE_REGISTRATION: "true" + LOG_FAILED_LOGIN_ATTEMPTS: false + + # Database + CLICKHOUSE_FLUSH_INTERVAL_MS: 5000 + CLICKHOUSE_MAX_BUFFER_SIZE: 10000 + + # Mailer/SMTP Setup + MAILER_EMAIL: hello@plausible.local + MAILER_NAME: "" + SMTP_HOST_ADDR: localhost + SMTP_HOST_PORT: 25 + SMTP_USER_NAME: "" + SMTP_USER_PWD: "" + SMTP_HOST_SSL_ENABLED: false + SMTP_RETRIES: 2 + MAILER_ADAPTER: Bamboo.SMTPAdapter + POSTMARK_API_KEY: "" + MAILGUN_API_KEY: "" + MAILGUN_DOMAIN: "" + MAILGUN_BASE_URI: "" + MANDRILL_API_KEY: "" + SENDGRID_API_KEY: "" + + # IP Geolocation + # todo(investigate where automatic updates are stored and configure storage accordingly) + MAXMIND_LICENSE_KEY: "" + MAXMIND_EDITION: GeoLite2-City + + # Google Search Integration + GOOGLE_CLIENT_ID: "" + GOOGLE_CLIENT_SECRET: "" + + # Logging + LOG_LEVEL: warn + +workload: + main: + podSpec: + initContainers: + db-create: + type: install + enabled: true + imageSelector: image + securityContext: + runAsUser: 1000 + runAsGroup: 1000 + readOnlyRootFilesystem: false + envFrom: + - configMapRef: + name: plausible-config + - secretRef: + name: plausible-secret + command: sh + args: + - -c + - /entrypoint.sh db createdb && /entrypoint.sh db migrate + db-migrate: + type: upgrade + enabled: true + imageSelector: image + securityContext: + runAsUser: 1000 + runAsGroup: 1000 + readOnlyRootFilesystem: false + envFrom: + - configMapRef: + name: plausible-config + - secretRef: + name: plausible-secret + command: sh + args: + - -c + - /entrypoint.sh db migrate + containers: + main: + securityContext: + runAsUser: 1000 + runAsGroup: 1000 + readOnlyRootFilesystem: false + envFrom: + - configMapRef: + name: plausible-config + - secretRef: + name: plausible-secret + probes: + liveness: + type: http + path: /api/health + readiness: + type: http + path: /api/health + startup: + type: http + path: /api/health + +service: + main: + ports: + main: + targetPort: 8000 + port: 10277 + +cnpg: + main: + enabled: true + user: plausible + database: plausible + +clickhouse: + enabled: true + clickhouseUsername: plausible + clickhouseDatabase: plausible + +portal: + open: + enabled: true diff --git a/incubator/plausible/5.0.0/questions.yaml b/incubator/plausible/5.0.0/questions.yaml new file mode 100644 index 00000000000..d22499d0e1b --- /dev/null +++ b/incubator/plausible/5.0.0/questions.yaml @@ -0,0 +1,2109 @@ +groups: + - name: Container Image + description: Image to be used for container + - name: General Settings + description: General Deployment Settings + - name: Workload Settings + description: Workload Settings + - name: App Configuration + description: App Specific Config Options + - name: Networking and Services + description: Configure Network and Services for Container + - name: Storage and Persistence + description: Persist and Share Data that is Separate from the Container + - name: Ingress + description: Ingress Configuration + - name: Security and Permissions + description: Configure Security Context and Permissions + - name: Resources and Devices + description: "Specify Resources/Devices to be Allocated to Workload" + - name: Middlewares + description: Traefik Middlewares + - name: Metrics + description: Metrics + - name: Addons + description: Addon Configuration + - name: Advanced + description: Advanced Configuration + - name: Postgresql + description: Postgresql + - name: Documentation + description: Documentation +portals: + open: + protocols: + - "$kubernetes-resource_configmap_tcportal-open_protocol" + host: + - "$kubernetes-resource_configmap_tcportal-open_host" + ports: + - "$kubernetes-resource_configmap_tcportal-open_port" +questions: + - variable: global + group: General Settings + label: "Global Settings" + schema: + additional_attrs: true + type: dict + attrs: + - variable: stopAll + label: Stop All + description: "Stops All Running pods and hibernates cnpg" + schema: + type: boolean + default: false + - variable: workload + group: "Workload Settings" + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type (Advanced) + schema: + type: string + default: Deployment + enum: + - value: Deployment + description: Deployment + - value: DaemonSet + description: DaemonSet + + - variable: replicas + label: Replicas (Advanced) + description: Set the number of Replicas + schema: + type: int + show_if: [["type", "!=", "DaemonSet"]] + default: 1 + - variable: podSpec + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: containers + label: Containers + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: Main Container + schema: + additional_attrs: true + type: dict + attrs: + - variable: envList + label: Extra Environment Variables + description: "Please be aware that some variables are set in the background, adding duplicates here might cause issues or prevent the app from starting..." + schema: + type: list + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: extraArgs + label: Extra Args + schema: + type: list + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: command + label: Command + schema: + type: list + default: [] + items: + - variable: param + label: Param + schema: + type: string + + - variable: plausible + group: "App Configuration" + label: "Plausible Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: BASE_URL + label: BASE_URL + description: The hosting URL of the server, used for URL generation. In production systems, this should be your ingress host. + schema: + type: string + default: http://localhost + required: true + - variable: DISABLE_REGISTRATION + label: DISABLE_REGISTRATION + description: Restricts registration of new users. + schema: + type: string + required: true + default: "true" + enum: + - value: "true" + description: Full restriction + - value: "false" + description: No restriction + - value: invite_only + description: Only invited users can register + - variable: LOG_FAILED_LOGIN_ATTEMPTS + label: LOG_FAILED_LOGIN_ATTEMPTS + description: Controls whether to log warnings about failed login attempts. + schema: + type: boolean + default: false + - variable: CLICKHOUSE_FLUSH_INTERVAL_MS + label: CLICKHOUSE_FLUSH_INTERVAL_MS + description: Interval (in milliseconds) between flushing events and sessions data to Clickhouse. Consult Clickhouse docs before changing it. + schema: + type: int + default: 5000 + required: true + - variable: CLICKHOUSE_MAX_BUFFER_SIZE + label: CLICKHOUSE_MAX_BUFFER_SIZE + description: Maximum size of the buffer of events or sessions. Consult Clickhouse docs before changing it. + schema: + type: int + default: 10000 + required: true + - variable: MAILER_EMAIL + label: MAILER_EMAIL + description: The email id to use for as from address of all communications from Plausible. + schema: + type: string + default: hello@plausible.local + required: true + - variable: MAILER_NAME + label: MAILER_NAME + description: The display name for the sender (from). + schema: + type: string + default: "" + - variable: SMTP_HOST_ADDR + label: SMTP_HOST_ADDR + description: The host address of your smtp server. + schema: + type: string + default: localhost + required: true + - variable: SMTP_HOST_PORT + label: SMTP_HOST_PORT + description: The port of your smtp server. + schema: + type: int + default: 25 + required: true + - variable: SMTP_USER_NAME + label: SMTP_USER_NAME + description: The username/email in case SMTP auth is enabled. + schema: + type: string + default: "" + - variable: SMTP_USER_PWD + label: SMTP_USER_PWD + description: The password in case SMTP auth is enabled. + schema: + type: string + default: "" + private: true + - variable: SMTP_HOST_SSL_ENABLED + label: SMTP_HOST_SSL_ENABLED + description: If SSL is enabled for SMTP connection + schema: + type: boolean + default: false + - variable: SMTP_RETRIES + label: SMTP_RETRIES + description: Number of retries to make until mailer gives up. + schema: + type: int + default: 2 + required: true + - variable: MAILER_ADAPTER + label: MAILER_ADAPTER + description: Mailer Adapter + schema: + type: string + required: true + default: Bamboo.SMTPAdapter + enum: + - value: Bamboo.SMTPAdapter + description: Bamboo.SMTPAdapter + - value: Bamboo.PostmarkAdapter + description: Bamboo.PostmarkAdapter + - value: Bamboo.MailgunAdapter + description: Bamboo.MailgunAdapter + - value: Bamboo.MandrillAdapter + description: Bamboo.MandrillAdapter + - value: Bamboo.SendGridAdapter + description: Bamboo.SendGridAdapter + - variable: POSTMARK_API_KEY + label: POSTMARK_API_KEY + description: Required. Enter your API key. + schema: + show_if: [["MAILER_ADAPTER", "=", "Bamboo.PostmarkAdapter"]] + type: string + default: "" + private: true + - variable: MAILGUN_API_KEY + label: MAILGUN_API_KEY + description: Required. Enter your API key. + schema: + show_if: [["MAILER_ADAPTER", "=", "Bamboo.MailgunAdapter"]] + type: string + default: "" + private: true + - variable: MAILGUN_DOMAIN + label: MAILGUN_DOMAIN + description: Required. Enter your Mailgun domain. + schema: + show_if: [["MAILER_ADAPTER", "=", "Bamboo.MailgunAdapter"]] + type: string + default: "" + - variable: MAILGUN_BASE_URI + label: MAILGUN_BASE_URI + description: This is optional. Mailgun makes a difference in the API base URL between sender domains from within the EU and outside. By default, the base URL is set to https://api.mailgun.net/v3. To override this you can pass https://api.eu.mailgun.net/v3 if you are using an EU domain. + schema: + show_if: [["MAILER_ADAPTER", "=", "Bamboo.MailgunAdapter"]] + type: string + default: "" + - variable: MANDRILL_API_KEY + label: MANDRILL_API_KEY + description: Required. Enter your API key. + schema: + show_if: [["MAILER_ADAPTER", "=", "Bamboo.MandrillAdapter"]] + type: string + default: "" + private: true + - variable: SENDGRID_API_KEY + label: SENDGRID_API_KEY + description: Required. Enter your API key. + schema: + show_if: [["MAILER_ADAPTER", "=", "Bamboo.SendGridAdapter"]] + type: string + default: "" + private: true + - variable: MAXMIND_LICENSE_KEY + label: MAXMIND_LICENSE_KEY + description: MaxMind license key to automatically download and update the database + schema: + type: string + default: "" + private: true + - variable: MAXMIND_EDITION + label: MAXMIND_EDITION + description: MaxMind database edition to use (only if MAXMIND_LICENSE_KEY is set) + schema: + show_if: [["MAXMIND_LICENSE_KEY", "!=", ""]] + type: string + required: true + default: GeoLite2-City + enum: + - value: GeoLite2-City + description: GeoLite2-City + - value: GeoLite2-Country + description: GeoLite2-Country + - variable: GOOGLE_CLIENT_ID + label: GOOGLE_CLIENT_ID + description: The Client ID from the Google API Console for your Plausible Analytics project + schema: + type: string + default: "" + - variable: GOOGLE_CLIENT_SECRET + label: GOOGLE_CLIENT_SECRET + description: The Client Secret from the Google API Console for your Plausible Analytics project + schema: + type: string + default: "" + private: true + - variable: LOG_LEVEL + label: LOG_LEVEL + description: Logging Level + schema: + type: string + required: true + default: warn + enum: + - value: debug + description: debug + - value: info + description: info + - value: warn + description: warn + - value: error + description: error + + - variable: TZ + label: Timezone + group: "General Settings" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: podOptions + group: "General Settings" + label: "Global Pod Options (Advanced)" + schema: + additional_attrs: true + type: dict + attrs: + - variable: expertPodOpts + label: "Expert - Pod Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + label: "Host Networking" + schema: + type: boolean + default: false + - variable: dnsConfig + label: "DNS Configuration" + schema: + type: dict + additional_attrs: true + attrs: + - variable: options + label: "Options" + schema: + type: list + default: [{"name": "ndots", "value": "1"}] + items: + - variable: optionsEntry + label: "Option Entry" + schema: + type: dict + additional_attrs: true + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + - variable: nameservers + label: "Nameservers" + schema: + type: list + default: [] + items: + - variable: nsEntry + label: "Nameserver Entry" + schema: + type: string + required: true + - variable: searches + label: "Searches" + schema: + type: list + default: [] + items: + - variable: searchEntry + label: "Search Entry" + schema: + type: string + required: true + - variable: service + group: Networking and Services + label: Configure Service(s) + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Service + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Service Type + description: "ClusterIP's are only internally available 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) + - 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 Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 10277 + required: true + - variable: serviceexpert + group: Networking and Services + label: Show Expert Config + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: scaleExternalInterface + description: Add External Interfaces + label: Add external Interfaces + group: Networking + schema: + type: list + items: + - variable: interfaceConfiguration + description: Interface Configuration + label: Interface Configuration + schema: + additional_attrs: true + type: dict + $ref: + - "normalize/interfaceConfiguration" + attrs: + - variable: hostInterface + description: Please Specify Host Interface + label: Host Interface + schema: + type: string + required: true + $ref: + - "definitions/interface" + - variable: ipam + description: Define how IP Address will be managed + label: IP Address Management + schema: + additional_attrs: true + type: dict + required: true + attrs: + - variable: type + description: Specify type for IPAM + label: IPAM Type + schema: + type: string + required: true + enum: + - value: dhcp + description: Use DHCP + - value: static + description: Use Static IP + - variable: staticIPConfigurations + label: Static IP Addresses + schema: + type: list + show_if: [["type", "=", "static"]] + items: + - variable: staticIP + label: Static IP + schema: + type: ipaddr + cidr: true + - variable: staticRoutes + label: Static Routes + schema: + type: list + show_if: [["type", "=", "static"]] + items: + - variable: staticRouteConfiguration + label: Static Route Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: destination + label: Destination + schema: + type: ipaddr + cidr: true + required: true + - variable: gateway + label: Gateway + schema: + type: ipaddr + cidr: false + required: true + - variable: serviceList + label: Add Manual Custom Services + group: Networking and Services + schema: + type: list + default: [] + items: + - variable: serviceListEntry + label: Custom Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the service + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name + schema: + type: string + default: "" + - variable: type + label: Service Type + description: "ClusterIP's are only internally available 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: advancedsvcset + label: Show Advanced Service Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ipFamilyPolicy + label: IP Family Policy + description: Specify the IP Policy + schema: + type: string + default: SingleStack + enum: + - value: SingleStack + description: SingleStack + - value: PreferDualStack + description: PreferDualStack + - value: RequireDualStack + description: RequireDualStack + - variable: ipFamilies + label: IP Families + description: (Advanced) The IP Families that should be used + schema: + type: list + default: [] + items: + - variable: ipFamily + label: IP Family + schema: + type: string + - variable: portsList + label: Additional Service Ports + schema: + type: list + default: [] + items: + - variable: portsListEntry + label: Custom ports + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Port + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Port Name + schema: + type: string + default: "" + - variable: protocol + label: Port Type + schema: + type: string + default: tcp + enum: + - value: http + description: HTTP + - value: https + description: HTTPS + - value: tcp + description: TCP + - value: udp + description: UDP + - variable: targetPort + label: Target Port + description: This port exposes the container port on the service + schema: + type: int + required: true + - variable: port + label: Container Port + schema: + type: int + required: true + - variable: persistenceList + label: Additional App Storage + group: Storage and Persistence + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: Custom Storage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the storage + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: hostPath + enum: + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: emptyDir + description: emptyDir + - value: nfs + description: NFS Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: autoPermissions + label: Automatic Permissions Configuration + description: Automatically set permissions + schema: + show_if: [["type", "!=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: chown + label: Run CHOWN + description: | + It will run CHOWN on the path with the given fsGroup + schema: + type: boolean + default: false + - variable: chmod + label: Run CHMOD + description: | + It will run CHMOD on the path with the given value
+ Format should be 3 digits, e.g. 770 + schema: + type: string + valid_chars: '[0-9]{3}' + default: "" + - variable: recursive + label: Recursive + description: | + It will run CHOWN and CHMOD recursively + schema: + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: Mount Path + description: Path inside the container the storage is mounted + schema: + type: string + default: "" + required: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size Quotum of Storage + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 256Gi + - 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: 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: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + - variable: entrypoint + label: (Advanced) Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + show_if: [["advanced", "=", true]] + required: true + - variable: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + show_if: [["advanced", "=", true]] + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + show_if: [["advanced", "=", true]] + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: scaleCert + label: Use TrueNAS SCALE Certificate (Deprecated) + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: secretName + label: Use Custom Secret (Advanced) + schema: + show_if: [["certificateIssuer", "=", ""]] + type: string + default: "" + - variable: 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: 1000 + - variable: runAsGroup + label: "runAsGroup" + description: "The groupID this App of the user running the application" + schema: + type: int + default: 1000 + # 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: pod + label: Pod + schema: + additional_attrs: true + type: dict + attrs: + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: OnRootMismatch + enum: + - value: OnRootMismatch + description: OnRootMismatch + - value: Always + description: Always + - variable: supplementalGroups + label: Supplemental Groups + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: Supplemental Group + schema: + type: int + # Settings from questions.yaml get appended here on a per-app basis + - 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/manual/SCALE/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/manual/SCALE/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/manual/SCALE/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/manual/SCALE/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: device + 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: + additional_attrs: true + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + - variable: workaround + label: "Workaround" + schema: + type: string + default: workaround + hidden: true +# - 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: + additional_attrs: true + 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 + show_if: [["username", "!=", ""]] + default: "" + required: true + - variable: tailscale + label: Tailscale Settings + schema: + additional_attrs: true + 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 + max_length: 10240 + - 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/incubator/plausible/5.0.0/templates/_configmap.tpl b/incubator/plausible/5.0.0/templates/_configmap.tpl new file mode 100644 index 00000000000..743160042fb --- /dev/null +++ b/incubator/plausible/5.0.0/templates/_configmap.tpl @@ -0,0 +1,21 @@ +{{- define "plausible.configmap" -}} +enabled: true +data: + BASE_URL: {{ .Values.plausible.BASE_URL | quote }} + DISABLE_REGISTRATION: {{ .Values.plausible.DISABLE_REGISTRATION | quote }} + LOG_FAILED_LOGIN_ATTEMPTS: {{ .Values.plausible.LOG_FAILED_LOGIN_ATTEMPTS | quote }} + + CLICKHOUSE_FLUSH_INTERVAL_MS: {{ .Values.plausible.CLICKHOUSE_FLUSH_INTERVAL_MS | quote }} + CLICKHOUSE_MAX_BUFFER_SIZE: {{ .Values.plausible.CLICKHOUSE_MAX_BUFFER_SIZE | quote }} + + SMTP_HOST_ADDR: {{ .Values.plausible.SMTP_HOST_ADDR | quote }} + SMTP_HOST_PORT: {{ .Values.plausible.SMTP_HOST_PORT | quote }} + SMTP_HOST_SSL_ENABLED: {{ .Values.plausible.SMTP_HOST_SSL_ENABLED | quote }} + SMTP_RETRIES: {{ .Values.plausible.SMTP_RETRIES | quote }} + MAILER_ADAPTER: {{ .Values.plausible.MAILER_ADAPTER | quote }} + MAILGUN_BASE_URI: {{ .Values.plausible.MAILGUN_BASE_URI | quote }} + + MAXMIND_EDITION: {{ .Values.plausible.MAXMIND_EDITION | quote }} + + LOG_LEVEL: {{ .Values.plausible.LOG_LEVEL | quote }} +{{- end }} diff --git a/incubator/plausible/5.0.0/templates/_secret.tpl b/incubator/plausible/5.0.0/templates/_secret.tpl new file mode 100644 index 00000000000..89fb003e094 --- /dev/null +++ b/incubator/plausible/5.0.0/templates/_secret.tpl @@ -0,0 +1,28 @@ +{{- define "plausible.secret" -}} +enabled: true +data: + {{- with (lookup "v1" "Secret" .Release.Namespace "plausible-secret") }} + SECRET_KEY_BASE: {{ index .data "SECRET_KEY_BASE" | b64dec }} + {{- else }} + {{- /* The plain value of SECRET_KEY_BASE is also base64 encoded */}} + SECRET_KEY_BASE: {{ randAlphaNum 86 | b64enc }} + {{- end }} + + DATABASE_URL: {{ .Values.cnpg.main.creds.std }} + CLICKHOUSE_DATABASE_URL: {{ .Values.clickhouse.creds.complete }} + + MAILER_EMAIL: {{ .Values.plausible.MAILER_EMAIL | quote }} + MAILER_NAME: {{ .Values.plausible.MAILER_NAME | quote }} + SMTP_USER_NAME: {{ .Values.plausible.SMTP_USER_NAME | quote }} + SMTP_USER_PWD: {{ .Values.plausible.SMTP_USER_PWD | quote }} + POSTMARK_API_KEY: {{ .Values.plausible.POSTMARK_API_KEY | quote }} + MAILGUN_API_KEY: {{ .Values.plausible.MAILGUN_API_KEY | quote }} + MAILGUN_DOMAIN: {{ .Values.plausible.MAILGUN_DOMAIN | quote }} + MANDRILL_API_KEY: {{ .Values.plausible.MANDRILL_API_KEY | quote }} + SENDGRID_API_KEY: {{ .Values.plausible.SENDGRID_API_KEY | quote }} + + MAXMIND_LICENSE_KEY: {{ .Values.plausible.MAXMIND_LICENSE_KEY | quote }} + + GOOGLE_CLIENT_ID: {{ .Values.plausible.GOOGLE_CLIENT_ID | quote }} + GOOGLE_CLIENT_SECRET: {{ .Values.plausible.GOOGLE_CLIENT_SECRET | quote }} +{{- end }} diff --git a/incubator/plausible/5.0.0/templates/common.yaml b/incubator/plausible/5.0.0/templates/common.yaml new file mode 100644 index 00000000000..9b96a04dd5e --- /dev/null +++ b/incubator/plausible/5.0.0/templates/common.yaml @@ -0,0 +1,17 @@ +{{/* Make sure all variables are set properly */}} +{{- include "tc.v1.common.loader.init" . }} + +{{/* Render Plausible configmap */}} +{{- $config := include "plausible.configmap" . | fromYaml -}} +{{- if $config -}} + {{- $_ := set .Values.configmap "plausible-config" $config -}} +{{- end -}} + +{{/* Render Plausible secret */}} +{{- $secret := include "plausible.secret" . | fromYaml -}} +{{- if $secret -}} + {{- $_ := set .Values.secret "plausible-secret" $secret -}} +{{- end -}} + +{{/* Render the templates */}} +{{ include "tc.v1.common.loader.apply" . }} diff --git a/incubator/plausible/5.0.0/values.yaml b/incubator/plausible/5.0.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/plausible/item.yaml b/incubator/plausible/item.yaml index 0df3386521a..87401cd349f 100644 --- a/incubator/plausible/item.yaml +++ b/incubator/plausible/item.yaml @@ -3,3 +3,4 @@ categories: - analytics - plausible +screenshots: []