From 30fafb840e153270fc8ebcddf7102f03bfd2e64d Mon Sep 17 00:00:00 2001 From: Xstar97TheNoob <9399967+xstar97@users.noreply.github.com> Date: Thu, 23 Feb 2023 10:03:21 -0500 Subject: [PATCH] fix(apprise-api): BREAKING CHANGE refactor (#7370) * fix(apprise-api) breaking changes * update tag * fix perms * www-data perms * remove whitespace --------- Signed-off-by: Xstar97TheNoob <9399967+xstar97@users.noreply.github.com> --- charts/incubator/apprise-api/Chart.yaml | 22 ++-- charts/incubator/apprise-api/questions.yaml | 139 ++++++++++++++++---- charts/incubator/apprise-api/values.yaml | 42 ++++-- 3 files changed, 152 insertions(+), 51 deletions(-) diff --git a/charts/incubator/apprise-api/Chart.yaml b/charts/incubator/apprise-api/Chart.yaml index 8c7ba9cdb03..5406989123f 100644 --- a/charts/incubator/apprise-api/Chart.yaml +++ b/charts/incubator/apprise-api/Chart.yaml @@ -1,20 +1,17 @@ -annotations: - truecharts.org/SCALE-support: "true" - truecharts.org/catagories: | - - Other apiVersion: v2 -appVersion: "latest" +appVersion: "0.8.3" dependencies: - name: common repository: https://library-charts.truecharts.org version: 11.1.2 deprecated: false -description: "Apprise-api(https://github.com/caronc/apprise-api) Takes advantage of Apprise(https://github.com/caronc/apprise) through your network with a user-friendly API.\n" +description: Push notifications that work with just about every platform! home: https://truecharts.org/charts/incubator/apprise-api icon: https://truecharts.org/img/hotlink-ok/chart-icons/apprise-api.png keywords: - apprise-api - - Other + - notifications + - usenet kubeVersion: ">=1.16.0-0" maintainers: - email: info@truecharts.org @@ -23,9 +20,12 @@ maintainers: name: apprise-api sources: - https://github.com/truecharts/charts/tree/master/charts/incubator/apprise-api - - https://hub.docker.com/r/caronc/apprise - https://github.com/caronc/apprise-api - - https://github.com/orgs/linuxserver/packages/container/package/apprise-api - - https://github.com/linuxserver/docker-apprise-api#readme + - https://hub.docker.com/r/caronc/apprise type: application -version: 2.0.13 +version: 3.0.0 +annotations: + truecharts.org/catagories: | + - notifications + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/charts/incubator/apprise-api/questions.yaml b/charts/incubator/apprise-api/questions.yaml index 52472ea2810..dfde79e3e80 100644 --- a/charts/incubator/apprise-api/questions.yaml +++ b/charts/incubator/apprise-api/questions.yaml @@ -8,24 +8,107 @@ questions: # Include{replicas} # Include{replica1} # Include{controllerExpertExtraArgs} - - variable: env - group: "App Configuration" - label: "Image Environment" + - variable: secretEnv + group: App Configuration + label: Image Secrets schema: additional_attrs: true type: dict attrs: - - variable: UMASK - label: "UMASK" - description: "Container Variable UMASK" + - variable: SECRET_KEY + label: Secret Key + description: A Django variable acting as a salt for most things that require security. + schema: + type: string + required: true + default: "" + - variable: env + group: App Configuration + label: Image Environment + schema: + additional_attrs: true + type: dict + attrs: + - variable: APPRISE_STATEFUL_MODE + label: Apprise Stateful Mode + description: Stores the server configuration data. + schema: + type: string + default: hash + enum: + - value: hash + description: Hash + - value: simple + description: Simple + - value: disabled + description: Disabled + - variable: APPRISE_CONFIG_LOCK + label: Apprise Config Lock + description: Locks down your API hosting + schema: + type: string + default: "no" + enum: + - value: "no" + description: "No" + - value: "yes" + description: "Yes" + - variable: APPRISE_DENY_SERVICES + label: Apprise Deny Services + description: A comma separated set of entries identifying what plugins to deny access to. + schema: + type: string + default: "windows,dbus,gnome,macos,syslog" + - variable: APPRISE_ALLOW_SERVICES + label: Apprise Allow Services + description: A comma separated set of entries identifying what plugins to allow access to. schema: type: string default: "" + - variable: ALLOWED_HOSTS + label: Allowed Hosts + description: A list of strings representing the host/domain names that this API can serve. + schema: + type: string + default: "*" + - variable: LOG_LEVEL + label: Log Level + description: Adjust the log level to the console. + schema: + type: string + default: INFO + enum: + - value: INFO + description: Info + - value: DEBUG + description: Debug + - value: WARNING + description: Warning + - value: ERROR + description: Error + - value: CRITICAL + description: Critical + - variable: DEBUG + label: Debug + schema: + type: string + default: "no" + enum: + - value: "no" + description: "No" + - value: "yes" + description: "Yes" + - variable: APPRISE_RECURSION_MAX + label: Apprise Recursion Max + schema: + type: int + default: 1 + min: 1 # Include{containerConfig} # Include{serviceRoot} - variable: main - label: "Main Service" - description: "The Primary service on which the healthcheck runs, often the webUI" + label: Main Service + description: The Primary service on which the healthcheck runs, often the webUI schema: additional_attrs: true type: dict @@ -33,14 +116,14 @@ questions: # Include{serviceSelectorLoadBalancer} # Include{serviceSelectorExtras} - variable: main - label: "Main Service Port Configuration" + 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" + label: Port + description: This port exposes the container port on the service schema: type: int default: 8000 @@ -51,8 +134,8 @@ questions: # Include{serviceList} # Include{persistenceRoot} - variable: config - label: "config Storage" - description: "Where config is stored." + label: App Config Storage + description: Stores the Application Configuration. schema: additional_attrs: true type: dict @@ -61,7 +144,7 @@ questions: # Include{persistenceList} # Include{ingressRoot} - variable: main - label: "Main Ingress" + label: Main Ingress schema: additional_attrs: true type: dict @@ -73,44 +156,44 @@ questions: # Include{security} # Include{securityContextAdvancedRoot} - variable: privileged - label: "Privileged mode" + label: Privileged mode schema: type: boolean default: false - variable: readOnlyRootFilesystem - label: "ReadOnly Root Filesystem" + label: ReadOnly Root Filesystem schema: type: boolean default: false - variable: allowPrivilegeEscalation - label: "Allow Privilege Escalation" + label: Allow Privilege Escalation schema: type: boolean default: false - variable: runAsNonRoot - label: "runAsNonRoot" + label: runAsNonRoot schema: type: boolean - default: false + default: true # Include{podSecurityContextRoot} - variable: runAsUser - label: "runAsUser" - description: "The UserID of the user running the application" + label: runAsUser + description: The UserID of the user running the application schema: type: int - default: 0 + default: 33 - variable: runAsGroup - label: "runAsGroup" - description: The groupID this App of the user running the application" + label: runAsGroup + description: The groupID this App of the user running the application schema: type: int - default: 0 + default: 33 - variable: fsGroup - label: "fsGroup" - description: "The group that should own ALL storage." + label: fsGroup + description: The group that should own ALL storage. schema: type: int - default: 568 + default: 33 # Include{podSecurityContextAdvanced} # Include{resources} # Include{advanced} diff --git a/charts/incubator/apprise-api/values.yaml b/charts/incubator/apprise-api/values.yaml index 1b558fe5cd3..5e67e333eb7 100644 --- a/charts/incubator/apprise-api/values.yaml +++ b/charts/incubator/apprise-api/values.yaml @@ -1,26 +1,44 @@ -env: - UMASK: "" image: pullPolicy: IfNotPresent repository: tccr.io/truecharts/apprise-api - tag: latest@sha256:bbb548e29f6e4c8f11782aece465b0237eeea1b91aa14304a714e7b93a023588 -persistence: - config: - enabled: true - mountPath: /config + tag: 0.8.3@sha256:a3e8b4574a28dfcd0853d80eb7c941a8629d0830106f58eb15f34c67277ac2b0 + podSecurityContext: - runAsGroup: 0 - runAsUser: 0 + runAsGroup: 33 + runAsUser: 33 + fsGroup: 33 + securityContext: - readOnlyRootFilesystem: false - runAsNonRoot: false + readOnlyRootFilesystem: False + # runAsNonRoot: false + +secretEnv: + SECRET_KEY: "abc123" + +env: + APPRISE_CONFIG_DIR: /config + APPRISE_STATEFUL_MODE: hash + APPRISE_DENY_SERVICES: windows,dbus,gnome,macos,syslog + LOG_LEVEL: INFO + DEBUG: "no" + APPRISE_RECURSION_MAX: 1 + APPRISE_CONFIG_LOCK: no + APPRISE_ALLOW_SERVICES: "" + ALLOWED_HOSTS: "*" + # APPRISE_STATELESS_URLS + service: main: ports: main: port: 8000 - protocol: TCP + protocol: HTTP targetPort: 8000 +persistence: + config: + enabled: true + mountPath: /config + portal: enabled: true