Preconfigured Data (Default Data Import)

The Polycrate API ships with preconfigured providers, PoPs and DataSources that are seeded automatically on container start; this page covers the bundled data, the seed and seed_resync commands and how to add custom entries.

Preconfigured Data (Default Data Import)

Since version 0.13.0 the Polycrate API ships with a complete set of preconfigured master data: providers, PoPs (data centers) and DataSources (external status feeds). This data is loaded automatically when the container starts.

Overview

Category Count Description
Providers 15 Cloud providers (EU + global)
PoPs 194 Data centers and regions
DataSources 15 External status feeds (RSS/API)

Seeding happens automatically on container start after the database migration step. The seed command is insert-only: existing entries (same natural key name) are not overwritten; missing catalog rows from the JSON files are created. Entries that only exist in the database (no longer in the JSON files) are preserved.

To deliberately reset or overwrite the catalog data from the JSON files, a separate command seed_resync is available (corresponds to the former "always update_or_create" behavior). Intended for manual ops only, not as the regular container entrypoint.


Bundled Providers

European Cloud Providers (8)

Provider PoPs
Hetzner 4
OVHcloud 4
IONOS 3
Exoscale 5
UpCloud 5
Scaleway 4
STACKIT 2
Open Telekom Cloud 2

Global Hyperscalers (7)

Provider PoPs
Amazon Web Services 29
Microsoft Azure 38
Google Cloud 38
DigitalOcean 11
Oracle Cloud Infrastructure 26
IBM Cloud 12
Alibaba Cloud 11

Bundled DataSources

DataSources are external data sources that the Polycrate API fetches regularly and imports as Notes. The bundled sources include provider status feeds and a security news feed.

DataSource Type Note kind Provider
HETZNER Status RSS RSS Provider Status Hetzner
IONOS Status RSS RSS Provider Status IONOS
OVHcloud Public Cloud Status RSS Provider Status OVHcloud
OVHcloud Network Status RSS Provider Status OVHcloud
UpCloud Status RSS Provider Status UpCloud
Scaleway Status RSS Provider Status Scaleway
STACKIT Status RSS Provider Status STACKIT
AWS Service Status RSS Provider Status AWS
Azure Status RSS Provider Status Azure
Google Cloud Status RSS Provider Status Google Cloud
DigitalOcean Status RSS Provider Status DigitalOcean
Oracle Cloud Infrastructure Status RSS Provider Status OCI
Alibaba Cloud Service Notices RSS Provider Status Alibaba Cloud
Cloudflare Status API API Provider Status –
Heise Security Alerts RSS News –

Enabling DataSources

  1. Open Administration → Data Sources
  2. Select the desired DataSource
  3. Set Enabled to active
  4. Make sure that the Data Sources entry under Object Type Reconciliation is enabled in the System Config

Manual Seeding

If you want to create missing master data from the JSON files – for example after a fresh installation or after additions to the files:

python manage.py seed --providers --pops --datasources

Existing rows with the same name are skipped (no overwrite).

The flags can be used individually:

Flag Loads
--providers Providers only
--pops PoPs only (requires providers)
--datasources DataSources only (requires providers)

Mind the order: PoPs and DataSources reference providers via provider_name. On the initial import, always run --providers first.

Fully Resetting the Catalog from JSON (seed_resync)

If entries in the database should be aligned with the JSON files (overwrite fields, not just create missing rows), use:

python manage.py seed_resync --providers --pops --datasources

Adding Your Own Entries

The seed data lives as JSON files in the repository:

src/pops/management/seed_data/
├── providers.json
├── pops.json
└── datasources.json

New entries can be added directly to these files – no Python code change required. After a container start or a manual seed call, the new entries are created (existing entries with the same name remain unchanged). If existing entries should be updated from the JSON files, use seed_resync (see above).

Dependencies:

  • PoP entries require a valid provider_name (from providers.json)
  • DataSource entries can optionally reference a provider_name

See Also