chore: rename Coordinator to CoordinatorV1 (#11222)

Renames the tailnet.Coordinator to represent both v1 and v2 APIs, so that we can use this interface for the main atomic pointer.

Part of #10532
This commit is contained in:
Spike Curtis
2023-12-15 11:38:12 +04:00
committed by GitHub
parent 545cb9a7cc
commit ad3fed72bc
9 changed files with 37 additions and 29 deletions

View File

@ -27,6 +27,11 @@ import (
// └──────────────────┘ └────────────────────┘ └───────────────────┘ └──────────────────┘
// Coordinators have different guarantees for HA support.
type Coordinator interface {
CoordinatorV1
CoordinatorV2
}
type CoordinatorV1 interface {
// ServeHTTPDebug serves a debug webpage that shows the internal state of
// the coordinator.
ServeHTTPDebug(w http.ResponseWriter, r *http.Request)
@ -143,16 +148,6 @@ func NewCoordinator(logger slog.Logger) Coordinator {
}
}
// NewCoordinatorV2 constructs a new in-memory connection coordinator. This
// coordinator is incompatible with multiple Coder replicas as all node data is
// in-memory.
func NewCoordinatorV2(logger slog.Logger) CoordinatorV2 {
return &coordinator{
core: newCore(logger.Named(LoggerName)),
closedChan: make(chan struct{}),
}
}
// coordinator exchanges nodes with agents to establish connections entirely in-memory.
// The Enterprise implementation provides this for high-availability.
// ┌──────────────────┐ ┌────────────────────┐ ┌───────────────────┐ ┌──────────────────┐