Repository: appvia/kev
Pull request #427 (2021-03-24 10:55:11)

rename command probe type to exec


Patch:
diff --git a/docs/reference/config-example.md b/docs/reference/config-example.md
index 4fdd12d..b6fa572 100644
--- a/docs/reference/config-example.md
+++ b/docs/reference/config-example.md
@@ -26,9 +26,9 @@ services:                                                # compose services sect
       kev.workload.memory: 10Mi                          # Default: 10Mi. Memory request per workload.
       kev.workload.max-memory: 500Mi                     # Default: 500Mi. Memory limit per workload.
       ## Liveness probe
-      kev.workload.liveness-probe-type: command          # Default: command. Possible options: none | command | http | tcp.
-      ### Command
-      kev.workload.liveness-probe-command: "echo 'n/a'"  # Liveness probe command to run. Only used when using command probe type.
+      kev.workload.liveness-probe-type: exec          # Default: exec. Possible options: none | exec | http | tcp.
+      ### Exec
+      kev.workload.liveness-probe-command: "echo 'n/a'"  # Liveness probe command to run. Only used when using exec probe type.
       ### HTTP
       kev.workload.liveness-probe-http-port: 8080        # HTTP Liveness probe port. Only used when using an http probe type.
       kev.workload.liveness-probe-http-path: /status     # HTTP Liveness probe path. Only used when using an http probe type.
@@ -38,12 +38,12 @@ services:                                                # compose services sect
       kev.workload.liveness-probe-initial-delay: 1m0s    # Default: 1m. How long to wait before initial probe run. Shared by all liveness probe types.
       kev.workload.liveness-probe-interval: 1m0s         # Default: 1m. Interval for the probe. Shared by all liveness probe types.
       kev.workload.liveness-probe-retries: "3"           # Default: 3. Number of probe retires. Shared by all liveness probe types.
-      kev.workload.liveness-probe-timeout: 10s           # Default: 10s. Probe command timeout. Shared by all liveness probe types.
+      kev.workload.liveness-probe-timeout: 10s           # Default: 10s. Probe timeout. Shared by all liveness probe types.
 
       ## Readiness probe
-      kev.workload.liveness-probe-type: command          # Default: none. Possible options: none | command | http | tcp.
-      ### Command
-      kev.workload.readiness-probe-command: "echo 'n/a'"  # readiness probe command to run. Only used when using command probe type.
+      kev.workload.liveness-probe-type: exec          # Default: none. Possible options: none | exec | http | tcp.
+      ### Exec
+      kev.workload.readiness-probe-command: "echo 'n/a'"  # readiness probe command to run. Only used when using exec probe type.
       ### HTTP
       kev.workload.readiness-probe-http-port: 8080        # HTTP Readiness probe port. Only used when using an http probe type.
       kev.workload.readiness-probe-http-path: /status     # HTTP Readiness probe path. Only used when using an http probe type.
@@ -53,7 +53,7 @@ services:                                                # compose services sect
       kev.workload.readiness-probe-initial-delay: 1m0s    # Default: 1m. How long to wait before initial probe run. Shared by all readiness probe types.
       kev.workload.readiness-probe-interval: 1m0s         # Default: 1m. Interval for the probe. Shared by all readiness probe types.
       kev.workload.readiness-probe-retries: "3"           # Default: 3. Number of probe retires. Shared by all readiness probe types.
-      kev.workload.readiness-probe-timeout: 10s           # Default: 10s. Probe command timeout. Shared by all readiness probe types.
+      kev.workload.readiness-probe-timeout: 10s           # Default: 10s. Probe timeout. Shared by all readiness probe types.
     environment:                                         # App component environment variable overrides
       ENV_VAR_A: secret.{secret-name}.{secret-key}       # Refer to the a value stored in a secret key
       ENV_VAR_B: config.{config-name}.{config-key}       # Refer to the a value stored in a configmap key
diff --git a/docs/reference/config-params.md b/docs/reference/config-params.md
index 6c916cc..1c35882 100644
--- a/docs/reference/config-params.md
+++ b/docs/reference/config-params.md
@@ -387,11 +387,11 @@ Defines the workload's liveness probe type. See official K8s [documentation](htt
 Kev uses the following heuristics to derieve that information for each service:
 
 If compose file(s) specifies the `healthcheck.disable` attribute key in a service config it will set the probe type to `none`.
-Otherwise it'll default to `command` (liveness probe active!)
+Otherwise it'll default to `exec` (liveness probe active!)
 
-### Default: `command`
+### Default: `exec`
 
