apiVersion: backstage.io/v1alpha1 kind: Component metadata: name: propertysettings-v2-service title: PropertySettings 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/propertysettings-v2-service # Argo Workflows annotation for environment provisioning argo-workflows.cnoe.io/label-selector: "service=propertysettings-v2-service" # ArgoCD annotations - using selector for dynamic app names argocd/app-selector: backstage.io/kubernetes-id=propertysettings-v2-service # Kubernetes annotations - Using kubernetes-id with commonLabels backstage.io/kubernetes-id: propertysettings-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: - propertysettings-v2-api consumesApis: [] --- apiVersion: backstage.io/v1alpha1 kind: API metadata: name: propertysettings-v2-api title: PropertySettings 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