diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0bc080b3..46a4f77e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -295,57 +295,55 @@ db-cleanup: - | export FILES=( "${CI_PROJECT_DIR}/helmfile/environments/default/database.yaml.gotmpl" - "${CI_PROJECT_DIR}/helmfile/environments/dev/write-over-values-for-environment.yaml.gotmpl" "${CI_PROJECT_DIR}/helmfile/environments/dev/values.yaml.gotmpl" + "${CI_PROJECT_DIR}/helmfile/environments/dev/write-over-values-for-environment.yaml.gotmpl" ) # Cleanup MariaDB + - "export MARIADB_HOST=\"\"" + - "export MARIADB_PORT=\"\"" + - "export MARIADB_USERNAME=\"\"" + - "export MARIADB_PASSWORD=\"\"" + - "export ENV_DATABASE=\"oxAppSuite\"" + + # Parse cluster values - | - export DATABASES="oxAppSuite" - export MARIADB_HOST="" - export MARIADB_PORT="" - export MARIADB_USERNAME="" - export MARIADB_PASSWORD="" - - for DATABASE in $DATABASES; do - export ENV_DATABASE=${DATABASE} - - # Parse cluster values - for FILE in ${FILES[@]}; do - if [ -f ${FILE} ]; then - if [[ $(tail -n +5 $FILE | yq '.databases.[env(ENV_DATABASE)]') != "null" ]]; then - MARIADB_DATABASE=$(tail -n +5 $FILE | yq '.databases.[env(ENV_DATABASE)].name') - MARIADB_USERNAME=$(tail -n +5 $FILE | yq '.databases.[env(ENV_DATABASE)].username') - MARIADB_PASSWORD=$(tail -n +5 $FILE | yq '.databases.[env(ENV_DATABASE)].password') - MARIADB_HOST=$(tail -n +5 $FILE | yq '.databases.[env(ENV_DATABASE)].host') - MARIADB_PORT=$(tail -n +5 $FILE | yq '.databases.[env(ENV_DATABASE)].port') - fi; + for FILE in ${FILES[@]}; do + if [ -f ${FILE} ]; then + if [[ $(tail -n +5 $FILE | yq '.databases.[env(ENV_DATABASE)]') != "null" ]]; then + MARIADB_DATABASE=$(tail -n +5 $FILE | yq '.databases.[env(ENV_DATABASE)].name') + MARIADB_USERNAME=$(tail -n +5 $FILE | yq '.databases.[env(ENV_DATABASE)].username') + MARIADB_PASSWORD=$(tail -n +5 $FILE | yq '.databases.[env(ENV_DATABASE)].password') + MARIADB_HOST=$(tail -n +5 $FILE | yq '.databases.[env(ENV_DATABASE)].host') + MARIADB_PORT=$(tail -n +5 $FILE | yq '.databases.[env(ENV_DATABASE)].port') fi; - done; - - CONNECTION=( - "--host=${MARIADB_HOST}" - "--port=${MARIADB_PORT}" - "--user=${MARIADB_USERNAME}" - "--password=${MARIADB_PASSWORD}" - "--skip-ssl" - ) - - echo "[mysql] [${ENV_DATABASE}] DROP ${MARIADB_DATABASE} on ${MARIADB_HOST}" - mariadb ${CONNECTION[@]} -e "DROP DATABASE IF EXISTS ${MARIADB_DATABASE};" - - if [ "${ENV_DATABASE}" = "oxAppSuite" ]; then - echo "[mysql] [${ENV_DATABASE}] DROP oxguard on ${MARIADB_HOST}" - mariadb ${CONNECTION[@]} -e "DROP DATABASE IF EXISTS oxguard;" - echo "[mysql] [${ENV_DATABASE}] DROP oxguard_1 on ${MARIADB_HOST}" - mariadb ${CONNECTION[@]} -e "DROP DATABASE IF EXISTS oxguard_1;" - echo "[mysql] [${ENV_DATABASE}] DROP PRIMARYDB_9 on ${MARIADB_HOST}" - mariadb ${CONNECTION[@]} -e "DROP DATABASE IF EXISTS PRIMARYDB_9;" - else - mariadb ${CONNECTION[@]} -e "CREATE DATABASE ${MARIADB_DATABASE};" - mariadb ${CONNECTION[@]} -e "GRANT ALL PRIVILEGES ON ${MARIADB_DATABASE}.* TO ${MARIADB_USERNAME}@\"%\";" - mariadb ${CONNECTION[@]} -e "FLUSH PRIVILEGES;" fi; done; + + - | + export CONNECTION=( + "--host=${MARIADB_HOST}" + "--port=${MARIADB_PORT}" + "--user=${MARIADB_USERNAME}" + "--password=${MARIADB_PASSWORD}" + "--skip-ssl" + ) + + - "echo \"[mysql] [${ENV_DATABASE}] DROP ${MARIADB_DATABASE} on ${MARIADB_HOST}\"" + - "mariadb ${CONNECTION[@]} -e \"DROP DATABASE IF EXISTS ${MARIADB_DATABASE};\"" + + - | + if [ "${ENV_DATABASE}" = "oxAppSuite" ]; then + echo "[mysql] [${ENV_DATABASE}] DROP oxguard on ${MARIADB_HOST}" + mariadb ${CONNECTION[@]} -e "DROP DATABASE IF EXISTS oxguard;" + echo "[mysql] [${ENV_DATABASE}] DROP oxguard_1 on ${MARIADB_HOST}" + mariadb ${CONNECTION[@]} -e "DROP DATABASE IF EXISTS oxguard_1;" + echo "[mysql] [${ENV_DATABASE}] DROP PRIMARYDB_9 on ${MARIADB_HOST}" + mariadb ${CONNECTION[@]} -e "DROP DATABASE IF EXISTS PRIMARYDB_9;" + else + mariadb ${CONNECTION[@]} -e "CREATE DATABASE ${MARIADB_DATABASE};" + mariadb ${CONNECTION[@]} -e "GRANT ALL PRIVILEGES ON ${MARIADB_DATABASE}.* TO ${MARIADB_USERNAME}@\"%\";" + mariadb ${CONNECTION[@]} -e "FLUSH PRIVILEGES;" + fi; # Cleanup PostgreSQL - | export DATABASES="keycloak keycloakExtension nextcloud notes openproject synapse umsGuardianManagementApi \ diff --git a/README.md b/README.md index f51a5713..748891ea 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ openDesk currently features the following functional main components: | File management | Nextcloud | [31.0.6](https://nextcloud.com/de/changelog/#31-0-6) | [Nextcloud 31](https://docs.nextcloud.com/) | | Groupware | OX App Suite | [8.38](https://documentation.open-xchange.com/appsuite/releases/8.38/) | Online documentation available from within the installed application; [Additional resources](https://documentation.open-xchange.com/) | | Knowledge management | XWiki | [16.10.5](https://www.xwiki.org/xwiki/bin/view/ReleaseNotes/Data/XWiki/16.10.5/) | [For the most recent release](https://www.xwiki.org/xwiki/bin/view/Documentation) | -| Portal & IAM | Nubus | [1.11.1](https://docs.software-univention.de/nubus-kubernetes-release-notes/latest/en/changelog.html#version-1-11-1-2025-07-02) | [Univention's documentation website](https://docs.software-univention.de/n/en/nubus.html) | +| Portal & IAM | Nubus | [1.11.2](https://docs.software-univention.de/nubus-kubernetes-release-notes/1.x/en/changelog.html#version-1-11-2-2025-07-10) | [Univention's documentation website](https://docs.software-univention.de/n/en/nubus.html) | | Project management | OpenProject | [16.1.1](https://www.openproject.org/docs/release-notes/16-1-1/) | [For the most recent release](https://www.openproject.org/docs/user-guide/) | | Videoconferencing | Jitsi | [2.0.9955](https://github.com/jitsi/jitsi-meet/releases/tag/stable%2Fjitsi-meet_9955) | [For the most recent release](https://jitsi.github.io/handbook/docs/category/user-guide/) | | Weboffice | Collabora | [25.04.2](https://www.collaboraoffice.com/code-25-04-release-notes/) | Online documentation available from within the installed application; [Additional resources](https://sdk.collaboraonline.com/) | diff --git a/helmfile/apps/nubus/values-nubus.yaml.gotmpl b/helmfile/apps/nubus/values-nubus.yaml.gotmpl index f7641a2f..faeee341 100644 --- a/helmfile/apps/nubus/values-nubus.yaml.gotmpl +++ b/helmfile/apps/nubus/values-nubus.yaml.gotmpl @@ -789,6 +789,7 @@ nubusUdmRestApi: enabled: {{ .Values.functional.externalServices.nubus.udmRestApi.enabled }} annotations: nginx.ingress.kubernetes.io/proxy-buffer-size: "64k" + nginx.ingress.kubernetes.io/proxy-busy-buffers-size: "128k" nginx.ingress.kubernetes.io/configuration-snippet-disabled: | rewrite ^/univention(/udm/.*)$ $1 break; nginx.ingress.kubernetes.io/use-regex: "true" @@ -1139,6 +1140,11 @@ nubusUdmListener: registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusProvisioningUdmListener.registry | quote }} repository: {{ .Values.images.nubusProvisioningUdmListener.repository }} tag: {{ .Values.images.nubusProvisioningUdmListener.tag }} + waitForDependency: + image: + registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusWaitForDependency.registry | quote }} + repository: {{ .Values.images.nubusWaitForDependency.repository }} + tag: {{ .Values.images.nubusWaitForDependency.tag }} persistence: size: {{ .Values.persistence.storages.nubusUdmListener.size | quote }} # storageClass: -- coalesce .Values.persistence.storages.nubusUdmListener.storageClassName .Values.persistence.storageClassNames.RWO | quote -- diff --git a/helmfile/environments/default/charts.yaml.gotmpl b/helmfile/environments/default/charts.yaml.gotmpl index 27ce223f..b2d94d50 100644 --- a/helmfile/environments/default/charts.yaml.gotmpl +++ b/helmfile/environments/default/charts.yaml.gotmpl @@ -313,7 +313,7 @@ charts: registry: "registry.opencode.de" repository: "bmi/opendesk/components/supplier/univention/charts-mirror" name: "nubus" - version: "1.11.1" + version: "1.11.2" verify: true opendeskAlerts: # providerCategory: "Platform" diff --git a/helmfile/environments/default/images.yaml.gotmpl b/helmfile/environments/default/images.yaml.gotmpl index 24521540..765daa4d 100644 --- a/helmfile/environments/default/images.yaml.gotmpl +++ b/helmfile/environments/default/images.yaml.gotmpl @@ -370,7 +370,7 @@ images: # upstreamMirrorStartFrom: ["0", "34", "2"] registry: "registry.opencode.de" repository: "bmi/opendesk/components/supplier/univention/images-mirror/blocklist-cleanup" - tag: "0.34.2@sha256:9467f64dd8ebbf5fa62fb33741a66a81874cd288895e8580974869e4ef1dc8b6" + tag: "0.37.1@sha256:e18a5ca77accb9438c57ec7448f0984e6de11481ca8e0cd3ce557e6492dd8355" nubusDataLoader: # providerCategory: "Supplier" # providerResponsible: "Univention" @@ -440,7 +440,7 @@ images: # upstreamMirrorStartFrom: ["0", "1", "0"] registry: "registry.opencode.de" repository: "bmi/opendesk/components/supplier/univention/images-mirror/keycloak-bootstrap" - tag: "0.12.1@sha256:4a36e3753bda7d6ccc6fc98f5e115bf96a4257c1a9458d075888256484cfdd4b" + tag: "0.12.2@sha256:b3b058e49f9671e01530fca548a3308738aec3bf7d57c9ced9cde556f1f7545f" nubusKeycloakExtensionHandler: # providerCategory: "Supplier" # providerResponsible: "Univention" @@ -450,7 +450,7 @@ images: # upstreamMirrorStartFrom: ["0", "0", "3"] registry: "registry.opencode.de" repository: "bmi/opendesk/components/supplier/univention/images-mirror/keycloak-handler" - tag: "0.11.0@sha256:aaba6527f37a7302cf54b0a689a1c11cb439bdc471e01d101726a05902714b9c" + tag: "0.19.2@sha256:6e4c65b375ad12819240cb8eabd4ef629858ad74179bd639acb713201c528ef4" nubusKeycloakExtensionProxy: # providerCategory: "Supplier" # providerResponsible: "Univention" @@ -460,7 +460,7 @@ images: # upstreamMirrorStartFrom: ["0", "0", "3"] registry: "registry.opencode.de" repository: "bmi/opendesk/components/supplier/univention/images-mirror/keycloak-proxy" - tag: "0.15.3@sha256:087a8f242ac40f01bdc8326b220ec5b0034b64b3a3be6cf3968563c3d48eb056" + tag: "0.19.2@sha256:b7c897870a12214064d79d72d52d0030bf2513148078cb922b8782806c2e4773" nubusLdapNotifier: # providerCategory: "Supplier" # providerResponsible: "Univention" @@ -498,7 +498,7 @@ images: # upstreamMirrorStartFrom: ["0", "29", "1"] registry: "registry.opencode.de" repository: "bmi/opendesk/components/supplier/univention/images-mirror/ldap-server-elector" - tag: "0.40.0@sha256:abd273062824bf652b891b37ef3093771a8f686ef414cbe376c837293d115ac9" + tag: "0.43.0@sha256:179097cf89774b1ac48c5315ccc06cc8628cc89d085d95f2d89a223d52a75fe2" nubusLdapUpdateUniventionObjectIdentifier: # providerCategory: "Supplier" # providerResponsible: "Univention" @@ -508,7 +508,7 @@ images: # upstreamMirrorStartFrom: ["0", "34", "2"] registry: "registry.opencode.de" repository: "bmi/opendesk/components/supplier/univention/images-mirror/ldap-update-univention-object-identifier" - tag: "0.34.2@sha256:137dc06ef02ea4962f5bd55c093153eead2b9f2d204cfc26fd44bc77397b9461" + tag: "0.37.1@sha256:0715b8c98390337f230c04e88ed63142b94faf590bb2cb1dacb41390b2e8edf0" nubusNats: # providerCategory: 'Community' # providerResponsible: 'Univention' @@ -550,7 +550,7 @@ images: # upstreamRepository: "bmi/opendesk/components/platform-development/images/opendesk-nubus" registry: "registry.opencode.de" repository: "bmi/opendesk/components/platform-development/images/opendesk-nubus" - tag: "1.14.7@sha256:e00b6829b765dc1319593c1a1f8369950fc179308d65b79838539ca2967eb5ac" + tag: "1.14.9@sha256:a2c7a5e302ed5cc52445fd1b18b277de4a3d45b2a2940f1a3970447dc13eb16c" nubusOpendeskExtensionA2gMapper: # providerCategory: "Platform" # providerResponsible: "openDesk" @@ -628,7 +628,7 @@ images: # upstreamMirrorStartFrom: ["0", "14", "0"] registry: "registry.opencode.de" repository: "bmi/opendesk/components/supplier/univention/images-mirror/provisioning-dispatcher" - tag: "0.56.0@sha256:324866b7a80e17c5a1a6bbc02163a14e084eecc86df1ece5b3e10d3344bbe1ad" + tag: "0.58.0@sha256:2ac4d4a7362e45f67499537dd74d2fdfb7b54817b7f12eb9e2d88d87cf3a6f7e" nubusProvisioningEventsAndConsumerApi: # providerCategory: "Supplier" # providerResponsible: "Univention" @@ -638,7 +638,7 @@ images: # upstreamMirrorStartFrom: ["0", "14", "0"] registry: "registry.opencode.de" repository: "bmi/opendesk/components/supplier/univention/images-mirror/provisioning-events-and-consumer-api" - tag: "0.56.0@sha256:37d8ac54a9d06685e4536f6f349a51efc0f51a5a06d2503333918377cb7fed37" + tag: "0.58.0@sha256:083cf58d9522d5058d09a78355a9ca935be2882fc595ad221b1ffd707a7d615d" nubusProvisioningPrefill: # providerCategory: "Supplier" # providerResponsible: "Univention" @@ -648,7 +648,7 @@ images: # upstreamMirrorStartFrom: ["0", "14", "0"] registry: "registry.opencode.de" repository: "bmi/opendesk/components/supplier/univention/images-mirror/provisioning-prefill" - tag: "0.56.0@sha256:76b6f556a8baec164ee060104d85b9641bd6f17342d40a53943eea03fd432343" + tag: "0.58.0@sha256:368bc284956b642af02ca7199c6a7d94ae3bbdb3ede09db1c98822a146d9106d" nubusProvisioningUdmListener: # providerCategory: "Supplier" # providerResponsible: "Univention" @@ -658,7 +658,7 @@ images: # upstreamMirrorStartFrom: ["0", "14", "0"] registry: "registry.opencode.de" repository: "bmi/opendesk/components/supplier/univention/images-mirror/provisioning-udm-listener" - tag: "0.56.0@sha256:e89f2094f245b70ffa198942ae4310e5784b61099ac80f427659a28706b509f5" + tag: "0.58.0@sha256:5f924be8fdb29bda5734fd2b6b98f106913757e11530611bf5f6a5f144165be7" nubusProvisioningUdmTransformer: # providerCategory: "Supplier" # providerResponsible: "Univention" @@ -668,7 +668,7 @@ images: # upstreamMirrorStartFrom: ["0", "14", "0"] registry: "registry.opencode.de" repository: "bmi/opendesk/components/supplier/univention/images-mirror/provisioning-udm-transformer" - tag: "0.56.0@sha256:4bb855be7a1b9abb8c6ae07afd9c35acb6d7aaad80d36c1132e054fe1bdd0156" + tag: "0.58.0@sha256:afa6028bbaec6c14e09035b7d18507aad45ff6d6aa852fb664ab485f2622a308" nubusSelfServiceConsumer: # providerCategory: "Supplier" # providerResponsible: "Univention" @@ -726,7 +726,7 @@ images: # upstreamMirrorStartFrom: ["0", "9", "4"] registry: "registry.opencode.de" repository: "bmi/opendesk/components/supplier/univention/images-mirror/wait-for-dependency" - tag: "0.33.0@sha256:7e0e5e93422b2e99915d95d674ab37a8f9c79c0b8f1ebf69c2e7706bb718ae75" + tag: "0.34.0@sha256:6ed1ae644160f0e69c00b4ea90efd4ea4aeaadeefb87e77f3454bcafaacd5e01" opendeskKeycloakBootstrap: # providerCategory: "Platform" # providerResponsible: "openDesk" diff --git a/helmfile/files/theme/portal/stylesheet.css b/helmfile/files/theme/portal/stylesheet.css index d326dd7d..dd7952e4 100644 --- a/helmfile/files/theme/portal/stylesheet.css +++ b/helmfile/files/theme/portal/stylesheet.css @@ -65,13 +65,13 @@ --font-color-warning-light: #ffeeca; --font-color-success: #92d625; --font-color-success-light: #ebffca; - --button-primary-bgc: #571EFA; - --button-primary-bgc-hover: #1b1d18; - --button-primary-bgc-active: rgba(79, 114, 24, 1); + --button-primary-bgc: var(--color-accent); + --button-primary-bgc-hover: var(--color-accent); + --button-primary-bgc-active: #000; --button-primary-bgc-disabled: #5f5f5c; - --button-bgc: var(--color-opendesk-secondary); - --button-bgc-hover: #575755; - --button-bgc-active: rgba(80, 80, 77, 1); + --button-bgc: var(--color-accent); + --button-bgc-hover: var(--color-accent); + --button-bgc-active: #000; --button-bgc-disabled: #5f5f5c; --button-text-bgc: transparent; --button-text-bgc-hover: var(--button-bgc-hover); @@ -97,6 +97,14 @@ --login-logo: url("/static-files/login/logo.svg") no-repeat center; } +button { + color: #fff; +} + +button.button--primary { + color: #fff; +} + /* Speed of flyout mennu */ .flyout-wrapper, .flyout-wrapper--isVisible { transition: transform .5s cubic-bezier(0,0,.2,1);