apiVersion: backstage.io/v1alpha1 kind: Component metadata: name: animals description: animals annotations: humanitec.dev/orgId: skillful-wild-chicken-2617 humanitec.dev/projectId: cjot-platform backstage.io/techdocs-ref: dir:. backstage.io/kubernetes-namespace: dev backstage.io/kubernetes-namespaces: "dev" backstage.io/kubernetes-label-selector: "app=animals" gitea.kyndemo.live/repo-slug: "demo-platform/animal" prometheus.io/scrape: "true" prometheus.io/port: "8080" prometheus.io/path: "/actuator/prometheus" grafana/grafana-instance: default grafana/alert-label-selector: "app=animals" grafana/dashboard-selector: "uid == 'otel-app-observability-v2'" grafana.com/alert-label-selector: "app=animals" grafana.com/dashboard-url: "https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=animals" tags: - microservice - golden-path - java-springboot - stateless - opentelemetry links: - url: https://console.humanitec.dev/orgs/skillful-wild-chicken-2617/projects/cjot-platform title: Humanitec Console icon: dashboard - url: https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=animals title: Grafana Dashboard icon: dashboard - url: https://gitea.kyndemo.live/demo-platform/animal title: Source Repository icon: github spec: type: service owner: group:default/demo-admins system: system:default/petclinic lifecycle: experimental providesApis: - animals-api --- apiVersion: backstage.io/v1alpha1 kind: API metadata: name: animals-api description: REST API for animals annotations: backstage.io/techdocs-ref: dir:. spec: type: openapi lifecycle: experimental owner: group:default/demo-admins system: system:default/petclinic definition: | openapi: "3.0.0" info: title: animals version: "0.1.0" description: "animals" servers: - url: https://animals.kyndemo.live paths: /api/items: get: summary: List all items responses: "200": description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Item' post: summary: Create a new item requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ItemRequest' responses: "201": description: Created /api/items/{id}: get: summary: Get item by ID parameters: - name: id in: path required: true schema: type: integer responses: "200": description: OK "404": description: Not found put: summary: Update item parameters: - name: id in: path required: true schema: type: integer requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ItemRequest' responses: "200": description: OK delete: summary: Delete item parameters: - name: id in: path required: true schema: type: integer responses: "200": description: Deleted /actuator/health: get: summary: Health check responses: "200": description: UP components: schemas: Item: type: object properties: id: type: integer name: type: string description: type: string ItemRequest: type: object properties: name: type: string description: type: string