@@ -224,7 +224,25 @@ func NewChainlinkCluster(nodeCount int) K8sEnvSpecInit {
224224 chainlinkGroup .manifests = append (chainlinkGroup .manifests , cManifest )
225225 }
226226
227- return addDependencyGroup (nodeCount , "basic-chainlink" , chainlinkGroup )
227+ dependencyGroup := getBasicDependencyGroup ()
228+ addPostgresDbsToDependencyGroup (dependencyGroup , nodeCount )
229+ return addNetworkManifestToDependencyGroup ("basic-chainlink" , dependencyGroup , chainlinkGroup )
230+ }
231+
232+ func NewChainlinkClusterForAlertsTesting (nodeCount int ) K8sEnvSpecInit {
233+ chainlinkGroup := & K8sManifestGroup {
234+ id : "chainlinkCluster" ,
235+ manifests : []K8sEnvResource {},
236+ }
237+ for i := 0 ; i < nodeCount ; i ++ {
238+ cManifest := NewChainlinkManifest ()
239+ cManifest .id = fmt .Sprintf ("%s-%d" , cManifest .id , i )
240+ chainlinkGroup .manifests = append (chainlinkGroup .manifests , cManifest )
241+ }
242+ dependencyGroup := getBasicDependencyGroup ()
243+ addPostgresDbsToDependencyGroup (dependencyGroup , nodeCount )
244+ addServicesForTestingAlertsToDependencyGroup (dependencyGroup , nodeCount )
245+ return addNetworkManifestToDependencyGroup ("basic-chainlink" , dependencyGroup , chainlinkGroup )
228246}
229247
230248// NewMixedVersionChainlinkCluster mixes the currently latest chainlink version (as defined by the config file) with
@@ -261,7 +279,11 @@ func NewMixedVersionChainlinkCluster(nodeCount, pastVersionsCount int) K8sEnvSpe
261279 chainlinkGroup .manifests = append (chainlinkGroup .manifests , cManifest )
262280 }
263281
264- return addDependencyGroup (nodeCount , "mixed-version-chainlink" , chainlinkGroup )
282+ dependencyGroup := getBasicDependencyGroup ()
283+ addPostgresDbsToDependencyGroup (dependencyGroup , nodeCount )
284+ return addNetworkManifestToDependencyGroup ("mixed-version-chainlink" , dependencyGroup , chainlinkGroup )
285+
286+ //return addDependencyGroup(nodeCount, "mixed-version-chainlink", chainlinkGroup)
265287}
266288
267289// NewGethReorgHelmChart creates new helm chart for multi-node Geth network
@@ -306,9 +328,8 @@ func getMixedVersions(versionCount int) ([]string, error) {
306328 return mixedVersions , nil
307329}
308330
309- // addDependencyGroup add everything that has no dependencies but other pods have
310- // dependencies on in the first group
311- func addDependencyGroup (nodeCount int , envName string , chainlinkGroup * K8sManifestGroup ) K8sEnvSpecInit {
331+ // getBasicDependencyGroup returns a manifest group containing the basic setup for a chainlink deployment
332+ func getBasicDependencyGroup () * K8sManifestGroup {
312333 group := & K8sManifestGroup {
313334 id : "DependencyGroup" ,
314335 manifests : []K8sEnvResource {NewAdapterManifest ()},
@@ -327,40 +348,52 @@ func addDependencyGroup(nodeCount int, envName string, chainlinkGroup *K8sManife
327348 return nil
328349 },
329350 }
330- for i := 0 ; i < nodeCount ; i ++ {
331- pManifest := NewPostgresManifest ()
332- pManifest .id = fmt .Sprintf ("%s-%d" , pManifest .id , i )
333- group .manifests = append (group .manifests , pManifest )
334- }
351+ return group
352+ }
335353
354+ // addNetworkManifestToDependencyGroup adds the correct network to the dependency group and returns
355+ // an array of all groups, this should be called as the last function when creating deploys
356+ func addNetworkManifestToDependencyGroup (envName string , dependencyGroup * K8sManifestGroup , chainlinkGroup * K8sManifestGroup ) K8sEnvSpecInit {
336357 return func (config * config.NetworkConfig ) (string , K8sEnvSpecs ) {
337358 switch config .Name {
338359 case "Ethereum Geth reorg" :
339- group .manifests = append (
340- group .manifests ,
360+ dependencyGroup .manifests = append (
361+ dependencyGroup .manifests ,
341362 NewGethReorgHelmChart (),
342363 )
343364 case "Ethereum Geth dev" :
344- group .manifests = append (
345- group .manifests ,
346- NewGethManifest (),
347- NewExplorerManifest (nodeCount ))
365+ dependencyGroup .manifests = append (
366+ dependencyGroup .manifests ,
367+ NewGethManifest ())
348368 case "Ethereum Hardhat" :
349- group .manifests = append (
350- group .manifests ,
369+ dependencyGroup .manifests = append (
370+ dependencyGroup .manifests ,
351371 NewHardhatManifest ())
352372 case "Ethereum Ganache" :
353- group .manifests = append (
354- group .manifests ,
373+ dependencyGroup .manifests = append (
374+ dependencyGroup .manifests ,
355375 NewGanacheManifest ())
356376 default : // no simulated chain
357- group .manifests = append (
358- group .manifests ,
359- NewExplorerManifest (nodeCount ))
377+ dependencyGroup .manifests = append (
378+ dependencyGroup .manifests )
360379 }
361380 if len (chainlinkGroup .manifests ) > 0 {
362- return envName , K8sEnvSpecs {group , chainlinkGroup }
381+ return envName , K8sEnvSpecs {dependencyGroup , chainlinkGroup }
363382 }
364- return envName , K8sEnvSpecs {group }
383+ return envName , K8sEnvSpecs {dependencyGroup }
384+ }
385+ }
386+
387+ // addPostgresDbsToDependencyGroup adds a postgresCount number of postgres dbs to the dependency group
388+ func addPostgresDbsToDependencyGroup (dependencyGroup * K8sManifestGroup , postgresCount int ) {
389+ for i := 0 ; i < postgresCount ; i ++ {
390+ pManifest := NewPostgresManifest ()
391+ pManifest .id = fmt .Sprintf ("%s-%d" , pManifest .id , i )
392+ dependencyGroup .manifests = append (dependencyGroup .manifests , pManifest )
365393 }
366394}
395+
396+ // addServicesForTestingAlertsToDependencyGroup adds services necessary for testing alerts to the dependency group
397+ func addServicesForTestingAlertsToDependencyGroup (dependencyGroup * K8sManifestGroup , nodeCount int ) {
398+ dependencyGroup .manifests = append (dependencyGroup .manifests , NewExplorerManifest (nodeCount ))
399+ }
0 commit comments