Skip to content

MeshSync: non-Kubernetes / multi-platform discovery (design) #582

Description

@leecalcote

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).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions