diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8e933b7..4c6b3f5 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -50,7 +50,7 @@ repos: hooks: - id: manifest-coverage name: Manifest capability completeness - entry: bash -c 'ONTOREF_ROOT="$(pwd)" ONTOREF_PROJECT_ROOT="$(pwd)" nu --no-config-file -c "use ./reflection/modules/sync.nu *; sync manifest-check"' + entry: bash -c 'ONTOREF_PROJECT_ROOT="$(pwd)" ontoref sync manifest-check' language: system files: (\.ontology/|reflection/modes/|reflection/forms/).*\.ncl$ pass_filenames: false @@ -66,7 +66,7 @@ repos: - id: docs-drift name: Crate //! doc drift check - entry: bash -c 'nu -c "use ./reflection/modules/sync.nu; sync diff --docs --fail-on-drift"' + entry: bash -c 'ONTOREF_PROJECT_ROOT="$(pwd)" ontoref sync diff --docs --fail-on-drift' language: system types: [rust] pass_filenames: false diff --git a/assets/web/architecture-diagram.html b/assets/web/architecture-diagram.html index e5f8281..0aa7479 100644 --- a/assets/web/architecture-diagram.html +++ b/assets/web/architecture-diagram.html @@ -1 +1 @@ -Infrastructure Provisioning System — Architecture
Provisioning Architecture - Dark Mode
\ No newline at end of file +Infrastructure Provisioning System — Architecture
Provisioning Architecture - Dark Mode
diff --git a/assets/web/index.html b/assets/web/index.html index 0830029..256ccdb 100644 --- a/assets/web/index.html +++ b/assets/web/index.html @@ -1 +1 @@ - Provisioning
🏗️ ARCHITECTURE
Provisioning

Provision at Scale

Infrastructure Orchestration

Declarative infrastructure management with Nickel schemas, Nushell orchestration, and Rust executables. Type-safe configuration, automated validation, and cloud-native deployment across Kubernetes, Docker, and custom platforms.
100% infrastructure as code.

Core Capabilities

01

Type-Safe Configuration

Nickel provides formal type checking, automated validation, and recursive merging for infrastructure definitions. Eliminate configuration drift and parsing errors.

02

Intelligent Orchestration

Nushell scripts orchestrate complex deployment workflows with structured data pipelines, state management, and error recovery. Built-in type system prevents runtime failures.

03

Multi-Platform Support

Deploy to Kubernetes, Docker Compose, local VMs, and custom infrastructure. Unified interface with platform-specific overrides and workspace isolation.

04

Version Control Ready

All infrastructure lives in Git. Configuration schemas, Nickel modules, and Nushell scripts are versionable, reviewable, and rollbackable.

How It Works

📝

Define with Nickel

Write declarative infrastructure schemas with full type safety. Nickel's lazy evaluation and recursive merging enable powerful abstractions and configuration composition.

→ Easy config via TypeDialog
🔄

Orchestrate with Nushell

Structured data pipelines, type-safe operations, and stateful workflows. Nushell eliminates shell script fragility while maintaining scripting simplicity.

→ Nushell plugins added

Execute with Rust

Performance-critical operations backed by Rust. Zero-cost abstractions, memory safety, and fearless concurrency for infrastructure tooling.

📡

Coordinate via NATS JetStream

Persistent event bus for decoupled service coordination. Services exchange lease_id, task_id, and status events — credentials never traverse the bus. Auditable, replay-capable, at-least-once delivery.

🔐

Secure end-to-end

Cedar policy-as-code for authorization, JWT sessions managed exclusively by ControlCenter, and post-quantum cryptography via SecretumVault. Credentials never leave the vault — services operate on lease references only.

→ SecretumVault repo
🧩

Extend via OCI Registry

Distribute custom providers, task services, and cluster definitions as OCI artifacts. The Extension Registry catalogs and versions capabilities independently — swap or compose providers without touching core platform code.

→ Provisioning Extensions
🎛️

Platform CLI & External Services

8 platform subcommands (list, status, health, check, config, connections, init, start) with declarative external service management. Validates SurrealDB, OCI registries (Zot/Harbor), Git sources (Forgejo/Gitea), and cache before startup.

📌

Centralized Version Management

All tool and provider versions defined in Nickel schemas. Generates bash-compatible exports via ‘provisioning setup versions’. Automatic provider discovery, shell script integration, and single source of truth for Nushell, Nickel, SOPS, Age, AWS CLI, and all providers.

🔀

Typed DAG Execution

Workspace taskserv pipelines declared as typed Nickel DAGs — referential integrity validated at schema time. Formula::into_workflow converts to WorkflowDefinition consumed by the existing DependencyGraph with max_parallel_tasks dispatch. Parallelism and on_error semantics are declarative, not implicit.

🧭

Ontological Self-Governance

.ontology/core.ncl declares architectural nodes, invariants, and artifact paths. The on+re protocol runs governance modes (assess, audit, coverage, validate-formula) that detect MISSING artifacts and STALE node claims — keeping declared architecture in sync with the codebase at scan time.

SOLID Architecture Boundaries

🎯

Provider APIs — Orchestrator only

All hcloud, AWS, and provider SDK calls are isolated to the Orchestrator crate. Every other service routes through the Orchestrator HTTP API. SSH operations share this same boundary.

🔐

Auth decisions — ControlCenter only

JWT validation and Cedar policy evaluation happen exclusively in ControlCenter. Other services receive a UserContext via middleware — no service re-validates tokens or evaluates policies directly.

🔑

Secrets — Vault Service API only

Credentials are never stored in NATS messages or environment variables. Services hold a lease_id and retrieve actual secrets via HTTPS to the Vault Service. The bus carries references, not values.

