# Global settings nameOverride: "" fullnameOverride: "backstage" namespaceOverride: "backstage" # Backstage application image image: repository: gcr.io/prj-onlinesales-test-framework/backstage tag: "main-9338a45" pullPolicy: IfNotPresent # Replica count replicaCount: 2 # Service configuration service: type: ClusterIP port: 80 targetPort: 7007 # Ingress configuration (DEPRECATED - using HTTPRoute via Terraform instead) # HTTPRoute is managed by Terraform in os-test-framework-terraform module # The HTTPRoute connects to the Traefik Gateway with 600s timeouts configured ingress: enabled: false className: "" annotations: {} hosts: - host: backstage.os-tf-qa.onlinesales.ai paths: - path: / pathType: Prefix tls: - secretName: backstage-tls hosts: - backstage.os-tf-qa.onlinesales.ai # Resources resources: requests: cpu: 500m memory: 512Mi limits: cpu: 1000m memory: 1Gi # Health checks livenessProbe: httpGet: path: /healthcheck port: 7007 initialDelaySeconds: 60 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 3 readinessProbe: httpGet: path: /healthcheck port: 7007 initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 3 # Backstage configuration backstage: baseUrl: https://backstage.os-tf-qa.onlinesales.ai title: "Osmos Test Framework" organization: "Osmos" ingressDomain: "os-tf-qa.onlinesales.ai" # Domain for HTTPRoute creation in Edit Environment gitea: inClusterUrl: http://gitea-http.gitea.svc.cluster.local:3000 owner: gitea_admin # Database configuration (Cloud SQL via proxy) database: host: backstage-cloudsql-proxy port: 5432 user: backstage-user name: backstage # Cloud SQL Proxy configuration cloudSqlProxy: enabled: true image: repository: gcr.io/cloud-sql-connectors/cloud-sql-proxy tag: "2.14.0" connectionName: "prj-onlinesales-test-framework:asia-south1:backstage-db" port: 5432 privateIp: true resources: requests: cpu: 100m memory: 128Mi limits: cpu: 200m memory: 256Mi # External Secrets Operator configuration externalSecrets: enabled: true projectId: "prj-onlinesales-test-framework" clusterLocation: "asia-south1" clusterName: "backstage-cluster" refreshInterval: "1h" secretStoreRef: "gcpsm-secret-store" # Single secret with all key-value pairs secretName: "backstage-secrets" # Integrations integrations: argocd: url: https://argocd.os-tf-qa.onlinesales.ai argoWorkflows: url: https://argo-workflows.os-tf-qa.onlinesales.ai gitea: url: https://gitea.os-tf-qa.onlinesales.ai kubernetes: clusterUrl: https://35.200.246.59 # RBAC rbac: create: true # Admin Users for Environment Plugin # These users can see all environments and delete any environment adminUsers: enabled: true users: - vaibhav.pathak # Tracked Users for Portal Sign-in Tracking # Automatically tracks users who sign in via Google OAuth trackedUsers: enabled: true # Google Workspace Admin Directory API configuration # Used to list all organization users in the Admin page # Prerequisites: # 1. Create a Service Account in GCP Console # 2. Generate a JSON key and store it in GCP Secret Manager as GOOGLE_ADMIN_SA_CREDENTIALS # 3. Enable Domain-Wide Delegation in Google Workspace Admin Console # 4. Grant scope: https://www.googleapis.com/auth/admin.directory.user.readonly googleAdmin: enabled: true # Admin email to impersonate (must have admin rights in Google Workspace) adminEmail: "admin@onlinesales.ai" # Domain to query for users domain: "onlinesales.ai" # Cache TTL in minutes (default: 5) cacheTtlMinutes: 5 # Service accounts serviceAccount: create: true name: backstage annotations: iam.gke.io/gcp-service-account: backstage-workload@prj-onlinesales-test-framework.iam.gserviceaccount.com cloudSqlProxyServiceAccount: create: true name: backstage-cloudsql annotations: iam.gke.io/gcp-service-account: backstage-workload@prj-onlinesales-test-framework.iam.gserviceaccount.com # Namespace namespace: create: false # Already created by Terraform name: backstage