PoPs & Providers

Providers and Points of Presence (PoPs) form the infrastructure map in Polycrate: who operates a resource and where it runs, including fields, relationships, workspace placement, PoP-to-PoP latency, maintenance scope and RBAC.

PoPs & Providers

Providers and Points of Presence (PoPs) represent the physical/logical infrastructure map in Polycrate. They answer the questions:

  • Who operates a resource? → Provider
  • Where does a resource run? → PoP

Both models are maintained at platform level and are visible to all organizations.

Provider

A provider is a catalog entry for a company that supplies infrastructure, hardware or software — e.g. Hetzner, AWS, OVH, Cisco, VMware. Providers are not credentials and are not defined per workspace; they are a stable, system-wide reference.

Field Purpose
name / display_name Display name in the UI
kind infrastructure, hardware, software
logo Logo for lists and detail views
ccm_block / csi_block Optional hint which Polycrate block fits this provider as cloud controller manager or CSI driver
website / status_page_url Links to external resources

What are providers for?

  • Consistent assignment — a PoP in "Hetzner FSN1" shows the same provider entry as another PoP in "Hetzner NBG1".
  • Status integration — a provider can be linked to a DataSource that imports its status page as an RSS feed. This automatically creates notes with kind=provider-status.
  • Block recommendation — when a CCM or CSI driver is to be installed on a cluster at a provider, Polycrate suggests a suitable block based on the ccm_block / csi_block fields.

PoP (Point of Presence)

A PoP is a concrete location: a data center, a cloud region, an edge node. PoPs are the basis for workspace placement, latency measurements and maintenance planning.

Field Purpose
name / display_name e.g. hetzner-fsn1, "Hetzner Falkenstein 1"
kind datacenter, region, edge
provider_entity FK to provider — must be set
city, country, latitude, longitude Geo coordinates for map and routing
endpoint_monitor Optional: an Endpoint that checks the PoP from outside

What a PoP enables

Workspace placement
A workspace can be given a preferred PoP. When new resources (K8s clusters, LoadBalancers, S3 buckets) are created, they are suggested to be placed in this PoP.
PoP-to-PoP latency
When two PoPs have endpoint monitoring active, Polycrate generates the metric polycrate_latency_pop_to_pop_seconds with labels source_pop/target_pop. This creates a matrix of all latencies between presences — helpful for routing decisions and troubleshooting.
Maintenance scope
A Maintenance can be restricted to a PoP. All resources in this PoP then automatically appear in the maintenance scope without having to be selected individually.
Map display
The dashboard shows all PoPs as pins on a world map, colored by current state (OK / WARNING / CRITICAL).

Relationships

┌──────────┐       ┌──────┐       ┌─────────────┐
│ Provider │◀──────│ PoP  │◀──────│  Workspace  │
└──────────┘       └──────┘       └─────────────┘
      ▲                ▲                  ▲
      │ optional FK    │ optional FK      │
      │                │                  │
┌──────────────┐   ┌──────────┐    ┌──────────────┐
│  DataSource  │   │ Maint.   │    │ K8s/S3/LB/…  │
│ (status-feed)│   │ (scope)  │    │  Resources   │
└──────────────┘   └──────────┘    └──────────────┘
  • Every PoP has exactly one provider.
  • A provider can have many PoPs.
  • DataSources can point to a provider (for status feeds).
  • Maintenances can point to a PoP (to restrict their scope).
  • Infrastructure resources (clusters, LoadBalancers, S3, …) can optionally carry a PoP assignment to represent geo context and latencies.

Typical workflow

  1. Create a provider — e.g. "Hetzner Cloud" as kind=infrastructure, with logo and status URL.
  2. Status DataSource (optional) — create the RSS feed of the Hetzner status page as a DataSource and link it to the provider. From then on, Hetzner incidents automatically land as notes in the system.
  3. Create PoPs — one PoP per Hetzner region (FSN1, NBG1, HEL1) with geo coordinates.
  4. Endpoint monitor per PoP (optional but recommended) — enables latency measurements and visible health state on the map.
  5. Workspaces & resources — point workspaces/resources to the appropriate PoPs so that dashboards, maintenances and latency metrics group correctly.

RBAC & visibility

Creating and editing providers and PoPs is superuser-only, because they apply system-wide. All authenticated users see the entries in lists and detail views — the information is not sensitive.

Related topics