Migrate all repos into monorepo context folders

Bahn: aisupport, Analyse-O2C-C2S, awesome-bahn-mcp-servers, beam-mcp,
      Confluence_Bot, db-planet-mcp-server, O2C-Harness, project-audit,
      Projekt-KIQ-HP, teamlandkarte-mcp
Dhive: Jury-Voting
Privat: CV, NoteGraph (NOTE: NoteGraph needs complete redo after consolidation)
Shared: AI-Orchestrator, OrgMyLife, power_skills_and_more
Shared/references: symphony (read-only)

Bahn repos remain available as independent remotes - this monorepo
pulls them in via subtree, the originals are untouched.
This commit is contained in:
2026-06-30 20:39:52 +02:00
parent 2f2b295531
commit a5f8fb49ab
1717 changed files with 447332 additions and 0 deletions
+177
View File
@@ -0,0 +1,177 @@
# ============================================================
# GitLab CI build & release OCI image via pipeship + deploy
# ============================================================
# Uses the pipeship "release_oci_image" product which bundles:
# stages, build/scan/promote_oci_image, semantic_release, etc.
# See: https://bridge.pipeship.comp.db.de/modules/?searchKeyword=release_oci_image&filterTypeSubmit=product
# ============================================================
include:
- remote: https://bahnhub.tech.rz.db.de/artifactory/pipeship-generic-release-local/canary/products/release_oci_image/4.9.96-20250909050014-9d6e6c21.yaml
variables:
PIPESHIP_PRODUCT: "release_oci_image"
PIPESHIP_VERSION: "$CI_DEFAULT_BRANCH"
# Version schema
PGV_SCHEMA: "stateful-semver"
# Enable semantic-release
SEMANTIC_RELEASE_ENABLED: "true"
SR_PLUGINS: "@semantic-release/commit-analyzer,@semantic-release/release-notes-generator,@semantic-release/gitlab"
# Disable unused jobs
RST_JOB_DISABLED: "true"
LINT_CODE_JOB_DISABLED: "true"
SDC_JOB_DISABLED: "true"
SCAN_SONARQUBE_JOB_DISABLED: "true"
SSQ_JOB_DISABLED: "true"
SSG_JOB_DISABLED: "true"
CAON_JOB_DISABLED: "true"
# Version file for promote_oci_image
POI_SOURCE_IMAGE_VERSION_FILE: "VERSION"
POI_DESTINATION_IMAGE_VERSION_FILE: "VERSION"
POI_TAG_LATEST: "true"
# Use dotenv artifact from build_oci_image
SOIST_USE_URI_ARTIFACT: "true"
SOIT_USE_URI_ARTIFACT: "true"
POI_USE_URI_ARTIFACT: "true"
CAON_USE_URI_ARTIFACT: "true"
CAON_USE_VERSION_FILE: "false"
# Use Aqua scanner
AQUA_ENABLED: "true"
# Node base image for test jobs
NODE_IMAGE: "db-container-lib-docker-release-local.bahnhub.tech.rz.db.de/node:22-alpine"
# Azure subscriptions
SUBSCRIPTION_DEV: "245822e7-9f8b-4c8a-993b-e9ae726c9c42"
SUBSCRIPTION_IAT: "245822e7-9f8b-4c8a-993b-e9ae726c9c42"
# Proxy settings
HTTP_PROXY: "http://webproxy.comp.db.de:8080"
HTTPS_PROXY: "http://webproxy.comp.db.de:8080"
http_proxy: "http://webproxy.comp.db.de:8080"
https_proxy: "http://webproxy.comp.db.de:8080"
no_proxy: "172.30.0.1,127.0.0.1,localhost,cluster.local,db.de,169.254.169.254"
# ── Code quality gate (lint + unit tests) ─────────────────────
code_quality:
stage: code_analysis
image: $NODE_IMAGE
tags:
- dev
rules:
- if: $CI_MERGE_REQUEST_ID
- if: $CI_COMMIT_REF_PROTECTED == "true"
script:
- npm ci --ignore-scripts
- npm run test
# ── Bicep validation (MR only) ───────────────────────────────
validate_bicep:
stage: code_analysis
image: mcr-docker-remote.bahnhub.tech.rz.db.de/azure-cli:2.76.0
tags:
- dev
script:
- az login --federated-token "$(cat $AZURE_FEDERATED_TOKEN_FILE)" --service-principal -u $AZURE_CLIENT_ID -t $AZURE_TENANT_ID
- az account set --subscription $SUBSCRIPTION_DEV
- az deployment sub what-if --location westeurope --parameters infra/parameters/dev.bicepparam --parameters deployContainerApp=true --no-pretty-print
rules:
- if: $CI_MERGE_REQUEST_ID
# ── Job overrides (stages & runner tags) ──────────────────────
generate_version:
stage: init
tags:
- dev
submit_telemetry:
stage: init
tags:
- dev
scan_config_trivy:
stage: code_analysis
tags:
- dev
build_oci_image:
stage: build_image
tags:
- dev
needs:
- job: generate_version
optional: true
- job: code_quality
promote_oci_image:
stage: promote_image
tags:
- dev
rules:
- if: $CI_COMMIT_BRANCH == "main"
variables:
POI_USE_URI_ARTIFACT: "true"
POI_SOURCE_IMAGE_NAME: "generativeai-docker-stage-dev-local.bahnhub.tech.rz.db.de/db-planet-mcp-server"
POI_DESTINATION_IMAGE_NAME: "generativeai-docker-stage-iat-local.bahnhub.tech.rz.db.de/db-planet-mcp-server"
POI_DESTINATION_REGISTRY_CREDENTIALS_USER: "${GLOBAL_ARTIFACTORY_USER_STAGE}"
POI_DESTINATION_REGISTRY_CREDENTIALS_PASSWORD: "${GLOBAL_ARTIFACTORY_TOKEN_STAGE}"
- if: $CI_COMMIT_TAG
variables:
POI_SOURCE_IMAGE_NAME: "generativeai-docker-stage-dev-local.bahnhub.tech.rz.db.de/db-planet-mcp-server"
POI_DESTINATION_IMAGE_NAME: "generativeai-docker-prod-local.bahnhub.tech.rz.db.de/db-planet-mcp-server"
POI_SOURCE_IMAGE_VERSION: "${CI_PIPELINE_ID}"
POI_DESTINATION_IMAGE_VERSION: "${CI_COMMIT_TAG}"
POI_DESTINATION_REGISTRY_CREDENTIALS_USER: "${GLOBAL_ARTIFACTORY_USER_PROD}"
POI_DESTINATION_REGISTRY_CREDENTIALS_PASSWORD: "${GLOBAL_ARTIFACTORY_TOKEN_PROD}"
cleanup_artifactory_oci_nonprod:
stage: cleanup
tags:
- dev
# ── Deploy to Azure ───────────────────────────────────────────
.deploy_template:
image: mcr-docker-remote.bahnhub.tech.rz.db.de/azure-cli:2.76.0
stage: post_promote_image
tags:
- dev
script:
- az login --federated-token "$(cat $AZURE_FEDERATED_TOKEN_FILE)" --service-principal -u $AZURE_CLIENT_ID -t $AZURE_TENANT_ID
- az account set --subscription $DEPLOY_SUBSCRIPTION
- chmod +x ./infra/deploy.sh
- IMAGE_TAG=$(cat VERSION 2>/dev/null || echo "$CI_COMMIT_SHORT_SHA")
- ./infra/deploy.sh --environment $DEPLOY_ENVIRONMENT --image-tag "$IMAGE_TAG"
deploy_dev:
extends: .deploy_template
variables:
DEPLOY_ENVIRONMENT: "DEV"
DEPLOY_SUBSCRIPTION: $SUBSCRIPTION_DEV
rules:
- if: $CI_COMMIT_BRANCH == "develop"
needs:
- job: build_oci_image
artifacts: true
- job: generate_version
artifacts: true
optional: true
deploy_iat:
extends: .deploy_template
variables:
DEPLOY_ENVIRONMENT: "IAT"
DEPLOY_SUBSCRIPTION: $SUBSCRIPTION_IAT
rules:
- if: $CI_COMMIT_BRANCH == "main"
needs:
- job: promote_oci_image
artifacts: true
- job: generate_version
artifacts: true
optional: true