commit aeaae484d30c05719a431cd0fca2c5e0148a6eb7 Author: Markus Pesch Date: Sun Sep 26 20:33:17 2021 +0200 Initial Commit diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..ec83a05 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,101 @@ +--- +kind: pipeline +type: kubernetes +name: linter + +platform: + os: linux + arch: amd64 + +steps: +- name: helm lint + commands: + - helm lint + image: quay.io/helmpack/chart-testing:latest + resources: + limits: + cpu: 50 + memory: 50M + +- name: markdown lint + commands: + - markdownlint *.md + image: docker.io/volkerraschek/markdownlint:0.28.1 + resources: + limits: + cpu: 50 + memory: 50M + +- name: email-notification + environment: + PLUGIN_HOST: + from_secret: smtp_host + PLUGIN_USERNAME: + from_secret: smtp_username + PLUGIN_PASSWORD: + from_secret: smtp_password + PLUGIN_FROM: + from_secret: smtp_mail_address + image: docker.io/drillster/drone-email:latest + resources: + limits: + cpu: 50 + memory: 25M + when: + status: + - changed + - failure + +trigger: + event: + exclude: + - tag + +--- +kind: pipeline +type: kubernetes +name: sync + +platform: + os: linux + arch: amd64 + +steps: +- name: github + image: docker.io/appleboy/drone-git-push:latest + resources: + limits: + cpu: 50 + memory: 25M + settings: + branch: master + remote: ssh://git@github.com/volker-raschek/postfixadmin-charts.git + force: true + ssh_key: + from_secret: ssh_key + +- name: email-notification + environment: + PLUGIN_HOST: + from_secret: smtp_host + PLUGIN_USERNAME: + from_secret: smtp_username + PLUGIN_PASSWORD: + from_secret: smtp_password + PLUGIN_FROM: + from_secret: smtp_mail_address + image: docker.io/drillster/drone-email:latest + resources: + limits: + cpu: 50 + memory: 25M + when: + status: + - changed + - failure + +trigger: + event: + - push + repo: + - volker.raschek/postfixadmin-charts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cdcaed9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +*.tgz +values2.yml +values2.yaml \ No newline at end of file diff --git a/.helmignore b/.helmignore new file mode 100644 index 0000000..22b5ff9 --- /dev/null +++ b/.helmignore @@ -0,0 +1,32 @@ +# 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 +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# drone +.drone.yml +# markdownlint +.markdownlint.yaml +# customized values +values2.yml +values2.yaml +# helm packages +*.tgz \ No newline at end of file diff --git a/.markdownlint.yaml b/.markdownlint.yaml new file mode 100644 index 0000000..c158976 --- /dev/null +++ b/.markdownlint.yaml @@ -0,0 +1,144 @@ +# markdownlint YAML configuration +# https://github.com/DavidAnson/markdownlint/blob/main/schema/.markdownlint.yaml + +# Default state for all rules +default: true + +# Path to configuration file to extend +extends: null + +# MD003/heading-style/header-style - Heading style +MD003: + # Heading style + style: "atx" + +# MD004/ul-style - Unordered list style +MD004: + style: "dash" + +# MD007/ul-indent - Unordered list indentation +MD007: + # Spaces for indent + indent: 2 + # Whether to indent the first level of the list + start_indented: false + +# MD009/no-trailing-spaces - Trailing spaces +MD009: + # Spaces for line break + br_spaces: 2 + # Allow spaces for empty lines in list items + list_item_empty_lines: false + # Include unnecessary breaks + strict: false + +# MD010/no-hard-tabs - Hard tabs +MD010: + # Include code blocks + code_blocks: true + +# MD012/no-multiple-blanks - Multiple consecutive blank lines +MD012: + # Consecutive blank lines + maximum: 1 + +# MD013/line-length - Line length +MD013: + # Number of characters + line_length: 80 + # Number of characters for headings + heading_line_length: 80 + # Number of characters for code blocks + code_block_line_length: 80 + # Include code blocks + code_blocks: false + # Include tables + tables: false + # Include headings + headings: true + # Include headings + headers: true + # Strict length checking + strict: false + # Stern length checking + stern: false + +# MD022/blanks-around-headings/blanks-around-headers - Headings should be surrounded by blank lines +MD022: + # Blank lines above heading + lines_above: 1 + # Blank lines below heading + lines_below: 1 + +# MD024/no-duplicate-heading/no-duplicate-header - Multiple headings with the same content +MD024: + # Only check sibling headings + allow_different_nesting: true + +# MD025/single-title/single-h1 - Multiple top-level headings in the same document +MD025: + # Heading level + level: 1 + # RegExp for matching title in front matter + front_matter_title: "^\\s*title\\s*[:=]" + +# MD026/no-trailing-punctuation - Trailing punctuation in heading +MD026: + # Punctuation characters + punctuation: ".,;:!。,;:!" + +# MD029/ol-prefix - Ordered list item prefix +MD029: + # List style + style: "one_or_ordered" + +# MD030/list-marker-space - Spaces after list markers +MD030: + # Spaces for single-line unordered list items + ul_single: 1 + # Spaces for single-line ordered list items + ol_single: 1 + # Spaces for multi-line unordered list items + ul_multi: 1 + # Spaces for multi-line ordered list items + ol_multi: 1 + +# MD033/no-inline-html - Inline HTML +MD033: + # Allowed elements + allowed_elements: [] + +# MD035/hr-style - Horizontal rule style +MD035: + # Horizontal rule style + style: "---" + +# MD036/no-emphasis-as-heading/no-emphasis-as-header - Emphasis used instead of a heading +MD036: + # Punctuation characters + punctuation: ".,;:!?。,;:!?" + +# MD041/first-line-heading/first-line-h1 - First line in a file should be a top-level heading +MD041: + # Heading level + level: 1 + # RegExp for matching title in front matter + front_matter_title: "^\\s*title\\s*[:=]" + +# MD044/proper-names - Proper names should have the correct capitalization +MD044: + # List of proper names + # names: + # - drone + # Include code blocks + code_blocks: false + +# MD046/code-block-style - Code block style +MD046: + # Block style + style: "fenced" + +# MD048/code-fence-style - Code fence style +MD048: + # Code fence syle + style: "backtick" \ No newline at end of file diff --git a/Chart.yaml b/Chart.yaml new file mode 100644 index 0000000..dd7ec85 --- /dev/null +++ b/Chart.yaml @@ -0,0 +1,20 @@ +apiVersion: v2 +name: postfixadmin +description: Helm chart for postfixadmin +type: application +version: 0.1.0 +appVersion: 3.3.10 +icon: https://a.fsdn.com/allura/p/postfixadmin/icon?1620415130 + +keywords: +- postfix +- postfixadmin + +sources: +- https://github.com/volker-raschek/postfixadmin-charts +- https://github.com/postfixadmin/postfixadmin +- https://hub.docker.com/_/postfixadmin + +maintainers: +- name: Markus Pesch + email: markus.pesch+apps@cryptic.systems \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..bf58594 --- /dev/null +++ b/LICENSE @@ -0,0 +1,13 @@ +Copyright 2021 Markus Pesch + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..d43d27e --- /dev/null +++ b/README.md @@ -0,0 +1,62 @@ +# postfixadmin-charts + +[![Build Status](https://drone.cryptic.systems/api/badges/volker.raschek/postfixadmin-charts/status.svg)](https://drone.cryptic.systems/volker.raschek/postfixadmin-charts) +[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/volker-raschek)](https://artifacthub.io/packages/search?repo=volker-raschek) + +This is an inofficial helm chart for +[postfixadmin](https://github.com/postfixadmin/postfixadmin), because the +maintainer does not provide currently an official one. + +This helm chart can be found on [artifacthub.io](https://artifacthub.io/) and +can be installed via helm. + +```bash +helm repo add volker.raschek https://charts.cryptic.systems/volker.raschek +helm install postfixadmin volker.raschek/postfixadmin +``` + +## Customization + +The list below is only an excerpt of the listed environment variables from the +used [container image](https://github.com/volker-raschek/postfixadmin-docker). + +The environment variables are composed on the key of the PHP configuration with +the prefix `POSTFIXADMIN_`. You can take an example +[configuration](https://github.com/postfixadmin/postfixadmin/blob/master/config.inc.php) +from the upstream project. + +| value | reference | +| ------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `.config.POSTFIXADMIN_ADMIN_EMAIL` | [Documentation](https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_admin_email) | +| `.config.POSTFIXADMIN_ADMIN_SMTP_PASSWORD` | [Documentation](https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_smtp_password) | +| `.config.POSTFIXADMIN_ADMIN_NAME` | [Documentation](https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_admin_name) | +| `.config.POSTFIXADMIN_DATABASE_TYPE` | [Documentation](https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_database_type) | +| `.config.POSTFIXADMIN_DATABASE_USER` | [Documentation](https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_database_user) | +| `.config.POSTFIXADMIN_DATABASE_PASSWORD` | [Documentation](https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_database_password) | +| `.config.POSTFIXADMIN_DATABASE_HOST` | [Documentation](https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_database_host) | +| `.config.POSTFIXADMIN_DATABASE_PORT` | [Documentation](https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_database_port) | +| `.config.POSTFIXADMIN_DATABASE_NAME` | [Documentation](https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_database_name) | +| `.config.POSTFIXADMIN_DEFAULT_LANGUAGE` | [Documentation](https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_default_language) | +| `.config.POSTFIXADMIN_DATABASE_USE_SSL` | [Documentation](https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_database_use_ssl) | +| `.config.POSTFIXADMIN_DATABASE_KEY` | [Documentation](https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_database_key) | +| `.config.POSTFIXADMIN_DATABASE_CERT` | [Documentation](https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_database_cert) | +| `.config.POSTFIXADMIN_DATABASE_CA` | [Documentation](https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_database_ca) | +| `.config.POSTFIXADMIN_DATABASE_PREFIX` | [Documentation](https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_database_prefix) | +| `.config.POSTFIXADMIN_ENCRYPT` | [Documentation](https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_encrypt) | +| `.config.POSTFIXADMIN_SMTP_SERVER` | [Documentation](https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_smtp_server) | +| `.config.POSTFIXADMIN_SMTP_PORT` | [Documentation](https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_smtp_port) | +| `.config.POSTFIXADMIN_SMTP_CLIENT` | [Documentation](https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_smtp_client) | +| `.config.POSTFIXADMIN_SHOW_FOOTER_TEXT` | [Documentation](https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_show_footer_text) | +| `.config.POSTFIXADMIN_FOOTER_TEXT` | [Documentation](https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_footer_text) | +| `.config.POSTFIXADMIN_FOOTER_LINK` | [Documentation](https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_footer_link) | +| `.config.POSTFIXADMIN_FETCHMAIL` | [Documentation](https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_fetchmail) | + +## Postfixadmin-Fetchmail + +As addon can be additionally the helm chart +`volker.raschek/postfixadmi-fetchmail` installed. The the `fetchmail.pl` script +has been packaged into an own container to support among others non-kubernetes +based postfixadmin instances with the `fetchmail.pl` script on kubernetes basis. + +More about the addon is documented +[here](https://github.com/volker-raschek/postfixadmin-fetchmail-charts). diff --git a/templates/_helpers.tpl b/templates/_helpers.tpl new file mode 100644 index 0000000..317991e --- /dev/null +++ b/templates/_helpers.tpl @@ -0,0 +1,62 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "postfixadmin.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "postfixadmin.fullname" -}} +{{- if .Values.fullnameOverride }} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- $name := default .Chart.Name .Values.nameOverride }} +{{- if contains $name .Release.Name }} +{{- .Release.Name | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "postfixadmin.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "postfixadmin.labels" -}} +helm.sh/chart: {{ include "postfixadmin.chart" . }} +{{ include "postfixadmin.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "postfixadmin.selectorLabels" -}} +app.kubernetes.io/name: {{ include "postfixadmin.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Create the name of the service account to use +*/}} +{{- define "postfixadmin.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "postfixadmin.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} \ No newline at end of file diff --git a/templates/postfixadmin/deployment.yaml b/templates/postfixadmin/deployment.yaml new file mode 100644 index 0000000..83f82dd --- /dev/null +++ b/templates/postfixadmin/deployment.yaml @@ -0,0 +1,60 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "postfixadmin.fullname" . }} + labels: + {{- include "postfixadmin.labels" . | nindent 4 }} +spec: + selector: + matchLabels: + {{- include "postfixadmin.selectorLabels" . | nindent 6 }} + template: + metadata: + {{- with .Values.podAnnotations }} + annotations: + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "postfixadmin.selectorLabels" . | nindent 8 }} + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + containers: + - name: {{ .Chart.Name }} + envFrom: + - secretRef: + name: {{ include "postfixadmin.fullname" . }} + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + ports: + - name: http + containerPort: 80 + protocol: TCP + livenessProbe: + httpGet: + path: / + port: http + readinessProbe: + httpGet: + path: / + port: http + resources: + {{- toYaml .Values.resources | nindent 12 }} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/templates/postfixadmin/ingress.yaml b/templates/postfixadmin/ingress.yaml new file mode 100644 index 0000000..95e2420 --- /dev/null +++ b/templates/postfixadmin/ingress.yaml @@ -0,0 +1,61 @@ +{{- if .Values.ingress.enabled -}} +{{- $fullName := include "postfixadmin.fullname" . -}} +{{- $svcPort := .Values.service.port -}} +{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }} + {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }} + {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}} + {{- end }} +{{- end }} +{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}} +apiVersion: networking.k8s.io/v1 +{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}} +apiVersion: networking.k8s.io/v1beta1 +{{- else -}} +apiVersion: extensions/v1beta1 +{{- end }} +kind: Ingress +metadata: + name: {{ $fullName }} + labels: + {{- include "postfixadmin.labels" . | nindent 4 }} + {{- with .Values.ingress.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }} + ingressClassName: {{ .Values.ingress.className }} + {{- end }} + {{- if .Values.ingress.tls }} + tls: + {{- range .Values.ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . | quote }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} + {{- end }} + rules: + {{- range .Values.ingress.hosts }} + - host: {{ .host | quote }} + http: + paths: + {{- range .paths }} + - path: {{ .path }} + {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }} + pathType: {{ .pathType }} + {{- end }} + backend: + {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} + service: + name: {{ $fullName }} + port: + number: {{ $svcPort }} + {{- else }} + serviceName: {{ $fullName }} + servicePort: {{ $svcPort }} + {{- end }} + {{- end }} + {{- end }} +{{- end }} diff --git a/templates/postfixadmin/secrets.yaml b/templates/postfixadmin/secrets.yaml new file mode 100644 index 0000000..c141c91 --- /dev/null +++ b/templates/postfixadmin/secrets.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: Secret +metadata: + name: {{ include "postfixadmin.fullname" . }} +type: Opaque +stringData: + + {{- if not (hasKey .Values "config") -}} + {{- $_ := set .Values "config" dict -}} + {{- end -}} + + {{- if not (hasKey .Values.config "POSTFIXADMIN_SETUP_PASSWORD") -}} + {{- $_ := set .Values.config "POSTFIXADMIN_SETUP_PASSWORD" (randAlphaNum 48 | quote ) -}} + {{- end -}} + + {{/* SETUP CONFIG */}} + {{ range $key, $value := .Values.config }} + {{ upper $key}}: {{ quote $value }} + {{ end }} diff --git a/templates/postfixadmin/service.yaml b/templates/postfixadmin/service.yaml new file mode 100644 index 0000000..60b58b7 --- /dev/null +++ b/templates/postfixadmin/service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ include "postfixadmin.fullname" . }} + labels: + {{- include "postfixadmin.labels" . | nindent 4 }} +spec: + type: {{ .Values.service.type }} + ports: + - port: {{ .Values.service.port }} + targetPort: http + protocol: TCP + name: http + selector: + {{- include "postfixadmin.selectorLabels" . | nindent 4 }} diff --git a/values.yaml b/values.yaml new file mode 100644 index 0000000..80c33ba --- /dev/null +++ b/values.yaml @@ -0,0 +1,204 @@ +# Default values for postfixadmin. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +image: + repository: docker.io/volkerraschek/postfixadmin + pullPolicy: Always + # Overrides the image tag whose default is the chart appVersion. + tag: "" + +imagePullSecrets: [] +nameOverride: "" +fullnameOverride: "" + +podAnnotations: {} + +podSecurityContext: {} + # fsGroup: 2000 + +securityContext: {} + # capabilities: + # drop: + # - ALL + # readOnlyRootFilesystem: true + # runAsNonRoot: true + # runAsUser: 1000 + +config: + # POSTFIXADMIN_ADMIN_EMAIL + # Define the email address of an admin via POSTFIXADMIN_ADMIN_EMAIL to send + # emails or broadcast messages in his name instead of the email address of the + # logged in admin, which wants to send an email or broadcast message about the + # PostfixAdmin interface. + # https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_admin_email + # POSTFIXADMIN_ADMIN_EMAIL: + + # POSTFIXADMIN_ADMIN_SMTP_PASSWORD + # Define the smtp password via POSTFIXADMIN_ADMIN_SMTP_PASSWORD of the admin + # which should be used to send emails or broadcast messages about the + # PostfixAdmin interface. + # https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_admin_smtp_password + # POSTFIXADMIN_ADMIN_SMTP_PASSWORD: + + # POSTFIXADMIN_ADMIN_NAME + # Define the name of the admin via POSTFIXADMIN_ADMIN_NAME which should be + # used to send emails or broadcast messages about the PostfixAdmin interface. + # https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_admin_name + # POSTFIXADMIN_ADMIN_NAME: + + # POSTFIXADMIN_DATABASE_TYPE + # PostfixAdmin support currently sqlite, postgres and mysql/mariadb. About the + # environment variable POSTFIXADMIN_DATABASE_TYPE can the backend type + # defined. + # https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_database_type + # POSTFIXADMIN_DATABASE_TYPE: + + # POSTFIXADMIN_DATABASE_USER + # The environment variable POSTFIXADMIN_DATABASE_USER is undefined and only + # required if the database backend is not sqlite. + # https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_database_user + # POSTFIXADMIN_DATABASE_USER: + + # POSTFIXADMIN_DATABASE_PASSWORD + # The environment variable POSTFIXADMIN_DATABASE_PASSWORD is undefined and + # only required if the database backend is not sqlite. + # https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_database_password + # POSTFIXADMIN_DATABASE_PASSWORD: + + # POSTFIXADMIN_DATABASE_HOST + # The environment variable POSTFIXADMIN_DATABASE_HOST is undefined and only + # required if the database backend is not sqlite + # https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_database_host + # POSTFIXADMIN_DATABASE_HOST: + + # POSTFIXADMIN_DATABASE_PORT + # The environment variable POSTFIXADMIN_DATABASE_PORT will automatically + # defined with default values when instead of sqlite an other database backend + # has been selected. + # https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_database_port + # POSTFIXADMIN_DATABASE_PORT: + + # POSTFIXADMIN_DATABASE_NAME + # The environment variable POSTFIXADMIN_DATABASE_NAME is defined by default + # with the value /var/tmp/postfixadmin.db. This is the path where the sqlite + # database is stored. If pgsql or mysqli is defined instead of sqlite as + # database backend type, can the environment variable used to define the + # database name. + # https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_database_name + # POSTFIXADMIN_DATABASE_NAME: + + # POSTFIXADMIN_DATABASE_USE_SSL + # Encrypt a database connection to an external database like postgres, mariadb + # or mysqli via SSL when POSTFIXADMIN_DATABASE_USE_SSL=true. Additionally + # should be the other SSL environment variables defined to establish + # successfully a SSL encrypted connection. + # https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_database_use_ssl + # POSTFIXADMIN_DATABASE_USE_SSL: + + # POSTFIXADMIN_DATABASE_SSL_KEY + # Via POSTFIXADMIN_DATABASE_SSL_KEY can be the path to the private key defined + # which should be used to encrypt the database connection via SSL. + # https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_database_ssl_key + # POSTFIXADMIN_DATABASE_SSL_KEY: + + # POSTFIXADMIN_DATABASE_SSL_CERT + # Via POSTFIXADMIN_DATABASE_SSL_CERT can be the path to the certificate + # defined which should be used to encrypt the database connection via SSL. + # https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_database_ssl_cert + # POSTFIXADMIN_DATABASE_SSL_CERT: + + # POSTFIXADMIN_DATABASE_SSL_CA + # Via POSTFIXADMIN_DATABASE_SSL_CA can be the path to the root certificate of + # the certificate authority defined which should be trusted to encrypt the + # database connection via SSL. + # https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_database_ssl_ca + # POSTFIXADMIN_DATABASE_SSL_CA: + + # POSTFIXADMIN_DATABASE_PREFIX + # It make much sense to use a prefix name for all PostfixAdmin related tables, + # when the tables, views and so on should be stored into a shared schema like + # public. About the environment variable POSTFIXADMIN_DATABASE_PREFIX can such + # a prefix defined. + # https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_database_prefix + # POSTFIXADMIN_DATABASE_PREFIX: + + # POSTFIXADMIN_DEFAULT_LANGUAGE + # Default language of PostfixAdmin. Checkout the official repository under + # ./languages to get a list of all supported languages. + # https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_default_language + # POSTFIXADMIN_DEFAULT_LANGUAGE: + + # POSTFIXADMIN_ENCRYPT + # Via POSTFIXADMIN_ENCRYPT can be the algorithm specified to encrypt passwords + # of users. The algorithm md5crypt is defined as default. + # https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_encrypt + # POSTFIXADMIN_ENCRYPT: + + # POSTFIXADMIN_SETUP_PASSWORD + # To login into the `setup.php` page is the setup password required. If the + # setup_password is undefined, it will be set by a random string via helm. + # https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_setup_password + # POSTFIXADMIN_SETUP_PASSWORD: + + # POSTFIXADMIN_SMTP_SERVER + # https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_smtp_server + # POSTFIXADMIN_SMTP_SERVER: + + # POSTFIXADMIN_SMTP_PORT + # https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_smtp_port + # POSTFIXADMIN_SMTP_PORT: + + # POSTFIXADMIN_SHOW_FOOTER_TEXT + # Enable or disable via YES or NO the footer text displayed on all sites. Use + # POSTFIXADMIN_FOOTER_TEXT and POSTFIX_FOOTER_LINK to customize the text. + # https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_show_footer_text + # POSTFIXADMIN_SHOW_FOOTER_TEXT: + # POSTFIXADMIN_FOOTER_TEXT: + # POSTFIXADMIN_FOOTER_LINK: + + # POSTFIXADMIN_FETCHMAIL + # Enable or disable via YES or NO the fetchmail tab. It has nothing todo with + # the fetchmail cron job. + # https://github.com/volker-raschek/postfixadmin-docker#postfixadmin_fetchmail + # POSTFIXADMIN_FETCHMAIL: + +service: + type: ClusterIP + port: 80 + +ingress: + enabled: false + className: "nginx" + annotations: + # cert-manager.io/cluster-issuer: + # cert-manager.io/issuer: + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + hosts: + - host: "your-hostname" + paths: + - path: / + pathType: ImplementationSpecific + tls: + - secretName: "your-tls-secret" + hosts: + - "your-hostname" + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +nodeSelector: {} + +tolerations: [] + +affinity: {} \ No newline at end of file