Compare commits

...

7 Commits

63 changed files with 1062 additions and 1132 deletions

View File

@@ -26,6 +26,7 @@ stages:
- ".pre" - ".pre"
- "scan" - "scan"
- "automr" - "automr"
- "renovate"
- "lint" - "lint"
- "env-cleanup" - "env-cleanup"
- "env" - "env"
@@ -34,7 +35,6 @@ stages:
- "component-deploy-stage-2" - "component-deploy-stage-2"
- "tests" - "tests"
- "env-stop" - "env-stop"
- "generate-release-assets"
- ".post" - ".post"
variables: variables:
@@ -132,6 +132,12 @@ variables:
options: options:
- "yes" - "yes"
- "no" - "no"
RUN_RENOVATE:
description: "Triggers the Renovate based check for dependency updates."
value: "no"
options:
- "yes"
- "no"
RUN_TESTS: RUN_TESTS:
description: "Triggers execution of E2E-tests." description: "Triggers execution of E2E-tests."
value: "yes" value: "yes"
@@ -508,34 +514,6 @@ avscan-start:
job: "avscan-prepare" job: "avscan-prepare"
strategy: "depend" strategy: "depend"
generate-release-assets:
stage: "generate-release-assets"
image: "registry.souvap-univention.de/souvap/tooling/images/ansible:4.10.0"
rules:
- if: >
$JOB_AVSCAN_ENABLED != 'false' &&
$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH &&
$CI_PIPELINE_SOURCE =~ "push|merge_request_event"
when: "on_success"
- when: "never"
script:
- |
git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@${CI_SERVER_HOST}/${ASSET_GENERATOR_REPO_PATH}
cd opendesk-asset-generator
export OPENDESK_DEPLOYMENT_AUTOMATION_PATH=${CI_PROJECT_DIR}
./opendesk_asset_generator.py
mv ./build_artefacts ${CI_PROJECT_DIR}
cd ..
rm -rf opendesk-asset-generator
ls -l ./build_artefacts
artifacts:
paths:
- "./build_artefacts/chart-index.json"
- "./build_artefacts/image-index.json"
tags: []
variables:
ASSET_GENERATOR_REPO_PATH: "bmi/opendesk/tooling/opendesk-asset-generator"
# Declare .environments which is in environments repository. In case it is not available # Declare .environments which is in environments repository. In case it is not available
# 'cache' is used because job must contain at least one key, so cache is just a dummy key. # 'cache' is used because job must contain at least one key, so cache is just a dummy key.
.environments: .environments:
@@ -565,6 +543,19 @@ reuse-linter:
when: "never" when: "never"
- when: "always" - when: "always"
renovate:
rules:
- if: $RUN_RENOVATE == "yes"
when: "on_success"
image: "ghcr.io/renovatebot/renovate:37.59.7@sha256:a0dd48947ca03d9088ff7bfdcf689a5cc3c1eb9522d5ff87d14636b5ad60a3dc"
variables:
RENOVATE_CONFIG_FILE: "${CI_PROJECT_DIR}/.renovate/config.yaml"
RENOVATE_ENDPOINT: "${CI_API_V4_URL}"
RENOVATE_LOG_FILE_LEVEL: "debug"
script:
- "renovate ${RENOVATE_EXTRA_FLAGS}"
stage: "renovate"
generate-release-version: generate-release-version:
rules: rules:
- if: > - if: >
@@ -574,8 +565,6 @@ generate-release-version:
when: "on_success" when: "on_success"
release: release:
dependencies:
- "generate-release-assets"
rules: rules:
- if: > - if: >
$JOB_AVSCAN_ENABLED != 'false' && $JOB_AVSCAN_ENABLED != 'false' &&
@@ -609,16 +598,7 @@ release:
{ {
"branches": ["main"], "branches": ["main"],
"plugins": [ "plugins": [
["@semantic-release/gitlab", "@semantic-release/gitlab",
{
"assets": [
{ "path": "./build_artefacts/chart-index.json",
"label": "Chart Index JSON" },
{ "path": "./build_artefacts/image-index.json",
"label": "Image Index JSON" },
]
}
],
"@semantic-release/release-notes-generator", "@semantic-release/release-notes-generator",
"@semantic-release/changelog", "@semantic-release/changelog",
["@semantic-release/git", { ["@semantic-release/git", {
@@ -637,6 +617,5 @@ release:
EOF EOF
- "semantic-release" - "semantic-release"
needs: needs:
- "generate-release-assets"
- "generate-docs" - "generate-docs"
... ...

81
.renovate/config.yaml Normal file
View File

@@ -0,0 +1,81 @@
# SPDX-FileCopyrightText: 2024 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
# SPDX-License-Identifier: Apache-2.0
---
# Platform type of repository
platform: "gitlab"
# Enable oboarding merge request
onboarding: false
# If set to true: keep repository data between runs instead of deleting the data
persistRepoData: true
# Controls Renovate's behavior regarding repository config files such as renovate.json
requireConfig: "ignored"
# List of Repositories
# See: https://docs.renovatebot.com/configuration-options/
repositories:
- repository: ""
# Prefix to use for all branch names created by renovate bot (default: "renovate/")
branchPrefix: "renovate/"
# Lowercase merge request and commit titles ("never" = leave titles untouched )
commitMessageLowerCase: "never"
# Commit scope to use if Semantic Commits are enabled (fix(<scope>)...)
semanticCommitScope: "ci"
# Commit type to use if Semantic Commits are enabled (default: "chore")
semanticCommitType: "chore"
# Include package files only within these defined paths
includePaths:
- "helmfile/environments/default/images.yaml"
- "helmfile/environments/default/charts.yaml"
customManagers:
- customType: "regex"
fileMatch:
- "helmfile/environments/default/images.yaml"
datasourceTemplate: "docker"
matchStrings:
- >
# yamllint disable rule:line-length
providerCategory: ["|']?(?<providerCategory>.+?)["|']?\n(?:.|\n|\r)+ registry: ["|']?(?<registryUrl>.+?)["|']?\n(?:.|\n|\r)+ repository: ["|']?(?<depName>.+?)["|']?\n(?:.|\n|\r)+ tag: ["|']?(?<currentValue>[^@]+)@(?<currentDigest>sha256:[a-f0-9]+)["|']
- customType: "regex"
fileMatch:
- "helmfile/environments/default/charts.yaml"
matchStrings:
- >
# yamllint disable rule:quoted-strings
providerCategory: ["|']?(?<providerCategory>.+?)["|']?\n(?:.|\n|\r)+ registry: ["|']?(?<registryUrl>.+?)["|']?\n(?:.|\n|\r)+ repository: ["|']?(?<depName>.+?)["|']?\n(?:.|\n|\r)+ name: ["|']?(?<FIGURE_THAT_OUT>.+?)["|']?\n(?:.|\n|\r)+ version: ["|']?(?<currentValue>.+?)["|']?
# Rules for matching packages
packageRules:
- matchDatasources: "docker"
matchDepTypes:
- "external"
groupName: "external-dependencies"
- matchDatasources: "docker"
matchDepTypes:
- "supplier"
groupName: "supplier-dependencies"
- matchDatasources: "docker"
matchDepTypes:
- "platform"
groupName: "platform-dependencies"
- matchDatasources: "helm"
matchDepTypes:
- "external"
groupName: "external-dependencies"
- matchDatasources: "helm"
matchDepTypes:
- "supplier"
groupName: "supplier-dependencies"
- matchDatasources: "helm"
matchDepTypes:
- "platform"
groupName: "platform-dependencies"
# Add merge request labels
labels:
- "renovate"
- "dependencies"
# Enable custom regex manager only
enabledManagers:
- "custom.regex"
...

View File

@@ -11,6 +11,7 @@ SPDX-License-Identifier: Apache-2.0
* [Requirements](#requirements) * [Requirements](#requirements)
* [Getting started](#getting-started) * [Getting started](#getting-started)
* [Advanced customization](#advanced-customization) * [Advanced customization](#advanced-customization)
* [Development](#development)
* [Releases](#releases) * [Releases](#releases)
* [Components](#components) * [Components](#components)
* [Feedback](#feedback) * [Feedback](#feedback)
@@ -27,14 +28,14 @@ Aufbau ZenDiS" of Germany's Federal Ministry of the Interior.
openDesk currently features the following functional main components: openDesk currently features the following functional main components:
| Function | Functional Component | Component<br/>Version | Upstream Documentation | | Function | Functional Component | Component<br/>Version | Upstream Documentation |
| -------------------- | --------------------------- | --------------------- | ----------------- | | -------------------- | --------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| Chat & collaboration | Element ft. Nordeck widgets | [1.11.52](https://github.com/element-hq/element-desktop/blob/develop/CHANGELOG.md#changes-in-11152-2023-12-19) | [For the most recent release](https://element.io/user-guide) | | Chat & collaboration | Element ft. Nordeck widgets | [1.11.52](https://github.com/element-hq/element-desktop/blob/develop/CHANGELOG.md#changes-in-11152-2023-12-19) | [For the most recent release](https://element.io/user-guide) |
| Diagram editor | Cryptpad ft. diagrams.net | [5.6.0](https://github.com/cryptpad/cryptpad/releases/tag/5.6.0) | [For the most recent release](https://docs.cryptpad.org/en/) | | Diagram editor | Cryptpad ft. diagrams.net | [5.6.0](https://github.com/cryptpad/cryptpad/releases/tag/5.6.0) | [For the most recent release](https://docs.cryptpad.org/en/) |
| File management | Nextcloud | [28.0.2](https://nextcloud.com/de/changelog/#28-0-2) | [Nextcloud 28](https://docs.nextcloud.com/) | | File management | Nextcloud | [28.0.2](https://nextcloud.com/de/changelog/#28-0-2) | [Nextcloud 28](https://docs.nextcloud.com/) |
| Groupware | OX Appsuite | [8.20](https://documentation.open-xchange.com/appsuite/releases/8.20/) | Online documentation available from within the installed application; [Additional resources](https://www.open-xchange.com/resources/oxpedia) | | Groupware | OX Appsuite | [8.20](https://documentation.open-xchange.com/appsuite/releases/8.20/) | Online documentation available from within the installed application; [Additional resources](https://www.open-xchange.com/resources/oxpedia) |
| Knowledge management | XWiki | [15.10.4](https://www.xwiki.org/xwiki/bin/view/Blog/XWiki15104Released) | [For the most recent release](https://www.xwiki.org/xwiki/bin/view/Documentation) | | Knowledge management | XWiki | [15.10.4](https://www.xwiki.org/xwiki/bin/view/Blog/XWiki15104Released) | [For the most recent release](https://www.xwiki.org/xwiki/bin/view/Documentation) |
| Portal & IAM | Nubus | Product Preview[^1] | [Univention's documentation website](https://docs.software-univention.de/n/en/index.html) | | Portal & IAM | Nubus | Product Preview[^1] | [Univention's documentation website](https://docs.software-univention.de/n/en/index.html) |
| Project management | OpenProject | [13.3.0](https://www.openproject.org/docs/release-notes/13-3-0/) | [For the most recent release](https://www.openproject.org/docs/user-guide/) | | Project management | OpenProject | [13.3.1](https://www.openproject.org/docs/release-notes/13-3-1/) | [For the most recent release](https://www.openproject.org/docs/user-guide/) |
| Videoconferencing | Jitsi | [2.0.8922](https://github.com/jitsi/jitsi-meet/releases/tag/stable%2Fjitsi-meet_8922) | [For the most recent release](https://jitsi.github.io/handbook/docs/category/user-guide/) | | Videoconferencing | Jitsi | [2.0.8922](https://github.com/jitsi/jitsi-meet/releases/tag/stable%2Fjitsi-meet_8922) | [For the most recent release](https://jitsi.github.io/handbook/docs/category/user-guide/) |
| Weboffice | Collabora | [23.05.9.1.1](https://www.collaboraoffice.com/collabora-online-23-05-release-notes/) | Online documentation available from within the installed application; [Additional resources](https://sdk.collaboraonline.com/) | | Weboffice | Collabora | [23.05.9.1.1](https://www.collaboraoffice.com/collabora-online-23-05-release-notes/) | Online documentation available from within the installed application; [Additional resources](https://sdk.collaboraonline.com/) |
@@ -76,6 +77,10 @@ Of course, further development also includes enhancing the documentation itself.
- [Monitoring](./docs/monitoring.md) - [Monitoring](./docs/monitoring.md)
- [Theming](./docs/theming.md) - [Theming](./docs/theming.md)
# Development
⟶ To understand the repository contents from a developer perspective please read the [Development](./docs/development.md) guide.
# Releases # Releases
All technical releases are created using [Semantic Versioning](https://semver.org/lang/de/). All technical releases are created using [Semantic Versioning](https://semver.org/lang/de/).
@@ -84,9 +89,10 @@ Gitlab provides an
[overview on the releases](https://gitlab.opencode.de/bmi/opendesk/deployment/sovereign-workplace/-/releases) [overview on the releases](https://gitlab.opencode.de/bmi/opendesk/deployment/sovereign-workplace/-/releases)
of this project. of this project.
The following release artefacts are provided beside the default source code assets: Please find a list of the artefacts related to the release either in the source code archive attached to the release or
- `chart-index.json`: An overview of all Helm charts used by the release. in the files from the release's git-tag:
- `image-index.json`: An overview of all container images used by the release. - `./helmfile/environments/default/images.yaml`
- `./helmfile/environments/default/charts.yaml`
⟶ Visit our detailed [Workflow](./docs/workflow.md) docs. ⟶ Visit our detailed [Workflow](./docs/workflow.md) docs.
@@ -102,7 +108,7 @@ Related to the deployment / contents of this repository,
please use the [issues within this project](https://gitlab.opencode.de/bmi/opendesk/deployment/sovereign-workplace/-/issues). please use the [issues within this project](https://gitlab.opencode.de/bmi/opendesk/deployment/sovereign-workplace/-/issues).
If you want to address other topics, please check the section If you want to address other topics, please check the section
["Rückmeldungen und Beteiligung" of the Infos' project OVERVIEW.md](https://gitlab.opencode.de/bmi/opendesk/info/-/blob/main/OVERVIEW.md#rückmeldungen-und-beteiligung). ["Rückmeldungen und Beteiligung" in the OVERVIEW.md](https://gitlab.opencode.de/bmi/opendesk/info/-/blob/main/OVERVIEW.md#rückmeldungen-und-beteiligung) of the [openDesk Info Repository](https://gitlab.opencode.de/bmi/opendesk/info).
# License # License

View File

@@ -73,7 +73,7 @@ flowchart TD
## Intercom Service (ICS) ## Intercom Service (ICS)
The UCS Intercom Service's role is to enable cross-application integration based on browser interaction. The Univention Intercom Service's role is to enable cross-application integration based on browser interaction.
Handling authentication when the frontend of an application is using the API from another application is often a Handling authentication when the frontend of an application is using the API from another application is often a
challenge. challenge.
For more details on the ICS please refer to its own [doc](./components/intercom-service.md). For more details on the ICS please refer to its own [doc](./components/intercom-service.md).

141
docs/development.md Normal file
View File

@@ -0,0 +1,141 @@
<!--
SPDX-FileCopyrightText: 2024 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
SPDX-License-Identifier: Apache-2.0
-->
<h1>Developing openDesk deployment automation</h1>
Active development on the deployment is currently only available for project members.
But contributions will be possible soon once the CLA process is sorted out.
* [Overview](#overview)
* [Default branch, `develop` and other branches](#default-branch-develop-and-other-branches)
* [External artefacts - `charts.yaml` and `images.yaml`](#external-artefacts---chartsyaml-and-imagesyaml)
* [Linting](#linting)
* [Renovate](#renovate)
* [Mirroring](#mirroring)
* [Get new artefacts mirrored](#get-new-artefacts-mirrored)
* [Creating new charts / images](#creating-new-charts--images)
# Overview
The following sketch provides an high level overview to get a basic understanding of the deployment relevant
structure of this repository. An understanding of that structure is vital if you want to contribute to
the development of the deployment automation of openDesk.
```mermaid
flowchart TD
A[./helmfile.yaml]-->B[./helmfile/apps/*all_configured_apps*/helmfile.yaml\nReferences the relevant app Helm\ncharts using details from 'charts.yaml']
B-->C[./values-*all_configured_components*.yaml.gotmpl\nValues to template the charts\nwith references to the `images.yaml`]
A-->D[./helmfile/environments/default/*\nwith just some examples below]
D-->F[charts.yaml]
D-->G[images.yaml]
D-->H[global.*]
D-->I[secrets.yaml\nreplicas.yaml\nresources.yaml\n...]
A-->|overwrite defaults with\nyour environment specific values|E[./helmfile/environments/*your_environment*/values.yaml.gotmpl]
```
The `helmfile.yaml` in the root folder is the basis for the whole deployment. It references the app specific `helmfile.yaml` files as well as some
global values files in `./environments/default`. It allows you to overwrite defaults by using one of the three predefined environments `dev`, `test`
and `prod`.
Before you look into any app specifc configuration it is recommended to review the contents of `./environments/default` to get an understanding of what
details are maintained in there, as they are usually referenced by the app configurations.
# Default branch, `develop` and other branches
The `main` branch is configured to be the default branch, as visitors of the project on Open CoDE should see that
branch by default.
Please use the `develop` branch to diverge your own branch(es) from. See the [workflow guide](./workflow.md)
for more details on naming conventions.
There is a CI bot that automatically creates a merge request once you initially pushed your branch to Open CoDE.
The merge request will of course target the `develop` branch, be in status `draft` and have you as assignee.
In case you do not plan to actually merge from the branch you have pushed, please close or delete the autocreated MR.
# External artefacts - `charts.yaml` and `images.yaml`
The `charts.yaml` and `images.yaml` are the central place to reference external artefacts that are used for the deployment.
Beside the deployment automation itself some tools work with the contents of the files:
- **Linting**: Ensures consistency of the file contents for the other tools.
- **Renovate**: Automatically create MRs that update the components to their latest version.
- **Mirror**: Mirror artefacts to Open CoDE.
Please find details on these tools below.
## Linting
In the project's CI there is a step dedicated to lint the two yaml files, as we want them to be in
- alphabetical order regarding the components and
- in a logical order regarding the non-commented lines (registry > repository > tag).
In the linting step the [openDesk CI CLI](https://gitlab.opencode.de/bmi/opendesk/tooling/opendesk-ci-cli) is used to apply the
just mentioned sorting and the result is compared with the unsorted version. If there is a delta the linting fails and you probably
want to fix it by running the CLI tool locally.
**Note**: Please ensure that in component blocks you use comments only at the beginning of the block or at its end. Ideally you just stick
with the many available examples in the yaml files.
Example:
```
synapse:
# providerCategory: 'Supplier'
# providerResponsible: 'Element'
# upstreamRegistry: 'registry-1.docker.io'
# upstreamRepository: 'matrixdotorg/synapse'
# upstreamMirrorTagFilterRegEx: '^v(\d+)\.(\d+)\.(\d+)$'
# upstreamMirrorStartFrom: ['1', '91', '2']
registry: "registry.opencode.de"
repository: "bmi/opendesk/components/supplier/element/images-mirror/synapse"
tag: "v1.91.2@sha256:1d19508db417bb2b911c8e086bd3dc3b719ee75c6f6194d58af59b4c32b11322"
```
## Renovate
- See also: https://gitlab.opencode.de/bmi/opendesk/tooling/renovate-opencode
Uses a regular expression to match the values of the attributes
- `# upstreamRegistry`
- `# upstreamRepository`
- `tag`
check for newer versions of the given artefact and create a MR containing the newest version's tag (and digest).
## Mirroring
- See also: https://gitlab.opencode.de/bmi/opendesk/tooling/oci-pull-mirror
**Note:** The mirror is scheduled to run every hour at 42 minutes past the hour.
openDesk strives to make all relevant artefacts available on Open CoDE so there is the mirroring process
configured to pull artefacts that do not originate from Open CoDE into projects called `*-Mirror` within the
[openDesk Components section](https://gitlab.opencode.de/bmi/opendesk/components).
The mirror script takes the information on what artefacts to mirror from the annotation inside the two yaml files:
- `# upstreamRegistry` *required*: To identify the source registry
- `# upstreamRepository` *required*: To identify the source repository
- `# upstreamMirrorTagFilterRegEx` *required*: If this annotation is set it activates the mirror for the component. Only tags are being mirrored that match the given regular expression.
- `# upstreamMirrorStartFrom` *optional*: Array of numeric values in case you want to mirror only artefacts beginning with a specific version. You must use capturing groups
in `# upstreamMirrorTagFilterRegEx` to identify the single numeric elements of the version within the tag and use per capturing group (left to right) one numeric array
element here to define the version the mirror should start with.
### Get new artefacts mirrored
If you want new images or charts to be mirrored that are not yet included in one of the yaml files there are two options:
You include them in your branch with all required annotations and either
1. ask somebody from the platform development team to trigger the mirror's CI based on your branch or
2. you get your branch merged to `develop` already.
# Creating new charts / images
When you create new Helm charts please check out the
[openDesk Best Practises](https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-best-practises)
for Helm charts.
You may also want to make use of our [standard CI](https://gitlab.opencode.de/bmi/opendesk/tooling/gitlab-config) to
easily get Charts and Images that are signed, linted, scanned and released.
Check out the `.gitlab-ci.yaml` files in the project's [Charts](https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts) or [Images](https://gitlab.opencode.de/bmi/opendesk/components/platform-development/images) to get an idea how little you need to do yourself.

View File

@@ -82,7 +82,6 @@ openDesk certificate management disabled.
Evaluation the openDesk deployment does not require any external service to start, but features may be limited. Evaluation the openDesk deployment does not require any external service to start, but features may be limited.
| Group | Type | Version | Tested against | | Group | Type | Version | Tested against |
|----------|---------------------|---------|-----------------------| |----------|---------------------|---------|-----------------------|
| Cache | Memached | `1.6.x` | Memached | | Cache | Memached | `1.6.x` | Memached |

View File

@@ -19,9 +19,9 @@ grafana:
dashboards: dashboards:
enabled: {{ .Values.grafana.dashboards.enabled }} enabled: {{ .Values.grafana.dashboards.enabled }}
labels: labels:
{{- toYaml .Values.grafana.dashboards.labels | nindent 6 }} {{ .Values.grafana.dashboards.labels | toYaml | nindent 6 }}
annotations: annotations:
{{- toYaml .Values.grafana.dashboards.annotations | nindent 6 }} {{ .Values.grafana.dashboards.annotations | toYaml | nindent 6 }}
image: image:
repository: "{{ .Values.global.imageRegistry | default .Values.images.collabora.registry }}/{{ .Values.images.collabora.repository }}" repository: "{{ .Values.global.imageRegistry | default .Values.images.collabora.registry }}/{{ .Values.images.collabora.repository }}"
@@ -90,11 +90,11 @@ prometheus:
servicemonitor: servicemonitor:
enabled: {{ .Values.prometheus.serviceMonitors.enabled }} enabled: {{ .Values.prometheus.serviceMonitors.enabled }}
labels: labels:
{{- toYaml .Values.prometheus.serviceMonitors.labels | nindent 6 }} {{ .Values.prometheus.serviceMonitors.labels | toYaml | nindent 6 }}
rules: rules:
enabled: {{ .Values.prometheus.prometheusRules.enabled }} enabled: {{ .Values.prometheus.prometheusRules.enabled }}
additionalLabels: additionalLabels:
{{- toYaml .Values.prometheus.prometheusRules.labels | nindent 6 }} {{ .Values.prometheus.prometheusRules.labels | toYaml | nindent 6 }}
replicaCount: {{ .Values.replicas.collabora }} replicaCount: {{ .Values.replicas.collabora }}
@@ -126,7 +126,7 @@ securityContext:
- "NET_RAW" - "NET_RAW"
- "SYS_CHROOT" - "SYS_CHROOT"
- "MKNOD" - "MKNOD"
seLinuxOptions: {{ .Values.seLinuxOptions.collabora }} seLinuxOptions: {{ .Values.seLinuxOptions.collabora | toYaml | nindent 4 }}
serviceAccount: serviceAccount:
create: true create: true
... ...

View File

@@ -70,7 +70,7 @@ securityContext:
runAsNonRoot: true runAsNonRoot: true
runAsUser: 4001 runAsUser: 4001
runAsGroup: 4001 runAsGroup: 4001
seLinuxOptions: {{ .Values.seLinuxOptions.cryptpad }} seLinuxOptions: {{ .Values.seLinuxOptions.cryptpad | toYaml | nindent 4 }}
serviceAccount: serviceAccount:
create: true create: true

View File

@@ -107,7 +107,7 @@ containerSecurityContext:
runAsUser: 101 runAsUser: 101
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.element }} seLinuxOptions: {{ .Values.seLinuxOptions.element | toYaml | nindent 4 }}
global: global:
domain: {{ .Values.global.domain | quote }} domain: {{ .Values.global.domain | quote }}

View File

@@ -14,7 +14,7 @@ containerSecurityContext:
runAsUser: 101 runAsUser: 101
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.matrixNeoBoardWidget }} seLinuxOptions: {{ .Values.seLinuxOptions.matrixNeoBoardWidget | toYaml | nindent 4 }}
global: global:
domain: {{ .Values.global.domain | quote }} domain: {{ .Values.global.domain | quote }}

View File

@@ -14,7 +14,7 @@ containerSecurityContext:
runAsUser: 101 runAsUser: 101
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.matrixNeoChoiceWidget }} seLinuxOptions: {{ .Values.seLinuxOptions.matrixNeoChoiceWidget | toYaml | nindent 4 }}
global: global:
domain: {{ .Values.global.domain | quote }} domain: {{ .Values.global.domain | quote }}

View File

@@ -35,6 +35,6 @@ securityContext:
runAsUser: 101 runAsUser: 101
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.synapseCreateUser }} seLinuxOptions: {{ .Values.seLinuxOptions.synapseCreateUser | toYaml | nindent 4 }}
... ...

View File

@@ -35,7 +35,7 @@ containerSecurityContext:
runAsUser: 101 runAsUser: 101
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.matrixNeoDateFixBot }} seLinuxOptions: {{ .Values.seLinuxOptions.matrixNeoDateFixBot | toYaml | nindent 4 }}
extraEnvVars: extraEnvVars:
- name: "ACCESS_TOKEN" - name: "ACCESS_TOKEN"

View File

@@ -18,7 +18,7 @@ containerSecurityContext:
runAsUser: 101 runAsUser: 101
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.matrixNeoDateFixWidget }} seLinuxOptions: {{ .Values.seLinuxOptions.matrixNeoDateFixWidget | toYaml | nindent 4 }}
global: global:
domain: {{ .Values.global.domain | quote }} domain: {{ .Values.global.domain | quote }}

View File

@@ -35,5 +35,5 @@ securityContext:
runAsUser: 101 runAsUser: 101
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.synapseCreateUser }} seLinuxOptions: {{ .Values.seLinuxOptions.synapseCreateUser | toYaml | nindent 4 }}
... ...

View File

@@ -14,7 +14,7 @@ containerSecurityContext:
runAsUser: 0 runAsUser: 0
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.matrixUserVerificationService }} seLinuxOptions: {{ .Values.seLinuxOptions.matrixUserVerificationService | toYaml | nindent 4 }}
extraEnvVars: extraEnvVars:
- name: "UVS_ACCESS_TOKEN" - name: "UVS_ACCESS_TOKEN"

View File

@@ -14,7 +14,7 @@ containerSecurityContext:
runAsUser: 101 runAsUser: 101
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.synapseWeb }} seLinuxOptions: {{ .Values.seLinuxOptions.synapseWeb | toYaml | nindent 4 }}
global: global:
domain: {{ .Values.global.domain | quote }} domain: {{ .Values.global.domain | quote }}

View File

@@ -79,7 +79,7 @@ containerSecurityContext:
runAsGroup: 10991 runAsGroup: 10991
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.synapse }} seLinuxOptions: {{ .Values.seLinuxOptions.synapse | toYaml | nindent 4 }}
global: global:
domain: {{ .Values.global.domain | quote }} domain: {{ .Values.global.domain | quote }}

View File

@@ -18,7 +18,7 @@ containerSecurityContext:
runAsUser: 101 runAsUser: 101
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.wellKnown }} seLinuxOptions: {{ .Values.seLinuxOptions.wellKnown | toYaml | nindent 4 }}
global: global:
domain: {{ .Values.global.domain | quote }} domain: {{ .Values.global.domain | quote }}

View File

@@ -14,7 +14,7 @@ containerSecurityContext:
type: "RuntimeDefault" type: "RuntimeDefault"
readOnlyRootFilesystem: true readOnlyRootFilesystem: true
runAsNonRoot: true runAsNonRoot: true
seLinuxOptions: {{ .Values.seLinuxOptions.intercom }} seLinuxOptions: {{ .Values.seLinuxOptions.intercom | toYaml | nindent 4 }}
global: global:
domain: {{ .Values.global.domain | quote }} domain: {{ .Values.global.domain | quote }}

View File

@@ -23,7 +23,7 @@ containerSecurityContext:
runAsUser: 1993 runAsUser: 1993
runAsGroup: 1993 runAsGroup: 1993
runAsNonRoot: true runAsNonRoot: true
seLinuxOptions: {{ .Values.seLinuxOptions.jitsiKeycloakAdapter }} seLinuxOptions: {{ .Values.seLinuxOptions.jitsiKeycloakAdapter | toYaml | nindent 4 }}
cleanup: cleanup:
deletePodsOnSuccess: {{ .Values.cleanup.deletePodsOnSuccess }} deletePodsOnSuccess: {{ .Values.cleanup.deletePodsOnSuccess }}
@@ -75,7 +75,7 @@ jitsi:
runAsUser: 0 runAsUser: 0
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.jitsi }} seLinuxOptions: {{ .Values.seLinuxOptions.jitsi | toYaml | nindent 8 }}
prosody: prosody:
image: image:
repository: "{{ .Values.global.imageRegistry | default .Values.images.prosody.registry }}/{{ .Values.images.prosody.repository }}" repository: "{{ .Values.global.imageRegistry | default .Values.images.prosody.registry }}/{{ .Values.images.prosody.repository }}"
@@ -123,7 +123,7 @@ jitsi:
runAsUser: 0 runAsUser: 0
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.prosody }} seLinuxOptions: {{ .Values.seLinuxOptions.prosody | toYaml | nindent 8 }}
jicofo: jicofo:
replicaCount: {{ .Values.replicas.jicofo }} replicaCount: {{ .Values.replicas.jicofo }}
image: image:
@@ -145,7 +145,7 @@ jitsi:
runAsUser: 0 runAsUser: 0
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.jicofo }} seLinuxOptions: {{ .Values.seLinuxOptions.jicofo | toYaml | nindent 8 }}
jvb: jvb:
replicaCount: {{ .Values.replicas.jvb }} replicaCount: {{ .Values.replicas.jvb }}
image: image:
@@ -168,7 +168,7 @@ jitsi:
runAsUser: 0 runAsUser: 0
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.jvb }} seLinuxOptions: {{ .Values.seLinuxOptions.jvb | toYaml | nindent 8 }}
jibri: jibri:
replicaCount: {{ .Values.replicas.jibri }} replicaCount: {{ .Values.replicas.jibri }}
image: image:
@@ -206,7 +206,7 @@ patchJVB:
runAsNonRoot: true runAsNonRoot: true
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.jitsiPatchJVB }} seLinuxOptions: {{ .Values.seLinuxOptions.jitsiPatchJVB | toYaml | nindent 6 }}
image: image:
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }} imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
registry: {{ .Values.global.imageRegistry | default .Values.images.jitsiPatchJVB.registry | quote }} registry: {{ .Values.global.imageRegistry | default .Values.images.jitsiPatchJVB.registry | quote }}

View File

@@ -95,7 +95,7 @@ containerSecurityContext:
type: "RuntimeDefault" type: "RuntimeDefault"
readOnlyRootFilesystem: false readOnlyRootFilesystem: false
runAsNonRoot: true runAsNonRoot: true
seLinuxOptions: {{ .Values.seLinuxOptions.nextcloudManagement }} seLinuxOptions: {{ .Values.seLinuxOptions.nextcloudManagement | toYaml | nindent 4 }}
debug: debug:
loglevel: {{ if .Values.debug.enabled }}"0"{{ else }}"1"{{ end }} loglevel: {{ if .Values.debug.enabled }}"0"{{ else }}"1"{{ end }}

View File

@@ -25,7 +25,7 @@ exporter:
type: "RuntimeDefault" type: "RuntimeDefault"
readOnlyRootFilesystem: true readOnlyRootFilesystem: true
runAsNonRoot: true runAsNonRoot: true
seLinuxOptions: {{ .Values.seLinuxOptions.nextcloudExporter }} seLinuxOptions: {{ .Values.seLinuxOptions.nextcloudExporter | toYaml | nindent 6 }}
image: image:
registry: {{ .Values.global.imageRegistry | default .Values.images.nextcloudExporter.registry | quote }} registry: {{ .Values.global.imageRegistry | default .Values.images.nextcloudExporter.registry | quote }}
repository: "{{ .Values.images.nextcloudExporter.repository }}" repository: "{{ .Values.images.nextcloudExporter.repository }}"
@@ -35,11 +35,11 @@ exporter:
serviceMonitor: serviceMonitor:
enabled: {{ .Values.prometheus.serviceMonitors.enabled }} enabled: {{ .Values.prometheus.serviceMonitors.enabled }}
labels: labels:
{{- toYaml .Values.prometheus.serviceMonitors.labels | nindent 8 }} {{ .Values.prometheus.serviceMonitors.labels | toYaml | nindent 8 }}
prometheusRule: prometheusRule:
enabled: {{ .Values.prometheus.prometheusRules.enabled }} enabled: {{ .Values.prometheus.prometheusRules.enabled }}
additionalLabels: additionalLabels:
{{- toYaml .Values.prometheus.prometheusRules.labels | nindent 8 }} {{ .Values.prometheus.prometheusRules.labels | toYaml | nindent 8 }}
replicaCount: {{ .Values.replicas.nextcloudExporter }} replicaCount: {{ .Values.replicas.nextcloudExporter }}
resources: resources:
{{ .Values.resources.nextcloudExporter | toYaml | nindent 4 }} {{ .Values.resources.nextcloudExporter | toYaml | nindent 4 }}
@@ -78,7 +78,7 @@ php:
type: "RuntimeDefault" type: "RuntimeDefault"
readOnlyRootFilesystem: true readOnlyRootFilesystem: true
runAsNonRoot: true runAsNonRoot: true
seLinuxOptions: {{ .Values.seLinuxOptions.nextcloudPHP }} seLinuxOptions: {{ .Values.seLinuxOptions.nextcloudPHP | toYaml | nindent 6 }}
cron: cron:
successfulJobsHistoryLimit: {{ if .Values.debug.enabled }}"3"{{ else }}"0"{{ end }} successfulJobsHistoryLimit: {{ if .Values.debug.enabled }}"3"{{ else }}"0"{{ end }}
debug: debug:
@@ -92,11 +92,11 @@ php:
serviceMonitor: serviceMonitor:
enabled: {{ .Values.prometheus.serviceMonitors.enabled }} enabled: {{ .Values.prometheus.serviceMonitors.enabled }}
labels: labels:
{{- toYaml .Values.prometheus.serviceMonitors.labels | nindent 8 }} {{ .Values.prometheus.serviceMonitors.labels | toYaml | nindent 8 }}
prometheusRule: prometheusRule:
enabled: {{ .Values.prometheus.prometheusRules.enabled }} enabled: {{ .Values.prometheus.prometheusRules.enabled }}
additionalLabels: additionalLabels:
{{- toYaml .Values.prometheus.prometheusRules.labels | nindent 8 }} {{ .Values.prometheus.prometheusRules.labels | toYaml | nindent 8 }}
replicaCount: {{ .Values.replicas.nextcloudPHP }} replicaCount: {{ .Values.replicas.nextcloudPHP }}
resources: resources:
{{ .Values.resources.nextcloudPHP | toYaml | nindent 4 }} {{ .Values.resources.nextcloudPHP | toYaml | nindent 4 }}
@@ -118,7 +118,7 @@ apache2:
type: "RuntimeDefault" type: "RuntimeDefault"
readOnlyRootFilesystem: true readOnlyRootFilesystem: true
runAsNonRoot: true runAsNonRoot: true
seLinuxOptions: {{ .Values.seLinuxOptions.nextcloudApache2 }} seLinuxOptions: {{ .Values.seLinuxOptions.nextcloudApache2 | toYaml | nindent 6 }}
ingress: ingress:
enabled: {{ .Values.ingress.enabled }} enabled: {{ .Values.ingress.enabled }}
ingressClassName: {{ .Values.ingress.ingressClassName | quote }} ingressClassName: {{ .Values.ingress.ingressClassName | quote }}

View File

@@ -66,7 +66,7 @@ containerSecurityContext:
readOnlyRootFilesystem: true readOnlyRootFilesystem: true
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.dovecot }} seLinuxOptions: {{ .Values.seLinuxOptions.dovecot | toYaml | nindent 4 }}
podSecurityContext: podSecurityContext:
enabled: true enabled: true

View File

@@ -40,7 +40,7 @@ nextcloud-integration-ui:
privileged: false privileged: false
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.openxchangeNextcloudIntegrationUI }} seLinuxOptions: {{ .Values.seLinuxOptions.openxchangeNextcloudIntegrationUI | toYaml | nindent 6 }}
public-sector-ui: public-sector-ui:
image: image:
@@ -67,7 +67,7 @@ public-sector-ui:
privileged: false privileged: false
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.openxchangePublicSectorUI }} seLinuxOptions: {{ .Values.seLinuxOptions.openxchangePublicSectorUI | toYaml | nindent 6 }}
appsuite: appsuite:
appsuite-toolkit: appsuite-toolkit:
@@ -131,7 +131,7 @@ appsuite:
privileged: false privileged: false
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.openxchangeGotenberg }} seLinuxOptions: {{ .Values.seLinuxOptions.openxchangeGotenberg | toYaml | nindent 10 }}
hooks: hooks:
beforeAppsuiteStart: beforeAppsuiteStart:
create-guard-dir.sh: | create-guard-dir.sh: |
@@ -356,7 +356,7 @@ appsuite:
privileged: false privileged: false
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.openxchangeCoreUI }} seLinuxOptions: {{ .Values.seLinuxOptions.openxchangeCoreUI | toYaml | nindent 8 }}
core-ui-middleware: core-ui-middleware:
enabled: true enabled: true
@@ -398,7 +398,7 @@ appsuite:
privileged: false privileged: false
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.openxchangeCoreUIMiddleware }} seLinuxOptions: {{ .Values.seLinuxOptions.openxchangeCoreUIMiddleware | toYaml | nindent 8 }}
core-cacheservice: core-cacheservice:
enabled: false enabled: false
@@ -428,7 +428,7 @@ appsuite:
- "ALL" - "ALL"
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.openxchangeDocumentConverter }} seLinuxOptions: {{ .Values.seLinuxOptions.openxchangeDocumentConverter | toYaml | nindent 8 }}
core-documents-collaboration: core-documents-collaboration:
enabled: false enabled: false
@@ -470,7 +470,7 @@ appsuite:
privileged: false privileged: false
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.openxchangeCoreGuidedtours }} seLinuxOptions: {{ .Values.seLinuxOptions.openxchangeCoreGuidedtours | toYaml | nindent 8 }}
core-imageconverter: core-imageconverter:
enabled: true enabled: true
@@ -500,7 +500,7 @@ appsuite:
- "ALL" - "ALL"
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.openxchangeImageConverter }} seLinuxOptions: {{ .Values.seLinuxOptions.openxchangeImageConverter | toYaml | nindent 8 }}
guard-ui: guard-ui:
enabled: true enabled: true
@@ -526,7 +526,7 @@ appsuite:
privileged: false privileged: false
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.openxchangeGuardUI }} seLinuxOptions: {{ .Values.seLinuxOptions.openxchangeGuardUI | toYaml | nindent 8 }}
core-spellcheck: core-spellcheck:
enabled: false enabled: false
@@ -555,5 +555,5 @@ appsuite:
privileged: false privileged: false
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.openxchangeCoreUserGuide }} seLinuxOptions: {{ .Values.seLinuxOptions.openxchangeCoreUserGuide | toYaml | nindent 8 }}
... ...

