mirror of
https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk.git
synced 2025-12-08 00:11:38 +01:00
fix(ci): Remove creation of release artefacts, use the images.yaml and charts.yaml in ./helmfile/environments/default for information about the artefacts instead.
This commit is contained in:
@@ -34,7 +34,6 @@ stages:
|
|||||||
- "component-deploy-stage-2"
|
- "component-deploy-stage-2"
|
||||||
- "tests"
|
- "tests"
|
||||||
- "env-stop"
|
- "env-stop"
|
||||||
- "generate-release-assets"
|
|
||||||
- ".post"
|
- ".post"
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
@@ -508,34 +507,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:
|
||||||
@@ -574,8 +545,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 +578,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 +597,5 @@ release:
|
|||||||
EOF
|
EOF
|
||||||
- "semantic-release"
|
- "semantic-release"
|
||||||
needs:
|
needs:
|
||||||
- "generate-release-assets"
|
|
||||||
- "generate-docs"
|
- "generate-docs"
|
||||||
...
|
...
|
||||||
|
|||||||
15
README.md
15
README.md
@@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
SPDX-FileCopyrightText: 2024 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
||||||
SPDX-License-Identifier: Apache-2.0
|
SPDX-License-Identifier: Apache-2.0
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@@ -28,7 +28,7 @@ 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.59](https://github.com/element-hq/element-desktop/releases/tag/v1.11.59) | [For the most recent release](https://element.io/user-guide) |
|
| Chat & collaboration | Element ft. Nordeck widgets | [1.11.59](https://github.com/element-hq/element-desktop/releases/tag/v1.11.59) | [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/) |
|
||||||
@@ -37,7 +37,7 @@ openDesk currently features the following functional main components:
|
|||||||
| 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.1](https://www.openproject.org/docs/release-notes/13-3-1/) | [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.2.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/) |
|
||||||
|
|
||||||
While not all components are perfectly shaped for the execution inside containers, one of the project's objectives is to
|
While not all components are perfectly shaped for the execution inside containers, one of the project's objectives is to
|
||||||
align the applications with best practises regarding container design and operations.
|
align the applications with best practises regarding container design and operations.
|
||||||
@@ -89,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.
|
||||||
|
|
||||||
@@ -107,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
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
SPDX-FileCopyrightText: 2024 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
||||||
SPDX-License-Identifier: Apache-2.0
|
SPDX-License-Identifier: Apache-2.0
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@@ -15,7 +15,6 @@ But contributions will be possible soon once the CLA process is sorted out.
|
|||||||
* [Renovate](#renovate)
|
* [Renovate](#renovate)
|
||||||
* [Mirroring](#mirroring)
|
* [Mirroring](#mirroring)
|
||||||
* [Get new artefacts mirrored](#get-new-artefacts-mirrored)
|
* [Get new artefacts mirrored](#get-new-artefacts-mirrored)
|
||||||
* [Release-Artefacts](#release-artefacts)
|
|
||||||
* [Creating new charts / images](#creating-new-charts--images)
|
* [Creating new charts / images](#creating-new-charts--images)
|
||||||
|
|
||||||
# Overview
|
# Overview
|
||||||
@@ -60,12 +59,11 @@ In case you do not plan to actually merge from the branch you have pushed, pleas
|
|||||||
|
|
||||||
The `charts.yaml` and `images.yaml` are the central place to reference external artefacts that are used for the deployment.
|
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 various tools work with the contents of the files:
|
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.
|
- **Linting**: Ensures consistency of the file contents for the other tools.
|
||||||
- **Renovate**: Automatically create MRs that update the components to their latest version.
|
- **Renovate**: Automatically create MRs that update the components to their latest version.
|
||||||
- **Mirror**: Mirror artefacts to Open CoDE.
|
- **Mirror**: Mirror artefacts to Open CoDE.
|
||||||
- **Release-Artefacts**: Creates the release asset jsons.
|
|
||||||
|
|
||||||
Please find details on these tools below.
|
Please find details on these tools below.
|
||||||
|
|
||||||
@@ -132,18 +130,6 @@ 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
|
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.
|
2. you get your branch merged to `develop` already.
|
||||||
|
|
||||||
## Release-Artefacts
|
|
||||||
|
|
||||||
- See also: https://gitlab.opencode.de/bmi/opendesk/tooling/opendesk-asset-generator
|
|
||||||
|
|
||||||
Creates the two artefacts `image-index.json` and `chart-index.json` by parsing the yaml files and combining the artefact's details:
|
|
||||||
- `registry`
|
|
||||||
- `repository`
|
|
||||||
- `tag` in the images file or `name` & `version` in the charts file.
|
|
||||||
adding the provider information from the annotations
|
|
||||||
- `# providerCategory`
|
|
||||||
- `# providerResponsible`
|
|
||||||
|
|
||||||
# Creating new charts / images
|
# Creating new charts / images
|
||||||
|
|
||||||
When you create new Helm charts please check out the
|
When you create new Helm charts please check out the
|
||||||
|
|||||||
@@ -524,7 +524,7 @@ images:
|
|||||||
# upstreamMirrorStartFrom: ['22', '0', '3']
|
# upstreamMirrorStartFrom: ['22', '0', '3']
|
||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/keycloak-keycloak"
|
repository: "bmi/opendesk/components/supplier/univention/images-mirror/keycloak-keycloak"
|
||||||
tag: "22.0.3-ucs2@sha256:1e8e45a2e01050c1473595c3b143446363016ea292b0c599ccd9f1bd37112206"
|
tag: "23.0.7-ucs1@sha256:94b34cf3d9266435cf03549b58f874219ecbe9c38c18a070fea403d0cdd2bfc4"
|
||||||
umsKeycloakBootstrap:
|
umsKeycloakBootstrap:
|
||||||
# providerCategory: 'Supplier'
|
# providerCategory: 'Supplier'
|
||||||
# providerResponsible: 'Univention'
|
# providerResponsible: 'Univention'
|
||||||
|
|||||||
Reference in New Issue
Block a user