helm-chart

git clone git://archive.git.mtrnord.blog/erooster-mail/helm-chart.git
Log | Files | Refs | README

commit 3451d1ab406e53c8086360df19b64c663fbc387d
parent 79c19ed76a732ec9d7f6101ad8e83f817035d197
Author: MTRNord <mtrnord1@gmail.com>
Date:   Thu, 21 Jul 2022 17:37:46 +0200

Add spellcheck, split service and use main docker image for now

Diffstat:
A.github/workflows/spell-check.yml | 31+++++++++++++++++++++++++++++++
MREADME.md | 14+++++++-------
A_typos.toml | 7+++++++
Mtemplates/service.yaml | 26++++++++++++++++++++------
Mvalues.yaml | 9+++++----
5 files changed, 70 insertions(+), 17 deletions(-)

diff --git a/.github/workflows/spell-check.yml b/.github/workflows/spell-check.yml @@ -0,0 +1,31 @@ +name: Spell Check +on: + push: + branches: + - "main" + pull_request: + +# Declare default permissions as read only. +permissions: read-all + +jobs: + run: + permissions: + contents: read # for actions/checkout to fetch code + name: Spell Check with Typos + runs-on: ubuntu-latest + steps: + - name: Harden Runner + uses: step-security/harden-runner@bdb12b622a910dfdc99a31fdfe6f45a16bc287a4 # v1 + with: + egress-policy: block + allowed-endpoints: github.com:443 + env: + USER: runner + - name: Checkout Actions Repository + uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2 + + - name: Check spelling + uses: crate-ci/typos@927308c726b1fba730f7aaa8bde602148b82004d # master + with: + config: ${{github.workspace}}/_typos.toml diff --git a/README.md b/README.md @@ -13,13 +13,17 @@ A Helm chart for the erooster mailserver | image.pullPolicy | string | `"IfNotPresent"` | | | image.pullSecrets | list | `[]` | Optionally specify an array of imagePullSecrets. Secrets must be manually created in the namespace. ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ | | image.repository | string | `"mtrnord/erooster"` | Image location to download erooster from | -| image.tag | string | `""` | Overrides the image tag whose default is the chart appVersion. | +| image.tag | string | `"main"` | Overrides the image tag whose default is the chart appVersion. | | ingress.annotations | object | `{}` | Annotations to apply to the created ingress resource. | | ingress.className | string | `""` | Set the name of the IngressClass cluster resource (optional) | -| ingress.enableTraefikTCPIngress | bool | `false` | Enable ingress for the mail ports (Only supporting traefik) | | ingress.enabled | bool | `false` | Enable the ingress | | ingress.hosts | list | `[{"host":"chart-example.local","paths":[{"path":"/","pathType":"ImplementationSpecific"}]}]` | Hosts to listen on. | | ingress.tls | list | `[]` | TLS Secrets for this domain. This is required to match the tls secret for the server itself. | +| mailService.imapEncryptedPort | int | `993` | Port for the imap server (encrypted) | +| mailService.imapPort | int | `143` | Port for the imap server (unencrypted) | +| mailService.smtpEncryptedPort | int | `465` | Port for the smtp server (encrypted) | +| mailService.smtpPort | int | `25` | Port for the smtp server (unencrypted) | +| mailService.type | string | `"Loadbalancer"` | Type of the Mail Service | | nameOverride | string | `""` | Override part of the installed name, will still keep release name. | | nodeSelector | object | `{}` | | | podAnnotations | object | `{}` | Additional annotations for the pods | @@ -28,11 +32,7 @@ A Helm chart for the erooster mailserver | resources | object | `{}` | Setup resource limits and requests | | securityContext | object | `{}` | Security context for the deployment | | service.httpPort | int | `80` | Port for the http server | -| service.imapEncryptedPort | int | `993` | Port for the imap server (encrypted) | -| service.imapPort | int | `143` | Port for the imap server (unencrypted) | -| service.smtpEncryptedPort | int | `465` | Port for the smtp server (encrypted) | -| service.smtpPort | int | `25` | Port for the smtp server (unencrypted) | -| service.type | string | `"ClusterIP"` | Type of the Serive | +| service.type | string | `"ClusterIP"` | Type of the HTTP Service | | tolerations | list | `[]` | | ---------------------------------------------- diff --git a/_typos.toml b/_typos.toml @@ -0,0 +1,7 @@ +[files] +extend-exclude = [] + +[default] +locale = "en" + +[default.extend-words] diff --git a/templates/service.yaml b/templates/service.yaml @@ -1,7 +1,8 @@ +--- apiVersion: v1 kind: Service metadata: - name: {{ include "erooster.fullname" . }} + name: {{ include "erooster.fullname" . }}-http labels: {{- include "erooster.labels" . | nindent 4 }} spec: @@ -11,17 +12,29 @@ spec: targetPort: http protocol: TCP name: http - - port: {{ .Values.service.smtpPort }} + selector: + {{- include "erooster.selectorLabels" . | nindent 4 }} +--- +apiVersion: v1 +kind: Service +metadata: + name: {{ include "erooster.fullname" . }}-mail + labels: + {{- include "erooster.labels" . | nindent 4 }} +spec: + type: {{ .Values.mailService.type }} + ports: + - port: {{ .Values.mailService.smtpPort }} targetPort: smtp name: smtp - - port: {{ .Values.service.smtpEncryptedPort }} + - port: {{ .Values.mailService.smtpEncryptedPort }} targetPort: smtp-encrypted name: smtp-encrypted - - port: {{ .Values.service.imapPort }} + - port: {{ .Values.mailService.imapPort }} targetPort: imap name: imap - - port: {{ .Values.service.imapEncryptedPort }} + - port: {{ .Values.mailService.imapEncryptedPort }} targetPort: imap-encrypted name: imap-encrypted selector: - {{- include "erooster.selectorLabels" . | nindent 4 }} + {{- include "erooster.selectorLabels" . | nindent 4 }} +\ No newline at end of file diff --git a/values.yaml b/values.yaml @@ -8,7 +8,7 @@ image: repository: mtrnord/erooster pullPolicy: IfNotPresent # -- Overrides the image tag whose default is the chart appVersion. - tag: "" + tag: "main" # -- Optionally specify an array of imagePullSecrets. # Secrets must be manually created in the namespace. # ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ @@ -38,10 +38,13 @@ securityContext: # runAsUser: 1000 service: - # -- Type of the Serive + # -- Type of the HTTP Service type: ClusterIP # -- Port for the http server httpPort: 80 +mailService: + # -- Type of the Mail Service + type: Loadbalancer # -- Port for the smtp server (unencrypted) smtpPort: 25 # -- Port for the smtp server (encrypted) @@ -54,8 +57,6 @@ service: ingress: # -- Enable the ingress enabled: false - # -- Enable ingress for the mail ports (Only supporting traefik) - enableTraefikTCPIngress: false # -- Set the name of the IngressClass cluster resource (optional) className: "" # -- Annotations to apply to the created ingress resource.