feat: add support for Kubernetes startup probes #94
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds full support for Kubernetes startup probes with proper
initialDelaySecondshandling to the interlink-slurm-plugin.Problem
Previously, the plugin only supported readiness and liveness probes, completely ignoring startup probes defined in pod specifications. This meant that pods with startup probes would not respect the
initialDelaySecondsconfiguration, leading to premature probe execution.Additionally, issue #91 reported that ContainerRuntime was not defaulting properly when missing from config files, causing startup failures when upgrading from older versions.
Solution
Implemented complete startup probe support that:
initialDelaySeconds: Startup probes now wait for the configured delay (e.g., 300s) before first executionFixed ContainerRuntime default handling:
Changes
ContainerCommandstruct to includestartupProbesfieldtranslateKubernetesProbes()to handle startup probe translationrunStartupProbe()andwaitForStartupProbes()functionsTesting
go build ./...)go vet ./...)Kubernetes Semantics
This implementation follows Kubernetes startup probe semantics where startup probes must succeed before readiness and liveness probes begin execution, preventing premature health checks during application initialization.
Fixes #91