Skip to main content

Services

The STATUS system consists of 10 microservices working together to provide compliance monitoring and governance capabilities.

Core Application Services

status-backend

  • Purpose: Main API server handling business logic and data operations
  • Technology: Node.js
  • Port: 3001
  • Key Features:
    • RESTful API with /api/v1 prefix
    • JWT-based authentication
    • GitHub OAuth integration
    • OpenAI integration for AI features
    • Grafana API integration
    • Session management with Dragonfly/Redis

status-frontend

  • Purpose: User interface and client-side application
  • Technology: React with Vite build tool
  • Port: 80 (internal), 3000 (external via proxy in prod)
  • Key Features:
    • Modern SPA (Single Page Application)
    • Environment-specific configuration
    • Responsive design
    • Integration with backend API

reverse-proxy

  • Purpose: Traffic routing and load distribution (Production only)
  • Technology: Nginx
  • Port: 3000 (external)
  • Routes:
    • / → Frontend (status-frontend:80)
    • /backend/* → Backend API (status-backend:3001/api/v1/)
    • /node-red/* → Node-RED (nodered:1880)
    • /grafana/* → Grafana (grafana:3000)
  • Features:
    • WebSocket support for Node-RED and Grafana
    • Static asset caching (30 days)
    • 50MB max upload size

Workflow and Automation

nodered

  • Purpose: Visual workflow automation and integration
  • Technology: Node-RED
  • Port: 1880
  • Key Features:
    • Flow-based programming
    • Integration with backend services
    • Blockchain ledger endpoint support
    • Persistent flow storage

Data Storage Services

postgres

  • Purpose: Primary relational database
  • Technology: PostgreSQL 17.2
  • Port: 5432
  • Key Features:
    • Main application data storage
    • Grafana user and configuration data
    • Initialized with custom schema (init.sql)
    • Health checks for service availability

mongo-registry

  • Purpose: Document database for Governify registry
  • Technology: MongoDB
  • Port: 5001
  • Key Features:
    • Governify registry data storage
    • Authenticated access
    • Persistent volume storage

dragonfly

  • Purpose: High-performance in-memory data store
  • Technology: Dragonfly (Redis-compatible)
  • Port: 6379
  • Key Features:
    • Session management
    • Caching layer
    • Redis protocol compatibility
    • Persistent data storage

Monitoring and Visualization

grafana

  • Purpose: Monitoring dashboards and data visualization
  • Technology: Grafana OSS
  • Port: 3100
  • Key Features:
    • PostgreSQL data source provisioning
    • Custom dashboard support
    • Service account API access
    • Pre-configured datasources

Governance Services

director

  • Purpose: Governify director service for governance orchestration
  • Technology: Governify Director
  • Port: 5800
  • Key Features:
    • Infrastructure coordination
    • MongoDB logging
    • Health monitoring

registry

  • Purpose: Governify registry for governance agreements
  • Technology: Governify Registry
  • Port: 5400
  • Key Features:
    • Agreement storage and management
    • MongoDB backend
    • Static file serving
    • OAST TLM module support

Port Mapping

External Ports (Host Access)

PortServicePurposeAccess
3000Frontend/ProxyMain application entryhttp://localhost:3000
3001Backend APIREST APIhttp://localhost:3001/api/v1
1880Node-REDWorkflow editorhttp://localhost:1880
3100GrafanaMonitoring dashboardhttp://localhost:3100
5001MongoDBRegistry databaselocalhost:5001
5400RegistryGovernify registryhttp://localhost:5400
5432PostgreSQLDatabaselocalhost:5432
5800DirectorGovernify directorhttp://localhost:5800
6379DragonflyRedis cachelocalhost:6379

Health Check Endpoints

  • Backend: http://127.0.0.1:3001 (wget check)
  • Frontend: http://127.0.0.1:80/ (curl check)
  • Node-RED: http://127.0.0.1:1880 (curl check)
  • PostgreSQL: pg_isready command
  • MongoDB: mongosh ping command
  • Dragonfly: redis-cli ping command
  • Director: http://127.0.0.1:80/info (wget check)