View File

@@ -38,7 +38,7 @@ containerSecurityContext:
type: "RuntimeDefault" type: "RuntimeDefault"
readOnlyRootFilesystem: true readOnlyRootFilesystem: true
runAsNonRoot: true runAsNonRoot: true
seLinuxOptions: {{ .Values.seLinuxOptions.openprojectBootstrap }} seLinuxOptions: {{ .Values.seLinuxOptions.openprojectBootstrap | toYaml | nindent 4 }}
image: image:
registry: {{ .Values.global.imageRegistry | default .Values.images.openprojectBootstrap.registry | quote }} registry: {{ .Values.global.imageRegistry | default .Values.images.openprojectBootstrap.registry | quote }}

View File

@@ -20,7 +20,7 @@ containerSecurityContext:
type: "RuntimeDefault" type: "RuntimeDefault"
readOnlyRootFilesystem: true readOnlyRootFilesystem: true
runAsNonRoot: true runAsNonRoot: true
seLinuxOptions: {{ .Values.seLinuxOptions.openproject }} seLinuxOptions: {{ .Values.seLinuxOptions.openproject | toYaml | nindent 4 }}
environment: environment:
# For more details and more options see # For more details and more options see

View File

@@ -85,7 +85,7 @@ securityContext:
runAsGroup: 0 runAsGroup: 0
runAsNonRoot: false runAsNonRoot: false
readOnlyRootFilesystem: false readOnlyRootFilesystem: false
seLinuxOptions: {{ .Values.seLinuxOptions.oxConnector }} seLinuxOptions: {{ .Values.seLinuxOptions.oxConnector | toYaml | nindent 4 }}
serviceAccount: serviceAccount:
create: true create: true

