Summary
Let MeshSync discover non-Kubernetes platforms (Docker first, cloud later) into Server's already kind-agnostic Connection state machine, via an infrastructure-agnostic model - incrementally, not a big-bang rewrite.
Key decisions
- Phase 0 enabling refactor: a
Discoverer interface (Discover/Watch/ScopeID/Shutdown) with today's Kubernetes machinery as the first adapter (a thin wrapper, zero behavior change). Independently low-risk; unblocks everything non-K8s.
- Schema-first: a new platform-agnostic
resource envelope construct in meshery/schemas; MeshSync ships a hand-written mirror first (the codegen swap is deferred to avoid compounding scope). ScopeID generalizes clusterID (dual-written for one migration window).
- Server's Connection model + FSM are already kind-generic (the
grafana/prometheus register-only machines are the precedent); a Docker machine slots into getMachine the same way.
Scope / phasing
Phase 0 refactor (days, MeshSync-only, runtime-verified for zero regression). Phase 1 Docker MVP end-to-end (weeks, 4 repos). Cloud = per-provider projects, each >= Docker-sized.
Honest caveats: cloud inventory APIs have no push/watch (poll-diff), and are rate-limited/metered; fingerprinting robustness and any Kanvas Kind-enum assumptions are open questions; standalone (non-embedded) deployment topology is deferred.
Full design
docs/design/fd6-non-kubernetes-discovery.md (added in #576).
Summary
Let MeshSync discover non-Kubernetes platforms (Docker first, cloud later) into Server's already kind-agnostic Connection state machine, via an infrastructure-agnostic model - incrementally, not a big-bang rewrite.
Key decisions
Discovererinterface (Discover/Watch/ScopeID/Shutdown) with today's Kubernetes machinery as the first adapter (a thin wrapper, zero behavior change). Independently low-risk; unblocks everything non-K8s.resourceenvelope construct in meshery/schemas; MeshSync ships a hand-written mirror first (the codegen swap is deferred to avoid compounding scope).ScopeIDgeneralizesclusterID(dual-written for one migration window).grafana/prometheusregister-only machines are the precedent); a Docker machine slots intogetMachinethe same way.Scope / phasing
Phase 0 refactor (days, MeshSync-only, runtime-verified for zero regression). Phase 1 Docker MVP end-to-end (weeks, 4 repos). Cloud = per-provider projects, each >= Docker-sized.
Honest caveats: cloud inventory APIs have no push/watch (poll-diff), and are rate-limited/metered; fingerprinting robustness and any Kanvas
Kind-enum assumptions are open questions; standalone (non-embedded) deployment topology is deferred.Full design
docs/design/fd6-non-kubernetes-discovery.md (added in #576).