Objectives & prerequisites
Learning objectives
- Author a single Wrangler-style
Fleetfragment (wrangler.oe.academy/v1alpha1) that composes two already-approved InteractionTopologies over the same Manifold RuntimeEnvironment. - Name every Pico Element the fleet exposes and attribute each one back to the InteractionTopology that owns its runtime declaration.
- Declare the channel bindings that participate on the fleet using only Channels already declared by the referenced InteractionTopologies — no invented Channels, no bypass of the underlying labs’ runtime descriptions.
- Express one fleet-level lifecycle intent (
lifecycle.desiredState: deployedwith per-topology activation) distinct from per-topology runtime execution. - Apply the fleet as a ConfigMap onto the shared
manifoldnamespace and confirm the on-cluster carrier matches the authored fragment verbatim, so the declared truth on the cluster equals what the learner authored.
Prerequisites
- Completion of the Hello Pico on Manifold lab — the first member InteractionTopology of the fleet.
- Completion of the Hello Two Picos lab — the second member InteractionTopology of the fleet.
- Familiarity with the Manifold course Phase 7 vocabulary (
RuntimeSubstrate,RuntimeEnvironment,InteractionTopology,Channel,EventType,ControlSurface,OperatorIntent,Observation). - A local Kubernetes cluster; see the Kubernetes setup foundation for the canonical minikube install, PATH checks, and first cluster bring-up.
Environment
The canonical local Kubernetes setup — supported OS, install commands for docker, minikube, and kubectl, PATH checks, and a first cluster bring-up — lives in the Kubernetes course setup foundation. Complete that page first so docker, minikube, and kubectl resolve on your PATH.
Lab-specific additions on top of that canonical setup:
Reference minikube pin:
v1.38.1was used to author this lab (anyv1.34+should work).Reference minikube profile:
manifold-lab— the same profile the two member labs use so the fleet ConfigMap lands in the same cluster.Python 3 with
PyYAMLon the host — used byverify.shfor the offline spec-compare betweenfleet.yamland the ConfigMap carrier.verify.shfalls back to a lighter textual check whenPyYAMLis unavailable.Estimated time: 20–30 minutes once the two member labs are already deployed.
Cleanup step (also repeated at the end of the walkthrough):
kubectl -n manifold delete configmap hello-pico-fleet --ignore-not-found rm -rf build/hello-pico-fleet
Pinned versions (reference)
The walkthrough was authored and verified against these versions. Newer versions are expected to work.
- Kubernetes API version in minikube: v1.31.0
- Wrangler API group used by the fleet fragment:
wrangler.oe.academy/v1alpha1— the same API group already used by the two member InteractionTopologies in the underlying labs.
One-time setup (optional)
If you have not already deployed the two member labs, deploy Hello Pico on Manifold first, then Hello Two Picos. This lab does not redeploy their manifests; it layers a fleet description over the RuntimeEnvironment they share.