View File

@@ -15,7 +15,7 @@ clamd:
type: "RuntimeDefault" type: "RuntimeDefault"
readOnlyRootFilesystem: true readOnlyRootFilesystem: true
runAsNonRoot: true runAsNonRoot: true
seLinuxOptions: {{ .Values.seLinuxOptions.clamd }} seLinuxOptions: {{ .Values.seLinuxOptions.clamd | toYaml | nindent 6 }}
image: image:
registry: {{ .Values.global.imageRegistry | default .Values.images.clamd.registry | quote }} registry: {{ .Values.global.imageRegistry | default .Values.images.clamd.registry | quote }}
repository: {{ .Values.images.clamd.repository | quote }} repository: {{ .Values.images.clamd.repository | quote }}
@@ -41,7 +41,7 @@ containerSecurityContext:
capabilities: capabilities:
drop: [] drop: []
privileged: false privileged: false
seLinuxOptions: {{ .Values.seLinuxOptions.clamav }} seLinuxOptions: {{ .Values.seLinuxOptions.clamav | toYaml | nindent 4 }}
freshclam: freshclam:
containerSecurityContext: containerSecurityContext:
@@ -57,7 +57,7 @@ freshclam:
type: "RuntimeDefault" type: "RuntimeDefault"
readOnlyRootFilesystem: true readOnlyRootFilesystem: true
runAsNonRoot: true runAsNonRoot: true
seLinuxOptions: {{ .Values.seLinuxOptions.freshclam }} seLinuxOptions: {{ .Values.seLinuxOptions.freshclam | toYaml | nindent 6 }}
image: image:
registry: {{ .Values.global.imageRegistry | default .Values.images.freshclam.registry | quote }} registry: {{ .Values.global.imageRegistry | default .Values.images.freshclam.registry | quote }}
repository: {{ .Values.images.freshclam.repository | quote }} repository: {{ .Values.images.freshclam.repository | quote }}
@@ -89,7 +89,7 @@ icap:
type: "RuntimeDefault" type: "RuntimeDefault"
readOnlyRootFilesystem: true readOnlyRootFilesystem: true
runAsNonRoot: true runAsNonRoot: true
seLinuxOptions: {{ .Values.seLinuxOptions.icap }} seLinuxOptions: {{ .Values.seLinuxOptions.icap | toYaml | nindent 6 }}
image: image:
registry: {{ .Values.global.imageRegistry | default .Values.images.icap.registry | quote }} registry: {{ .Values.global.imageRegistry | default .Values.images.icap.registry | quote }}
repository: {{ .Values.images.icap.repository | quote }} repository: {{ .Values.images.icap.repository | quote }}
@@ -117,7 +117,7 @@ milter:
type: "RuntimeDefault" type: "RuntimeDefault"
readOnlyRootFilesystem: true readOnlyRootFilesystem: true
runAsNonRoot: true runAsNonRoot: true
seLinuxOptions: {{ .Values.seLinuxOptions.milter }} seLinuxOptions: {{ .Values.seLinuxOptions.milter | toYaml | nindent 6 }}
image: image:
registry: {{ .Values.global.imageRegistry | default .Values.images.milter.registry | quote }} registry: {{ .Values.global.imageRegistry | default .Values.images.milter.registry | quote }}
repository: {{ .Values.images.milter.repository | quote }} repository: {{ .Values.images.milter.repository | quote }}

