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
- Open Administration → Data Sources
- Select the desired DataSource
- Set Enabled to active
- 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(fromproviders.json) - DataSource entries can optionally reference a
provider_name
See Also
- Management Commands – further
manage.pycommands (operations/maintenance) - Integrations – External services and status feeds
- Organizations & Workspaces – PoP assignment to workspaces
- Endpoint Monitoring – Monitoring with PoP locations