Skip to main content

Deployment and configuration

Required platform settings​

VariablePurpose
THYRIS_LICENSE_GEO_SERVICESEnables the GEO Services product where environment licensing is used
GEO_INTERNAL_WORKER_TOKENShared secret between GEO workers and internal control-plane routes
GEO_CONTROL_PLANE_URLInternal app/control-plane base URL
GEO_WORKER_INTERVALWorker polling interval; minimum one second
GEO_SERVICE_ADDROptional runtime listen address; default :8080
GEO_*_SERVICE_URLControl-plane address for each independent GEO service

GEO_CONNECTOR_ALLOW_INSECURE_HTTP=true and private-network connector overrides reduce protection and should be limited to controlled development environments.

Service URLs​

Configure service URLs for observation, intelligence, core, component, knowledge, content, channel, simulation, action, reporting, tracking, attribution, entity, citation graph, prompt demand, narrative, experiment and autopilot services. Use internal service discovery rather than public endpoints.

Production topology​

Only the web/API and intended collection/share routes should be externally reachable. Domain services, worker routes, PostgreSQL, object storage and secret manager stay on private networks.

Health contracts​

Each GEO runtime exposes /healthz, /readyz, /v1/capabilities and its domain endpoint. Health means the process is running; readiness and capability checks are required before routing work.

ProbeSuccess conditionRouting consequence
Liveness /healthzProcess event loop/server respondsRestart when repeatedly unhealthy
Readiness /readyzRequired configuration and domain initialization are usableRemove from service routing when false
Capabilities /v1/capabilitiesExpected service name/version/operations are advertisedFail deployment validation on mismatch
Domain smokeRepresentative safe request returns the expected schemaDo not declare release accepted without it

Database​

Apply the canonical GEO migration chain before enabling workers. Existing PostgreSQL volumes do not rerun initialization automatically. Run migrations through the reviewed migration path and verify schema/integrity checks.

Worker routes​

Schedules, actions, publications, reports, tracking maintenance and webhook delivery call internal control-plane routes with GEO_INTERNAL_WORKER_TOKEN. Do not expose these routes as customer APIs.

Environment separation​

Use separate databases, secrets, provider/channel credentials, tracking sites/tokens, object-storage paths and external callback URLs for development, staging and production. A staging key must not be able to mutate a production destination.

Rollout order​

  1. Apply and verify reviewed migrations.
  2. Configure secret manager and internal worker identity.
  3. Deploy PostgreSQL/object storage dependencies or verified external equivalents.
  4. Deploy domain runtimes and verify health/readiness/capabilities.
  5. Deploy web/control plane with service URLs.
  6. Deploy workers with bounded concurrency and budgets.
  7. Run tenant-isolation and domain smoke tests.
  8. Configure one staging provider and channel connection.
  9. Exercise observation, dry-run publication, tracking and report delivery.
  10. Enable production schedules only after acceptance evidence is recorded.

Production guidance​

  • Use distinct production secrets and bounded worker budgets.
  • Configure restart/health policy for every runtime.
  • Centralize structured logs and alert on retry/dead-letter growth.
  • Back up PostgreSQL and test restore procedures.
  • Restrict egress to approved providers and channel destinations.
  • Validate all licensed product and service URL configuration before rollout.