View File

@@ -14,7 +14,7 @@ containerSecurityContext:
type: "RuntimeDefault" type: "RuntimeDefault"
readOnlyRootFilesystem: true readOnlyRootFilesystem: true
runAsNonRoot: true runAsNonRoot: true
seLinuxOptions: {{ .Values.seLinuxOptions.clamavSimple }} seLinuxOptions: {{ .Values.seLinuxOptions.clamavSimple | toYaml | nindent 4 }}
global: global:
imagePullSecrets: imagePullSecrets:

View File

@@ -17,7 +17,7 @@ containerSecurityContext:
type: "RuntimeDefault" type: "RuntimeDefault"
readOnlyRootFilesystem: true readOnlyRootFilesystem: true
runAsNonRoot: true runAsNonRoot: true
seLinuxOptions: {{ .Values.seLinuxOptions.mariadb }} seLinuxOptions: {{ .Values.seLinuxOptions.mariadb | toYaml | nindent 4 }}
global: global:
imagePullSecrets: imagePullSecrets:

View File

@@ -16,7 +16,7 @@ containerSecurityContext:
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
readOnlyRootFilesystem: true readOnlyRootFilesystem: true
seLinuxOptions: {{ .Values.seLinuxOptions.memcached }} seLinuxOptions: {{ .Values.seLinuxOptions.memcached | toYaml | nindent 4 }}
global: global:
imagePullSecrets: imagePullSecrets:

View File

@@ -29,7 +29,7 @@ containerSecurityContext:
readOnlyRootFilesystem: false readOnlyRootFilesystem: false
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.minio }} seLinuxOptions: {{ .Values.seLinuxOptions.minio | toYaml | nindent 4 }}
defaultBuckets: "openproject,openxchange,ums,nextcloud" defaultBuckets: "openproject,openxchange,ums,nextcloud"
@@ -68,7 +68,7 @@ metrics:
serviceMonitor: serviceMonitor:
enabled: {{ .Values.prometheus.serviceMonitors.enabled }} enabled: {{ .Values.prometheus.serviceMonitors.enabled }}
additionalLabels: additionalLabels:
{{- toYaml .Values.prometheus.serviceMonitors.labels | nindent 6 }} {{ .Values.prometheus.serviceMonitors.labels | toYaml | nindent 6 }}
networkPolicy: networkPolicy:
enabled: false enabled: false

View File

@@ -20,8 +20,6 @@ apps:
enabled: {{ .Values.intercom.enabled }} enabled: {{ .Values.intercom.enabled }}
jitsi: jitsi:
enabled: {{ .Values.jitsi.enabled }} enabled: {{ .Values.jitsi.enabled }}
keycloak:
enabled: {{ .Values.keycloak.enabled }}
mariadb: mariadb:
enabled: {{ .Values.mariadb.enabled }} enabled: {{ .Values.mariadb.enabled }}
memcached: memcached:

