Skip to content

Epic: Dockerized Factory Intelligence Platform microservices runtime #232

Description

@smithaldon1

Purpose

Move the Factory Intelligence Platform runtime to Docker Compose microservices that consume external Demo-Factory protocol data instead of using the old in-repo simulator path.

Target runtime flow:

Demo-Factory protocols
-> FIP connector worker
-> Postgres event store
-> Process Sentinel worker
-> FastAPI API
-> Next.js Workbench

Background

Demo-Factory is now the separate source/simulation repo. This repository should own the intelligence platform runtime: read-only connectors, normalized FactoryEvents, durable platform state, Process Sentinel, governed recommendations, API, Workbench, tests, and documentation.

This epic supersedes simulator-backed local runbooks as the default development path. Historical learning-log entries may remain, but current docs, prompts, tests, and runbooks should stop presenting in-repo simulation as the default path.

Child Issues

  1. Task: Remove simulator-facing docs and prompts #233 - Remove simulator-facing docs and prompts.
  2. Task: Add Docker Compose runtime documentation #234 - Add Docker Compose runtime documentation.
  3. Feature: Add Postgres-backed runtime storage #235 - Add Postgres-backed runtime storage.
  4. Feature: Add Docker images for API, web, connector worker, and Sentinel worker #236 - Add Docker images for API, web, connector worker, and Sentinel worker.
  5. Feature: Add Demo-Factory protocol connection fixtures #237 - Add Demo-Factory protocol connection fixtures.
  6. Feature: Add connector worker runtime #238 - Add connector worker runtime.
  7. Feature: Add scheduled Process Sentinel worker #239 - Add scheduled Process Sentinel worker.
  8. Task: Update API and Workbench runtime wording #240 - Update API and Workbench runtime wording.
  9. Task: Add Compose smoke test #241 - Add Compose smoke test.

Recommended Implementation Order

  1. Complete Task: Remove simulator-facing docs and prompts #233 and Task: Add Docker Compose runtime documentation #234 so contributors have the new runtime direction before code changes land.
  2. Complete Feature: Add Postgres-backed runtime storage #235 so services can share durable state.
  3. Complete Feature: Add Docker images for API, web, connector worker, and Sentinel worker #236 to establish the composed service shape.
  4. Complete Feature: Add Demo-Factory protocol connection fixtures #237 and Feature: Add connector worker runtime #238 to ingest Demo-Factory protocol data.
  5. Complete Feature: Add scheduled Process Sentinel worker #239 so Process Sentinel runs continuously against stored events.
  6. Complete Task: Update API and Workbench runtime wording #240 so API and Workbench copy match the new runtime.
  7. Complete Task: Add Compose smoke test #241 as the end-to-end validation gate.

Acceptance Criteria

  • Docker Compose starts the FIP API, Workbench, Postgres, connector worker, and Process Sentinel worker.
  • The FIP Compose stack does not start an in-repo simulator container.
  • Demo-Factory can run separately and serve as the external local source for OPC UA, MQTT, and BACnet validation.
  • Connector ingestion is read-only and normalizes source readings into FactoryEvents before Process Sentinel consumes them.
  • Runtime state uses Postgres by default in Docker.
  • Workbench and API status/recovery copy describe external Demo-Factory/local protocol sources, not simulator-backed in-repo state.
  • Current docs use Docker Compose startup, shutdown, logs, health, and troubleshooting commands.
  • Simulator-facing docs/prompts are removed or replaced.
  • A Compose smoke path verifies API health, event ingestion, Sentinel output, and Workbench rendering.

Out of Scope

  • PLC, DCS, SCADA, or equipment writeback.
  • MQTT command publishing.
  • BACnet writes or commandable-property changes.
  • Product release, quarantine, or disposition.
  • QMS/MES writeback.
  • Production-readiness, GxP validation, electronic signature, or compliance claims.
  • Kubernetes, Helm, cloud deployment, or production HA.

Shared Commands To Document

Start Demo-Factory separately:

cd ../Demo-Factory
docker compose up -d --build

Start FIP:

cd ../Factory-Intelligence-Platform
docker compose -f infra/docker/docker-compose.yml up --build
docker compose -f infra/docker/docker-compose.yml ps
docker compose -f infra/docker/docker-compose.yml logs -f
curl http://localhost:8000/health
docker compose -f infra/docker/docker-compose.yml down

Validation

  • docker compose -f infra/docker/docker-compose.yml config
  • make lint
  • make typecheck
  • make test
  • cd apps/web && npm test
  • Compose smoke with Demo-Factory running separately.

Related Work

Metadata

Metadata

Assignees

No one assigned

    Labels

    EpicbackendBackend service workconnectorConnector architecture and integration workdockerDocker and Docker Compose workingestionIngestion and validation workpost-demoNot required for the manufacturer demo path

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions