mirror of
https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk.git
synced 2025-12-08 00:11:38 +01:00
Compare commits
7 Commits
v0.8.1
...
acaceres/d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dfaf4be640 | ||
|
|
e54aaab072 | ||
|
|
b806d51311 | ||
|
|
db7f5d60bd | ||
|
|
972020f946 | ||
|
|
23ef1d557b | ||
|
|
382af1dfb9 |
@@ -34,7 +34,7 @@ openDesk currently features the following functional main components:
|
|||||||
| 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.5](https://nextcloud.com/de/changelog/#28-0-5) | [Nextcloud 28](https://docs.nextcloud.com/) |
|
| File management | Nextcloud | [28.0.5](https://nextcloud.com/de/changelog/#28-0-5) | [Nextcloud 28](https://docs.nextcloud.com/) |
|
||||||
| Groupware | OX App Suite | [8.23](https://documentation.open-xchange.com/appsuite/releases/8.23/) | Online documentation available from within the installed application; [Additional resources](https://www.open-xchange.com/resources/oxpedia) |
|
| Groupware | OX App Suite | [8.23](https://documentation.open-xchange.com/appsuite/releases/8.23/) | Online documentation available from within the installed application; [Additional resources](https://www.open-xchange.com/resources/oxpedia) |
|
||||||
| Knowledge management | XWiki | [15.10.8](https://www.xwiki.org/xwiki/bin/view/Blog/XWiki15108Released) | [For the most recent release](https://www.xwiki.org/xwiki/bin/view/Documentation) |
|
| Knowledge management | XWiki | [16.4.1](https://www.xwiki.org/xwiki/bin/view/ReleaseNotes/Data/XWiki/16.4.1/) | [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 | [14.2.0](https://www.openproject.org/docs/release-notes/14-2-0/) | [For the most recent release](https://www.openproject.org/docs/user-guide/) |
|
| Project management | OpenProject | [14.2.0](https://www.openproject.org/docs/release-notes/14-2-0/) | [For the most recent release](https://www.openproject.org/docs/user-guide/) |
|
||||||
| Videoconferencing | Jitsi | [2.0.9457](https://github.com/jitsi/jitsi-meet/releases/tag/stable%2Fjitsi-meet_9457) | [For the most recent release](https://jitsi.github.io/handbook/docs/category/user-guide/) |
|
| Videoconferencing | Jitsi | [2.0.9457](https://github.com/jitsi/jitsi-meet/releases/tag/stable%2Fjitsi-meet_9457) | [For the most recent release](https://jitsi.github.io/handbook/docs/category/user-guide/) |
|
||||||
|
|||||||
@@ -69,7 +69,11 @@
|
|||||||
"cryptpad",
|
"cryptpad",
|
||||||
"clamav",
|
"clamav",
|
||||||
"templating",
|
"templating",
|
||||||
"localpart"
|
"localpart",
|
||||||
|
"Addressbooks",
|
||||||
|
"filestore",
|
||||||
|
"trashbin",
|
||||||
|
"bootstrap"
|
||||||
],
|
],
|
||||||
"ignoreWords": [],
|
"ignoreWords": [],
|
||||||
"import": []
|
"import": []
|
||||||
|
|||||||
@@ -10,11 +10,11 @@ This section covers the internal system requirements as well as external service
|
|||||||
<!-- TOC -->
|
<!-- TOC -->
|
||||||
* [Overview](#overview)
|
* [Overview](#overview)
|
||||||
* [Component integration](#component-integration)
|
* [Component integration](#component-integration)
|
||||||
* [Intercom Service (ICS)](#intercom-service-ics)
|
* [Intercom Service / Silent Login](#intercom-service--silent-login)
|
||||||
* [Filepicker](#filepicker)
|
* [Filepicker](#filepicker)
|
||||||
* [Central Navigation](#central-navigation)
|
* [Central Navigation](#central-navigation)
|
||||||
* [(Read \& write) Central contacts](#read--write-central-contacts)
|
* [Central Contacts](#central-contacts)
|
||||||
* [OpenProject file store](#openproject-file-store)
|
* [File Store (OpenProject -\> Nextcloud)](#file-store-openproject---nextcloud)
|
||||||
* [Identity data flows](#identity-data-flows)
|
* [Identity data flows](#identity-data-flows)
|
||||||
* [Provisioning](#provisioning)
|
* [Provisioning](#provisioning)
|
||||||
<!-- TOC -->
|
<!-- TOC -->
|
||||||
@@ -56,58 +56,91 @@ Some use cases require inter component integration.
|
|||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
flowchart TD
|
flowchart TD
|
||||||
OXAppSuiteFrontend-->|SilentLogin, Filepicker, CentralNavigation|IntercomService
|
OX-AppSuite_Frontend-->|Silent Login, Filepicker, Central Navigation|Intercom_Service
|
||||||
Element-->|CentralNavigation|IntercomService
|
Element-->|Silent Login, Central Navigation|Intercom_Service
|
||||||
IntercomService-->|SilentLogin, TokenExchange|IdP
|
Intercom_Service-->|Silent Login, Token Exchange|IdP
|
||||||
IntercomService-->|Filepicker|Nextcloud
|
Intercom_Service-->|Filepicker|Nextcloud
|
||||||
IntercomService-->|CentralNavigation|Portal
|
Intercom_Service-->|Central Navigation|Portal
|
||||||
OXAppSuiteBackend-->|Filepicker|Nextcloud
|
OX-AppSuite_Backend-->|Filepicker|Nextcloud
|
||||||
Nextcloud-->|CentralNavigation|Portal
|
Nextcloud-->|Central Navigation|Portal
|
||||||
OpenProject-->|CentralNavigation|Portal
|
OpenProject-->|Central Navigation|Portal
|
||||||
OpenProject-->|File store|Nextcloud
|
OpenProject-->|File Store|Nextcloud
|
||||||
XWiki-->|CentralNavigation|Portal
|
XWiki-->|Central Navigation|Portal
|
||||||
Nextcloud-->|CentralContacts|OXAppSuiteBackend
|
Nextcloud-->|Central Contacts|OX-AppSuite_Backend
|
||||||
OXAppSuiteFrontend-->|Filepicker|OXAppSuiteBackend
|
OX-AppSuite_Frontend-->|Filepicker|OX-AppSuite_Backend
|
||||||
```
|
```
|
||||||
|
|
||||||
## Intercom Service (ICS)
|
Most details can be found in the upstream documentation that is linked in the respective sections.
|
||||||
|
|
||||||
The Univention Intercom Service's role is to enable cross-application integration based on browser interaction.
|
## Intercom Service / Silent Login
|
||||||
Handling authentication when the frontend of an application is using the API from another application is often a
|
|
||||||
|
The Intercom Service's role is to enable cross-application integration based on the user's browser interaction as handling
|
||||||
|
authentication when the frontend of an application has to call 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).
|
|
||||||
|
|
||||||
To establish a session with the Intercom Service, the application that wants to use the ICS must initiate a silent
|
To establish a session with the Intercom Service an application can use the silent login feature within an iframe.
|
||||||
login.
|
|
||||||
|
|
||||||
Currently only OX AppSuite is using the frontend-based integration, and therefore it is right now the only consumer of
|
Currently only OX AppSuite and Element are using the frontend based integration.
|
||||||
the ICS API.
|
|
||||||
|
**Links**
|
||||||
|
- [Intercom Service upstream documentation](https://docs.software-univention.de/intercom-service/latest/index.html).
|
||||||
|
|
||||||
## Filepicker
|
## Filepicker
|
||||||
|
|
||||||
The Nextcloud filepicker which is integrated into the OX AppSuite allows you to add attachments or links to files from
|
The Nextcloud filepicker is integrated into the OX AppSuite supporting the following use cases against the respective openDesk instance's Nextcloud:
|
||||||
and saving attachments to Nextcloud.
|
- Attaching files from Nextcloud to emails.
|
||||||
|
- Adding links of Nextcloud files to emails.
|
||||||
|
- Saving attachments from emails into Nextcloud.
|
||||||
|
- Attaching files from Nextcloud to calendar entries.
|
||||||
|
|
||||||
The filepicker is using frontend and backend based integration.
|
The filepicker is using frontend and backend based integration:
|
||||||
Frontend-based integration means that OX AppSuite in the browser is communicating with ICS.
|
- For frontend based integration the OX AppSuite frontend uses the Intercom Service.
|
||||||
While using backend-based integration, OX AppSuite middleware is communicating with Nextcloud, which is especially used
|
- Backend based integration is coming from OX AppSuite middleware. The middleware is communicating directly with Nextcloud,
|
||||||
when adding a file to an email or storing a file into Nextcloud.
|
which is used when adding a file to an email or storing a file into Nextcloud, to avoid passing these files through the user's browser.
|
||||||
|
|
||||||
|
**Links**
|
||||||
|
- [OX AppSuite Nextcloud Integration upstream documentation](https://gitlab.open-xchange.com/extensions/nextcloud-integration/-/tree/main/documentation).
|
||||||
|
|
||||||
## Central Navigation
|
## Central Navigation
|
||||||
|
|
||||||
Central navigation is based on an API endpoint in the portal that provides the contents of the portal for a user to
|
Central navigation is based on an API endpoint in the Nubus portal that returns a JSON containing the contents of the portal for
|
||||||
allow components to render the menu showing all available SWP applications for the user.
|
a given user. The response from the API endpoint is used in the openDesk applications to render the central navigation.
|
||||||
|
|
||||||
## (Read & write) Central contacts
|
The API can be called by
|
||||||
|
- frontend services through the Intercom Service's `/navigation.json` endpoint or
|
||||||
|
- backend services directly at the portal's `/univention/portal/navigation.json` endpoint.
|
||||||
|
|
||||||
Open-Xchange App Suite is used to manage contacts within openDesk. There is an API in the AppSuite that is being used by
|
The central navigation expects the API caller to present a shared secret for authentication and the username for whom the portal
|
||||||
Nextcloud to lookup contacts as well as to create contacts. This is maybe done when a file is shared with a not yet
|
contents should be returned for.
|
||||||
available personal contact.
|
|
||||||
|
|
||||||
## OpenProject file store
|
A `curl` based request returning the navigation contents looks like this:
|
||||||
|
|
||||||
By default, Nextcloud is a configured option for storing attachments in OpenProject.
|
```
|
||||||
The file store can be enabled on a per-project level in OpenProject's project admin section.
|
curl 'https://portal.<DOMAIN>/univention/portal/navigation.json?base=https%3A//portal.<DOMAIN>&language=de-DE' -u "<USERNAME>:<SHARED_SECRET>"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Central Contacts
|
||||||
|
|
||||||
|
OX App Suite is managing contacts in openDesk. Therefore Nextcloud's PHP backend is using the OX AppSuite's middleware Contacts API to
|
||||||
|
- create a new contact in the user's contacts folder when a file is shared with a yet unknown email address.
|
||||||
|
- retrieve contacts from the user's contacts folder to support search-as-you-type when starting to share a file.
|
||||||
|
|
||||||
|
**Links:**
|
||||||
|
- Currently used [OX Contacts API (deprecated)](https://documentation.open-xchange.com/components/middleware/http/8/index.html#!Contacts).
|
||||||
|
- New [OX Addressbooks API](https://documentation.open-xchange.com/components/middleware/http/8/index.html#!Addressbooks) the Central Contacts integration will switch to.
|
||||||
|
|
||||||
|
## File Store (OpenProject -> Nextcloud)
|
||||||
|
|
||||||
|
While OpenProject allows you to attach files to work packages directly, it is often preferred that the files are
|
||||||
|
stored within Nextcloud or to link an existing file from your openDesk Nextcloud to a work package.
|
||||||
|
|
||||||
|
Therefore openDesk pre-configures the trust between the openDesk instance's OpenProject and Nextcloud during the `openproject-boostrap` deployment step. As prerequisite for that openDesk's Nextcloud contains the `integration_openproject` app.
|
||||||
|
|
||||||
|
The file store still needs to be enabled on a per-project level in OpenProject's project admin section.
|
||||||
|
|
||||||
|
**Links:**
|
||||||
|
- [OpenProject's documentation on Nextcloud integration](https://www.openproject.org/docs/system-admin-guide/integrations/nextcloud/)
|
||||||
|
- [OpenProject Integration Nextcloud app](https://apps.nextcloud.com/apps/integration_openproject)
|
||||||
|
|
||||||
# Identity data flows
|
# Identity data flows
|
||||||
|
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ Below you will find some wrap-up notes when it comes to debugging openDesk by ad
|
|||||||
|
|
||||||
You can add a container by editing and updating an existing deployment, which is quite comfortable with tools like [Lens](https://k8slens.dev/).
|
You can add a container by editing and updating an existing deployment, which is quite comfortable with tools like [Lens](https://k8slens.dev/).
|
||||||
|
|
||||||
- Select the container you want to make use of as debugging container, in the example below it's `registry.opencode.de/bmi/opendesk/components/platform-development/images/opendesk-debugging-image:1.0.0`.
|
- Select the container you want to make use of as debugging container, in the example below it's `registry.opencode.de/bmi/opendesk/components/platform-development/images/opendesk-debugging-image:latest`.
|
||||||
- Ensure the `shareProcessNamespace` option is enabled for the Pod.
|
- Ensure the `shareProcessNamespace` option is enabled for the Pod.
|
||||||
- Reference the selected container within the `containers` array of the deployment.
|
- Reference the selected container within the `containers` array of the deployment.
|
||||||
- In case you want to access another containers filesystem, ensure the user/group settings of both containers match.
|
- In case you want to access another containers filesystem, ensure the user/group settings of both containers match.
|
||||||
|
|||||||
23
docs/migrations.md
Normal file
23
docs/migrations.md
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<!--
|
||||||
|
SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||||
|
SPDX-License-Identifier: Apache-2.0
|
||||||
|
-->
|
||||||
|
|
||||||
|
<h1>Migrations</h1>
|
||||||
|
|
||||||
|
* [Disclaimer](#disclaimer)
|
||||||
|
* [From v0.8.1](#from-v081)
|
||||||
|
* [`migrations` S3 bucket](#migrations-s3-bucket)
|
||||||
|
|
||||||
|
# Disclaimer
|
||||||
|
|
||||||
|
We do not offer support for upgrades before we reach openDesk 1.0.
|
||||||
|
|
||||||
|
Though we try to ease the pain when it comes to 0.x upgrades. That is what this document is for.
|
||||||
|
|
||||||
|
# From v0.8.1
|
||||||
|
|
||||||
|
## `migrations` S3 bucket
|
||||||
|
|
||||||
|
- Commit: [1e834fee](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/commit/1e834fee9db6bdb948f31c994d5ab309e6f86947)
|
||||||
|
- Action: Please ensure you add a bucket `migrations` to your S3.
|
||||||
@@ -80,6 +80,11 @@ configuration:
|
|||||||
port: {{ .Values.smtp.port | quote }}
|
port: {{ .Values.smtp.port | quote }}
|
||||||
fromAddress: {{ .Values.localpartNoReply | quote }}
|
fromAddress: {{ .Values.localpartNoReply | quote }}
|
||||||
mailDomain: "{{ .Values.global.hosts.nextcloud }}.{{ .Values.global.domain }}"
|
mailDomain: "{{ .Values.global.hosts.nextcloud }}.{{ .Values.global.domain }}"
|
||||||
|
quota:
|
||||||
|
default: "{{ .Values.filestore.quota.default }} GB"
|
||||||
|
retentionObligation:
|
||||||
|
trashbin: {{ .Values.filestore.nextcloud.retentionObligation.trashbin | quote }}
|
||||||
|
versions: {{ .Values.filestore.nextcloud.retentionObligation.versions | quote }}
|
||||||
|
|
||||||
serverinfo:
|
serverinfo:
|
||||||
token: {{ .Values.secrets.nextcloud.metricsToken | quote }}
|
token: {{ .Values.secrets.nextcloud.metricsToken | quote }}
|
||||||
|
|||||||
@@ -71,6 +71,9 @@ environment:
|
|||||||
OPENPROJECT_HOME__URL: {{ printf "https://%s.%s/" .Values.global.hosts.univentionManagementStack .Values.global.domain | quote }}
|
OPENPROJECT_HOME__URL: {{ printf "https://%s.%s/" .Values.global.hosts.univentionManagementStack .Values.global.domain | quote }}
|
||||||
OPENPROJECT_OPENID__CONNECT_KEYCLOAK_ISSUER: "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/{{ .Values.platform.realm }}"
|
OPENPROJECT_OPENID__CONNECT_KEYCLOAK_ISSUER: "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/{{ .Values.platform.realm }}"
|
||||||
OPENPROJECT_OPENID__CONNECT_KEYCLOAK_POST__LOGOUT__REDIRECT__URI: "https://{{ .Values.global.hosts.openproject }}.{{ .Values.global.domain }}/"
|
OPENPROJECT_OPENID__CONNECT_KEYCLOAK_POST__LOGOUT__REDIRECT__URI: "https://{{ .Values.global.hosts.openproject }}.{{ .Values.global.domain }}/"
|
||||||
|
{{- if .Values.enterprise.openproject.token }}
|
||||||
|
OPENPROJECT_ENTERPRISE__TOKEN: {{ .Values.enterprise.openproject.token | quote }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.openproject.registry | quote }}
|
registry: {{ .Values.global.imageRegistry | default .Values.images.openproject.registry | quote }}
|
||||||
|
|||||||
@@ -89,16 +89,43 @@ provisioning:
|
|||||||
extraCommands:
|
extraCommands:
|
||||||
- "mc anonymous set download provisioning/ums/portal-assets"
|
- "mc anonymous set download provisioning/ums/portal-assets"
|
||||||
buckets:
|
buckets:
|
||||||
|
- name: {{ .Values.objectstores.migrations.bucket | quote }}
|
||||||
|
versioning: false
|
||||||
|
withLock: false
|
||||||
|
- name: {{ .Values.objectstores.nextcloud.bucket | quote }}
|
||||||
|
versioning: true
|
||||||
|
withLock: false
|
||||||
- name: {{ .Values.objectstores.openproject.bucket | quote }}
|
- name: {{ .Values.objectstores.openproject.bucket | quote }}
|
||||||
versioning: true
|
versioning: true
|
||||||
withLock: false
|
withLock: false
|
||||||
- name: {{ .Values.objectstores.univentionManagementStack.bucket | quote }}
|
- name: {{ .Values.objectstores.univentionManagementStack.bucket | quote }}
|
||||||
versioning: false
|
versioning: false
|
||||||
withLock: false
|
withLock: false
|
||||||
- name: {{ .Values.objectstores.nextcloud.bucket | quote }}
|
|
||||||
versioning: true
|
|
||||||
withLock: false
|
|
||||||
policies:
|
policies:
|
||||||
|
- name: "migrations-bucket-policy"
|
||||||
|
statements:
|
||||||
|
- resources:
|
||||||
|
- "arn:aws:s3:::migrations"
|
||||||
|
effect: "Allow"
|
||||||
|
actions:
|
||||||
|
- "s3:*"
|
||||||
|
- resources:
|
||||||
|
- "arn:aws:s3:::migrations/*"
|
||||||
|
effect: "Allow"
|
||||||
|
actions:
|
||||||
|
- "s3:*"
|
||||||
|
- name: "nextcloud-bucket-policy"
|
||||||
|
statements:
|
||||||
|
- resources:
|
||||||
|
- "arn:aws:s3:::nextcloud"
|
||||||
|
effect: "Allow"
|
||||||
|
actions:
|
||||||
|
- "s3:*"
|
||||||
|
- resources:
|
||||||
|
- "arn:aws:s3:::nextcloud/*"
|
||||||
|
effect: "Allow"
|
||||||
|
actions:
|
||||||
|
- "s3:*"
|
||||||
- name: "openproject-bucket-policy"
|
- name: "openproject-bucket-policy"
|
||||||
statements:
|
statements:
|
||||||
- resources:
|
- resources:
|
||||||
@@ -123,19 +150,19 @@ provisioning:
|
|||||||
effect: "Allow"
|
effect: "Allow"
|
||||||
actions:
|
actions:
|
||||||
- "s3:*"
|
- "s3:*"
|
||||||
- name: "nextcloud-bucket-policy"
|
|
||||||
statements:
|
|
||||||
- resources:
|
|
||||||
- "arn:aws:s3:::nextcloud"
|
|
||||||
effect: "Allow"
|
|
||||||
actions:
|
|
||||||
- "s3:*"
|
|
||||||
- resources:
|
|
||||||
- "arn:aws:s3:::nextcloud/*"
|
|
||||||
effect: "Allow"
|
|
||||||
actions:
|
|
||||||
- "s3:*"
|
|
||||||
users:
|
users:
|
||||||
|
- username: {{ .Values.objectstores.migrations.username | quote }}
|
||||||
|
password: {{ .Values.secrets.minio.migrationsUser | quote }}
|
||||||
|
disabled: false
|
||||||
|
policies:
|
||||||
|
- "migrations-bucket-policy"
|
||||||
|
setPolicies: true
|
||||||
|
- username: {{ .Values.objectstores.nextcloud.username | quote }}
|
||||||
|
password: {{ .Values.secrets.minio.nextcloudUser | quote }}
|
||||||
|
disabled: false
|
||||||
|
policies:
|
||||||
|
- "nextcloud-bucket-policy"
|
||||||
|
setPolicies: true
|
||||||
- username: {{ .Values.objectstores.openproject.username | quote }}
|
- username: {{ .Values.objectstores.openproject.username | quote }}
|
||||||
password: {{ .Values.secrets.minio.openprojectUser | quote }}
|
password: {{ .Values.secrets.minio.openprojectUser | quote }}
|
||||||
disabled: false
|
disabled: false
|
||||||
@@ -148,12 +175,6 @@ provisioning:
|
|||||||
policies:
|
policies:
|
||||||
- "ums-bucket-policy"
|
- "ums-bucket-policy"
|
||||||
setPolicies: true
|
setPolicies: true
|
||||||
- username: {{ .Values.objectstores.nextcloud.username | quote }}
|
|
||||||
password: {{ .Values.secrets.minio.nextcloudUser | quote }}
|
|
||||||
disabled: false
|
|
||||||
policies:
|
|
||||||
- "nextcloud-bucket-policy"
|
|
||||||
setPolicies: true
|
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.minio | toYaml | nindent 4 }}
|
{{ .Values.resources.minio | toYaml | nindent 4 }}
|
||||||
|
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ customConfigs:
|
|||||||
workplaceServices.navigationEndpoint: "https://{{ .Values.global.hosts.univentionManagementStack }}.{{ .Values.global.domain }}/univention/portal/navigation.json"
|
workplaceServices.navigationEndpoint: "https://{{ .Values.global.hosts.univentionManagementStack }}.{{ .Values.global.domain }}/univention/portal/navigation.json"
|
||||||
workplaceServices.base: "https://{{ .Values.global.hosts.univentionManagementStack }}.{{ .Values.global.domain }}"
|
workplaceServices.base: "https://{{ .Values.global.hosts.univentionManagementStack }}.{{ .Values.global.domain }}"
|
||||||
workplaceServices.portalSecret: {{ .Values.secrets.centralnavigation.apiKey | quote }}
|
workplaceServices.portalSecret: {{ .Values.secrets.centralnavigation.apiKey | quote }}
|
||||||
|
openoffice.serverType: "0"
|
||||||
|
|
||||||
ingress:
|
ingress:
|
||||||
enabled: {{ .Values.ingress.enabled }}
|
enabled: {{ .Values.ingress.enabled }}
|
||||||
|
|||||||
@@ -210,7 +210,7 @@ charts:
|
|||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-nextcloud"
|
repository: "bmi/opendesk/components/platform-development/charts/opendesk-nextcloud"
|
||||||
name: "opendesk-nextcloud"
|
name: "opendesk-nextcloud"
|
||||||
version: "2.0.0"
|
version: "2.1.0"
|
||||||
verify: true
|
verify: true
|
||||||
nextcloudManagement:
|
nextcloudManagement:
|
||||||
# providerCategory: "Platform"
|
# providerCategory: "Platform"
|
||||||
@@ -220,7 +220,7 @@ charts:
|
|||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-nextcloud"
|
repository: "bmi/opendesk/components/platform-development/charts/opendesk-nextcloud"
|
||||||
name: "opendesk-nextcloud-management"
|
name: "opendesk-nextcloud-management"
|
||||||
version: "2.0.0"
|
version: "2.1.0"
|
||||||
verify: true
|
verify: true
|
||||||
nginx:
|
nginx:
|
||||||
# providerCategory: "Community"
|
# providerCategory: "Community"
|
||||||
@@ -252,7 +252,7 @@ charts:
|
|||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/supplier/openproject/charts-mirror"
|
repository: "bmi/opendesk/components/supplier/openproject/charts-mirror"
|
||||||
name: "openproject"
|
name: "openproject"
|
||||||
version: "5.1.4"
|
version: "5.3.0"
|
||||||
verify: true
|
verify: true
|
||||||
openprojectBootstrap:
|
openprojectBootstrap:
|
||||||
# providerCategory: "Platform"
|
# providerCategory: "Platform"
|
||||||
@@ -402,6 +402,6 @@ charts:
|
|||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/supplier/xwiki/charts-mirror"
|
repository: "bmi/opendesk/components/supplier/xwiki/charts-mirror"
|
||||||
name: "xwiki"
|
name: "xwiki"
|
||||||
version: "1.3.0"
|
version: "1.3.1"
|
||||||
verify: false
|
verify: false
|
||||||
...
|
...
|
||||||
|
|||||||
9
helmfile/environments/default/enterprise.yaml
Normal file
9
helmfile/environments/default/enterprise.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
# The variables set in this file are required to upgrade components to their "Enterprise" product variant.
|
||||||
|
---
|
||||||
|
enterprise:
|
||||||
|
openproject:
|
||||||
|
# Enterprise token must match the deployment's OpenProject host name.
|
||||||
|
token: ""
|
||||||
|
...
|
||||||
@@ -23,4 +23,21 @@ admin:
|
|||||||
deploymentInformation:
|
deploymentInformation:
|
||||||
# Disable to not provide and update openDesk release version and deployment timestamp for admins in the portal.
|
# Disable to not provide and update openDesk release version and deployment timestamp for admins in the portal.
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
|
filestore:
|
||||||
|
quota:
|
||||||
|
# Set the default quota for all users in GB
|
||||||
|
default: 1
|
||||||
|
# Nextcloud specific configuration
|
||||||
|
nextcloud:
|
||||||
|
retentionObligation:
|
||||||
|
# yamllint disable rule:line-length
|
||||||
|
# Set Nextcloud's `trashbin_retention_obligation`
|
||||||
|
# Ref.: https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/config_sample_php_parameters.html#trashbin-retention-obligation
|
||||||
|
trashbin: "auto"
|
||||||
|
# Set Nextcloud's `versions_retention_obligation`
|
||||||
|
# Ref.: https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/config_sample_php_parameters.html#versions-retention-obligation
|
||||||
|
versions: "auto"
|
||||||
|
# yamllint enable rule:line-length
|
||||||
|
|
||||||
...
|
...
|
||||||
|
|||||||
@@ -237,7 +237,7 @@ images:
|
|||||||
# upstreamRepository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud-management"
|
# upstreamRepository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud-management"
|
||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud-management"
|
repository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud-management"
|
||||||
tag: "1.3.12@sha256:54bb5a90ebe49b33b053e8a7df2fa8d8cb992b17f68a04d08357961c3aded0b0"
|
tag: "1.4.0@sha256:a54aa29220569c6e8367996429851d5880b2d93afd37180f3ea0bccf6df8c2c5"
|
||||||
nextcloudPHP:
|
nextcloudPHP:
|
||||||
# providerCategory: "Platform"
|
# providerCategory: "Platform"
|
||||||
# providerResponsible: "openDesk"
|
# providerResponsible: "openDesk"
|
||||||
@@ -245,7 +245,7 @@ images:
|
|||||||
# upstreamRepository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud-php"
|
# upstreamRepository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud-php"
|
||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud-php"
|
repository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud-php"
|
||||||
tag: "1.8.11@sha256:85b3bbf027c9e6a2ccf411b8e2b3752f6a58a3a14f00fb92ecefd9e7ca0c6954"
|
tag: "1.9.0@sha256:425e2bc1e18a6e5b8cb2d4ec103353b2d7af4211d93bef062ff9752a1cb168d8"
|
||||||
opendeskKeycloakBootstrap:
|
opendeskKeycloakBootstrap:
|
||||||
# providerCategory: "Platform"
|
# providerCategory: "Platform"
|
||||||
# providerResponsible: "openDesk"
|
# providerResponsible: "openDesk"
|
||||||
@@ -788,5 +788,5 @@ images:
|
|||||||
# upstreamMirrorStartFrom: ["0", "12"]
|
# upstreamMirrorStartFrom: ["0", "12"]
|
||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/supplier/xwiki/images-mirror/xwiki"
|
repository: "bmi/opendesk/components/supplier/xwiki/images-mirror/xwiki"
|
||||||
tag: "0.17-mariadb-jetty-alpine@sha256:9eb67520774c3022aa4485ce348be477f358263b716e647cacd057da3aca9739"
|
tag: "0.19-mariadb-jetty-alpine@sha256:8590ee815bceb7764df681b9239b4606adc5b3750e4eff2d928b62dcd046a623"
|
||||||
...
|
...
|
||||||
|
|||||||
@@ -4,6 +4,16 @@ SPDX-License-Identifier: Apache-2.0
|
|||||||
*/}}
|
*/}}
|
||||||
---
|
---
|
||||||
objectstores:
|
objectstores:
|
||||||
|
migrations:
|
||||||
|
bucket: "migrations"
|
||||||
|
endpoint: ""
|
||||||
|
region: "eu-west-1"
|
||||||
|
secretKey: ""
|
||||||
|
username: "migration_user"
|
||||||
|
storageClass: "STANDARD"
|
||||||
|
useSSL: true
|
||||||
|
pathStyle: true
|
||||||
|
port: 443
|
||||||
nextcloud:
|
nextcloud:
|
||||||
bucket: "nextcloud"
|
bucket: "nextcloud"
|
||||||
endpoint: ""
|
endpoint: ""
|
||||||
|
|||||||
@@ -68,10 +68,10 @@ secrets:
|
|||||||
nextcloudUser: {{ derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "mariadb" "nextcloud_user" | sha1sum | quote }}
|
nextcloudUser: {{ derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "mariadb" "nextcloud_user" | sha1sum | quote }}
|
||||||
minio:
|
minio:
|
||||||
rootPassword: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "minio" "root_password" | sha1sum | quote) }}
|
rootPassword: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "minio" "root_password" | sha1sum | quote) }}
|
||||||
openprojectUser: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "minio" "openproject_user" | sha1sum | quote) }}
|
migrationsUser: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "minio" "migrations_user" | sha1sum | quote) }}
|
||||||
openxchangeUser: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "minio" "openxchange_user" | sha1sum | quote) }}
|
|
||||||
umsUser: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "minio" "ums_user" | sha1sum | quote) }}
|
|
||||||
nextcloudUser: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "minio" "nextcloud_user" | sha1sum | quote) }}
|
nextcloudUser: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "minio" "nextcloud_user" | sha1sum | quote) }}
|
||||||
|
openprojectUser: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "minio" "openproject_user" | sha1sum | quote) }}
|
||||||
|
umsUser: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "minio" "ums_user" | sha1sum | quote) }}
|
||||||
keycloak:
|
keycloak:
|
||||||
adminPassword: {{ derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "keycloak" "adminPassword" | sha1sum | quote }}
|
adminPassword: {{ derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "keycloak" "adminPassword" | sha1sum | quote }}
|
||||||
clientSecret:
|
clientSecret:
|
||||||
|
|||||||
Reference in New Issue
Block a user