System Architecture

Technology Stack

NickelNushell 0.110RustNATS JetStreamSurrealDBCedarLeptos WASMKubernetesDocker ComposeSOPS 3.10Age 1.2Git

Platform Services (13)

OrchestratorProvider APIs + SSH boundary
ControlCenterCedar auth boundary
ControlCenter-UILeptos WASM dashboard
MCP-ServerRAG + AI tools
AI-ServiceLLM inference layer
Extension-RegistryExtension catalog
SecretumVaultPQC secrets API
DetectorEvent detection
Daemon-CLIService lifecycle
MachinesMachine management
ObservabilityPrometheus metrics
BackupState backup
EncryptKey operations

Ready for infrastructure automation?

Built with Nickel & Nushell | Type-Safe | Open Source

Explore Git Repo →
\ No newline at end of file + Provisioning
🏗️ ARCHITECTURE
Provisioning

Provision at Scale

Infrastructure Orchestration

Declarative infrastructure management with Nickel schemas, Nushell orchestration, and Rust executables. Type-safe configuration, automated validation, and cloud-native deployment across Kubernetes, Docker, and custom platforms.
100% infrastructure as code.

Core Capabilities

01

Type-Safe Configuration

Nickel provides formal type checking, automated validation, and recursive merging for infrastructure definitions. Eliminate configuration drift and parsing errors.

02

Intelligent Orchestration

Nushell scripts orchestrate complex deployment workflows with structured data pipelines, state management, and error recovery. Built-in type system prevents runtime failures.

03

Multi-Platform Support

Deploy to Kubernetes, Docker Compose, local VMs, and custom infrastructure. Unified interface with platform-specific overrides and workspace isolation.

04

Version Control Ready

All infrastructure lives in Git. Configuration schemas, Nickel modules, and Nushell scripts are versionable, reviewable, and rollbackable.

How It Works

📝

Define with Nickel

Write declarative infrastructure schemas with full type safety. Nickel's lazy evaluation and recursive merging enable powerful abstractions and configuration composition.

→ Easy config via TypeDialog
🔄

Orchestrate with Nushell

Structured data pipelines, type-safe operations, and stateful workflows. Nushell eliminates shell script fragility while maintaining scripting simplicity.

→ Nushell plugins added

Execute with Rust

Performance-critical operations backed by Rust. Zero-cost abstractions, memory safety, and fearless concurrency for infrastructure tooling.

📡

Coordinate via NATS JetStream

Persistent event bus for decoupled service coordination. Services exchange lease_id, task_id, and status events — credentials never traverse the bus. Auditable, replay-capable, at-least-once delivery.

🔐

Secure end-to-end

Cedar policy-as-code for authorization, JWT sessions managed exclusively by ControlCenter, and post-quantum cryptography via SecretumVault. Credentials never leave the vault — services operate on lease references only.

→ SecretumVault repo
🧩

Extend via OCI Registry

Distribute custom providers, task services, and cluster definitions as OCI artifacts. The Extension Registry catalogs and versions capabilities independently — swap or compose providers without touching core platform code.

→ Provisioning Extensions
🎛️

Platform CLI & External Services

8 platform subcommands (list, status, health, check, config, connections, init, start) with declarative external service management. Validates SurrealDB, OCI registries (Zot/Harbor), Git sources (Forgejo/Gitea), and cache before startup.

📌

Centralized Version Management

All tool and provider versions defined in Nickel schemas. Generates bash-compatible exports via ‘provisioning setup versions’. Automatic provider discovery, shell script integration, and single source of truth for Nushell, Nickel, SOPS, Age, AWS CLI, and all providers.

🔀

Typed DAG Execution

Workspace taskserv pipelines declared as typed Nickel DAGs — referential integrity validated at schema time. Formula::into_workflow converts to WorkflowDefinition consumed by the existing DependencyGraph with max_parallel_tasks dispatch. Parallelism and on_error semantics are declarative, not implicit.

🧭

Ontological Self-Governance

.ontology/core.ncl declares architectural nodes, invariants, and artifact paths. The on+re protocol runs governance modes (assess, audit, coverage, validate-formula) that detect MISSING artifacts and STALE node claims — keeping declared architecture in sync with the codebase at scan time.

SOLID Architecture Boundaries

🎯

Provider APIs — Orchestrator only

All hcloud, AWS, and provider SDK calls are isolated to the Orchestrator crate. Every other service routes through the Orchestrator HTTP API. SSH operations share this same boundary.

🔐

Auth decisions — ControlCenter only

JWT validation and Cedar policy evaluation happen exclusively in ControlCenter. Other services receive a UserContext via middleware — no service re-validates tokens or evaluates policies directly.

🔑

Secrets — Vault Service API only

Credentials are never stored in NATS messages or environment variables. Services hold a lease_id and retrieve actual secrets via HTTPS to the Vault Service. The bus carries references, not values.

System Architecture

Technology Stack

NickelNushell 0.110RustNATS JetStreamSurrealDBCedarLeptos WASMKubernetesDocker ComposeSOPS 3.10Age 1.2Git

Platform Services (13)

OrchestratorProvider APIs + SSH boundary
ControlCenterCedar auth boundary
ControlCenter-UILeptos WASM dashboard
MCP-ServerRAG + AI tools
AI-ServiceLLM inference layer
Extension-RegistryExtension catalog
SecretumVaultPQC secrets API
DetectorEvent detection
Daemon-CLIService lifecycle
MachinesMachine management
ObservabilityPrometheus metrics
BackupState backup
EncryptKey operations

Ready for infrastructure automation?

Built with Nickel & Nushell | Type-Safe | Open Source

Explore Git Repo →