feat: modernize application — source, platform artifacts, CI/CD
All checks were successful
Build and Publish TechDocs / build-and-publish (push) Successful in 49s

- chore: ingest source code

112 files from https://github.com/spring-projects/spring-petclinic
- feat: add platform deployment artifacts
- feat: add CI/CD workflow automation
This commit is contained in:
2026-08-03 16:24:16 +00:00
parent a9635c99b4
commit 2509363bbe
14 changed files with 870 additions and 575 deletions

View File

@@ -1,65 +1,44 @@
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: demo-bofa-1
description: 'demo-bofa-1 — renovated onto the crucible platform orchestrator'
annotations:
gitea.kyndemo.live/project-slug: validate/demo-bofa-1
gitea.kyndemo.live/repo-slug: validate/demo-bofa-1
# The orchestrator names each environment's namespace ns-xxxxx at deploy time, so a
# namespace can never be known here -- pinning one only hides the workload. Omitted
# deliberately: the Kubernetes plugin then searches every namespace it is given.
#
# kubernetes-id matches the label the score-workload module propagates from the Score
# metadata.labels block. The previous selector, app.humanitec.io/name=..., was a
# Humanitec SaaS label that nothing on this platform has ever set.
backstage.io/kubernetes-id: demo-bofa-1
backstage.io/techdocs-ref: dir:.
# Vestigial key names, live values. These drive the Orchestrator tab, which reads
# humanitec.dev/orgId and humanitec.dev/projectId; renaming the keys would break every
# entity already in the catalog, so the names stay and the values point at crucible.
humanitec.dev/orgId: crucible
# THE PROJECT IS THE APPLICATION. This was `apps-cluster`, a single project shared by
# every renovated app, which is why the Orchestrator tab on any one component listed the
# whole estate -- the tab shows a project's environments, and every app's environment
# lived in that one project. Now each app owns a project, so the tab shows this app's
# stages and nothing else. The deploy workflow creates the project, its runner rule and
# its environments on first deploy.
humanitec.dev/projectId: demo-bofa-1
# The environments are now STAGES of this application -- dev, staging, prod -- rather
# than one environment named after the component.
humanitec.dev/appId: demo-bofa-1
cjot.io/target-domain: apps
gitea.kyndemo.live/project-slug: validate/demo-bofa-1
gitea.kyndemo.live/repo-slug: validate/demo-bofa-1
grafana.com/dashboard-url: https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=demo-bofa-1
grafana/alert-label-selector: app=demo-bofa-1
grafana/dashboard-selector: uid == 'otel-app-observability-v2'
grafana/grafana-instance: default
humanitec.dev/appId: demo-bofa-1
humanitec.dev/orgId: crucible
humanitec.dev/projectId: demo-bofa-1
sonarqube.org/project-key: demo-bofa-1
grafana/grafana-instance: "default"
grafana/alert-label-selector: "app=demo-bofa-1"
grafana/dashboard-selector: "uid == 'otel-app-observability-v2'"
grafana.com/dashboard-url: "https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=demo-bofa-1"
tags:
- platform-orchestrator
- renovation
description: "demo-bofa-1 \u2014 renovated onto the crucible platform orchestrator"
links:
# console.humanitec.dev is the dead SaaS. This is the live crucible console, deep-linked
# to the per-application environment the deploy workflow creates.
- url: https://console.dev.orchestrator.crucible.kyndemo.live/orgs/crucible/projects/demo-bofa-1/environments/dev
title: Orchestrator Console
icon: dashboard
- url: https://demo-bofa-1.apps.dev.crucible.kyndemo.live
title: Live Application
icon: web
- url: https://gitea.kyndemo.live/validate/demo-bofa-1
title: Source Repository
icon: github
- url: https://gitea.kyndemo.live/validate/demo-bofa-1/actions
title: CI/CD Pipelines
icon: code
- url: https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=demo-bofa-1
title: Grafana Dashboard
icon: dashboard
- icon: dashboard
title: Orchestrator Console
url: https://console.dev.orchestrator.crucible.kyndemo.live/orgs/crucible/projects/demo-bofa-1/environments/dev
- icon: web
title: Live Application
url: https://demo-bofa-1.apps.dev.crucible.kyndemo.live
- icon: github
title: Source Repository
url: https://gitea.kyndemo.live/validate/demo-bofa-1
- icon: code
title: CI/CD Pipelines
url: https://gitea.kyndemo.live/validate/demo-bofa-1/actions
- icon: dashboard
title: Grafana Dashboard
url: https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=demo-bofa-1
name: demo-bofa-1
tags:
- platform-orchestrator
- renovation
spec:
type: service
dependsOn:
- resource:default/cjot-aks
lifecycle: experimental
owner: platform-engineering
dependsOn:
- resource:default/cjot-aks
type: service