feat: modernize application — source, platform artifacts, CI/CD (#3)
Some checks failed
Build and Publish TechDocs / build-and-publish (push) Failing after 1m22s
Build and Push to ACR / Build and Push (push) Has been skipped

This commit was merged in pull request #3.
This commit is contained in:
2026-08-24 16:15:00 +00:00
parent 5b4b362f6c
commit 9b7545fe5a
12 changed files with 730 additions and 368 deletions

View File

@@ -1,65 +1,44 @@
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: demo-sam-1
description: 'demo-sam-1 — renovated onto the crucible platform orchestrator'
annotations:
gitea.kyndemo.live/project-slug: validate/demo-sam-1
gitea.kyndemo.live/repo-slug: validate/demo-sam-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-sam-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-sam-1
# The environments are now STAGES of this application -- dev, staging, prod -- rather
# than one environment named after the component.
humanitec.dev/appId: demo-sam-1
cjot.io/target-domain: apps
gitea.kyndemo.live/project-slug: validate/demo-sam-1
gitea.kyndemo.live/repo-slug: validate/demo-sam-1
grafana.com/dashboard-url: https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=demo-sam-1
grafana/alert-label-selector: app=demo-sam-1
grafana/dashboard-selector: uid == 'otel-app-observability-v2'
grafana/grafana-instance: default
humanitec.dev/appId: demo-sam-1
humanitec.dev/orgId: crucible
humanitec.dev/projectId: demo-sam-1
sonarqube.org/project-key: demo-sam-1
grafana/grafana-instance: "default"
grafana/alert-label-selector: "app=demo-sam-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-sam-1"
tags:
- platform-orchestrator
- renovation
description: "demo-sam-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-sam-1/environments/dev
title: Orchestrator Console
icon: dashboard
- url: https://demo-sam-1.apps.dev.crucible.kyndemo.live
title: Live Application
icon: web
- url: https://gitea.kyndemo.live/validate/demo-sam-1
title: Source Repository
icon: github
- url: https://gitea.kyndemo.live/validate/demo-sam-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-sam-1
title: Grafana Dashboard
icon: dashboard
- icon: dashboard
title: Orchestrator Console
url: https://console.dev.orchestrator.crucible.kyndemo.live/orgs/crucible/projects/demo-sam-1/environments/dev
- icon: web
title: Live Application
url: https://demo-sam-1.apps.dev.crucible.kyndemo.live
- icon: github
title: Source Repository
url: https://gitea.kyndemo.live/validate/demo-sam-1
- icon: code
title: CI/CD Pipelines
url: https://gitea.kyndemo.live/validate/demo-sam-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-sam-1
name: demo-sam-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