Product Installation

Deploy the control plane with production-style component boundaries.

For teams preparing the main application environment, image strategy, and first control-plane startup.

What has to be in place to stand up the VeridataOps control plane?

Audience

What has to be in place to stand up the VeridataOps control plane?

Platform engineers and deployment owners.

Product Installation

Deploy the control plane.

VeridataOps is assembled from component images through the platform compose bundle. Production and customer-facing installations should use immutable image tags, PostgreSQL, Redis, protected secrets, and HTTPS ingress. SQLite is for local development, small demos, or explicitly accepted emergency recovery flows.

Core services

Service Purpose Image variable
frontendUser-facing web UI and public app API.NETBOX_INGESTER_APP_IMAGE
backendInternal API and mutation service used by frontend and workers.NETBOX_INGESTER_APP_IMAGE
worker familyScheduled jobs, job execution, review operations, estate cache, exports, and collector completions.NETBOX_INGESTER_WORKER_IMAGE
app-postgresDurable SaaS/control-plane state.Bundled PostgreSQL image or managed database.
app-cacheRedis message bus, queue coordination, activity summaries, and cache coordination.Bundled Redis image or managed Redis.
vaultOptional Vault transit encryption backend for higher-assurance deployments.Bundled image or managed Vault/KMS/HSM design.

Prepare the platform directory

sudo mkdir -p /opt/veridataops-platform
sudo chown "$USER":"$USER" /opt/veridataops-platform
cd /opt/veridataops-platform
git clone https://dev.veridataops.com/gitlab/veridataops/platform.git .
git checkout main

Minimal production-style environment

COMPOSE_PROJECT_NAME=veridataops

NETBOX_INGESTER_APP_IMAGE=docker.io/garnser/veridataops:app-vRELEASE
NETBOX_INGESTER_WORKER_IMAGE=docker.io/garnser/veridataops:worker-vRELEASE
NETBOX_INGESTER_LICENSE_EXCHANGE_IMAGE=docker.io/garnser/veridataops:license-exchange-vRELEASE
NETBOX_INGESTER_DATA_PACK_DISTRIBUTION_IMAGE=docker.io/garnser/veridataops:data-pack-distribution-vRELEASE

APP_POSTGRES_DB=netbox_ingester
APP_POSTGRES_USER=netbox_ingester
APP_POSTGRES_PASSWORD=replace-with-random-postgres-password
NETBOX_INGESTER_CONFIG=postgresql://netbox_ingester:replace-with-random-postgres-password@app-postgres:5432/netbox_ingester

Start and verify

docker compose --profile workers config >/tmp/veridataops-compose.yml
docker compose --profile workers up -d
docker compose ps
docker compose logs --tail=200 frontend backend worker job-execution-worker estate-cache-worker

Next Step

Move from documentation to a scoped review.

Use the implementation reviewer path when you want to turn this page into a concrete source, deployment, or assurance discussion.

Talk to an Implementation Reviewer

Next Step

Pair this doc page with proof, fit, and one scoped follow-up.

A documentation page should answer its question and then route the visitor to the proof artifact, coverage page, or reviewer path that finishes the evaluation.

Proof

Inspect the corresponding artifact Use the proof library to connect the written explanation to a real product surface or public-safe sample. Browse Proof Library

Coverage

Validate support and caveats Use the coverage pages to confirm what is modeled already and where scope still matters. Open Coverage Hub

Contact

Route the next technical question Escalate to an implementation reviewer only after this page made the remaining blocker explicit. Talk to an Implementation Reviewer