View File

@@ -17,7 +17,7 @@ containerSecurityContext:
runAsUser: 0 runAsUser: 0
runAsGroup: 0 runAsGroup: 0
privileged: true privileged: true
seLinuxOptions: {{ .Values.seLinuxOptions.postfix }} seLinuxOptions: {{ .Values.seLinuxOptions.postfix | toYaml | nindent 4 }}
global: global:
imagePullSecrets: imagePullSecrets:

View File

@@ -14,7 +14,7 @@ containerSecurityContext:
type: "RuntimeDefault" type: "RuntimeDefault"
readOnlyRootFilesystem: true readOnlyRootFilesystem: true
runAsNonRoot: true runAsNonRoot: true
seLinuxOptions: {{ .Values.seLinuxOptions.postgresql }} seLinuxOptions: {{ .Values.seLinuxOptions.postgresql | toYaml | nindent 4 }}
job: job:

View File

@@ -30,7 +30,7 @@ master:
capabilities: capabilities:
drop: drop:
- "ALL" - "ALL"
seLinuxOptions: {{ .Values.seLinuxOptions.redis }} seLinuxOptions: {{ .Values.seLinuxOptions.redis | toYaml | nindent 6 }}
count: {{ .Values.replicas.redis }} count: {{ .Values.replicas.redis }}
persistence: persistence:
size: {{ .Values.persistence.size.redis | quote }} size: {{ .Values.persistence.size.redis | quote }}

