apiVersion: backstage.io/v1alpha1 kind: Component metadata: name: hades-service title: Hades V2 Authentication Service description: Authentication and Authorization Service providing user management, OAuth/SAML integration, ACL-based access control, and multi-tenant context management annotations: backstage.io/techdocs-ref: dir:. github.com/project-slug: yourorg/hades-service # Argo Workflows annotation for environment provisioning argo-workflows.cnoe.io/label-selector: "service=hades-service" # ArgoCD annotations argocd/app-name: hades-service # Kubernetes annotations - Using kubernetes-id with commonLabels backstage.io/kubernetes-id: hades-service # Helm chart annotations for environment provisioning helm.cnoe.io/git-repo: https://gitea.cnoe.localtest.me:8443/giteaAdmin/hades-chart.git helm.cnoe.io/chart-path: hades helm.cnoe.io/values-file: values-dev.yaml helm.cnoe.io/available-values-files: '["values.yaml", "values-dev.yaml", "values-local.yaml"]' helm.cnoe.io/dependencies: '{"mysql": {"name": "MySQL Database", "required": false, "default": true}}' tags: - java - authentication - authorization - servlet - tomcat - oauth - saml - acl links: - url: https://wiki.company.com/hades title: Documentation icon: docs - url: https://grafana.company.com/d/hades title: Grafana Dashboard icon: dashboard - url: https://sentry.io/hades title: Error Tracking icon: alert spec: type: service lifecycle: experimental owner: user1 dependsOn: - resource:default/hades-database providesApis: - hades-api consumesApis: [] --- apiVersion: backstage.io/v1alpha1 kind: API metadata: name: hades-api title: Hades Authentication API description: REST API for authentication and authorization operations tags: - rest - authentication links: - url: https://api-docs.company.com/hades title: API Documentation spec: type: openapi lifecycle: experimental owner: user1 definition: | openapi: 3.0.0 info: title: Hades V2 API version: 3.0.0 description: Authentication and Authorization Service paths: /authenticate: post: summary: Authenticate user description: Authenticate a user with username/password operationId: authenticate tags: - Authentication /authorize: post: summary: Authorize token description: Validate and authorize an authentication token operationId: authorize tags: - Authorization /users: get: summary: List users description: Get list of users operationId: listUsers tags: - Users post: summary: Create user description: Create a new user operationId: createUser tags: - Users /schedulerService/jobTrigger: get: summary: Health check description: Service health check endpoint operationId: healthCheck tags: - Monitoring --- apiVersion: backstage.io/v1alpha1 kind: Resource metadata: name: hades-database title: Hades Database description: MySQL database for Hades service tags: - database - mysql spec: type: database owner: user1 dependsOn: []