-### Possible options: none, command, http, tcp.
+### Possible options: none, exec, http, tcp.
 
 > kev.workload.liveness-probe-type:
 ```yaml
@@ -548,7 +548,7 @@ services:
 
 ## kev.workload.liveness-probe-timeout
 
-Defines how many the timeout for the liveness probe command for the workload. See official K8s [documentation](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-a-liveness-command). Kev will attempt to infer the timeout value from the information specified in the compose file.
+Defines the timeout for the liveness probe for the workload. See official K8s [documentation](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-a-liveness-command). Kev will attempt to infer the timeout value from the information specified in the compose file.
 
 Kev uses the following heuristics to derieve that information for each service:
 
@@ -575,7 +575,7 @@ Defines the workload's probe type. See official K8s [documentation](https://kube
 
 ### Default: `none`
 
-### Possible options: none, command, http, tcp.
+### Possible options: none, exec, http, tcp.
 
 > kev.workload.readiness-probe-type:
 ```yaml
@@ -713,7 +713,7 @@ services:
 
 ## kev.workload.readiness-probe-timeout
 
-Defines how many the timeout for the readiness probe command for the workload. See official K8s [documentation](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-readiness-probes).
+Defines the timeout for the readiness probe for the workload. See official K8s [documentation](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-readiness-probes).
 
 ### Default: `10s`
 
diff --git a/examples/wordpress-mysql/docker-compose.kev.local.yaml b/examples/wordpress-mysql/docker-compose.kev.local.yaml
index 352559f..a3a275e 100644
--- a/examples/wordpress-mysql/docker-compose.kev.local.yaml
+++ b/examples/wordpress-mysql/docker-compose.kev.local.yaml
@@ -10,7 +10,7 @@ services:
       kev.workload.liveness-probe-interval: 1m0s
       kev.workload.liveness-probe-retries: "3"
       kev.workload.liveness-probe-timeout: 10s
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.max-cpu: "0.5"
       kev.workload.max-memory: 500Mi
       kev.workload.memory: 10Mi
diff --git a/examples/wordpress-mysql/docker-compose.kev.stage.yaml b/examples/wordpress-mysql/docker-compose.kev.stage.yaml
index 569ccb8..1336b0d 100644
--- a/examples/wordpress-mysql/docker-compose.kev.stage.yaml
+++ b/examples/wordpress-mysql/docker-compose.kev.stage.yaml
@@ -10,7 +10,7 @@ services:
       kev.workload.liveness-probe-interval: 1m0s
       kev.workload.liveness-probe-retries: "3"
       kev.workload.liveness-probe-timeout: 10s
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.max-cpu: "0.5"
       kev.workload.max-memory: 500Mi
       kev.workload.memory: 10Mi
diff --git a/go.sum b/go.sum
index 429b053..4f0457d 100644
--- a/go.sum
+++ b/go.sum
@@ -837,8 +837,8 @@ github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
 github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.4 h1:L8R9j+yAqZuZjsqh/z+F1NCffTKKLShY6zXTItVIZ8M=
 github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
 github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-containerregistry v0.0.0-20191010200024-a3d713f9b7f8/go.mod h1:KyKXa9ciM8+lgMXwOVsXi7UxGrsf9mM61Mzs+xKUrKE=
 github.com/google/go-containerregistry v0.0.0-20200311163244-4b1985e5ea21/go.mod h1:m8YvHwSOuBCq25yrj1DaX/fIMrv6ec3CNg8jY8+5PEA=
