Once apple/container ships a CLI command for provisioning worker nodes, surface it in the Clusters view: an "Add Node" action on the cluster detail header that shells to the plugin, with the node count picker if the command supports it.
Upstream status: the provisioning machinery (WorkerProvisioner protocol, LinuxWorker) merged on their main on 2026-08-18 (apple/container#2110), but 1.2.2 has no user-facing command yet — container k8s can only create single-node clusters today.
Orchard's side is already prepared: K8sCluster.group handles <cluster>-worker-N naming (including orphaned workers), and the nodes table renders role/status/IP/resources per node. This issue is just the action wiring once the CLI exists.
We deliberately do not reimplement node join in Orchard (kubeadm tokens, prep scripts) — same surface-upstream rationale as #71 and #51.
Once apple/container ships a CLI command for provisioning worker nodes, surface it in the Clusters view: an "Add Node" action on the cluster detail header that shells to the plugin, with the node count picker if the command supports it.
Upstream status: the provisioning machinery (WorkerProvisioner protocol, LinuxWorker) merged on their main on 2026-08-18 (apple/container#2110), but 1.2.2 has no user-facing command yet —
container k8scan only create single-node clusters today.Orchard's side is already prepared:
K8sCluster.grouphandles<cluster>-worker-Nnaming (including orphaned workers), and the nodes table renders role/status/IP/resources per node. This issue is just the action wiring once the CLI exists.We deliberately do not reimplement node join in Orchard (kubeadm tokens, prep scripts) — same surface-upstream rationale as #71 and #51.