Skip to content

Commit f777fa2

Browse files
committed
Add CEL validation to instrumentation.environmentVariables to prevent users from attempting to overwrite variables set by the operator.
1 parent 9c3ce50 commit f777fa2

File tree

3 files changed

+11
-0
lines changed

3 files changed

+11
-0
lines changed

config/crd/bases/postgres-operator.crunchydata.com_pgadmins.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1813,6 +1813,11 @@ spec:
18131813
required:
18141814
- name
18151815
type: object
1816+
x-kubernetes-validations:
1817+
- message: Cannot overwrite environment variables set by
1818+
operator
1819+
rule: self.name != 'K8S_POD_NAMESPACE' && self.name !=
1820+
'K8S_POD_NAME' && self.name != 'PGPASSWORD'
18161821
minItems: 1
18171822
type: array
18181823
x-kubernetes-list-type: atomic

config/crd/bases/postgres-operator.crunchydata.com_postgresclusters.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11658,6 +11658,11 @@ spec:
1165811658
required:
1165911659
- name
1166011660
type: object
11661+
x-kubernetes-validations:
11662+
- message: Cannot overwrite environment variables set by
11663+
operator
11664+
rule: self.name != 'K8S_POD_NAMESPACE' && self.name !=
11665+
'K8S_POD_NAME' && self.name != 'PGPASSWORD'
1166111666
minItems: 1
1166211667
type: array
1166311668
x-kubernetes-list-type: atomic

pkg/apis/postgres-operator.crunchydata.com/v1beta1/instrumentation_types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ type InstrumentationConfigSpec struct {
7070
// collector container.
7171
// ---
7272
// +kubebuilder:validation:MinItems=1
73+
// +kubebuilder:validation:items:XValidation:rule=`self.name != 'K8S_POD_NAMESPACE' && self.name != 'K8S_POD_NAME' && self.name != 'PGPASSWORD'`,message="Cannot overwrite environment variables set by operator"
7374
// +listType=atomic
7475
// +optional
7576
EnvironmentVariables []corev1.EnvVar `json:"environmentVariables,omitempty"`

0 commit comments

Comments
 (0)