mirror of
https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk.git
synced 2025-12-06 15:31:38 +01:00
chore: Allow configuring a separate mail domain
This commit is contained in:
committed by
Dominik Kaminski
parent
b9ac5ecf2d
commit
4a2801c8a0
19
docs/ci.md
19
docs/ci.md
@@ -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.
|
||||||
|
|||||||
@@ -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`.
|
||||||
|
|||||||
@@ -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 }}
|
||||||
|
|||||||
@@ -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 }}
|
||||||
|
|||||||
Reference in New Issue
Block a user