Platforms and discovery

Replicante Core uses platforms to discover and manage nodes.

Platforms are “registered” with Core by applying Platform objects pointing to a service implementing the platform specification.

Platform discoveries

Clusters to be managed by Replicante Core are discovered from platforms themselves. The platform discovery process takes advantage of dynamic provisioning to find the clusters it should manage and to manage nodes that make them up.

So how does platform’s cluster discovery work?

Overview: platform's cluster discovery
Overview: platform's cluster discovery
  1. Users apply one or more Platform objects though the API.
  2. The platform discovery component periodically runs at fixed intervals.
  3. The discovery run looks for any platform with an expected next schedule time in the past. If no platform needs to be discovered the discovery run does nothing.
  4. The discovery run schedules a discovery task for each platform that needs one.
  5. The expected next schedule time is updated to now() + discovery.interval.
  6. A task worker picks up the discovery task.
  7. The discovery task fetches discovery records from the Platform as described in the specification.
  8. Discovery records are updated in the primary store.

Platform discovery is configurable:

  • The discovery component interval: the interval should be short as it determines the delay between platform discovery tasks needing to run and them being scheduled.
  • The Platform discovery interval: platform-specific interval between scheduling of discovery tasks.

Deleting clusters and nodes

When clusters and nodes are automatically discovered they can also automatically go away.

This feature is not currently available and is yet to be designed in full.