- Removed hook: Sync annotation from dbinit (was causing it to run before MySQL) - dbinit Job: wave 0 (same as MySQL, wait-for-db handles timing) - Deployment: wave 1 (starts after dbinit completes) - Fixes: db init job starting before mysql pod
124 lines
3.4 KiB
YAML
124 lines
3.4 KiB
YAML
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: []
|