Summary
Argo Workflows injects argoexec as init and wait sidecar containers into every pod. Since urunc does not recognize these containers, it attempts to handle them as unikernel workloads, causing the workflow to hang indefinitely after the main container exits.
Expected behavior
init and wait containers should be delegated to runc, while only the main unikernel container is handled by urunc — the same pattern already used for Knative's queue-proxy sidecar.
Proposed fix
Extend the existing Knative container delegation logic to detect Argo-managed pods (via argoexec image or Argo annotations) and route init/wait containers to runc accordingly.
Related: #573
Summary
Argo Workflows injects
argoexecasinitandwaitsidecar containers into every pod. Since urunc does not recognize these containers, it attempts to handle them as unikernel workloads, causing the workflow to hang indefinitely after the main container exits.Expected behavior
initandwaitcontainers should be delegated torunc, while only the main unikernel container is handled by urunc — the same pattern already used for Knative'squeue-proxysidecar.Proposed fix
Extend the existing Knative container delegation logic to detect Argo-managed pods (via
argoexecimage or Argo annotations) and routeinit/waitcontainers to runc accordingly.Related: #573