chore: Allow configuring a separate mail domain

This commit is contained in:
René Fischer
2024-04-18 18:01:52 +02:00
committed by Dominik Kaminski
parent b9ac5ecf2d
commit 4a2801c8a0
4 changed files with 29 additions and 13 deletions

View File

@@ -4,7 +4,7 @@ SPDX-License-Identifier: Apache-2.0
--> -->
<h1>CI/CD</h1> <h1>CI/CD</h1>
This page will cover openDesk automation via Gitlab CI. This page covers openDesk deployment automation via Gitlab CI.
<!-- TOC --> <!-- TOC -->
* [Deployment](#deployment) * [Deployment](#deployment)
@@ -13,29 +13,30 @@ This page will cover openDesk automation via Gitlab CI.
# Deployment # Deployment
The project includes a `.gitlab-ci.yml` that allows you to execute the deployment from a Gitlab instance of your choice. The project includes a `.gitlab-ci.yml` that allows you to execute the deployment from a GitLab instance of your choice.
When starting the pipeline through the Gitlab UI, you will be queried for some variables plus the following ones: When starting the pipeline through the GitLab UI, you will be queried for some variables plus the following ones:
- `DOMAIN` = The domain to deploy to. - `DOMAIN` = The domain to deploy to.
- `NAMESPACE`: Defines into which namespace of your K8s cluster the SWP will be installed - `MAIL_DOMAIN` = The mail domain to use.
- `NAMESPACE`: Defines into which namespace of your K8s cluster openDesk will be installed
- `MASTER_PASSWORD_WEB_VAR`: Overwrites value of `MASTER_PASSWORD` - `MASTER_PASSWORD_WEB_VAR`: Overwrites value of `MASTER_PASSWORD`
Based on your input, the following variables will be set: Based on your input, the following variables will be set:
- `MASTER_PASSWORD` = `MASTER_PASSWORD_WEB_VAR`. If `MASTER_PASSWORD_WEB_VAR` - `MASTER_PASSWORD` = `MASTER_PASSWORD_WEB_VAR`. If `MASTER_PASSWORD_WEB_VAR`
is not set, the default for `MASTER_PASSWORD` will be used, unless you set is not set, the default for `MASTER_PASSWORD` will be used, unless you set
`MASTER_PASSWORD` as a masked CI/CD variable in Gitlab to supersede the default. `MASTER_PASSWORD` as a masked CI/CD variable in GitLab to supersede the default.
You might want to set credential variables in the Gitlab project at `Settings` > `CI/CD` > `Variables`. You might want to set credential variables in the GitLab project at `Settings` > `CI/CD` > `Variables`.
# Tests # Tests
The gitlab-ci pipeline contains a job named `run-tests` that can trigger a test suite pipeline on another gitlab project. The GitLab CI pipeline contains a job named `run-tests` that can trigger a test suite pipeline on another GitLab project.
The `DEPLOY_`-variables are used to determine which components should be tested. The `DEPLOY_`-variables are used to determine which components should be tested.
In order for the trigger to work, the variable `TESTS_PROJECT_URL` has to be set on this gitlab project's CI variables In order for the trigger to work, the variable `TESTS_PROJECT_URL` has to be set on this GitLab project's CI variables
that can be found at `Settings` -> `CI/CD` -> `Variables`. The variable should have this format: that can be found at `Settings` -> `CI/CD` -> `Variables`. The variable should have this format:
`<domain of gitlab>/api/v4/projects/<id>`. `<domain of gitlab>/api/v4/projects/<id>`.
If the branch of the test pipeline is not `main` this can be set with the .gitlab-ci.yml variable If the branch of the test pipeline is not `main` this can be set with the `.gitlab-ci.yml` variable
`TESTS_BRANCH` while creating a new pipeline. `TESTS_BRANCH` while creating a new pipeline.

View File

@@ -77,6 +77,20 @@ or via environment variable
export DOMAIN=my.open.desk export DOMAIN=my.open.desk
``` ```
If the mail domain differs from the domain, the mail
domain has to be set either via `dev` environment
```yaml
global:
mail_domain: "open.desk"
```
or via environment variable
```shell
export MAIL_DOMAIN=open.desk
```
### Apps ### Apps
All available apps and their default value can be found in `helmfile/environments/default/workplace.yaml`. All available apps and their default value can be found in `helmfile/environments/default/workplace.yaml`.

View File

@@ -41,7 +41,7 @@ podSecurityContext:
postfix: postfix:
amavisHost: "" amavisHost: ""
amavisPortIn: "" amavisPortIn: ""
domain: {{ .Values.global.domain | quote }} domain: {{ .Values.global.mailDomain | quote }}
hostname: "postfix" hostname: "postfix"
inetProtocols: "ipv4" inetProtocols: "ipv4"
milterDefaultAction: "accept" milterDefaultAction: "accept"
@@ -67,7 +67,7 @@ postfix:
{{- else if .Values.clamavSimple.enabled }} {{- else if .Values.clamavSimple.enabled }}
smtpdMilters: "inet:clamav-simple:7357" smtpdMilters: "inet:clamav-simple:7357"
{{- end }} {{- end }}
virtualMailboxDomains: {{ .Values.global.domain | quote }} virtualMailboxDomains: {{ .Values.global.mailDomain | quote }}
virtualTransport: "lmtps:dovecot:24" virtualTransport: "lmtps:dovecot:24"
replicaCount: {{ .Values.replicas.postfix }} replicaCount: {{ .Values.replicas.postfix }}

View File

@@ -6,6 +6,7 @@ global:
configMapUcr: "ums-stack-data-swp-ucr" configMapUcr: "ums-stack-data-swp-ucr"
configMapUcrForced: null configMapUcrForced: null
domain: {{ .Values.global.domain | quote }} domain: {{ .Values.global.domain | quote }}
mailDomain: {{ .Values.global.mailDomain | quote }}
imagePullSecrets: imagePullSecrets:
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }} {{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
@@ -609,7 +610,7 @@ stack-data-ums:
# The openDesk configuration brings its own UMC policies. # The openDesk configuration brings its own UMC policies.
installUmcPolicies: false installUmcPolicies: false
domainname: {{ .Values.global.domain | quote }} domainname: {{ .Values.global.domain | quote }}
externalMailDomain: {{ .Values.global.domain | quote }} externalMailDomain: {{ .Values.global.mailDomain | quote }}
hostname: {{ .Values.global.hosts.univentionManagementStack | quote }} hostname: {{ .Values.global.hosts.univentionManagementStack | quote }}
ldapHost: {{ .Values.ldap.host | quote }} ldapHost: {{ .Values.ldap.host | quote }}
ldapBase: {{ .Values.ldap.baseDn | quote }} ldapBase: {{ .Values.ldap.baseDn | quote }}
@@ -650,7 +651,7 @@ stack-data-swp:
{{- end }} {{- end }}
externalDomainName: {{ .Values.global.domain | quote }} externalDomainName: {{ .Values.global.domain | quote }}
externalMailDomain: {{ .Values.global.domain | quote }} externalMailDomain: {{ .Values.global.mailDomain | quote }}
portalGroupwareLinkBase: {{ printf "https://%s.%s" .Values.global.hosts.openxchange .Values.global.domain | quote }} portalGroupwareLinkBase: {{ printf "https://%s.%s" .Values.global.hosts.openxchange .Values.global.domain | quote }}
portalFileshareLinkBase: {{ printf "https://%s.%s" .Values.global.hosts.nextcloud .Values.global.domain | quote }} portalFileshareLinkBase: {{ printf "https://%s.%s" .Values.global.hosts.nextcloud .Values.global.domain | quote }}