/
config.go
41 lines (34 loc) · 1.35 KB
/
config.go
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
package modifiers
import (
dynatracev1beta1 "github.com/Dynatrace/dynatrace-operator/pkg/api/v1beta1/dynakube"
"github.com/Dynatrace/dynatrace-operator/pkg/controllers/dynakube/activegate/capability"
"github.com/Dynatrace/dynatrace-operator/pkg/controllers/dynakube/activegate/internal/statefulset/builder"
"github.com/Dynatrace/dynatrace-operator/pkg/util/prioritymap"
corev1 "k8s.io/api/core/v1"
)
const modifierEnvPriority = prioritymap.MediumPriority
type volumeModifier interface {
getVolumes() []corev1.Volume
}
type volumeMountModifier interface {
getVolumeMounts() []corev1.VolumeMount
}
type envModifier interface {
getEnvs() []corev1.EnvVar
}
type initContainerModifier interface {
getInitContainers() []corev1.Container
}
func GenerateAllModifiers(dynakube dynatracev1beta1.DynaKube, capability capability.Capability, agBaseContainerEnvMap *prioritymap.Map) []builder.Modifier {
return []builder.Modifier{
NewAuthTokenModifier(dynakube),
NewCertificatesModifier(dynakube),
NewCustomPropertiesModifier(dynakube, capability),
NewProxyModifier(dynakube),
NewRawImageModifier(dynakube, agBaseContainerEnvMap),
NewReadOnlyModifier(dynakube),
newSyntheticModifier(dynakube, capability, agBaseContainerEnvMap),
NewServicePortModifier(dynakube, capability, agBaseContainerEnvMap),
NewKubernetesMonitoringModifier(dynakube, capability),
}
}