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>
This page will cover openDesk automation via Gitlab CI.
This page covers openDesk deployment automation via Gitlab CI.
<!-- TOC -->
* [Deployment](#deployment)
@@ -13,29 +13,30 @@ This page will cover openDesk automation via Gitlab CI.
# 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.
- `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`
Based on your input, the following variables will be set:
- `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
`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
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.
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:
`<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.

View File

@@ -77,6 +77,20 @@ or via environment variable
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
All available apps and their default value can be found in `helmfile/environments/default/workplace.yaml`.

View File

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

View File

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