diff --git a/charts/incubator/kavitaemail/.helmignore b/charts/incubator/kavitaemail/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/incubator/kavitaemail/.helmignore @@ -0,0 +1,30 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png diff --git a/charts/incubator/kavitaemail/Chart.yaml b/charts/incubator/kavitaemail/Chart.yaml new file mode 100644 index 00000000000..d65fb78adf9 --- /dev/null +++ b/charts/incubator/kavitaemail/Chart.yaml @@ -0,0 +1,32 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: kavitaemail +version: 0.0.1 +appVersion: "0.1.6" +description: Simple email relay server for the kavita. +type: application +deprecated: false +home: https://truecharts.org/docs/charts/incubator/kavitaemail +icon: https://truecharts.org/img/hotlink-ok/chart-icons/kavitaemail.png +keywords: + - kavitaemail + - email +sources: + - https://truecharts.org/docs/charts/incubator/kavitaemail + - https://github.com/Kareadita/KavitaEmail + - https://hub.docker.com/r/kizaing/kavitaemail +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 10.6.5 + # condition: +maintainers: + - email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +annotations: + truecharts.org/catagories: | + - email + - relay + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/charts/incubator/kavitaemail/README.md b/charts/incubator/kavitaemail/README.md new file mode 100644 index 00000000000..8006ecf84af --- /dev/null +++ b/charts/incubator/kavitaemail/README.md @@ -0,0 +1 @@ +# kavitaemail diff --git a/charts/incubator/kavitaemail/docs/installation_notes.md b/charts/incubator/kavitaemail/docs/installation_notes.md new file mode 100644 index 00000000000..9cc3d71754f --- /dev/null +++ b/charts/incubator/kavitaemail/docs/installation_notes.md @@ -0,0 +1,8 @@ +# Installation Notes + +- Set `SMTP Host` to a smtp host. +- Set `SMTP Port` to a smtp port. +- Set `SMTP Username` to a email. +- Set `SMTP Password` to your email's pass. If using a google email you have to use an [app password](https://support.google.com/accounts/answer/185833?hl=en) for it. +- Set `Sender Address` to the email that will _send_ the emails. +- Set `Display Name` to a display name that's recognizable for your email recipients. diff --git a/charts/incubator/kavitaemail/icon.png b/charts/incubator/kavitaemail/icon.png new file mode 100644 index 00000000000..2b7c5f9f144 Binary files /dev/null and b/charts/incubator/kavitaemail/icon.png differ diff --git a/charts/incubator/kavitaemail/questions.yaml b/charts/incubator/kavitaemail/questions.yaml new file mode 100644 index 00000000000..39fc49aa2af --- /dev/null +++ b/charts/incubator/kavitaemail/questions.yaml @@ -0,0 +1,165 @@ +# Include{groups} +portals: {} +questions: +# Include{global} +# Include{controller} +# Include{controllerDeployment} +# Include{replicas} +# Include{replica1} +# Include{strategy} +# Include{recreate} +# Include{controllerExpert} +# Include{controllerExpertExtraArgs} + - variable: secretEnv + group: Container Configuration + label: Image Secrets + schema: + additional_attrs: true + type: dict + attrs: + - variable: SMTP_USER + label: SMTP Username + description: Set the SMTP username + schema: + type: string + required: true + default: "" + - variable: SMTP_PASS + label: SMTP Password + description: Set the SMTP password + schema: + type: string + required: true + private: true + default: "" + - variable: env + group: Container Configuration + label: Image Environment + schema: + additional_attrs: true + type: dict + attrs: + - variable: SMTP_HOST + label: SMTP Host + description: Set the SMTP host + schema: + type: string + required: true + default: "" + - variable: SMTP_PORT + label: SMTP Port + description: Set the SMTP port + schema: + type: int + required: true + default: 587 + - variable: SEND_ADDR + label: Sender Address + description: Set the sender email + schema: + type: string + required: true + default: "" + - variable: DISP_NAME + label: Display Name + description: Set the display name + schema: + type: string + required: true + default: "" +# Include{containerConfig} +# Include{serviceRoot} + - variable: main + label: Main Service + description: The Primary service on which the healthcheck runs, often the webUI + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelectorLoadBalancer} +# Include{serviceSelectorExtras} + - variable: main + label: Main Service Port Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + description: This port exposes the container port on the service + schema: + type: int + default: 15003 + required: true +# Include{advancedPortHTTP} + - variable: targetPort + label: Target Port + description: The internal(!) port on the container the Application runs on + schema: + type: int + default: 5003 +# Include{serviceExpertRoot} + default: false +# Include{serviceExpert} +# Include{serviceList} +# Include{persistenceList} +# Include{ingressList} +# Include{ingressRoot} + - variable: main + label: Main Ingress + schema: + additional_attrs: true + type: dict + attrs: +# Include{ingressDefault} +# Include{ingressTLS} +# Include{ingressTraefik} +# Include{ingressExpert} +# Include{ingressList} +# Include{security} +# Include{securityContextAdvancedRoot} + - variable: privileged + label: Privileged mode + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: ReadOnly Root Filesystem + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: Allow Privilege Escalation + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: runAsNonRoot + schema: + type: boolean + default: false +# Include{securityContextAdvanced} +# Include{podSecurityContextRoot} + - variable: runAsUser + label: runAsUser + description: The UserID of the user running the application + schema: + type: int + default: 0 + - variable: runAsGroup + label: runAsGroup + description: The groupID this App of the user running the application + schema: + type: int + default: 0 + - variable: fsGroup + label: fsGroup + description: The group that should own ALL storage. + schema: + type: int + default: 0 +# Include{podSecurityContextAdvanced} +# Include{resources} +# Include{advanced} +# Include{addons} +# Include{documentation} diff --git a/charts/incubator/kavitaemail/templates/common.yaml b/charts/incubator/kavitaemail/templates/common.yaml new file mode 100644 index 00000000000..c1a366e1cf0 --- /dev/null +++ b/charts/incubator/kavitaemail/templates/common.yaml @@ -0,0 +1 @@ +{{ include "tc.common.loader.all" . }} diff --git a/charts/incubator/kavitaemail/values.yaml b/charts/incubator/kavitaemail/values.yaml new file mode 100644 index 00000000000..e1ab45a8f62 --- /dev/null +++ b/charts/incubator/kavitaemail/values.yaml @@ -0,0 +1,33 @@ +image: + repository: tccr.io/truecharts/kavitaemail + pullPolicy: IfNotPresent + tag: 0.1.6@sha256:7351f641681c852209ca7f47706c06522007030d8827540de1c2f01ac7741f7a + +securityContext: + runAsNonRoot: false + readOnlyRootFilesystem: false + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +secretEnv: + SMTP_USER: "" + SMTP_PASS: "" + +env: + DISP_NAME: kavita + SMTP_HOST: "" + SMTP_PORT: 587 + SEND_ADDR: "" + +service: + main: + ports: + main: + protocol: HTTP + port: 15003 + targetPort: 5003 + +portal: + enabled: false diff --git a/cspell.config.yaml b/cspell.config.yaml index 30ad50d9ad9..7f05d2ffdde 100644 --- a/cspell.config.yaml +++ b/cspell.config.yaml @@ -101,6 +101,7 @@ words: - jailman - javaprefs - jovyan + - kavita - keepalive - killswitch - Kiwix