# Global settings nameOverride: "" fullnameOverride: "backstage" namespaceOverride: "backstage" # Backstage application image image: repository: ghcr.io/cnoe-io/backstage-app tag: "9232d633b2698fffa6d0a73b715e06640d170162" pullPolicy: IfNotPresent # Replica count replicaCount: 2 # Service configuration service: type: ClusterIP port: 80 targetPort: 7007 # Ingress configuration ingress: enabled: true className: nginx annotations: cert-manager.io/cluster-issuer: "letsencrypt-prod" nginx.ingress.kubernetes.io/ssl-redirect: "true" nginx.ingress.kubernetes.io/backend-protocol: "HTTP" nginx.ingress.kubernetes.io/proxy-body-size: "100m" nginx.ingress.kubernetes.io/proxy-read-timeout: "600" nginx.ingress.kubernetes.io/proxy-send-timeout: "600" 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: "OnlineSales Test Framework" organization: "OnlineSales" # 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 # 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