View File

@@ -55,6 +55,6 @@ securityContext:
runAsGroup: 1000 runAsGroup: 1000
runAsNonRoot: true runAsNonRoot: true
readOnlyRootFilesystem: false readOnlyRootFilesystem: false
seLinuxOptions: {{ .Values.seLinuxOptions.umsGuardianAuthorizationApi }} seLinuxOptions: {{ .Values.seLinuxOptions.umsGuardianAuthorizationApi | toYaml | nindent 4 }}
... ...

View File

@@ -73,6 +73,6 @@ securityContext:
runAsGroup: 1000 runAsGroup: 1000
runAsNonRoot: true runAsNonRoot: true
readOnlyRootFilesystem: false readOnlyRootFilesystem: false
seLinuxOptions: {{ .Values.seLinuxOptions.umsGuardianManagementApi }} seLinuxOptions: {{ .Values.seLinuxOptions.umsGuardianManagementApi | toYaml | nindent 4 }}
... ...

View File

@@ -46,6 +46,6 @@ securityContext:
runAsGroup: 0 runAsGroup: 0
runAsNonRoot: false runAsNonRoot: false
readOnlyRootFilesystem: false readOnlyRootFilesystem: false
seLinuxOptions: {{ .Values.seLinuxOptions.umsGuardianManagementUi }} seLinuxOptions: {{ .Values.seLinuxOptions.umsGuardianManagementUi | toYaml | nindent 4 }}
... ...

View File

@@ -27,7 +27,7 @@ securityContext:
runAsUser: 0 runAsUser: 0
runAsGroup: 0 runAsGroup: 0
runAsNonRoot: false runAsNonRoot: false
seLinuxOptions: {{ .Values.seLinuxOptions.umsLdapNotifier }} seLinuxOptions: {{ .Values.seLinuxOptions.umsLdapNotifier | toYaml | nindent 4 }}
volumes: volumes:
claims: claims:

View File

@@ -76,7 +76,7 @@ securityContext:
runAsUser: 0 runAsUser: 0
runAsGroup: 0 runAsGroup: 0
runAsNonRoot: false runAsNonRoot: false
seLinuxOptions: {{ .Values.seLinuxOptions.umsLdapServer }} seLinuxOptions: {{ .Values.seLinuxOptions.umsLdapServer | toYaml | nindent 4 }}
service: service:
type: "ClusterIP" type: "ClusterIP"

View File

@@ -44,6 +44,6 @@ securityContext:
runAsUser: 1000 runAsUser: 1000
runAsGroup: 1000 runAsGroup: 1000
runAsNonRoot: false runAsNonRoot: false
seLinuxOptions: {{ .Values.seLinuxOptions.umsNotificationsApi }} seLinuxOptions: {{ .Values.seLinuxOptions.umsNotificationsApi | toYaml | nindent 4 }}
... ...

View File

@@ -46,6 +46,6 @@ securityContext:
runAsUser: 1000 runAsUser: 1000
runAsGroup: 1000 runAsGroup: 1000
runAsNonRoot: true runAsNonRoot: true
seLinuxOptions: {{ .Values.seLinuxOptions.umsOpenPolicyAgent }} seLinuxOptions: {{ .Values.seLinuxOptions.umsOpenPolicyAgent | toYaml | nindent 4 }}
... ...

View File

@@ -597,7 +597,7 @@ containerSecurityContext:
type: "RuntimeDefault" type: "RuntimeDefault"
readOnlyRootFilesystem: true readOnlyRootFilesystem: true
runAsNonRoot: true runAsNonRoot: true
seLinuxOptions: {{ .Values.seLinuxOptions.opendeskKeycloakBootstrap }} seLinuxOptions: {{ .Values.seLinuxOptions.opendeskKeycloakBootstrap | toYaml | nindent 4 }}
podAnnotations: podAnnotations:
intents.otterize.com/service-name: "ums-keycloak-bootstrap" intents.otterize.com/service-name: "ums-keycloak-bootstrap"

View File

@@ -112,5 +112,5 @@ securityContext:
runAsUser: 0 runAsUser: 0
runAsGroup: 0 runAsGroup: 0
runAsNonRoot: false runAsNonRoot: false
seLinuxOptions: {{ .Values.seLinuxOptions.umsPortalFrontend }} seLinuxOptions: {{ .Values.seLinuxOptions.umsPortalFrontend | toYaml | nindent 4 }}
... ...

