You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Spun out of the infra-admin Phase 2+3 program (ADR 0020 in the workspace repo; design docs/plans/2026-06-02-infra-admin-phase2-3-design.md). The Phase 3 ephemeral exec-env ships via the existing Argo Workflows module (k8s only). This issue tracks the cross-cloud ephemeral primitive, which is a proto-contract change rippling to every provider plugin and is therefore its own program (a spike confirmed ~2500–4500 LOC across ~6 repos).
Why
interfaces.JobSpec is defined but unused; interfaces.IaCProvider has noRunJob. There is no way to launch a one-off container/task on a cloud provider native job runner (ECS RunTask/Batch, GCP Cloud Run Jobs, Azure Container Instances, DigitalOcean App jobs) through the IaC provider contract. The Argo path covers k8s but not cloud-native job runners.
Proposed RPC (new OPTIONAL service on the IaC contract)
Optional, advertised via the plugin manifest (mirrors the IaCProviderRegionLister/DriftDetector accessor pattern from feat(iac): add provider region lister contract #819 / iac/providerclient). Providers that do not implement it advertise nothing; callers get a nil accessor.
A provider-ephemeralsandbox.SandboxRunner dispatches to the resolved provider IaCProviderRunner (parallel to the ArgoEphemeralRunner that ships in the Phase 3 program).
Secrets resolve provider-side (never cross the wire), consistent with ADR 0017.
digitalocean — App Platform jobs (not advertised yet; current JobSpec/provider target contract lacks the app/job identity needed for an honest App Platform job implementation)
Carved out of the Phase 2+3 program with explicit user approval (AskUserQuestion 2026-06-02: "All deliverable now; cross-cloud RunJob designed-but-filed"). The Phase 2+3 program ships the Argo (k8s) ephemeral runner; this issue is the cross-cloud follow-on.
See ADR 0020 (decisions/0020-argo-ephemeral-direct-api-and-crosscloud-runjob-filed.md, workspace repo).
Current status
AWS, GCP, Azure, workflow core, and workflow-registry are implemented, released, and verified as of 2026-06-03. DigitalOcean remains open pending a contract/provider-target design for App Platform job identity.
Cross-cloud ephemeral
IaCProviderRunner(RunJob) — optional gRPC service + per-cloud implsSpun out of the infra-admin Phase 2+3 program (ADR 0020 in the workspace repo; design
docs/plans/2026-06-02-infra-admin-phase2-3-design.md). The Phase 3ephemeralexec-env ships via the existing Argo Workflows module (k8s only). This issue tracks the cross-cloud ephemeral primitive, which is a proto-contract change rippling to every provider plugin and is therefore its own program (a spike confirmed ~2500–4500 LOC across ~6 repos).Why
interfaces.JobSpecis defined but unused;interfaces.IaCProviderhas noRunJob. There is no way to launch a one-off container/task on a cloud provider native job runner (ECS RunTask/Batch, GCP Cloud Run Jobs, Azure Container Instances, DigitalOcean App jobs) through the IaC provider contract. The Argo path covers k8s but not cloud-native job runners.Proposed RPC (new OPTIONAL service on the IaC contract)
IaCProviderRegionLister/DriftDetectoraccessor pattern from feat(iac): add provider region lister contract #819 /iac/providerclient). Providers that do not implement it advertise nothing; callers get a nil accessor.provider-ephemeralsandbox.SandboxRunnerdispatches to the resolved providerIaCProviderRunner(parallel to theArgoEphemeralRunnerthat ships in the Phase 3 program).Per-plugin task list (each provider plugin)
RunTaskimplementation (workflow-plugin-awsPR Add UI Plugin Implementation using go-plugin for Hot-Reload/Hot-Deploy #38, released v2.3.0)workflow-plugin-gcpPR Bump filippo.io/edwards25519 from 1.1.0 to 1.1.1 in the go_modules group across 1 directory #33, released v2.3.0)workflow-plugin-azurePR Extract Shared UI Component Library for Workflow Applications #36, released v2.3.0)JobSpec/provider target contract lacks the app/job identity needed for an honest App Platform job implementation)iac/providerclientaccessor + theprovider-ephemeralSandboxRunner +exec_env: provider-ephemeralfactory wiring (workflow PR Add optional IaC provider job runner contract #850)Scope note
Carved out of the Phase 2+3 program with explicit user approval (AskUserQuestion 2026-06-02: "All deliverable now; cross-cloud RunJob designed-but-filed"). The Phase 2+3 program ships the Argo (k8s) ephemeral runner; this issue is the cross-cloud follow-on.
See ADR 0020 (
decisions/0020-argo-ephemeral-direct-api-and-crosscloud-runjob-filed.md, workspace repo).Current status
AWS, GCP, Azure, workflow core, and workflow-registry are implemented, released, and verified as of 2026-06-03. DigitalOcean remains open pending a contract/provider-target design for App Platform job identity.