This commit is contained in:
commit
aeaae484d3
101
.drone.yml
Normal file
101
.drone.yml
Normal file
@ -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
|
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
*.tgz
|
||||
values2.yml
|
||||
values2.yaml
|
32
.helmignore
Normal file
32
.helmignore
Normal file
@ -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
|
144
.markdownlint.yaml
Normal file
144
.markdownlint.yaml
Normal file
@ -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"
|
20
Chart.yaml
Normal file
20
Chart.yaml
Normal file
@ -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
|
13
LICENSE
Normal file
13
LICENSE
Normal file
@ -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.
|
62
README.md
Normal file
62
README.md
Normal file
@ -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).
|
62
templates/_helpers.tpl
Normal file
62
templates/_helpers.tpl
Normal file
@ -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 }}
|
60
templates/postfixadmin/deployment.yaml
Normal file
60
templates/postfixadmin/deployment.yaml
Normal file
@ -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 }}
|
61
templates/postfixadmin/ingress.yaml
Normal file
61
templates/postfixadmin/ingress.yaml
Normal file
@ -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 }}
|
19
templates/postfixadmin/secrets.yaml
Normal file
19
templates/postfixadmin/secrets.yaml
Normal file
@ -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 }}
|
15
templates/postfixadmin/service.yaml
Normal file
15
templates/postfixadmin/service.yaml
Normal file
@ -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 }}
|
204
values.yaml
Normal file
204
values.yaml
Normal file
@ -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: {}
|
Loading…
Reference in New Issue
Block a user