View File

@@ -79,6 +79,6 @@ securityContext:
runAsUser: 0 runAsUser: 0
runAsGroup: 0 runAsGroup: 0
runAsNonRoot: false runAsNonRoot: false
seLinuxOptions: {{ .Values.seLinuxOptions.umsPortalListener }} seLinuxOptions: {{ .Values.seLinuxOptions.umsPortalListener | toYaml | nindent 4 }}
... ...

View File

@@ -56,6 +56,6 @@ securityContext:
runAsUser: 0 runAsUser: 0
runAsGroup: 0 runAsGroup: 0
runAsNonRoot: false runAsNonRoot: false
seLinuxOptions: {{ .Values.seLinuxOptions.umsPortalServer }} seLinuxOptions: {{ .Values.seLinuxOptions.umsPortalServer | toYaml | nindent 4 }}
... ...

View File

@@ -73,6 +73,6 @@ securityContext:
runAsUser: 0 runAsUser: 0
runAsGroup: 0 runAsGroup: 0
runAsNonRoot: false runAsNonRoot: false
seLinuxOptions: {{ .Values.seLinuxOptions.umsSelfserviceListener }} seLinuxOptions: {{ .Values.seLinuxOptions.umsSelfserviceListener | toYaml | nindent 4 }}
... ...

View File

@@ -29,7 +29,7 @@ securityContext:
runAsUser: 0 runAsUser: 0
runAsGroup: 0 runAsGroup: 0
runAsNonRoot: false runAsNonRoot: false
seLinuxOptions: {{ .Values.seLinuxOptions.umsDataLoader }} seLinuxOptions: {{ .Values.seLinuxOptions.umsDataLoader | toYaml | nindent 4 }}
stackDataContext: stackDataContext:
ldapBase: "dc=swp-ldap,dc=internal" ldapBase: "dc=swp-ldap,dc=internal"

View File

@@ -29,7 +29,7 @@ securityContext:
runAsUser: 0 runAsUser: 0
runAsGroup: 0 runAsGroup: 0
runAsNonRoot: false runAsNonRoot: false
seLinuxOptions: {{ .Values.seLinuxOptions.umsDataLoader }} seLinuxOptions: {{ .Values.seLinuxOptions.umsDataLoader | toYaml | nindent 4 }}
stackDataContext: stackDataContext:
idpSamlMetadataUrlInternal: null idpSamlMetadataUrlInternal: null

View File

@@ -53,7 +53,7 @@ securityContext:
runAsUser: 0 runAsUser: 0
runAsGroup: 0 runAsGroup: 0
runAsNonRoot: false runAsNonRoot: false
seLinuxOptions: {{ .Values.seLinuxOptions.umsStoreDav }} seLinuxOptions: {{ .Values.seLinuxOptions.umsStoreDav | toYaml | nindent 4 }}
storeDav: storeDav:
auth: auth:

View File

@@ -53,7 +53,7 @@ securityContext:
runAsUser: 0 runAsUser: 0
runAsGroup: 0 runAsGroup: 0
runAsNonRoot: false runAsNonRoot: false
seLinuxOptions: {{ .Values.seLinuxOptions.umsUdmRestApi }} seLinuxOptions: {{ .Values.seLinuxOptions.umsUdmRestApi | toYaml | nindent 4 }}
udmRestApi: udmRestApi:
# TODO: Stub value currently # TODO: Stub value currently

View File

@@ -58,6 +58,6 @@ securityContext:
runAsUser: 0 runAsUser: 0
runAsGroup: 0 runAsGroup: 0
runAsNonRoot: false runAsNonRoot: false
seLinuxOptions: {{ .Values.seLinuxOptions.umsUmcGateway }} seLinuxOptions: {{ .Values.seLinuxOptions.umsUmcGateway | toYaml | nindent 4 }}
... ...

View File

@@ -94,7 +94,7 @@ securityContext:
runAsUser: 0 runAsUser: 0
runAsGroup: 0 runAsGroup: 0
runAsNonRoot: false runAsNonRoot: false
seLinuxOptions: {{ .Values.seLinuxOptions.umsUmcServer }} seLinuxOptions: {{ .Values.seLinuxOptions.umsUmcServer | toYaml | nindent 4 }}
umcServer: umcServer:
certPemFile: "/var/secrets/ssl/tls.crt" certPemFile: "/var/secrets/ssl/tls.crt"

View File

@@ -66,7 +66,7 @@ containerSecurityContext:
runAsUser: 1000 runAsUser: 1000
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.umsKeycloakBootstrap }} seLinuxOptions: {{ .Values.seLinuxOptions.umsKeycloakBootstrap | toYaml | nindent 4 }}
podAnnotations: podAnnotations:
intents.otterize.com/service-name: "ums-keycloak-bootstrap" intents.otterize.com/service-name: "ums-keycloak-bootstrap"

View File

@@ -48,7 +48,7 @@ handler:
runAsUser: 1000 runAsUser: 1000
runAsGroup: 1000 runAsGroup: 1000
runAsNonRoot: true runAsNonRoot: true
seLinuxOptions: {{ .Values.seLinuxOptions.umsKeycloakExtensionHandler }} seLinuxOptions: {{ .Values.seLinuxOptions.umsKeycloakExtensionHandler | toYaml | nindent 6 }}
resources: resources:
{{ .Values.resources.umsKeycloakExtensionHandler | toYaml | nindent 4 }} {{ .Values.resources.umsKeycloakExtensionHandler | toYaml | nindent 4 }}
postgresql: postgresql:
@@ -103,7 +103,7 @@ proxy:
runAsUser: 1000 runAsUser: 1000
runAsGroup: 1000 runAsGroup: 1000
runAsNonRoot: true runAsNonRoot: true
seLinuxOptions: {{ .Values.seLinuxOptions.umsKeycloakExtensionProxy }} seLinuxOptions: {{ .Values.seLinuxOptions.umsKeycloakExtensionProxy | toYaml | nindent 6 }}
resources: resources:
{{ .Values.resources.umsKeycloakExtensionProxy | toYaml | nindent 4 }} {{ .Values.resources.umsKeycloakExtensionProxy | toYaml | nindent 4 }}
... ...

View File

@@ -44,7 +44,7 @@ containerSecurityContext:
runAsUser: 1000 runAsUser: 1000
runAsGroup: 1000 runAsGroup: 1000
runAsNonRoot: true runAsNonRoot: true
seLinuxOptions: {{ .Values.seLinuxOptions.umsKeycloak }} seLinuxOptions: {{ .Values.seLinuxOptions.umsKeycloak | toYaml | nindent 4 }}
podSecurityContext: podSecurityContext:
fsGroup: 1000 fsGroup: 1000

View File

@@ -45,7 +45,7 @@ containerSecurityContext:
- "ALL" - "ALL"
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: {{ .Values.seLinuxOptions.umsStackGateway }} seLinuxOptions: {{ .Values.seLinuxOptions.umsStackGateway | toYaml | nindent 4 }}
service: service:
type: "ClusterIP" type: "ClusterIP"

View File

@@ -36,7 +36,7 @@ containerSecurityContext:
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
readOnlyRootFilesystem: false readOnlyRootFilesystem: false
seLinuxOptions: {{ .Values.seLinuxOptions.xwiki }} seLinuxOptions: {{ .Values.seLinuxOptions.xwiki | toYaml | nindent 4 }}
customConfigs: customConfigs:
xwiki.cfg: xwiki.cfg:

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -19,8 +19,6 @@ intercom:
enabled: true enabled: true
jitsi: jitsi:
enabled: true enabled: true
keycloak:
enabled: true
mariadb: mariadb:
enabled: true enabled: true
memcached: memcached: