-
Notifications
You must be signed in to change notification settings - Fork 84
Expand file tree
/
Copy pathenv.example
More file actions
206 lines (182 loc) · 10.1 KB
/
Copy pathenv.example
File metadata and controls
206 lines (182 loc) · 10.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
# GitHub Configuration for Testing
# Copy this file to .env and update with your actual values
# GitHub App Authentication
# Get these from your GitHub App settings: https://github.com/settings/apps
GITHUB_APP_ID=
GITHUB_INSTALLATION_ID=
GITHUB_PRIVATE_KEY_PATH=/path/to/your/github-app-private-key.pem
# GitHub Organization/Owner
# Your GitHub organization or username
GITHUB_OWNER=your-org-name
# GitHub Repository Names
# Update these with your actual repository names
GITHUB_HELM_CHART_REPO=your-helm-charts-repo
GITHUB_INFRA_HELM_CHART_REPO=your-infra-helm-charts-repo
GITHUB_ARGO_REPO=your-argo-config-repo
# GitHub Commit Information
# These will be used as commit author for GitHub operations
GITHUB_COMMIT_AUTHOR=horizon-bot
GITHUB_COMMIT_EMAIL=devops@your-org.com
# VictoriaMetrics Server Address
# For GPU metrics queries (used in GPU threshold updates)
# Format: http://hostname:port/select/100/prometheus/
VICTORIAMETRICS_SERVER_ADDRESS=http://vmselect-datascience-prd-proxy.victoriametrics.svc.cluster.local:8481/select/100/prometheus/
SUPPORTED_ENVIRONMENTS=gcp_stg,gcp_int,gcp_prd,stg,int,prd
# GCP Configuration for Workload Identity Binding
# These are used to bind Kubernetes Service Accounts (KSA) to GCP Service Accounts (GSA)
# Service account is provided in the onboarding request payload
# GCP Project ID (environment-specific configuration)
# Format: {WORKING_ENV}_GCP_PROJECT_ID
# Example: GCP_STG_GCP_PROJECT_ID=
# Example: GCP_INT_GCP_PROJECT_ID=
# Example: GCP_PRD_GCP_PROJECT_ID=
# Generic fallback: GCP_PROJECT_ID (if environment-specific not set)
GCP_STG_GCP_PROJECT_ID=your-gcp-project-id-for-stg
GCP_INT_GCP_PROJECT_ID=your-gcp-project-id-for-int
GCP_PROJECT_ID=your-gcp-project-id-fallback
# Note: GCP credentials are automatically fetched from:
# - GCE metadata service (when running on GCE/GKE) - primary method, no configuration needed
# - gcloud auth application-default login (for local development)
# JSON-based credentials (GOOGLE_APPLICATION_CREDENTIALS) are not used
# =============================================================================
# Repository and Branch Configuration (MANDATORY)
# =============================================================================
# All files will be pushed to the specified repository and branch
# These are required - the application will fail to start if not set
REPOSITORY_NAME=
BRANCH_NAME=
# =============================================================================
# Default ArgoCD Configuration (Fallback for all environments)
# =============================================================================
# These are used if environment-specific values are not set
ARGOCD_API=https://argocd.example.com
ARGOCD_TOKEN=your-default-argocd-token
ARGOCD_NAMESPACE=argocd-dev
ARGOCD_DESTINATION_NAME=k8s-{bu_norm}-{env}-ase1
ARGOCD_PROJECT=default
ARGOCD_HELMCHART_PATH=values_v2
ARGOCD_SYNC_POLICY_OPTIONS=CreateNamespace=true
# Note: ARGOCD_DESTINATION_NAMESPACE is hardcoded to {env}-{appName} format
# =============================================================================
# Environment-Specific ArgoCD Configuration
# =============================================================================
# Group all ArgoCD config for each environment together for easier management
# Uncomment and configure the sections for environments you use
# -----------------------------------------------------------------------------
# GCP Staging Environment (gcp_stg)
# -----------------------------------------------------------------------------
# GCP_STG_ARGOCD_API=https://argocd-stg.example.com
# GCP_STG_ARGOCD_TOKEN=your-argocd-token-for-stg
# GCP_STG_ARGOCD_NAMESPACE=argocd-dev
# GCP_STG_ARGOCD_DESTINATION_NAME=k8s-{bu_norm}-stg-ase1
# GCP_STG_ARGOCD_PROJECT=default
# GCP_STG_ARGOCD_SYNC_POLICY_OPTIONS=CreateNamespace=true
# Note: DESTINATION_NAMESPACE is hardcoded to {env}-{appName} format
# Note: SOURCE_REPO_URL and SOURCE_TARGET_REVISION are auto-derived
# HELMCHART_PATH can be configured via {WORKING_ENV}_ARGOCD_HELMCHART_PATH or ARGOCD_HELMCHART_PATH (defaults to "values_v2")
# -----------------------------------------------------------------------------
# GCP Integration Environment (gcp_int)
# -----------------------------------------------------------------------------
# GCP_INT_ARGOCD_API=https://argocd-int.example.com
# GCP_INT_ARGOCD_TOKEN=your-argocd-token-for-int
# GCP_INT_ARGOCD_NAMESPACE=argocd-shared-int
# GCP_INT_ARGOCD_DESTINATION_NAME=k8s-{bu_norm}-int-ase1
# GCP_INT_ARGOCD_PROJECT=default
# GCP_INT_ARGOCD_SYNC_POLICY_OPTIONS=CreateNamespace=true
# Note: DESTINATION_NAMESPACE is hardcoded to {env}-{appName} format
# Note: SOURCE_REPO_URL and SOURCE_TARGET_REVISION are auto-derived
# HELMCHART_PATH can be configured via {WORKING_ENV}_ARGOCD_HELMCHART_PATH or ARGOCD_HELMCHART_PATH (defaults to "values_v2")
# -----------------------------------------------------------------------------
# GCP Production Environment (gcp_prd)
# -----------------------------------------------------------------------------
# GCP_PRD_ARGOCD_API=https://argocd-prod.example.com
# GCP_PRD_ARGOCD_TOKEN=your-argocd-token-for-prod
# GCP_PRD_ARGOCD_NAMESPACE=argocd-{bu_norm}-prd
# GCP_PRD_ARGOCD_DESTINATION_NAME=k8s-{bu_norm}-prd-ase1
# GCP_PRD_ARGOCD_PROJECT=default
# GCP_PRD_ARGOCD_SYNC_POLICY_OPTIONS=CreateNamespace=true,Prune=true
# Note: DESTINATION_NAMESPACE is hardcoded to {env}-{appName} format
# Note: SOURCE_REPO_URL and SOURCE_TARGET_REVISION are auto-derived
# HELMCHART_PATH can be configured via {WORKING_ENV}_ARGOCD_HELMCHART_PATH or ARGOCD_HELMCHART_PATH (defaults to "values_v2")
# -----------------------------------------------------------------------------
# Staging Environment (stg)
# -----------------------------------------------------------------------------
# STG_ARGOCD_API=https://argocd-stg.example.com
# STG_ARGOCD_TOKEN=your-argocd-token-for-stg
# STG_ARGOCD_NAMESPACE=argocd-dev
# STG_ARGOCD_DESTINATION_NAME=k8s-{bu_norm}-stg-ase1
# STG_ARGOCD_PROJECT=default
# STG_ARGOCD_SYNC_POLICY_OPTIONS=CreateNamespace=true
# Note: DESTINATION_NAMESPACE is hardcoded to {env}-{appName} format
# Note: SOURCE_REPO_URL and SOURCE_TARGET_REVISION are auto-derived
# HELMCHART_PATH can be configured via {WORKING_ENV}_ARGOCD_HELMCHART_PATH or ARGOCD_HELMCHART_PATH (defaults to "values_v2")
# -----------------------------------------------------------------------------
# Development Environment (dev)
# -----------------------------------------------------------------------------
# DEV_ARGOCD_API=https://argocd-dev.example.com
# DEV_ARGOCD_TOKEN=your-argocd-token-for-dev
# DEV_ARGOCD_NAMESPACE=argocd-dev
# DEV_ARGOCD_DESTINATION_NAME=k8s-{bu_norm}-dev-ase1
# DEV_ARGOCD_PROJECT=default
# DEV_ARGOCD_SYNC_POLICY_OPTIONS=CreateNamespace=true
# Note: DESTINATION_NAMESPACE is hardcoded to {env}-{appName} format
# Note: SOURCE_REPO_URL and SOURCE_TARGET_REVISION are auto-derived
# HELMCHART_PATH can be configured via {WORKING_ENV}_ARGOCD_HELMCHART_PATH or ARGOCD_HELMCHART_PATH (defaults to "values_v2")
# -----------------------------------------------------------------------------
# Production Environment (prd)
# -----------------------------------------------------------------------------
# PRD_ARGOCD_API=https://argocd-prod.example.com
# PRD_ARGOCD_TOKEN=your-argocd-token-for-prd
# PRD_ARGOCD_NAMESPACE=argocd-{bu_norm}-prd
# PRD_ARGOCD_DESTINATION_NAME=k8s-{bu_norm}-prd-ase1
# PRD_ARGOCD_PROJECT=default
# PRD_ARGOCD_SYNC_POLICY_OPTIONS=CreateNamespace=true,Prune=true
# Note: DESTINATION_NAMESPACE is hardcoded to {env}-{appName} format
# Note: SOURCE_REPO_URL and SOURCE_TARGET_REVISION are auto-derived
# HELMCHART_PATH can be configured via {WORKING_ENV}_ARGOCD_HELMCHART_PATH or ARGOCD_HELMCHART_PATH (defaults to "values_v2")
# -----------------------------------------------------------------------------
# Integration Environment (int)
# -----------------------------------------------------------------------------
# INT_ARGOCD_API=https://argocd-int.example.com
# INT_ARGOCD_TOKEN=your-argocd-token-for-int
# INT_ARGOCD_NAMESPACE=argocd-shared-int
# INT_ARGOCD_DESTINATION_NAME=k8s-{bu_norm}-int-ase1
# INT_ARGOCD_PROJECT=default
# INT_ARGOCD_SYNC_POLICY_OPTIONS=CreateNamespace=true
# Note: DESTINATION_NAMESPACE is hardcoded to {env}-{appName} format
# Note: SOURCE_REPO_URL and SOURCE_TARGET_REVISION are auto-derived
# HELMCHART_PATH can be configured via {WORKING_ENV}_ARGOCD_HELMCHART_PATH or ARGOCD_HELMCHART_PATH (defaults to "values_v2")
# -----------------------------------------------------------------------------
# Custom Environment Example (aws_stg, custom_env, etc.)
# -----------------------------------------------------------------------------
# For any custom environment, follow the same pattern:
# {ENV}_ARGOCD_API=...
# {ENV}_ARGOCD_TOKEN=...
# {ENV}_ARGOCD_NAMESPACE=...
# {ENV}_ARGOCD_DESTINATION_NAME=...
# {ENV}_ARGOCD_PROJECT=... (hardcoded value, not a pattern)
# {ENV}_ARGOCD_SYNC_POLICY_OPTIONS=...
#
# Note: SOURCE_REPO_URL and SOURCE_TARGET_REVISION are auto-derived
# HELMCHART_PATH can be configured via {WORKING_ENV}_ARGOCD_HELMCHART_PATH or ARGOCD_HELMCHART_PATH (defaults to "values_v2")
# from REPOSITORY_NAME, BRANCH_NAME, and GITHUB_OWNER during deployable onboarding
#
# Example for AWS staging:
# AWS_STG_ARGOCD_API=https://argocd-aws-stg.example.com
# AWS_STG_ARGOCD_TOKEN=your-argocd-token-for-aws-stg
# AWS_STG_ARGOCD_NAMESPACE=argocd-aws-stg
# AWS_STG_ARGOCD_DESTINATION_NAME=k8s-{bu_norm}-aws-stg-ase1
# AWS_STG_ARGOCD_PROJECT=default
# AWS_STG_ARGOCD_SYNC_POLICY_OPTIONS=CreateNamespace=true
# Note: DESTINATION_NAMESPACE is hardcoded to {env}-{appName} format
# =============================================================================
# Service Config Source Configuration
# =============================================================================
# Options: "local" (from codebase) or "github" (from config repo)
# If "local": configs are read from SERVICE_CONFIG_PATH (default: ./configs)
# Standard path format: configs/services/{serviceName}/{env}/config.yaml
# If "github": configs are read from SERVICE_CONFIG_REPO
# Path format: services/{serviceName}/{env}/config.yaml
SERVICE_CONFIG_SOURCE=local
SERVICE_CONFIG_REPO=BharatMLStack-internal-configs
SERVICE_CONFIG_PATH=./configs