2025-12-11 21:50:42 +00:00
|
|
|
# Platform Services
|
|
|
|
|
|
2026-01-08 09:55:37 +00:00
|
|
|
The Provisioning Platform consists of microservices that work together to provide infrastructure automation capabilities.
|
2025-12-11 21:50:42 +00:00
|
|
|
|
|
|
|
|
## Overview
|
|
|
|
|
|
2026-01-12 04:42:18 +00:00
|
|
|
All platform services are built with Rust for performance, safety, and reliability. They expose REST APIs and integrate seamlessly with the
|
|
|
|
|
Nushell-based CLI.
|
2025-12-11 21:50:42 +00:00
|
|
|
|
|
|
|
|
## Core Services
|
|
|
|
|
|
|
|
|
|
### [Orchestrator](orchestrator.md)
|
2026-01-08 09:55:37 +00:00
|
|
|
|
2025-12-11 21:50:42 +00:00
|
|
|
**Purpose**: Workflow coordination and task management
|
|
|
|
|
|
|
|
|
|
**Key Features**:
|
2026-01-08 09:55:37 +00:00
|
|
|
|
2025-12-11 21:50:42 +00:00
|
|
|
- Hybrid Rust/Nushell architecture
|
|
|
|
|
- Multi-storage backends (Filesystem, SurrealDB)
|
|
|
|
|
- REST API for workflow submission
|
|
|
|
|
- Test environment service for automated testing
|
|
|
|
|
|
|
|
|
|
**Port**: 8080
|
|
|
|
|
**Status**: Production-ready
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
### [Control Center](control-center.md)
|
2026-01-08 09:55:37 +00:00
|
|
|
|
2025-12-11 21:50:42 +00:00
|
|
|
**Purpose**: Policy engine and security management
|
|
|
|
|
|
|
|
|
|
**Key Features**:
|
2026-01-08 09:55:37 +00:00
|
|
|
|
2025-12-11 21:50:42 +00:00
|
|
|
- Cedar policy evaluation
|
|
|
|
|
- JWT authentication
|
|
|
|
|
- MFA support
|
|
|
|
|
- Compliance framework (SOC2, HIPAA)
|
|
|
|
|
- Anomaly detection
|
|
|
|
|
|
|
|
|
|
**Port**: 9090
|
|
|
|
|
**Status**: Production-ready
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
### [KMS Service](kms-service.md)
|
2026-01-08 09:55:37 +00:00
|
|
|
|
2025-12-11 21:50:42 +00:00
|
|
|
**Purpose**: Key management and encryption
|
|
|
|
|
|
|
|
|
|
**Key Features**:
|
2026-01-08 09:55:37 +00:00
|
|
|
|
2025-12-11 21:50:42 +00:00
|
|
|
- Multiple backends (Age, RustyVault, Cosmian, AWS KMS, Vault)
|
|
|
|
|
- REST API for encryption operations
|
|
|
|
|
- Nushell CLI integration
|
|
|
|
|
- Context-based encryption
|
|
|
|
|
|
|
|
|
|
**Port**: 8082
|
|
|
|
|
**Status**: Production-ready
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
### [API Server](provisioning-server.md)
|
2026-01-08 09:55:37 +00:00
|
|
|
|
2025-12-11 21:50:42 +00:00
|
|
|
**Purpose**: REST API for remote provisioning operations
|
|
|
|
|
|
|
|
|
|
**Key Features**:
|
2026-01-08 09:55:37 +00:00
|
|
|
|
2025-12-11 21:50:42 +00:00
|
|
|
- Comprehensive REST API
|
|
|
|
|
- JWT authentication
|
|
|
|
|
- RBAC system (Admin, Operator, Developer, Viewer)
|
|
|
|
|
- Async operations with status tracking
|
|
|
|
|
- Audit logging
|
|
|
|
|
|
|
|
|
|
**Port**: 8083
|
|
|
|
|
**Status**: Production-ready
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
### [Extension Registry](extension-registry.md)
|
2026-01-08 09:55:37 +00:00
|
|
|
|
2025-12-11 21:50:42 +00:00
|
|
|
**Purpose**: Extension discovery and download
|
|
|
|
|
|
|
|
|
|
**Key Features**:
|
2026-01-08 09:55:37 +00:00
|
|
|
|
2025-12-11 21:50:42 +00:00
|
|
|
- Multi-backend support (Gitea, OCI)
|
|
|
|
|
- Smart caching (LRU with TTL)
|
|
|
|
|
- Prometheus metrics
|
|
|
|
|
- Search functionality
|
|
|
|
|
|
|
|
|
|
**Port**: 8084
|
|
|
|
|
**Status**: Production-ready
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
### [OCI Registry](oci-registry.md)
|
2026-01-08 09:55:37 +00:00
|
|
|
|
2025-12-11 21:50:42 +00:00
|
|
|
**Purpose**: Artifact storage and distribution
|
|
|
|
|
|
|
|
|
|
**Supported Registries**:
|
2026-01-08 09:55:37 +00:00
|
|
|
|
2025-12-11 21:50:42 +00:00
|
|
|
- Zot (recommended for development)
|
|
|
|
|
- Harbor (recommended for production)
|
|
|
|
|
- Distribution (OCI reference)
|
|
|
|
|
|
|
|
|
|
**Key Features**:
|
2026-01-08 09:55:37 +00:00
|
|
|
|
2025-12-11 21:50:42 +00:00
|
|
|
- Namespace organization
|
|
|
|
|
- Access control
|
|
|
|
|
- Garbage collection
|
|
|
|
|
- High availability
|
|
|
|
|
|
|
|
|
|
**Port**: 5000
|
|
|
|
|
**Status**: Production-ready
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
### [Platform Installer](installer.md)
|
2026-01-08 09:55:37 +00:00
|
|
|
|
2025-12-11 21:50:42 +00:00
|
|
|
**Purpose**: Interactive platform deployment
|
|
|
|
|
|
|
|
|
|
**Key Features**:
|
2026-01-08 09:55:37 +00:00
|
|
|
|
2025-12-11 21:50:42 +00:00
|
|
|
- Interactive Ratatui TUI
|
|
|
|
|
- Headless mode for automation
|
|
|
|
|
- Multiple deployment modes (Solo, Multi-User, CI/CD, Enterprise)
|
|
|
|
|
- Platform-agnostic (Docker, Podman, Kubernetes, OrbStack)
|
|
|
|
|
|
|
|
|
|
**Status**: Complete (1,480 lines, 7 screens)
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
### [MCP Server](mcp-server.md)
|
2026-01-08 09:55:37 +00:00
|
|
|
|
2025-12-11 21:50:42 +00:00
|
|
|
**Purpose**: Model Context Protocol for AI integration
|
|
|
|
|
|
|
|
|
|
**Key Features**:
|
2026-01-08 09:55:37 +00:00
|
|
|
|
2025-12-11 21:50:42 +00:00
|
|
|
- Rust-native implementation
|
|
|
|
|
- 1000x faster than Python version
|
|
|
|
|
- AI-powered server parsing
|
|
|
|
|
- Multi-provider support
|
|
|
|
|
|
|
|
|
|
**Status**: Proof of concept complete
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Architecture
|
|
|
|
|
|
2026-01-14 01:56:30 +00:00
|
|
|
```
|
2025-12-11 21:50:42 +00:00
|
|
|
┌─────────────────────────────────────────────────────────────┐
|
|
|
|
|
│ Provisioning Platform │
|
|
|
|
|
├─────────────────────────────────────────────────────────────┤
|
|
|
|
|
│ │
|
|
|
|
|
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
|
|
|
|
│ │ Orchestrator │ │Control Center│ │ API Server │ │
|
|
|
|
|
│ │ :8080 │ │ :9090 │ │ :8083 │ │
|
|
|
|
|
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
|
|
|
|
|
│ │ │ │ │
|
|
|
|
|
│ ┌──────┴──────────────────┴──────────────────┴───────┐ │
|
|
|
|
|
│ │ Service Mesh / API Gateway │ │
|
|
|
|
|
│ └──────────────────┬──────────────────────────────────┘ │
|
|
|
|
|
│ │ │
|
|
|
|
|
│ ┌──────────────────┼──────────────────────────────────┐ │
|
|
|
|
|
│ │ KMS Service Extension Registry OCI Registry │ │
|
|
|
|
|
│ │ :8082 :8084 :5000 │ │
|
|
|
|
|
│ └─────────────────────────────────────────────────────┘ │
|
|
|
|
|
│ │
|
|
|
|
|
└─────────────────────────────────────────────────────────────┘
|
2026-01-12 04:42:18 +00:00
|
|
|
```
|
2025-12-11 21:50:42 +00:00
|
|
|
|
|
|
|
|
## Deployment
|
|
|
|
|
|
|
|
|
|
### Starting All Services
|
|
|
|
|
|
2026-01-14 01:56:30 +00:00
|
|
|
```
|
2025-12-11 21:50:42 +00:00
|
|
|
# Using platform installer (recommended)
|
|
|
|
|
provisioning-installer --headless --mode solo --yes
|
|
|
|
|
|
|
|
|
|
# Or manually with docker-compose
|
|
|
|
|
cd provisioning/platform
|
|
|
|
|
docker-compose up -d
|
|
|
|
|
|
|
|
|
|
# Or individually
|
|
|
|
|
provisioning platform start orchestrator
|
|
|
|
|
provisioning platform start control-center
|
|
|
|
|
provisioning platform start kms-service
|
|
|
|
|
provisioning platform start api-server
|
2026-01-12 04:42:18 +00:00
|
|
|
```
|
2025-12-11 21:50:42 +00:00
|
|
|
|
|
|
|
|
### Checking Service Status
|
|
|
|
|
|
2026-01-14 01:56:30 +00:00
|
|
|
```
|
2025-12-11 21:50:42 +00:00
|
|
|
# Check all services
|
|
|
|
|
provisioning platform status
|
|
|
|
|
|
|
|
|
|
# Check specific service
|
|
|
|
|
provisioning platform status orchestrator
|
|
|
|
|
|
|
|
|
|
# View service logs
|
|
|
|
|
provisioning platform logs orchestrator --tail 100 --follow
|
2026-01-12 04:42:18 +00:00
|
|
|
```
|
2025-12-11 21:50:42 +00:00
|
|
|
|
|
|
|
|
### Service Health Checks
|
|
|
|
|
|
|
|
|
|
Each service exposes a health endpoint:
|
|
|
|
|
|
2026-01-14 01:56:30 +00:00
|
|
|
```
|
2025-12-11 21:50:42 +00:00
|
|
|
# Orchestrator
|
|
|
|
|
curl http://localhost:8080/health
|
|
|
|
|
|
|
|
|
|
# Control Center
|
|
|
|
|
curl http://localhost:9090/health
|
|
|
|
|
|
|
|
|
|
# KMS Service
|
|
|
|
|
curl http://localhost:8082/api/v1/kms/health
|
|
|
|
|
|
|
|
|
|
# API Server
|
|
|
|
|
curl http://localhost:8083/health
|
|
|
|
|
|
|
|
|
|
# Extension Registry
|
|
|
|
|
curl http://localhost:8084/api/v1/health
|
|
|
|
|
|
|
|
|
|
# OCI Registry
|
|
|
|
|
curl http://localhost:5000/v2/
|
2026-01-12 04:42:18 +00:00
|
|
|
```
|
2025-12-11 21:50:42 +00:00
|
|
|
|
|
|
|
|
## Service Dependencies
|
|
|
|
|
|
2026-01-14 01:56:30 +00:00
|
|
|
```
|
2025-12-11 21:50:42 +00:00
|
|
|
Orchestrator
|
|
|
|
|
└── Nushell CLI
|
|
|
|
|
|
|
|
|
|
Control Center
|
|
|
|
|
├── SurrealDB (storage)
|
|
|
|
|
└── Orchestrator (optional, for workflows)
|
|
|
|
|
|
|
|
|
|
KMS Service
|
|
|
|
|
├── Age (development)
|
|
|
|
|
└── Cosmian KMS (production)
|
|
|
|
|
|
|
|
|
|
API Server
|
|
|
|
|
└── Nushell CLI
|
|
|
|
|
|
|
|
|
|
Extension Registry
|
|
|
|
|
├── Gitea (optional)
|
|
|
|
|
└── OCI Registry (optional)
|
|
|
|
|
|
|
|
|
|
OCI Registry
|
|
|
|
|
└── Docker/Podman
|
2026-01-12 04:42:18 +00:00
|
|
|
```
|
2025-12-11 21:50:42 +00:00
|
|
|
|
|
|
|
|
## Configuration
|
|
|
|
|
|
|
|
|
|
Each service uses TOML-based configuration:
|
|
|
|
|
|
2026-01-14 01:56:30 +00:00
|
|
|
```
|
2025-12-11 21:50:42 +00:00
|
|
|
provisioning/
|
|
|
|
|
├── config/
|
|
|
|
|
│ ├── orchestrator.toml
|
|
|
|
|
│ ├── control-center.toml
|
|
|
|
|
│ ├── kms.toml
|
|
|
|
|
│ ├── api-server.toml
|
|
|
|
|
│ ├── extension-registry.toml
|
|
|
|
|
│ └── oci-registry.toml
|
2026-01-12 04:42:18 +00:00
|
|
|
```
|
2025-12-11 21:50:42 +00:00
|
|
|
|
|
|
|
|
## Monitoring
|
|
|
|
|
|
|
|
|
|
### Metrics Collection
|
|
|
|
|
|
|
|
|
|
Services expose Prometheus metrics:
|
|
|
|
|
|
2026-01-14 01:56:30 +00:00
|
|
|
```
|
2025-12-11 21:50:42 +00:00
|
|
|
# prometheus.yml
|
|
|
|
|
scrape_configs:
|
|
|
|
|
- job_name: 'orchestrator'
|
|
|
|
|
static_configs:
|
|
|
|
|
- targets: ['localhost:8080']
|
|
|
|
|
|
|
|
|
|
- job_name: 'control-center'
|
|
|
|
|
static_configs:
|
|
|
|
|
- targets: ['localhost:9090']
|
|
|
|
|
|
|
|
|
|
- job_name: 'kms-service'
|
|
|
|
|
static_configs:
|
|
|
|
|
- targets: ['localhost:8082']
|
2026-01-12 04:42:18 +00:00
|
|
|
```
|
2025-12-11 21:50:42 +00:00
|
|
|
|
|
|
|
|
### Logging
|
|
|
|
|
|
|
|
|
|
All services use structured logging:
|
|
|
|
|
|
2026-01-14 01:56:30 +00:00
|
|
|
```
|
2025-12-11 21:50:42 +00:00
|
|
|
# View aggregated logs
|
|
|
|
|
provisioning platform logs --all
|
|
|
|
|
|
|
|
|
|
# Filter by level
|
|
|
|
|
provisioning platform logs --level error
|
|
|
|
|
|
|
|
|
|
# Export logs
|
|
|
|
|
provisioning platform logs --export /tmp/platform-logs.json
|
2026-01-12 04:42:18 +00:00
|
|
|
```
|
2025-12-11 21:50:42 +00:00
|
|
|
|
|
|
|
|
## Security
|
|
|
|
|
|
|
|
|
|
### Authentication
|
|
|
|
|
|
|
|
|
|
- **JWT Tokens**: Used by API Server and Control Center
|
|
|
|
|
- **API Keys**: Used by Extension Registry
|
|
|
|
|
- **mTLS**: Optional for service-to-service communication
|
|
|
|
|
|
|
|
|
|
### Encryption
|
|
|
|
|
|
|
|
|
|
- **TLS/SSL**: All HTTP endpoints support TLS
|
|
|
|
|
- **At-Rest**: KMS Service handles encryption keys
|
|
|
|
|
- **In-Transit**: Network traffic encrypted with TLS
|
|
|
|
|
|
|
|
|
|
### Access Control
|
|
|
|
|
|
|
|
|
|
- **RBAC**: Control Center provides role-based access
|
|
|
|
|
- **Policies**: Cedar policies enforce fine-grained permissions
|
|
|
|
|
- **Audit Logging**: All operations logged for compliance
|
|
|
|
|
|
|
|
|
|
## Troubleshooting
|
|
|
|
|
|
|
|
|
|
### Service Won't Start
|
|
|
|
|
|
2026-01-14 01:56:30 +00:00
|
|
|
```
|
2025-12-11 21:50:42 +00:00
|
|
|
# Check logs
|
|
|
|
|
provisioning platform logs <service> --tail 100
|
|
|
|
|
|
|
|
|
|
# Verify configuration
|
|
|
|
|
provisioning validate config --service <service>
|
|
|
|
|
|
|
|
|
|
# Check port availability
|
|
|
|
|
lsof -i :<port>
|
2026-01-12 04:42:18 +00:00
|
|
|
```
|
2025-12-11 21:50:42 +00:00
|
|
|
|
|
|
|
|
### Service Unhealthy
|
|
|
|
|
|
2026-01-14 01:56:30 +00:00
|
|
|
```
|
2025-12-11 21:50:42 +00:00
|
|
|
# Check dependencies
|
|
|
|
|
provisioning platform deps <service>
|
|
|
|
|
|
|
|
|
|
# Restart service
|
|
|
|
|
provisioning platform restart <service>
|
|
|
|
|
|
|
|
|
|
# Full service reset
|
|
|
|
|
provisioning platform restart <service> --clean
|
2026-01-12 04:42:18 +00:00
|
|
|
```
|
2025-12-11 21:50:42 +00:00
|
|
|
|
|
|
|
|
### High Resource Usage
|
|
|
|
|
|
2026-01-14 01:56:30 +00:00
|
|
|
```
|
2025-12-11 21:50:42 +00:00
|
|
|
# Check resource usage
|
|
|
|
|
provisioning platform resources
|
|
|
|
|
|
|
|
|
|
# View detailed metrics
|
|
|
|
|
provisioning platform metrics <service>
|
2026-01-12 04:42:18 +00:00
|
|
|
```
|
2025-12-11 21:50:42 +00:00
|
|
|
|
|
|
|
|
## Related Documentation
|
|
|
|
|
|
|
|
|
|
- **[Architecture Overview](../architecture/ARCHITECTURE_OVERVIEW.md)**
|
|
|
|
|
- **[Integration Patterns](../architecture/integration-patterns.md)**
|
|
|
|
|
- **[Service Management Guide](../user/SERVICE_MANAGEMENT_GUIDE.md)**
|
|
|
|
|
- **[API Reference](../api/rest-api.md)**
|