diff --git a/src/tools/genpolicy/src/pod.rs b/src/tools/genpolicy/src/pod.rs index 5ff1d70c29..09482ed799 100644 --- a/src/tools/genpolicy/src/pod.rs +++ b/src/tools/genpolicy/src/pod.rs @@ -299,6 +299,9 @@ struct Probe { #[serde(skip_serializing_if = "Option::is_none")] periodSeconds: Option, + #[serde(skip_serializing_if = "Option::is_none")] + terminationGracePeriodSeconds: Option, + #[serde(skip_serializing_if = "Option::is_none")] failureThreshold: Option, @@ -310,6 +313,9 @@ struct Probe { #[serde(skip_serializing_if = "Option::is_none")] tcpSocket: Option, + + #[serde(skip_serializing_if = "Option::is_none")] + grpc: Option, // TODO: additional fields. } @@ -322,6 +328,15 @@ struct TCPSocketAction { host: Option, } +/// See Reference / Kubernetes API / Workload Resources / Pod. +#[derive(Clone, Debug, Serialize, Deserialize)] +struct GRPCAction { + port: u16, + + #[serde(skip_serializing_if = "Option::is_none")] + service: Option, +} + /// See Reference / Kubernetes API / Workload Resources / Pod. #[derive(Clone, Debug, Serialize, Deserialize)] struct HTTPGetAction { diff --git a/src/tools/genpolicy/tests/policy/testdata/createcontainer/ignored_fields/pod.yaml b/src/tools/genpolicy/tests/policy/testdata/createcontainer/ignored_fields/pod.yaml index b68cc506c0..cbe5744098 100644 --- a/src/tools/genpolicy/tests/policy/testdata/createcontainer/ignored_fields/pod.yaml +++ b/src/tools/genpolicy/tests/policy/testdata/createcontainer/ignored_fields/pod.yaml @@ -7,6 +7,24 @@ spec: containers: - name: redis image: registry.k8s.io/pause:3.6@sha256:3d380ca8864549e74af4b29c10f9cb0956236dfb01c40ca076fb6c37253234db + readinessProbe: + grpc: + port: 2379 + service: BarService + initialDelaySeconds: 10 + successThreshold: 3 + livenessProbe: + tcpSocket: + host: foo.bar + port: 8080 + periodSeconds: 10 + failureThreshold: 2 + startupProbe: + httpGet: + path: /healthz + port: liveness-port + terminationGracePeriodSeconds: 60 + timeoutSeconds: 10 priority: 1 schedulerName: test-scheduler-name affinity: