IN DEVELOPMENT · EARLY ACCESS COMING SOON

DISCOVERY CENTER

One inventory. Prometheus and Ansible always in sync.

A self-hosted infrastructure inventory hub — a single source of truth for what's running where. Feeds Prometheus service discovery and Ansible dynamic inventory automatically, eliminating the drift that comes from maintaining separate files per tool.

OTEL
NATIVE LABELS
MULTI
TENANT
FREE
TO START
// THE PROBLEM

FOUR TOOLS, FOUR INVENTORIES

Running your own Prometheus stack? Using Ansible for config management? You already know the pain: your prometheus.yml drifts out of sync with your Ansible hosts file, which drifts from your actual infrastructure. Every change means updating multiple places.

vs.

NETBOX

NetBox is a data store. You still wire up service discovery yourself. discoveryCenter owns the discovery endpoints — no glue code required.

vs.

STATIC YAML

"Just edit the file" works until it doesn't. discoveryCenter prevents drift, enforces a single source of truth, and scales to multi-team environments without a stale YAML graveyard.

vs.

CLOUD NATIVE SD

AWS/GCP/Azure have built-in discovery — for pure-cloud shops. If you're on Hetzner, DigitalOcean, Vultr, or hybrid on-prem, native provider SD doesn't cut it. discoveryCenter does.

// CAPABILITIES

CORE FEATURES

Everything platform and infrastructure teams need — without configuration drift

UNIFIED INVENTORY

Hosts, services, groups, labels, and tags in one persistent store. Every tool reads from the same source — Prometheus, Ansible, your automation scripts. One change propagates everywhere.

Single source of truth

PROMETHEUS HTTP SD

HTTP Service Discovery endpoint with OTEL resource labels (service.name, deployment.environment) and full __meta_discoverycenter_* label support for relabelling. Redis-cached — sub-millisecond scrape responses.

Prometheus 2.47+

ANSIBLE DYNAMIC INVENTORY

Dynamic inventory endpoint with groups, host variables, labels, and tags always in sync with the source of truth. No stale INI files. No manual JSON exports. Point Ansible at discoveryCenter and run.

Per-org · Bearer auth

MULTI-TENANT ORGANISATIONS

Each organisation runs in its own isolated Postgres schema (org_<uuid>). Hard data boundaries at the database layer — one instance serves many teams with no shared tables and no leakage.

Schema-per-org isolation

ROLE-BASED ACCESS

Owner, Editor, Operator, and Viewer roles covering full inventory management down to read-only access. Members are invited by email and can belong to multiple organisations with different roles in each.

Pro tier
COMING v2.0

FINOPS COST LAYER

Know what every host costs. Managed price lists for Hetzner, DigitalOcean, and Vultr auto-sync daily. Custom price lists cover on-prem and co-location. Cost rollups by team, environment, and provider.

Hetzner · DigitalOcean · Vultr
// INTEGRATIONS

BUILT TO INTEGRATE

All endpoints are scoped to your organisation and protected by bearer token

Prometheus

HTTP SD

prometheus.yml

scrape_configs:
  - job_name: discoverycenter
    http_sd_configs:
      - url: https://app.discoverycenter.io/orgs/acme/prometheus/targets
        refresh_interval: 30s
    authorization:
      credentials: <your-api-key>
    # OTEL labels land directly on every series:
    #   service.name, deployment.environment
    # Meta labels available for relabelling:
    #   __meta_discoverycenter_host_name
    #   __meta_discoverycenter_label_<key>
    #   __meta_discoverycenter_tag_<value>

Ansible

DYNAMIC INV

inventory/discoverycenter.yml

plugin: ansible.builtin.constructed
sources:
  - plugin: community.general.url
    url: https://app.discoverycenter.io/orgs/acme/ansible/inventory
    headers:
      Authorization: "Bearer {{ lookup('env', 'DC_TOKEN') }}"

# Or run directly:
# ansible-playbook site.yml \
#   -i https://app.discoverycenter.io/orgs/acme/ansible/inventory \
#   --extra-vars "ansible_connection_headers={Authorization: Bearer $DC_TOKEN}"

TERRAFORM PROVIDER + CLI

COMING v1.1

Zero-touch host registration. Provision infrastructure with Terraform and hosts appear in discoveryCenter automatically — with correct plan type, labels, and cost. When destroyed, they're removed, eliminating stale scrape targets after decommission.

resource "discoverycenter_host" "web01" {
  name        = hcloud_server.web01.name
  address     = hcloud_server.web01.ipv4_address
  environment = "production"
  plan_type   = "hetzner:cx21"
  labels      = { role = "web" }
}
// PRICING

SIMPLE TIERS

Genuinely free for small teams. Straightforward Pro for teams that grow. No consultants required.

FREE

$0

forever · no credit card

  • 1 organisation
  • Up to 25 hosts / 100 services
  • Full inventory CRUD
  • Prometheus HTTP SD
  • Ansible dynamic inventory
  • Managed price lists (read-only)
  • API keys / machine auth
  • Full RBAC
GET EARLY ACCESS
RECOMMENDED

PRO

TBD

pricing announced at launch

  • Unlimited organisations, hosts, services
  • API keys and App JWTs for machine clients
  • Full RBAC (Owner, Editor, Operator, Viewer)
  • Audit log
  • SSO / SAML
  • FinOps cost rollup UI (v2.0)
  • Custom price lists for on-prem / co-lo
  • Email support + SLA
JOIN WAITLIST

Self-hosted OSS edition planned — same feature set as Free tier · announced after SaaS stabilises

// ROADMAP

WHERE WE'RE GOING

A public view of the build arc. Milestones are sequential — each one ships before the next begins.

IN PROGRESS

v1.0 — INVENTORY

SaaS launch. Single source of truth for hosts and services. Prometheus HTTP SD, Ansible dynamic inventory, multi-tenancy, authentication, and full RBAC.

Unified inventory Prometheus SD Ansible inventory Multi-tenancy RBAC
PLANNED

v1.1 — TOOLING

Terraform provider for zero-touch host registration. CLI for scripting and CI/CD integration. Ansible module for existing playbooks.

Terraform provider discoverycenter CLI Ansible module
PLANNED

v2.0 — FINOPS

Know what every host costs. Managed price lists for Hetzner, DigitalOcean, and Vultr. Custom lists for on-prem and co-lo. Cost rollups by team, environment, and provider.

Provider price lists Cost rollups Custom price lists Waste signals
FUTURE

OSS FREE TIER

Self-hosted free tier under AGPL v3. Same feature set as the SaaS Free plan. Released once the SaaS product is stable and the self-hosting experience is polished.

AGPL v3 Docker Compose Self-hosted
ACTIVE DEVELOPMENT

GET EARLY ACCESS

discoveryCenter is under active development. Drop your email to be notified when early access opens — no spam, just a single notification when it's ready.

Built for platform and infrastructure engineers running 20–500 servers on Hetzner, DigitalOcean, Vultr, or hybrid environments. If that's you, we'd love to have you in the first cohort.

SaaS · Free tier available · Go + Fiber · OTEL-native · AGPL v3 · OSS edition planned