109 lines
4.1 KiB
YAML
109 lines
4.1 KiB
YAML
apiVersion: backstage.io/v1alpha1
|
|
kind: Component
|
|
metadata:
|
|
name: property-settings-v2-service
|
|
title: Property Settings V2 Service
|
|
description: Property Settings and Configuration Management Service providing centralized application configuration, environment-specific properties, and dynamic settings management
|
|
annotations:
|
|
backstage.io/techdocs-ref: dir:.
|
|
github.com/project-slug: yourorg/property-settings-v2-service
|
|
# Argo Workflows annotation for environment provisioning
|
|
argo-workflows.cnoe.io/label-selector: "service=property-settings-v2-service"
|
|
# ArgoCD annotations - using selector for dynamic app names
|
|
argocd/app-selector: backstage.io/kubernetes-id=property-settings-v2-service
|
|
# Kubernetes annotations - Using kubernetes-id with commonLabels
|
|
backstage.io/kubernetes-id: property-settings-v2-service
|
|
# Helm chart annotations for environment provisioning
|
|
helm.cnoe.io/git-repo: https://gitea.os-tf-qa.onlinesales.ai/gitea_admin/propertysettings-v2-chart.git
|
|
helm.cnoe.io/chart-path: property-settings-svc-v2-chart
|
|
helm.cnoe.io/values-file: values.yaml
|
|
helm.cnoe.io/available-values-files: '["values.yaml"]'
|
|
helm.cnoe.io/dependencies: '{"mysql": {"name": "MySQL Database", "required": false, "default": true, "externalParams": [{"param": "externalDatabase.host", "label": "Database Host", "placeholder": "mysql.example.com"}, {"param": "externalDatabase.port", "label": "Database Port", "placeholder": "3306"}, {"param": "externalDatabase.database", "label": "Database Name", "placeholder": "property_settings_db_v2"}, {"param": "externalDatabase.username", "label": "Username", "placeholder": "propertysettings"}, {"param": "externalDatabase.password", "label": "Password", "placeholder": "", "secret": true}]}}'
|
|
# Dependency URL mapping for environment provisioning
|
|
helm.cnoe.io/dependency-urls: '{"hades-service": {"helmParam": "hades.baseUrl", "port": 8080, "serviceDns": "hades-service"}}'
|
|
tags:
|
|
- configuration
|
|
- settings
|
|
- properties
|
|
- java
|
|
links:
|
|
- url: https://wiki.company.com/propertysettings-v2
|
|
title: Documentation
|
|
icon: docs
|
|
- url: https://grafana.company.com/d/propertysettings-v2
|
|
title: Grafana Dashboard
|
|
icon: dashboard
|
|
spec:
|
|
type: service
|
|
lifecycle: experimental
|
|
owner: user1
|
|
dependsOn:
|
|
- component:default/hades-service
|
|
providesApis:
|
|
- property-settings-v2-api
|
|
consumesApis: []
|
|
|
|
---
|
|
apiVersion: backstage.io/v1alpha1
|
|
kind: API
|
|
metadata:
|
|
name: property-settings-v2-api
|
|
title: Property Settings V2 API
|
|
description: REST API for property and configuration management operations
|
|
tags:
|
|
- rest
|
|
- configuration
|
|
links:
|
|
- url: https://api-docs.company.com/propertysettings-v2
|
|
title: API Documentation
|
|
spec:
|
|
type: openapi
|
|
lifecycle: experimental
|
|
owner: user1
|
|
definition: |
|
|
openapi: 3.0.0
|
|
info:
|
|
title: PropertySettings V2 API
|
|
version: 2.0.0
|
|
description: Property Settings and Configuration Management Service
|
|
paths:
|
|
/properties:
|
|
get:
|
|
summary: List properties
|
|
description: Get list of all properties
|
|
operationId: listProperties
|
|
tags:
|
|
- Properties
|
|
post:
|
|
summary: Create property
|
|
description: Create a new property
|
|
operationId: createProperty
|
|
tags:
|
|
- Properties
|
|
/properties/{id}:
|
|
get:
|
|
summary: Get property
|
|
description: Get a specific property by ID
|
|
operationId: getProperty
|
|
tags:
|
|
- Properties
|
|
put:
|
|
summary: Update property
|
|
description: Update an existing property
|
|
operationId: updateProperty
|
|
tags:
|
|
- Properties
|
|
delete:
|
|
summary: Delete property
|
|
description: Delete a property
|
|
operationId: deleteProperty
|
|
tags:
|
|
- Properties
|
|
/health:
|
|
get:
|
|
summary: Health check
|
|
description: Service health check endpoint
|
|
operationId: healthCheck
|
|
tags:
|
|
- Monitoring
|