@@ -54,28 +54,30 @@ type CancelWfRequestDto struct {
54
54
55
55
type CiCdConfig struct {
56
56
// from ciConfig
57
- DefaultCacheBucket string `env:"DEFAULT_CACHE_BUCKET" envDefault:"ci-caching"`
58
- DefaultCacheBucketRegion string `env:"DEFAULT_CACHE_BUCKET_REGION" envDefault:"us-east-2"`
59
- CiLogsKeyPrefix string `env:"CI_LOGS_KEY_PREFIX" envDxefault:"my-artifacts"`
60
- CiDefaultImage string `env:"DEFAULT_CI_IMAGE" envDefault:"686244538589.dkr.ecr.us-east-2.amazonaws.com/cirunner:47"`
61
- CiDefaultNamespace string `env:"DEFAULT_NAMESPACE" envDefault:"devtron-ci"`
62
- CiDefaultBuildLogsBucket string `env:"DEFAULT_BUILD_LOGS_BUCKET" envDefault:"devtron-pro-ci-logs"`
63
- CiDefaultCdLogsBucketRegion string `env:"DEFAULT_CD_LOGS_BUCKET_REGION" envDefault:"us-east-2"`
64
- CiTaintKey string `env:"CI_NODE_TAINTS_KEY" envDefault:""`
65
- CiTaintValue string `env:"CI_NODE_TAINTS_VALUE" envDefault:""`
66
- CiNodeLabelSelector []string `env:"CI_NODE_LABEL_SELECTOR"`
67
- CacheLimit int64 `env:"CACHE_LIMIT" envDefault:"5000000000"` // TODO: Add to default db config also
68
- CiDefaultBuildLogsKeyPrefix string `env:"DEFAULT_BUILD_LOGS_KEY_PREFIX" envDefault:"arsenal-v1"`
69
- CiDefaultArtifactKeyPrefix string `env:"DEFAULT_ARTIFACT_KEY_LOCATION" envDefault:"arsenal-v1/ci-artifacts"`
70
- CiWorkflowServiceAccount string `env:"WORKFLOW_SERVICE_ACCOUNT" envDefault:"ci-runner"`
71
- ExternalCiApiSecret string `env:"EXTERNAL_CI_API_SECRET" envDefault:"devtroncd-secret"`
72
- ExternalCiWebhookUrl string `env:"EXTERNAL_CI_WEB_HOOK_URL" envDefault:""`
73
- ExternalCiPayload string `env:"EXTERNAL_CI_PAYLOAD" envDefault:"{\"ciProjectDetails\":[{\"gitRepository\":\"https://github.com/vikram1601/getting-started-nodejs.git\",\"checkoutPath\":\"./abc\",\"commitHash\":\"239077135f8cdeeccb7857e2851348f558cb53d3\",\"commitTime\":\"2022-10-30T20:00:00\",\"branch\":\"master\",\"message\":\"Update README.md\",\"author\":\"User Name \"}],\"dockerImage\":\"445808685819.dkr.ecr.us-east-2.amazonaws.com/orch:23907713-2\"}"`
74
- ImageScannerEndpoint string `env:"IMAGE_SCANNER_ENDPOINT" envDefault:"http://image-scanner-new-demo-devtroncd-service.devtroncd:80"`
75
- CiDefaultAddressPoolBaseCidr string `env:"CI_DEFAULT_ADDRESS_POOL_BASE_CIDR"`
76
- CiDefaultAddressPoolSize int `env:"CI_DEFAULT_ADDRESS_POOL_SIZE"`
77
- CiRunnerDockerMTUValue int `env:"CI_RUNNER_DOCKER_MTU_VALUE" envDefault:"-1"`
57
+ DefaultCacheBucket string `env:"DEFAULT_CACHE_BUCKET" envDefault:"ci-caching"`
58
+ DefaultCacheBucketRegion string `env:"DEFAULT_CACHE_BUCKET_REGION" envDefault:"us-east-2"`
59
+ CiLogsKeyPrefix string `env:"CI_LOGS_KEY_PREFIX" envDxefault:"my-artifacts"`
60
+ CiDefaultImage string `env:"DEFAULT_CI_IMAGE" envDefault:"686244538589.dkr.ecr.us-east-2.amazonaws.com/cirunner:47"`
61
+ CiDefaultNamespace string `env:"DEFAULT_NAMESPACE" envDefault:"devtron-ci"`
62
+ CiDefaultBuildLogsBucket string `env:"DEFAULT_BUILD_LOGS_BUCKET" envDefault:"devtron-pro-ci-logs"`
63
+ CiDefaultCdLogsBucketRegion string `env:"DEFAULT_CD_LOGS_BUCKET_REGION" envDefault:"us-east-2"`
64
+ CiTaintKey string `env:"CI_NODE_TAINTS_KEY" envDefault:""`
65
+ CiTaintValue string `env:"CI_NODE_TAINTS_VALUE" envDefault:""`
66
+ CiNodeLabelSelector []string `env:"CI_NODE_LABEL_SELECTOR"`
67
+ CacheLimit int64 `env:"CACHE_LIMIT" envDefault:"5000000000"` // TODO: Add to default db config also
68
+ CiDefaultBuildLogsKeyPrefix string `env:"DEFAULT_BUILD_LOGS_KEY_PREFIX" envDefault:"arsenal-v1"`
69
+ CiDefaultArtifactKeyPrefix string `env:"DEFAULT_ARTIFACT_KEY_LOCATION" envDefault:"arsenal-v1/ci-artifacts"`
70
+ CiWorkflowServiceAccount string `env:"WORKFLOW_SERVICE_ACCOUNT" envDefault:"ci-runner"`
71
+ ExternalCiApiSecret string `env:"EXTERNAL_CI_API_SECRET" envDefault:"devtroncd-secret"`
72
+ ExternalCiWebhookUrl string `env:"EXTERNAL_CI_WEB_HOOK_URL" envDefault:""`
73
+ ExternalCiPayload string `env:"EXTERNAL_CI_PAYLOAD" envDefault:"{\"ciProjectDetails\":[{\"gitRepository\":\"https://github.com/vikram1601/getting-started-nodejs.git\",\"checkoutPath\":\"./abc\",\"commitHash\":\"239077135f8cdeeccb7857e2851348f558cb53d3\",\"commitTime\":\"2022-10-30T20:00:00\",\"branch\":\"master\",\"message\":\"Update README.md\",\"author\":\"User Name \"}],\"dockerImage\":\"445808685819.dkr.ecr.us-east-2.amazonaws.com/orch:23907713-2\"}"`
74
+ ImageScannerEndpoint string `env:"IMAGE_SCANNER_ENDPOINT" envDefault:"http://image-scanner-new-demo-devtroncd-service.devtroncd:80"`
75
+ CiDefaultAddressPoolBaseCidr string `env:"CI_DEFAULT_ADDRESS_POOL_BASE_CIDR"`
76
+ CiDefaultAddressPoolSize int `env:"CI_DEFAULT_ADDRESS_POOL_SIZE"`
77
+ CiRunnerDockerMTUValue int `env:"CI_RUNNER_DOCKER_MTU_VALUE" envDefault:"-1"`
78
+ //Deprecated: use WorkflowCacheConfig instead
78
79
IgnoreDockerCacheForCI bool `env:"CI_IGNORE_DOCKER_CACHE"`
80
+ WorkflowCacheConfig string `env:"WORKFLOW_CACHE_CONFIG" envDefault:"{}"`
79
81
VolumeMountsForCiJson string `env:"CI_VOLUME_MOUNTS_JSON"`
80
82
BuildPvcCachePath string `env:"PRE_CI_CACHE_PATH" envDefault:"/devtroncd-cache"`
81
83
DefaultPvcCachePath string `env:"DOCKER_BUILD_CACHE_PATH" envDefault:"/var/lib/docker"`
@@ -96,7 +98,8 @@ type CiCdConfig struct {
96
98
ImageScanRetryDelay int `env:"IMAGE_SCAN_RETRY_DELAY" envDefault:"5"`
97
99
ShowDockerBuildCmdInLogs bool `env:"SHOW_DOCKER_BUILD_ARGS" envDefault:"true"`
98
100
IgnoreCmCsInCiJob bool `env:"IGNORE_CM_CS_IN_CI_JOB" envDefault:"false"`
99
- SkipCiJobBuildCachePushPull bool `env:"SKIP_CI_JOB_BUILD_CACHE_PUSH_PULL" envDefault:"false"`
101
+ //Deprecated: use WorkflowCacheConfig instead
102
+ SkipCiJobBuildCachePushPull bool `env:"SKIP_CI_JOB_BUILD_CACHE_PUSH_PULL" envDefault:"false"`
100
103
// from CdConfig
101
104
CdLimitCpu string `env:"CD_LIMIT_CI_CPU" envDefault:"0.5"`
102
105
CdLimitMem string `env:"CD_LIMIT_CI_MEM" envDefault:"3G"`
@@ -194,6 +197,28 @@ func GetCiConfig() (*CiConfig, error) {
194
197
ciConfig .Type = CiConfigType
195
198
return & ciConfig , nil
196
199
}
200
+
201
+ func GetCiConfigWithWorkflowCacheConfig () (* CiConfig , WorkflowCacheConfig , error ) {
202
+ ciConfig , err := GetCiConfig ()
203
+ if err != nil {
204
+ return nil , WorkflowCacheConfig {}, err
205
+ }
206
+ workflowCacheConfig , err := getWorkflowCacheConfig (ciConfig .WorkflowCacheConfig )
207
+ if err != nil {
208
+ return nil , WorkflowCacheConfig {}, err
209
+ }
210
+ return ciConfig , workflowCacheConfig , nil
211
+ }
212
+
213
+ func getWorkflowCacheConfig (workflowCacheConfigEnv string ) (WorkflowCacheConfig , error ) {
214
+ workflowCacheConfig := WorkflowCacheConfig {}
215
+ err := json .Unmarshal ([]byte (workflowCacheConfigEnv ), & workflowCacheConfig )
216
+ if err != nil {
217
+ return WorkflowCacheConfig {}, err
218
+ }
219
+ return workflowCacheConfig , nil
220
+ }
221
+
197
222
func GetCdConfig () (* CdConfig , error ) {
198
223
ciCdConfig := & CiCdConfig {}
199
224
err := env .Parse (ciCdConfig )
@@ -603,3 +628,9 @@ func DecodeSecretKey(secretKey string) string {
603
628
}
604
629
return string (decodedKey )
605
630
}
631
+
632
+ type WorkflowCacheConfig struct {
633
+ IgnoreCI bool `json:"ignoreCI"`
634
+ IgnoreCIJob bool `json:"ignoreCIJob"`
635
+ IgnoreJob bool `json:"ignoreJob"`
636
+ }
0 commit comments