diff --git a/pkg/kev/config/defaults.go b/pkg/kev/config/defaults.go
index 4e537a4..6ce4b66 100644
--- a/pkg/kev/config/defaults.go
+++ b/pkg/kev/config/defaults.go
@@ -125,7 +125,7 @@ const (
 	DefaultLivenessProbeCommand = "Define healthcheck command for service %s"
 
 	// DefaultLivenessProbeType default probe type.
-	DefaultLivenessProbeType = "command"
+	DefaultLivenessProbeType = "exec"
 
 	// DefaultProbeTimeout default 10s
 	DefaultProbeTimeout = "10s"
diff --git a/pkg/kev/config/schema.go b/pkg/kev/config/schema.go
index 534b35c..389377f 100644
--- a/pkg/kev/config/schema.go
+++ b/pkg/kev/config/schema.go
@@ -27,7 +27,7 @@ var ServicesSchema = map[string]interface{}{
 		LabelWorkloadImagePullPolicy:                     map[string]interface{}{"type": "string", "pattern": `^(?i)(IfNotPresent|Always)$`},
 		LabelWorkloadImagePullSecret:                     map[string]interface{}{"type": "string"},
 		LabelWorkloadRestartPolicy:                       map[string]interface{}{"type": "string", "pattern": `^(?i)(Always|OnFailure|Never)$`},
-		LabelWorkloadLivenessProbeType:                   map[string]interface{}{"type": "string", "enum": []string{"none", "command", "http", "tcp"}},
+		LabelWorkloadLivenessProbeType:                   map[string]interface{}{"type": "string", "enum": []string{"none", "exec", "http", "tcp"}},
 		LabelWorkloadLivenessProbeCommand:                map[string]interface{}{"type": "string"},
 		LabelWorkloadLivenessProbeHTTPPort:               map[string]interface{}{"type": "string"},
 		LabelWorkloadLivenessProbeTCPPort:                map[string]interface{}{"type": "string"},
@@ -36,7 +36,7 @@ var ServicesSchema = map[string]interface{}{
 		LabelWorkloadLivenessProbeInterval:               map[string]interface{}{"type": "string", "format": "duration"},
 		LabelWorkloadLivenessProbeRetries:                map[string]interface{}{"type": "string", "pattern": `^\d+$`},
 		LabelWorkloadLivenessProbeTimeout:                map[string]interface{}{"type": "string", "format": "duration"},
-		LabelWorkloadReadinessProbeType:                  map[string]interface{}{"type": "string", "enum": []string{"none", "command", "http", "tcp"}},
+		LabelWorkloadReadinessProbeType:                  map[string]interface{}{"type": "string", "enum": []string{"none", "exec", "http", "tcp"}},
 		LabelWorkloadReadinessProbeCommand:               map[string]interface{}{"type": "string"},
 		LabelWorkloadReadinessProbeHTTPPort:              map[string]interface{}{"type": "string"},
 		LabelWorkloadReadinessProbeTCPPort:               map[string]interface{}{"type": "string"},
@@ -90,7 +90,7 @@ var ServicesSchema = map[string]interface{}{
 				{
 					"properties": map[string]interface{}{
 						LabelWorkloadLivenessProbeType: map[string]interface{}{
-							"const": "command",
+							"const": "exec",
 						},
 					},
 					"required": []string{LabelWorkloadLivenessProbeCommand},
@@ -127,7 +127,7 @@ var ServicesSchema = map[string]interface{}{
 				{
 					"properties": map[string]interface{}{
 						LabelWorkloadReadinessProbeType: map[string]interface{}{
-							"const": "command",
+							"const": "exec",
 						},
 					},
 					"required": []string{LabelWorkloadReadinessProbeCommand},
diff --git a/pkg/kev/converter/kubernetes/project_service.go b/pkg/kev/converter/kubernetes/project_service.go
index b23f372..f71b6cb 100644
--- a/pkg/kev/converter/kubernetes/project_service.go
+++ b/pkg/kev/converter/kubernetes/project_service.go
@@ -569,7 +569,7 @@ func (p *ProjectService) healthcheck() (*v1.Probe, error) {
 		}
 
 		handler.TCPSocket = hnd
-	case ProbeTypeCommand:
+	case ProbeTypeExec:
 		handler.Exec = &v1.ExecAction{
 			Command: p.livenessProbeCommand(),
 		}
@@ -769,7 +769,7 @@ func (p *ProjectService) readinessProbe() (*v1.Probe, error) {
 	switch *probeType {
 	case ProbeTypeNone:
 		return nil, nil
-	case ProbeTypeCommand:
+	case ProbeTypeExec:
 		hnd.Exec = &v1.ExecAction{
 			Command: p.readinessProbeCommand(),
 		}
diff --git a/pkg/kev/converter/kubernetes/types.go b/pkg/kev/converter/kubernetes/types.go
index f0f2ffe..9f48344 100644
--- a/pkg/kev/converter/kubernetes/types.go
+++ b/pkg/kev/converter/kubernetes/types.go
@@ -79,17 +79,17 @@ func (p ProbeType) String() string {
 }
 
 var probeString map[ProbeType]string = map[ProbeType]string{
-	ProbeTypeNone:    "none",
-	ProbeTypeCommand: "command",
-	ProbeTypeHTTP:    "http",
-	ProbeTypeTCP:     "tcp",
+	ProbeTypeNone: "none",
+	ProbeTypeExec: "exec",
+	ProbeTypeHTTP: "http",
+	ProbeTypeTCP:  "tcp",
 }
 
 const (
 	// ProbeTypeNone disables probe checks.
 	ProbeTypeNone ProbeType = iota
-	// ProbeTypeCommand uses a shell command for probe checks.
-	ProbeTypeCommand
+	// ProbeTypeExec uses a shell command for probe checks.
+	ProbeTypeExec
 	// ProbeTypeHTTP defines an http request which is used by probe checks.
 	ProbeTypeHTTP
 	// ProbeTypeTCP defines a tcp port which is used by probe checks.
diff --git a/pkg/kev/extract.go b/pkg/kev/extract.go
index c5a3287..a17d2db 100644
--- a/pkg/kev/extract.go
+++ b/pkg/kev/extract.go
@@ -177,7 +177,7 @@ func extractHealthcheckLabels(source composego.ServiceConfig, target *ServiceCon
 	if source.HealthCheck.Disable {
 		target.Labels.Add(config.LabelWorkloadLivenessProbeType, kubernetes.ProbeTypeNone.String())
 	} else {
-		target.Labels.Add(config.LabelWorkloadLivenessProbeType, kubernetes.ProbeTypeCommand.String())
+		target.Labels.Add(config.LabelWorkloadLivenessProbeType, kubernetes.ProbeTypeExec.String())
 	}
 
 	if source.HealthCheck != nil && source.HealthCheck.Interval != nil {


Test patch:
diff --git a/pkg/kev/converter/kubernetes/project_service_test.go b/pkg/kev/converter/kubernetes/project_service_test.go
index 11568b9..3084ac5 100644
--- a/pkg/kev/converter/kubernetes/project_service_test.go
+++ b/pkg/kev/converter/kubernetes/project_service_test.go
@@ -1145,7 +1145,7 @@ var _ = Describe("ProjectService", func() {
 			retries := uint64(3)
 
 			BeforeEach(func() {
-				labels.Add(config.LabelWorkloadLivenessProbeType, ProbeTypeCommand.String())
+				labels.Add(config.LabelWorkloadLivenessProbeType, ProbeTypeExec.String())
 				healthcheck = composego.HealthCheckConfig{
 					Test: composego.HealthCheckTest{
 						"CMD-SHELL",
@@ -1204,7 +1204,7 @@ var _ = Describe("ProjectService", func() {
 
 		Describe("validations", func() {
 			BeforeEach(func() {
-				labels.Add(config.LabelWorkloadLivenessProbeType, ProbeTypeCommand.String())
+				labels.Add(config.LabelWorkloadLivenessProbeType, ProbeTypeExec.String())
 			})
 
 			Context("when Test command is not defined", func() {
@@ -1232,7 +1232,7 @@ var _ = Describe("ProjectService", func() {
 				BeforeEach(func() {
 					labels = composego.Labels{
 						config.LabelWorkloadLivenessProbeTimeout: "0",
-						config.LabelWorkloadLivenessProbeType:    ProbeTypeCommand.String(),
+						config.LabelWorkloadLivenessProbeType:    ProbeTypeExec.String(),
 					}
 				})
 
@@ -1605,7 +1605,7 @@ var _ = Describe("ProjectService", func() {
 			When("any of time based paramaters is set to 0", func() {
 				JustBeforeEach(func() {
 					projectService.Labels = composego.Labels{
-						config.LabelWorkloadReadinessProbeType:    ProbeTypeCommand.String(),
+						config.LabelWorkloadReadinessProbeType:    ProbeTypeExec.String(),
 						config.LabelWorkloadReadinessProbeTimeout: "0",
 					}
 				})
@@ -1780,7 +1780,7 @@ var _ = Describe("ProjectService", func() {
 
 				BeforeEach(func() {
 					labels = composego.Labels{
-						config.LabelWorkloadReadinessProbeType:    ProbeTypeCommand.String(),
+						config.LabelWorkloadReadinessProbeType:    ProbeTypeExec.String(),
 						config.LabelWorkloadReadinessProbeCommand: cmd,
 					}
 				})
@@ -1796,7 +1796,7 @@ var _ = Describe("ProjectService", func() {
 
 				BeforeEach(func() {
 					labels = composego.Labels{
-						config.LabelWorkloadReadinessProbeType:    ProbeTypeCommand.String(),
+						config.LabelWorkloadReadinessProbeType:    ProbeTypeExec.String(),
 						config.LabelWorkloadReadinessProbeCommand: cmd,
 					}
 				})
@@ -1825,7 +1825,7 @@ var _ = Describe("ProjectService", func() {
 
 			BeforeEach(func() {
 				labels = composego.Labels{
-					config.LabelWorkloadReadinessProbeType:     ProbeTypeCommand.String(),
+					config.LabelWorkloadReadinessProbeType:     ProbeTypeExec.String(),
 					config.LabelWorkloadReadinessProbeInterval: interval,
 				}
 			})
@@ -1849,7 +1849,7 @@ var _ = Describe("ProjectService", func() {
 
 			BeforeEach(func() {
 				labels = composego.Labels{
-					config.LabelWorkloadReadinessProbeType:    ProbeTypeCommand.String(),
+					config.LabelWorkloadReadinessProbeType:    ProbeTypeExec.String(),
 					config.LabelWorkloadReadinessProbeTimeout: timeout,
 				}
 			})
@@ -1873,7 +1873,7 @@ var _ = Describe("ProjectService", func() {
 
 			BeforeEach(func() {
 				labels = composego.Labels{
-					config.LabelWorkloadReadinessProbeType:         ProbeTypeCommand.String(),
+					config.LabelWorkloadReadinessProbeType:         ProbeTypeExec.String(),
 					config.LabelWorkloadReadinessProbeInitialDelay: delay,
 				}
 			})
@@ -1897,7 +1897,7 @@ var _ = Describe("ProjectService", func() {
 
 			BeforeEach(func() {
 				labels = composego.Labels{
-					config.LabelWorkloadReadinessProbeType:    ProbeTypeCommand.String(),
+					config.LabelWorkloadReadinessProbeType:    ProbeTypeExec.String(),
 					config.LabelWorkloadReadinessProbeRetries: retries,
 				}
 			})
diff --git a/pkg/kev/converter/kubernetes/transform_test.go b/pkg/kev/converter/kubernetes/transform_test.go
index 82cd768..b510407 100644
--- a/pkg/kev/converter/kubernetes/transform_test.go
+++ b/pkg/kev/converter/kubernetes/transform_test.go
@@ -1887,7 +1887,7 @@ var _ = Describe("Transform", func() {
 			When("readiness probe is defined for project service", func() {
 				JustBeforeEach(func() {
 					projectService.Labels = composego.Labels{
-						config.LabelWorkloadReadinessProbeType:    ProbeTypeCommand.String(),
+						config.LabelWorkloadReadinessProbeType:    ProbeTypeExec.String(),
 						config.LabelWorkloadReadinessProbeCommand: "hello world",
 						config.LabelWorkloadLivenessProbeType:     ProbeTypeNone.String(),
 					}
@@ -1904,7 +1904,7 @@ var _ = Describe("Transform", func() {
 			When("readiness probe is misconfigured", func() {
 				JustBeforeEach(func() {
 					projectService.Labels = composego.Labels{
-						config.LabelWorkloadReadinessProbeType:    ProbeTypeCommand.String(),
+						config.LabelWorkloadReadinessProbeType:    ProbeTypeExec.String(),
 						config.LabelWorkloadReadinessProbeCommand: "",
 					}
 				})
diff --git a/pkg/kev/init_test.go b/pkg/kev/init_test.go
index 6b8db67..7e73626 100644
--- a/pkg/kev/init_test.go
+++ b/pkg/kev/init_test.go
@@ -214,7 +214,7 @@ services:
   db:
     labels:
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service db"]'
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.replicas: "1"
 volumes:
   db_data:
diff --git a/pkg/kev/kev_reconcile_test.go b/pkg/kev/kev_reconcile_test.go
index ec61a2c..2afb216 100644
--- a/pkg/kev/kev_reconcile_test.go
+++ b/pkg/kev/kev_reconcile_test.go
@@ -507,7 +507,7 @@ var _ = Describe("Reconcile", func() {
 
 func newDefaultServiceLabels(name string) map[string]string {
 	return map[string]string{
-		config.LabelWorkloadLivenessProbeType:    kubernetes.ProbeTypeCommand.String(),
+		config.LabelWorkloadLivenessProbeType:    kubernetes.ProbeTypeExec.String(),
 		config.LabelWorkloadLivenessProbeCommand: "[\"CMD\", \"echo\", \"Define healthcheck command for service " + name + "\"]",
 		config.LabelWorkloadReplicas:             "1",
 	}
diff --git a/pkg/kev/services_test.go b/pkg/kev/services_test.go
index 900f3e7..ccb1e34 100644
--- a/pkg/kev/services_test.go
+++ b/pkg/kev/services_test.go
@@ -38,7 +38,7 @@ var _ = Describe("ServiceConfig", func() {
 				Expect(err).Should(MatchError(ContainSubstring(config.LabelWorkloadLivenessProbeType)))
 
 				err = ServiceConfig{Labels: composego.Labels{
-					config.LabelWorkloadLivenessProbeType:    kubernetes.ProbeTypeCommand.String(),
+					config.LabelWorkloadLivenessProbeType:    kubernetes.ProbeTypeExec.String(),
 					config.LabelWorkloadLivenessProbeCommand: "echo i'm a useless probe",
 				}}.validate()
 				Expect(err).Should(MatchError(ContainSubstring(config.LabelWorkloadReplicas)))
@@ -49,7 +49,7 @@ var _ = Describe("ServiceConfig", func() {
 
 			It("success if the necessary labels are present", func() {
 				err := ServiceConfig{Labels: composego.Labels{
-					config.LabelWorkloadLivenessProbeType:    kubernetes.ProbeTypeCommand.String(),
+					config.LabelWorkloadLivenessProbeType:    kubernetes.ProbeTypeExec.String(),
 					config.LabelWorkloadLivenessProbeCommand: "echo i'm a useless probe",
 					config.LabelWorkloadReplicas:             "1",
 				}}.validate()
@@ -257,7 +257,7 @@ var _ = Describe("ServiceConfig", func() {
 				Context("rediness probes", func() {
 					BeforeEach(func() {
 						serviceConfig.Labels[config.LabelWorkloadLivenessProbeType] = kubernetes.ProbeTypeNone.String()
-						serviceConfig.Labels[config.LabelWorkloadReadinessProbeType] = kubernetes.ProbeTypeCommand.String()
+						serviceConfig.Labels[config.LabelWorkloadReadinessProbeType] = kubernetes.ProbeTypeExec.String()
 					})
 
 					It("fails when command probe has missing properties", func() {
@@ -270,7 +270,7 @@ var _ = Describe("ServiceConfig", func() {
 
 				Context("liveness probe", func() {
 					BeforeEach(func() {
-						serviceConfig.Labels[config.LabelWorkloadLivenessProbeType] = kubernetes.ProbeTypeCommand.String()
+						serviceConfig.Labels[config.LabelWorkloadLivenessProbeType] = kubernetes.ProbeTypeExec.String()
 					})
 
 					It("fails when command probe has missing properties", func() {
diff --git a/pkg/kev/testdata/detect-secrets/docker-compose.kev.dev.yaml b/pkg/kev/testdata/detect-secrets/docker-compose.kev.dev.yaml
index acc737e..98cf678 100644
--- a/pkg/kev/testdata/detect-secrets/docker-compose.kev.dev.yaml
+++ b/pkg/kev/testdata/detect-secrets/docker-compose.kev.dev.yaml
@@ -2,12 +2,12 @@ version: "3.7"
 services:
   db:
     labels:
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service db"]'
       kev.workload.replicas: "1"
   wordpress:
     labels:
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service wordpress"]'
       kev.workload.replicas: "1"
     environment:
diff --git a/pkg/kev/testdata/in-cluster-wordpress/docker-compose.kev.dev.yaml b/pkg/kev/testdata/in-cluster-wordpress/docker-compose.kev.dev.yaml
index b00c6e5..c26679d 100644
--- a/pkg/kev/testdata/in-cluster-wordpress/docker-compose.kev.dev.yaml
+++ b/pkg/kev/testdata/in-cluster-wordpress/docker-compose.kev.dev.yaml
@@ -3,12 +3,12 @@ services:
   db:
     labels:
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service db"]'
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.replicas: "1"
   wordpress:
     labels:
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service wordpress"]'
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.replicas: "1"
 volumes:
   db_data:
diff --git a/pkg/kev/testdata/merge/docker-compose.kev.dev.yaml b/pkg/kev/testdata/merge/docker-compose.kev.dev.yaml
index 4c447a5..11f355a 100644
--- a/pkg/kev/testdata/merge/docker-compose.kev.dev.yaml
+++ b/pkg/kev/testdata/merge/docker-compose.kev.dev.yaml
@@ -5,7 +5,7 @@ services:
       kev.service.type: None
       kev.workload.cpu: "0.1"
       kev.workload.image-pull-policy: IfNotPresent
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service db"]'
       kev.workload.liveness-probe-initial-delay: 1m0s
       kev.workload.liveness-probe-interval: 1m0s
diff --git a/pkg/kev/testdata/reconcile-env-var-override/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-env-var-override/docker-compose.kev.dev.yaml
index a2093d1..619546e 100644
--- a/pkg/kev/testdata/reconcile-env-var-override/docker-compose.kev.dev.yaml
+++ b/pkg/kev/testdata/reconcile-env-var-override/docker-compose.kev.dev.yaml
@@ -5,7 +5,7 @@ services:
       kev.service.type: None
       kev.workload.cpu: "0.1"
       kev.workload.image-pull-policy: IfNotPresent
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service db"]'
       kev.workload.liveness-probe-initial-delay: 1m0s
       kev.workload.liveness-probe-interval: 1m0s
diff --git a/pkg/kev/testdata/reconcile-env-var-removal/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-env-var-removal/docker-compose.kev.dev.yaml
index 159ba36..3502426 100644
--- a/pkg/kev/testdata/reconcile-env-var-removal/docker-compose.kev.dev.yaml
+++ b/pkg/kev/testdata/reconcile-env-var-removal/docker-compose.kev.dev.yaml
@@ -5,7 +5,7 @@ services:
       kev.service.type: None
       kev.workload.cpu: "0.1"
       kev.workload.image-pull-policy: IfNotPresent
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service db"]'
       kev.workload.liveness-probe-initial-delay: 1m0s
       kev.workload.liveness-probe-interval: 1m0s
@@ -23,7 +23,7 @@ services:
       kev.service.type: LoadBalancer
       kev.workload.cpu: "0.1"
       kev.workload.image-pull-policy: IfNotPresent
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service wordpress"]'
       kev.workload.liveness-probe-initial-delay: 1m0s
       kev.workload.liveness-probe-interval: 1m0s
diff --git a/pkg/kev/testdata/reconcile-env-var-unassigned/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-env-var-unassigned/docker-compose.kev.dev.yaml
index d28510e..0007a17 100644
--- a/pkg/kev/testdata/reconcile-env-var-unassigned/docker-compose.kev.dev.yaml
+++ b/pkg/kev/testdata/reconcile-env-var-unassigned/docker-compose.kev.dev.yaml
@@ -5,7 +5,7 @@ services:
       kev.service.type: None
       kev.workload.cpu: "0.1"
       kev.workload.image-pull-policy: IfNotPresent
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service db"]'
       kev.workload.liveness-probe-initial-delay: 1m0s
       kev.workload.liveness-probe-interval: 1m0s
diff --git a/pkg/kev/testdata/reconcile-override-keep/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-override-keep/docker-compose.kev.dev.yaml
index 2a0fb33..03870f2 100644
--- a/pkg/kev/testdata/reconcile-override-keep/docker-compose.kev.dev.yaml
+++ b/pkg/kev/testdata/reconcile-override-keep/docker-compose.kev.dev.yaml
@@ -5,7 +5,7 @@ services:
       kev.service.type: ClusterIP
       kev.workload.cpu: "0.5"
       kev.workload.image-pull-policy: IfNotPresent
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service db"]'
       kev.workload.liveness-probe-initial-delay: 1m0s
       kev.workload.liveness-probe-interval: 1m0s
diff --git a/pkg/kev/testdata/reconcile-override-rollback/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-override-rollback/docker-compose.kev.dev.yaml
index 93068a7..cbef7a1 100644
--- a/pkg/kev/testdata/reconcile-override-rollback/docker-compose.kev.dev.yaml
+++ b/pkg/kev/testdata/reconcile-override-rollback/docker-compose.kev.dev.yaml
@@ -5,7 +5,7 @@ services:
       kev.service.type: None
       kev.workload.cpu: "0.1"
       kev.workload.image-pull-policy: IfNotPresent
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service db"]'
       kev.workload.liveness-probe-initial-delay: 1m0s
       kev.workload.liveness-probe-interval: 1m0s
diff --git a/pkg/kev/testdata/reconcile-service-basic/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-service-basic/docker-compose.kev.dev.yaml
index 9ea13a2..4806457 100644
--- a/pkg/kev/testdata/reconcile-service-basic/docker-compose.kev.dev.yaml
+++ b/pkg/kev/testdata/reconcile-service-basic/docker-compose.kev.dev.yaml
@@ -5,7 +5,7 @@ services:
       kev.service.type: None
       kev.workload.cpu: "0.1"
       kev.workload.image-pull-policy: IfNotPresent
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service db"]'
       kev.workload.liveness-probe-initial-delay: 1m0s
       kev.workload.liveness-probe-interval: 1m0s
diff --git a/pkg/kev/testdata/reconcile-service-deploy/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-service-deploy/docker-compose.kev.dev.yaml
index 9ea13a2..4806457 100644
--- a/pkg/kev/testdata/reconcile-service-deploy/docker-compose.kev.dev.yaml
+++ b/pkg/kev/testdata/reconcile-service-deploy/docker-compose.kev.dev.yaml
@@ -5,7 +5,7 @@ services:
       kev.service.type: None
       kev.workload.cpu: "0.1"
       kev.workload.image-pull-policy: IfNotPresent
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service db"]'
       kev.workload.liveness-probe-initial-delay: 1m0s
       kev.workload.liveness-probe-interval: 1m0s
diff --git a/pkg/kev/testdata/reconcile-service-edit/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-service-edit/docker-compose.kev.dev.yaml
index a9d90cc..9b3c730 100644
--- a/pkg/kev/testdata/reconcile-service-edit/docker-compose.kev.dev.yaml
+++ b/pkg/kev/testdata/reconcile-service-edit/docker-compose.kev.dev.yaml
@@ -5,7 +5,7 @@ services:
       kev.service.type: ClusterIP
       kev.workload.cpu: "0.1"
       kev.workload.image-pull-policy: IfNotPresent
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service db"]'
       kev.workload.liveness-probe-initial-delay: 1m0s
       kev.workload.liveness-probe-interval: 1m0s
@@ -23,7 +23,7 @@ services:
       kev.service.type: LoadBalancer
       kev.workload.cpu: "0.1"
       kev.workload.image-pull-policy: IfNotPresent
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service wordpress"]'
       kev.workload.liveness-probe-initial-delay: 1m0s
       kev.workload.liveness-probe-interval: 1m0s
diff --git a/pkg/kev/testdata/reconcile-service-removal/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-service-removal/docker-compose.kev.dev.yaml
index 1322b2f..d4c642c 100644
--- a/pkg/kev/testdata/reconcile-service-removal/docker-compose.kev.dev.yaml
+++ b/pkg/kev/testdata/reconcile-service-removal/docker-compose.kev.dev.yaml
@@ -5,7 +5,7 @@ services:
       kev.service.type: None
       kev.workload.cpu: "0.1"
       kev.workload.image-pull-policy: IfNotPresent
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service db"]'
       kev.workload.liveness-probe-initial-delay: 1m0s
       kev.workload.liveness-probe-interval: 1m0s
@@ -23,7 +23,7 @@ services:
       kev.service.type: LoadBalancer
       kev.workload.cpu: "0.1"
       kev.workload.image-pull-policy: IfNotPresent
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service wordpress"]'
       kev.workload.liveness-probe-initial-delay: 1m0s
       kev.workload.liveness-probe-interval: 1m0s
diff --git a/pkg/kev/testdata/reconcile-version/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-version/docker-compose.kev.dev.yaml
index 9ea13a2..4806457 100644
--- a/pkg/kev/testdata/reconcile-version/docker-compose.kev.dev.yaml
+++ b/pkg/kev/testdata/reconcile-version/docker-compose.kev.dev.yaml
@@ -5,7 +5,7 @@ services:
       kev.service.type: None
       kev.workload.cpu: "0.1"
       kev.workload.image-pull-policy: IfNotPresent
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service db"]'
       kev.workload.liveness-probe-initial-delay: 1m0s
       kev.workload.liveness-probe-interval: 1m0s
diff --git a/pkg/kev/testdata/reconcile-volume-add/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-volume-add/docker-compose.kev.dev.yaml
index e9e53c7..6d732cb 100644
--- a/pkg/kev/testdata/reconcile-volume-add/docker-compose.kev.dev.yaml
+++ b/pkg/kev/testdata/reconcile-volume-add/docker-compose.kev.dev.yaml
@@ -5,7 +5,7 @@ services:
       kev.service.type: None
       kev.workload.cpu: "0.1"
       kev.workload.image-pull-policy: IfNotPresent
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service db"]'
       kev.workload.liveness-probe-initial-delay: 1m0s
       kev.workload.liveness-probe-interval: 1m0s
@@ -23,7 +23,7 @@ services:
       kev.service.type: LoadBalancer
       kev.workload.cpu: "0.1"
       kev.workload.image-pull-policy: IfNotPresent
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service wordpress"]'
       kev.workload.liveness-probe-initial-delay: 1m0s
       kev.workload.liveness-probe-interval: 1m0s
diff --git a/pkg/kev/testdata/reconcile-volume-edit/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-volume-edit/docker-compose.kev.dev.yaml
index 1322b2f..d4c642c 100644
--- a/pkg/kev/testdata/reconcile-volume-edit/docker-compose.kev.dev.yaml
+++ b/pkg/kev/testdata/reconcile-volume-edit/docker-compose.kev.dev.yaml
@@ -5,7 +5,7 @@ services:
       kev.service.type: None
       kev.workload.cpu: "0.1"
       kev.workload.image-pull-policy: IfNotPresent
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service db"]'
       kev.workload.liveness-probe-initial-delay: 1m0s
       kev.workload.liveness-probe-interval: 1m0s
@@ -23,7 +23,7 @@ services:
       kev.service.type: LoadBalancer
       kev.workload.cpu: "0.1"
       kev.workload.image-pull-policy: IfNotPresent
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service wordpress"]'
       kev.workload.liveness-probe-initial-delay: 1m0s
       kev.workload.liveness-probe-interval: 1m0s
diff --git a/pkg/kev/testdata/reconcile-volume-removal/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-volume-removal/docker-compose.kev.dev.yaml
index 238f836..a177d5e 100644
--- a/pkg/kev/testdata/reconcile-volume-removal/docker-compose.kev.dev.yaml
+++ b/pkg/kev/testdata/reconcile-volume-removal/docker-compose.kev.dev.yaml
@@ -5,7 +5,7 @@ services:
       kev.service.type: None
       kev.workload.cpu: "0.1"
       kev.workload.image-pull-policy: IfNotPresent
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service db"]'
       kev.workload.liveness-probe-initial-delay: 1m0s
       kev.workload.liveness-probe-interval: 1m0s
@@ -23,7 +23,7 @@ services:
       kev.service.type: LoadBalancer
       kev.workload.cpu: "0.1"
       kev.workload.image-pull-policy: IfNotPresent
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service wordpress"]'
       kev.workload.liveness-probe-initial-delay: 1m0s
       kev.workload.liveness-probe-interval: 1m0s
diff --git a/pkg/kev/testdata/validation/docker-compose.kev.dev.yaml b/pkg/kev/testdata/validation/docker-compose.kev.dev.yaml
index 5b29502..5ce6511 100644
--- a/pkg/kev/testdata/validation/docker-compose.kev.dev.yaml
+++ b/pkg/kev/testdata/validation/docker-compose.kev.dev.yaml
@@ -2,12 +2,12 @@ version: "3.7"
 services:
   db:
     labels:
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service db"]'
       kev.workload.replicas: "1"
   wordpress:
     labels:
-      kev.workload.liveness-probe-type: command
+      kev.workload.liveness-probe-type: exec
       kev.workload.liveness-probe-command: '["CMD", "echo", "Define healthcheck command for service wordpress"]'
       kev.workload.replicas: "1"
       kev.workload.unknown: "unknown-value"