backstage-chart/values.yaml

143 lines
3.1 KiB
YAML

# Global settings
nameOverride: ""
fullnameOverride: "backstage"
namespaceOverride: "backstage"
# Backstage application image
image:
repository: gcr.io/prj-onlinesales-test-framework/backstage
tag: "v1.0.1"
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