Skip to content

Commit d98ded2

Browse files
wdhiftbavelier
andauthored
feat(admission controller): Add new webhook settings (#1461)
* feat(admission controller): Add new webhook settings Signed-off-by: Wassim DHIF <[email protected]> * chore: rename parameters Signed-off-by: Wassim DHIF <[email protected]> --------- Signed-off-by: Wassim DHIF <[email protected]> Co-authored-by: Timothée Bavelier <[email protected]>
1 parent 49004a6 commit d98ded2

File tree

12 files changed

+375
-45
lines changed

12 files changed

+375
-45
lines changed

api/datadoghq/common/envvar.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ const (
1919
DDAdmissionControllerAgentSidecarSelectors = "DD_ADMISSION_CONTROLLER_AGENT_SIDECAR_SELECTORS"
2020
DDAdmissionControllerAgentSidecarProfiles = "DD_ADMISSION_CONTROLLER_AGENT_SIDECAR_PROFILES"
2121
DDAdmissionControllerEnabled = "DD_ADMISSION_CONTROLLER_ENABLED"
22+
DDAdmissionControllerValidationEnabled = "DD_ADMISSION_CONTROLLER_VALIDATION_ENABLED"
23+
DDAdmissionControllerMutationEnabled = "DD_ADMISSION_CONTROLLER_MUTATION_ENABLED"
2224
DDAdmissionControllerInjectConfig = "DD_ADMISSION_CONTROLLER_INJECT_CONFIG_ENABLED"
2325
DDAdmissionControllerInjectConfigMode = "DD_ADMISSION_CONTROLLER_INJECT_CONFIG_MODE"
2426
DDAdmissionControllerInjectTags = "DD_ADMISSION_CONTROLLER_INJECT_TAGS_ENABLED"

api/datadoghq/v2alpha1/datadogagent_default.go

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ const (
7676

7777
defaultAdmissionControllerAgentSidecarClusterAgentEnabled bool = true
7878
defaultAdmissionControllerEnabled bool = true
79+
defaultAdmissionControllerValidationEnabled bool = true
80+
defaultAdmissionControllerMutationEnabled bool = true
7981
defaultAdmissionControllerMutateUnlabelled bool = false
8082
defaultAdmissionServiceName string = "datadog-admission-controller"
8183
// DefaultAdmissionControllerCWSInstrumentationEnabled default CWS Instrumentation enabled value
@@ -475,21 +477,23 @@ func defaultFeaturesConfig(ddaSpec *DatadogAgentSpec) {
475477
apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.AdmissionController.Enabled, defaultAdmissionControllerEnabled)
476478
apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.AdmissionController.MutateUnlabelled, defaultAdmissionControllerMutateUnlabelled)
477479
apiutils.DefaultStringIfUnset(&ddaSpec.Features.AdmissionController.ServiceName, defaultAdmissionServiceName)
478-
479480
}
480-
agentSidecarInjection := ddaSpec.Features.AdmissionController.AgentSidecarInjection
481-
if agentSidecarInjection != nil && agentSidecarInjection.Enabled != nil && *agentSidecarInjection.Enabled {
482-
apiutils.DefaultBooleanIfUnset(&agentSidecarInjection.ClusterAgentCommunicationEnabled, defaultAdmissionControllerAgentSidecarClusterAgentEnabled)
481+
482+
// AdmissionControllerValidation Feature
483+
if ddaSpec.Features.AdmissionController.Validation == nil {
484+
ddaSpec.Features.AdmissionController.Validation = &AdmissionControllerValidationConfig{}
483485
}
486+
apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.AdmissionController.Validation.Enabled, defaultAdmissionControllerValidationEnabled)
484487

485-
// CWS Instrumentation in AdmissionController Feature
486-
if ddaSpec.Features.AdmissionController.CWSInstrumentation == nil {
487-
ddaSpec.Features.AdmissionController.CWSInstrumentation = &CWSInstrumentationConfig{}
488+
// AdmissionControllerMutation Feature
489+
if ddaSpec.Features.AdmissionController.Mutation == nil {
490+
ddaSpec.Features.AdmissionController.Mutation = &AdmissionControllerMutationConfig{}
488491
}
489-
apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.AdmissionController.CWSInstrumentation.Enabled, DefaultAdmissionControllerCWSInstrumentationEnabled)
492+
apiutils.DefaultBooleanIfUnset(&ddaSpec.Features.AdmissionController.Mutation.Enabled, defaultAdmissionControllerMutationEnabled)
490493

491-
if *ddaSpec.Features.AdmissionController.CWSInstrumentation.Enabled {
492-
apiutils.DefaultStringIfUnset(&ddaSpec.Features.AdmissionController.CWSInstrumentation.Mode, DefaultAdmissionControllerCWSInstrumentationMode)
494+
agentSidecarInjection := ddaSpec.Features.AdmissionController.AgentSidecarInjection
495+
if agentSidecarInjection != nil && agentSidecarInjection.Enabled != nil && *agentSidecarInjection.Enabled {
496+
apiutils.DefaultBooleanIfUnset(&agentSidecarInjection.ClusterAgentCommunicationEnabled, defaultAdmissionControllerAgentSidecarClusterAgentEnabled)
493497
}
494498

495499
// CWS Instrumentation in AdmissionController Feature

api/datadoghq/v2alpha1/datadogagent_default_test.go

Lines changed: 99 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,13 @@ func Test_defaultFeatures(t *testing.T) {
277277
UseClusterChecksRunners: apiutils.NewBoolPointer(defaultUseClusterChecksRunners),
278278
},
279279
AdmissionController: &AdmissionControllerFeatureConfig{
280-
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled),
280+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled),
281+
Validation: &AdmissionControllerValidationConfig{
282+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled),
283+
},
284+
Mutation: &AdmissionControllerMutationConfig{
285+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled),
286+
},
281287
MutateUnlabelled: apiutils.NewBoolPointer(defaultAdmissionControllerMutateUnlabelled),
282288
ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName),
283289
CWSInstrumentation: &CWSInstrumentationConfig{
@@ -361,7 +367,9 @@ func Test_defaultFeatures(t *testing.T) {
361367
Enabled: apiutils.NewBoolPointer(valueFalse),
362368
},
363369
AdmissionController: &AdmissionControllerFeatureConfig{
364-
Enabled: apiutils.NewBoolPointer(valueFalse),
370+
Enabled: apiutils.NewBoolPointer(valueFalse),
371+
Validation: &AdmissionControllerValidationConfig{Enabled: apiutils.NewBoolPointer(valueFalse)},
372+
Mutation: &AdmissionControllerMutationConfig{Enabled: apiutils.NewBoolPointer(valueFalse)},
365373
},
366374
ExternalMetricsServer: &ExternalMetricsServerFeatureConfig{
367375
Enabled: apiutils.NewBoolPointer(valueFalse),
@@ -463,6 +471,12 @@ func Test_defaultFeatures(t *testing.T) {
463471
},
464472
AdmissionController: &AdmissionControllerFeatureConfig{
465473
Enabled: apiutils.NewBoolPointer(valueFalse),
474+
Validation: &AdmissionControllerValidationConfig{
475+
Enabled: apiutils.NewBoolPointer(valueFalse),
476+
},
477+
Mutation: &AdmissionControllerMutationConfig{
478+
Enabled: apiutils.NewBoolPointer(valueFalse),
479+
},
466480
CWSInstrumentation: &CWSInstrumentationConfig{
467481
Enabled: apiutils.NewBoolPointer(valueFalse),
468482
},
@@ -599,7 +613,13 @@ func Test_defaultFeatures(t *testing.T) {
599613
UseClusterChecksRunners: apiutils.NewBoolPointer(defaultUseClusterChecksRunners),
600614
},
601615
AdmissionController: &AdmissionControllerFeatureConfig{
602-
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled),
616+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled),
617+
Validation: &AdmissionControllerValidationConfig{
618+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled),
619+
},
620+
Mutation: &AdmissionControllerMutationConfig{
621+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled),
622+
},
603623
MutateUnlabelled: apiutils.NewBoolPointer(defaultAdmissionControllerMutateUnlabelled),
604624
ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName),
605625
CWSInstrumentation: &CWSInstrumentationConfig{
@@ -734,7 +754,13 @@ func Test_defaultFeatures(t *testing.T) {
734754
UseClusterChecksRunners: apiutils.NewBoolPointer(defaultUseClusterChecksRunners),
735755
},
736756
AdmissionController: &AdmissionControllerFeatureConfig{
737-
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled),
757+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled),
758+
Validation: &AdmissionControllerValidationConfig{
759+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled),
760+
},
761+
Mutation: &AdmissionControllerMutationConfig{
762+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled),
763+
},
738764
MutateUnlabelled: apiutils.NewBoolPointer(defaultAdmissionControllerMutateUnlabelled),
739765
ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName),
740766
CWSInstrumentation: &CWSInstrumentationConfig{
@@ -864,7 +890,13 @@ func Test_defaultFeatures(t *testing.T) {
864890
UseClusterChecksRunners: apiutils.NewBoolPointer(defaultUseClusterChecksRunners),
865891
},
866892
AdmissionController: &AdmissionControllerFeatureConfig{
867-
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled),
893+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled),
894+
Validation: &AdmissionControllerValidationConfig{
895+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled),
896+
},
897+
Mutation: &AdmissionControllerMutationConfig{
898+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled),
899+
},
868900
MutateUnlabelled: apiutils.NewBoolPointer(defaultAdmissionControllerMutateUnlabelled),
869901
ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName),
870902
CWSInstrumentation: &CWSInstrumentationConfig{
@@ -996,7 +1028,13 @@ func Test_defaultFeatures(t *testing.T) {
9961028
UseClusterChecksRunners: apiutils.NewBoolPointer(defaultUseClusterChecksRunners),
9971029
},
9981030
AdmissionController: &AdmissionControllerFeatureConfig{
999-
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled),
1031+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled),
1032+
Validation: &AdmissionControllerValidationConfig{
1033+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled),
1034+
},
1035+
Mutation: &AdmissionControllerMutationConfig{
1036+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled),
1037+
},
10001038
MutateUnlabelled: apiutils.NewBoolPointer(defaultAdmissionControllerMutateUnlabelled),
10011039
ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName),
10021040
CWSInstrumentation: &CWSInstrumentationConfig{
@@ -1133,7 +1171,13 @@ func Test_defaultFeatures(t *testing.T) {
11331171
UseClusterChecksRunners: apiutils.NewBoolPointer(defaultUseClusterChecksRunners),
11341172
},
11351173
AdmissionController: &AdmissionControllerFeatureConfig{
1136-
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled),
1174+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled),
1175+
Validation: &AdmissionControllerValidationConfig{
1176+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled),
1177+
},
1178+
Mutation: &AdmissionControllerMutationConfig{
1179+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled),
1180+
},
11371181
MutateUnlabelled: apiutils.NewBoolPointer(defaultAdmissionControllerMutateUnlabelled),
11381182
ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName),
11391183
CWSInstrumentation: &CWSInstrumentationConfig{
@@ -1266,7 +1310,13 @@ func Test_defaultFeatures(t *testing.T) {
12661310
UseClusterChecksRunners: apiutils.NewBoolPointer(defaultUseClusterChecksRunners),
12671311
},
12681312
AdmissionController: &AdmissionControllerFeatureConfig{
1269-
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled),
1313+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled),
1314+
Validation: &AdmissionControllerValidationConfig{
1315+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled),
1316+
},
1317+
Mutation: &AdmissionControllerMutationConfig{
1318+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled),
1319+
},
12701320
MutateUnlabelled: apiutils.NewBoolPointer(defaultAdmissionControllerMutateUnlabelled),
12711321
ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName),
12721322
CWSInstrumentation: &CWSInstrumentationConfig{
@@ -1396,7 +1446,13 @@ func Test_defaultFeatures(t *testing.T) {
13961446
UseClusterChecksRunners: apiutils.NewBoolPointer(valueFalse),
13971447
},
13981448
AdmissionController: &AdmissionControllerFeatureConfig{
1399-
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled),
1449+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled),
1450+
Validation: &AdmissionControllerValidationConfig{
1451+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled),
1452+
},
1453+
Mutation: &AdmissionControllerMutationConfig{
1454+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled),
1455+
},
14001456
MutateUnlabelled: apiutils.NewBoolPointer(defaultAdmissionControllerMutateUnlabelled),
14011457
ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName),
14021458
CWSInstrumentation: &CWSInstrumentationConfig{
@@ -1417,6 +1473,12 @@ func Test_defaultFeatures(t *testing.T) {
14171473
ddaSpec: &DatadogAgentSpec{
14181474
Features: &DatadogFeatures{
14191475
AdmissionController: &AdmissionControllerFeatureConfig{
1476+
Validation: &AdmissionControllerValidationConfig{
1477+
Enabled: apiutils.NewBoolPointer(true),
1478+
},
1479+
Mutation: &AdmissionControllerMutationConfig{
1480+
Enabled: apiutils.NewBoolPointer(true),
1481+
},
14201482
MutateUnlabelled: apiutils.NewBoolPointer(true),
14211483
AgentCommunicationMode: apiutils.NewStringPointer("socket"),
14221484
CWSInstrumentation: &CWSInstrumentationConfig{
@@ -1530,7 +1592,13 @@ func Test_defaultFeatures(t *testing.T) {
15301592
UseClusterChecksRunners: apiutils.NewBoolPointer(defaultUseClusterChecksRunners),
15311593
},
15321594
AdmissionController: &AdmissionControllerFeatureConfig{
1533-
Enabled: apiutils.NewBoolPointer(valueTrue),
1595+
Enabled: apiutils.NewBoolPointer(valueTrue),
1596+
Validation: &AdmissionControllerValidationConfig{
1597+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled),
1598+
},
1599+
Mutation: &AdmissionControllerMutationConfig{
1600+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled),
1601+
},
15341602
MutateUnlabelled: apiutils.NewBoolPointer(valueTrue),
15351603
ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName),
15361604
AgentCommunicationMode: apiutils.NewStringPointer("socket"),
@@ -1663,7 +1731,13 @@ func Test_defaultFeatures(t *testing.T) {
16631731
UseClusterChecksRunners: apiutils.NewBoolPointer(defaultUseClusterChecksRunners),
16641732
},
16651733
AdmissionController: &AdmissionControllerFeatureConfig{
1666-
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled),
1734+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled),
1735+
Validation: &AdmissionControllerValidationConfig{
1736+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled),
1737+
},
1738+
Mutation: &AdmissionControllerMutationConfig{
1739+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled),
1740+
},
16671741
MutateUnlabelled: apiutils.NewBoolPointer(defaultAdmissionControllerMutateUnlabelled),
16681742
ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName),
16691743
CWSInstrumentation: &CWSInstrumentationConfig{
@@ -1815,7 +1889,13 @@ func Test_defaultFeatures(t *testing.T) {
18151889
UseClusterChecksRunners: apiutils.NewBoolPointer(defaultUseClusterChecksRunners),
18161890
},
18171891
AdmissionController: &AdmissionControllerFeatureConfig{
1818-
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled),
1892+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled),
1893+
Validation: &AdmissionControllerValidationConfig{
1894+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled),
1895+
},
1896+
Mutation: &AdmissionControllerMutationConfig{
1897+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled),
1898+
},
18191899
MutateUnlabelled: apiutils.NewBoolPointer(defaultAdmissionControllerMutateUnlabelled),
18201900
ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName),
18211901
CWSInstrumentation: &CWSInstrumentationConfig{
@@ -1958,7 +2038,13 @@ func Test_defaultFeatures(t *testing.T) {
19582038
UseClusterChecksRunners: apiutils.NewBoolPointer(defaultUseClusterChecksRunners),
19592039
},
19602040
AdmissionController: &AdmissionControllerFeatureConfig{
1961-
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled),
2041+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerEnabled),
2042+
Validation: &AdmissionControllerValidationConfig{
2043+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerValidationEnabled),
2044+
},
2045+
Mutation: &AdmissionControllerMutationConfig{
2046+
Enabled: apiutils.NewBoolPointer(defaultAdmissionControllerMutationEnabled),
2047+
},
19622048
MutateUnlabelled: apiutils.NewBoolPointer(defaultAdmissionControllerMutateUnlabelled),
19632049
ServiceName: apiutils.NewStringPointer(defaultAdmissionServiceName),
19642050
CWSInstrumentation: &CWSInstrumentationConfig{

api/datadoghq/v2alpha1/datadogagent_types.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -690,6 +690,14 @@ type AdmissionControllerFeatureConfig struct {
690690
// +optional
691691
Enabled *bool `json:"enabled,omitempty"`
692692

693+
// Validation contains Admission Controller validation configurations.
694+
// +optional
695+
Validation *AdmissionControllerValidationConfig `json:"validation,omitempty"`
696+
697+
// Mutation contains Admission Controller mutation configurations.
698+
// +optional
699+
Mutation *AdmissionControllerMutationConfig `json:"mutation,omitempty"`
700+
693701
// MutateUnlabelled enables config injection without the need of pod label 'admission.datadoghq.com/enabled="true"'.
694702
// Default: false
695703
// +optional
@@ -726,6 +734,20 @@ type AdmissionControllerFeatureConfig struct {
726734
CWSInstrumentation *CWSInstrumentationConfig `json:"cwsInstrumentation,omitempty"`
727735
}
728736

737+
type AdmissionControllerValidationConfig struct {
738+
// Enabled enables the Admission Controller validation webhook.
739+
// Default: true
740+
// +optional
741+
Enabled *bool `json:"enabled,omitempty"`
742+
}
743+
744+
type AdmissionControllerMutationConfig struct {
745+
// Enabled enables the Admission Controller mutation webhook.
746+
// Default: true
747+
// +optional
748+
Enabled *bool `json:"enabled,omitempty"`
749+
}
750+
729751
type AgentSidecarInjectionConfig struct {
730752
// Enabled enables Sidecar injections.
731753
// Default: false

api/datadoghq/v2alpha1/test/builder.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,12 @@ func (builder *DatadogAgentBuilder) initAdmissionController() {
182182
if builder.datadogAgent.Spec.Features.AdmissionController == nil {
183183
builder.datadogAgent.Spec.Features.AdmissionController = &v2alpha1.AdmissionControllerFeatureConfig{}
184184
}
185+
if builder.datadogAgent.Spec.Features.AdmissionController.Validation == nil {
186+
builder.datadogAgent.Spec.Features.AdmissionController.Validation = &v2alpha1.AdmissionControllerValidationConfig{}
187+
}
188+
if builder.datadogAgent.Spec.Features.AdmissionController.Mutation == nil {
189+
builder.datadogAgent.Spec.Features.AdmissionController.Mutation = &v2alpha1.AdmissionControllerMutationConfig{}
190+
}
185191
if builder.datadogAgent.Spec.Features.AdmissionController.CWSInstrumentation == nil {
186192
builder.datadogAgent.Spec.Features.AdmissionController.CWSInstrumentation = &v2alpha1.CWSInstrumentationConfig{}
187193
}
@@ -202,6 +208,18 @@ func (builder *DatadogAgentBuilder) WithAdmissionControllerEnabled(enabled bool)
202208
return builder
203209
}
204210

211+
func (builder *DatadogAgentBuilder) WithAdmissionControllerValidationEnabled(enabled bool) *DatadogAgentBuilder {
212+
builder.initAdmissionController()
213+
builder.datadogAgent.Spec.Features.AdmissionController.Validation.Enabled = apiutils.NewBoolPointer(enabled)
214+
return builder
215+
}
216+
217+
func (builder *DatadogAgentBuilder) WithAdmissionControllerMutationEnabled(enabled bool) *DatadogAgentBuilder {
218+
builder.initAdmissionController()
219+
builder.datadogAgent.Spec.Features.AdmissionController.Mutation.Enabled = apiutils.NewBoolPointer(enabled)
220+
return builder
221+
}
222+
205223
func (builder *DatadogAgentBuilder) WithAdmissionControllerMutateUnlabelled(enabled bool) *DatadogAgentBuilder {
206224
builder.initAdmissionController()
207225
builder.datadogAgent.Spec.Features.AdmissionController.MutateUnlabelled = apiutils.NewBoolPointer(enabled)

0 commit comments

Comments
 (0)