suite: test startup probe templates: - deployment.yaml tests: - it: should have startup probe by default asserts: - isNotNull: path: spec.template.spec.containers[0].startupProbe - it: should use tcpSocket by default asserts: - isNotNull: path: spec.template.spec.containers[0].startupProbe.tcpSocket - equal: path: spec.template.spec.containers[0].startupProbe.tcpSocket.port value: http - it: should have default timing values asserts: - equal: path: spec.template.spec.containers[0].startupProbe.initialDelaySeconds value: 0 - equal: path: spec.template.spec.containers[0].startupProbe.periodSeconds value: 10 - equal: path: spec.template.spec.containers[0].startupProbe.failureThreshold value: 30 - it: should allow custom initialDelaySeconds set: startupProbe.initialDelaySeconds: 5 asserts: - equal: path: spec.template.spec.containers[0].startupProbe.initialDelaySeconds value: 5 - it: should allow custom periodSeconds set: startupProbe.periodSeconds: 15 asserts: - equal: path: spec.template.spec.containers[0].startupProbe.periodSeconds value: 15 - it: should allow custom failureThreshold set: startupProbe.failureThreshold: 60 asserts: - equal: path: spec.template.spec.containers[0].startupProbe.failureThreshold value: 60 - it: should support httpGet probe set: startupProbe: httpGet: path: /health port: http initialDelaySeconds: 0 periodSeconds: 10 failureThreshold: 30 asserts: - isNotNull: path: spec.template.spec.containers[0].startupProbe.httpGet - equal: path: spec.template.spec.containers[0].startupProbe.httpGet.path value: /health - equal: path: spec.template.spec.containers[0].startupProbe.httpGet.port value: http - it: should support custom port set: startupProbe.tcpSocket.port: 9000 asserts: - equal: path: spec.template.spec.containers[0].startupProbe.tcpSocket.port value: 9000 - it: should calculate correct timeout window set: startupProbe.periodSeconds: 10 startupProbe.failureThreshold: 30 asserts: - equal: path: spec.template.spec.containers[0].startupProbe.periodSeconds value: 10 - equal: path: spec.template.spec.containers[0].startupProbe.failureThreshold value: 30 # Total startup time allowed: 10 * 30 = 300 seconds (5 minutes)