stratumiops/README.md
Jesús Pérez 0ae853c2fa
Some checks failed
Rust CI / Security Audit (push) Has been cancelled
Rust CI / Check + Test + Lint (nightly) (push) Has been cancelled
Rust CI / Check + Test + Lint (stable) (push) Has been cancelled
chore: create stratum-embeddings and stratum-llm crates, docs
2026-01-24 02:03:12 +00:00

249 lines
8.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div align="center">
<img src="assets/logos/stratumiops-h.svg" alt="StratumIOps Logo" width="600" />
</div>
# StratumIOps
**Infrastructure operations, AI agent orchestration, knowledge management, secrets management, and configuration generation.**
Five integrated Rust projects. One ecosystem. Zero compromises.
---
## The 4 Problems It Solves
### 01 · Scattered Knowledge
Decisions in Slack, guidelines in wikis, patterns in docs—all disconnected. **Kogral** unifies knowledge with git-native markdown and MCP for AI agents.
### 02 · Uncontrolled LLM Costs
No visibility or limits on AI spending per team. **Vapora** provides real-time budgets, automatic fallback to cheaper
providers, and expertise-based agent routing.
### 03 · Fragile YAML Configuration
Runtime errors from untyped configuration. **Provisioning** uses Nickel with pre-runtime validation, **TypeDialog** generates forms with contract validation.
### 04 · Static Cryptography
No preparation for quantum threats. **SecretumVault** implements production post-quantum crypto (ML-KEM-768, ML-DSA-65) with pluggable backends today.
---
## Ecosystem Projects
| Project | Description | Metrics |
| ------- | ----------- | ------- |
| **[Vapora](https://repo.jesusperez.pro/jesus/vapora)** | AI agent orchestration with learning and cost control | 13 crates, 218 tests, 50K LOC |
| **[Kogral](https://repo.jesusperez.pro/jesus/kogral)** | Knowledge graph with MCP for Claude Code | 3 crates, 56 tests, 15K LOC |
| **[TypeDialog](https://repo.jesusperez.pro/jesus/typedialog)** | Multi-backend forms (CLI, TUI, Web, AI, Agent, Prov-gen) | 8 crates, 3,818 tests, 90K LOC |
| **[Provisioning](https://repo.jesusperez.pro/jesus/provisioning)** | Declarative IaC with Nickel + AI-assisted generation | 15+ crates, 218 tests, 40K LOC |
| **[SecretumVault](https://repo.jesusperez.pro/jesus/secretumvault)** | Secrets management with post-quantum cryptography | 1 crate, 50+ tests, 11K LOC |
### Vapora · AI Agent Orchestration
AI agent orchestration with learning and cost control. Agents improve from experience, automatic budget fallback, NATS JetStream coordination.
- AI agent orchestration with learning
- Agents improve from experience
- Automatic budget fallback
- NATS JetStream coordination
- 13 crates, 218 tests, 50K LOC
### Kogral · Knowledge Graph
Knowledge graph with MCP for Claude Code. 6 node types (Notes, ADRs, Guidelines, Patterns, Journals, Executions). Git-native markdown with semantic search.
- Knowledge graph with MCP for Claude Code
- 6 node types: Notes, ADRs, Guidelines, Patterns, Journals, Executions
- Git-native markdown storage
- Semantic search with embeddings
- 3 crates, 56 tests, 15K LOC
### TypeDialog · Multi-Backend Forms
Multi-backend forms (CLI, TUI, Web, AI, Agent, Prov-gen). One TOML definition, 6 interfaces. Nickel contract validation.
- 6 backends: CLI, TUI, Web, AI, Agent, Prov-gen
- One TOML definition for all interfaces
- Nickel contract validation
- Conditional fields & repeating groups
- 8 crates, 3,818 tests, 90K LOC
### Provisioning · Declarative IaC
Declarative IaC with Nickel + AI-assisted generation. Multi-cloud (AWS, UpCloud, Local), RAG with 1,200+ docs, MCP server, orchestrator with rollback.
- Declarative IaC with Nickel + AI-assisted generation
- Multi-cloud: AWS, UpCloud, Local (LXD)
- RAG with 1,200+ domain docs
- MCP server for natural language queries
- Orchestrator with automatic rollback
- 15+ crates, 218 tests, 40K LOC
### SecretumVault · Secrets Management
Secrets management with post-quantum crypto. ML-KEM-768, ML-DSA-65 (NIST FIPS 203/204). 4 crypto backends, 4 storage backends, 4 secrets engines.
- Post-quantum crypto: ML-KEM-768, ML-DSA-65 (NIST FIPS 203/204)
- 4 crypto backends: OpenSSL, OQS, AWS-LC, RustCrypto
- 4 storage backends: Filesystem, etcd, SurrealDB, PostgreSQL
- 4 secrets engines: KV, Transit, PKI, Database
- Shamir Secret Sharing for unsealing
- 1 crate, 50+ tests, 11K LOC
---
## Technology Stack
- **Languages**: Rust Edition 2021, Nickel, Nushell, Bash, Markdown
- **Databases**: SurrealDB (multi-tenant), etcd (HA), PostgreSQL (enterprise)
- **Messaging**: NATS JetStream (durable, ordered)
- **Frameworks**: Axum (REST), Leptos (WASM), Ratatui (TUI)
- **Crypto**: OpenSSL, OQS (Post-Quantum), AWS-LC, RustCrypto
- **Observability**: Prometheus, OpenTelemetry, Grafana
---
## Ecosystem Metrics
| Metric | Value |
| ------ | ----- |
| **Total Rust crates** | 40+ |
| **Total tests** | 4,360+ |
| **Total LOC** | ~206K |
| **Clippy warnings** | 0 |
| **Unsafe code blocks** | 0 |
| **Public API doc coverage** | 100% |
| **Crypto backends** | 4 (OpenSSL, OQS, AWS-LC, RustCrypto) |
| **Storage backends** | 4 (Filesystem, etcd, SurrealDB, PostgreSQL) |
| **TypeDialog backends** | 6 (CLI, TUI, Web, AI, Agent, Prov-gen) |
| **MCP Tools** | 14+ |
| **Multi-Cloud Support** | AWS, UpCloud, Local (LXD) |
| **Post-Quantum Ready** | Yes (ML-KEM-768, ML-DSA-65) |
---
## What is StratumIOps
StratumIOps is not a single project. It's the **orchestration layer** that coordinates:
- **Documentation**: Unified docs for all ecosystem projects (bilingual en/es)
- **Branding Assets**: Logos, color schemes, web landing pages
- **Integration Patterns**: How projects work together
- **Shared Standards**: Language guidelines (Rust, Nickel, Nushell, Bash)
### Stratum Crates
Shared infrastructure libraries for the ecosystem:
| Crate | Description | Status |
| ----- | ----------- | ------ |
| **stratum-embeddings** | Unified embedding providers with caching, fallback, and VectorStore trait | Proposed |
| **stratum-llm** | Unified LLM providers with CLI detection, circuit breaker, and caching | Proposed |
See [Architecture ADRs](docs/en/architecture/adrs/) for detailed design decisions.
### Documentation Structure
```text
docs/
├── en/ # English documentation
│ ├── ia/ # AI/Development track
│ ├── ops/ # Ops/DevOps track
│ └── architecture/ # Architecture decisions (ADRs)
└── es/ # Spanish documentation
├── ia/ # AI/Development track
├── ops/ # Ops/DevOps track
└── architecture/ # Architecture decisions (ADRs)
```
### Branding Assets
Complete branding system with 18+ assets:
- **8 Logo variants**: Horizontal, vertical, animated, static, dark mode
- **4 Icon variants**: Animated, static, dark mode
- **4 Monochrome variants**: Black/white for print and accessibility
- **2 Social variants**: Optimized for social platforms (1080×1080)
- **2 Favicon variants**: Browser tabs (16×16, 32×32)
See [assets/branding/README.md](assets/branding/README.md) for detailed guidelines.
---
## Integration Patterns
### Example: Kogral → Vapora
```rust
// Vapora agent queries Kogral for guidelines before generating code
async fn get_project_context(task: &Task) -> Result<ProjectContext> {
let kogral = KogralMcpClient::connect().await?;
let guidelines = kogral.call("get_guidelines", json!({
"topic": &task.task_type,
"include_shared": true,
})).await?;
Ok(ProjectContext { guidelines })
}
```
### Example: TypeDialog → Provisioning
```rust
// TypeDialog prov-gen backend generates Nickel for Provisioning
async fn generate_infrastructure(form_response: &FormResponse) -> Result<WorkflowId> {
let generator = ProvGenBackend::new();
let iac = generator.generate(&form_response.into()).await?;
let provisioning = ProvisioningClient::connect().await?;
let workflow_id = provisioning.submit_workflow(iac).await?;
Ok(workflow_id)
}
```
---
## Related Projects
| Project | Local Path | Git Repo |
| ------- | ---------- | -------- |
| vapora | `/Users/Akasha/Development/vapora` | `https://repo.jesusperez.pro/jesus/vapora` |
| kogra | `/Users/Akasha/Development/kogral` | `https://repo.jesusperez.pro/jesus/kogra` |
| typedialog | `/Users/Akasha/Development/typedialog` | `https://repo.jesusperez.pro/jesus/typedialog` |
| provisioning | `/Users/Akasha/project-provisioning/provisioning` | `https://repo.jesusperez.pro/jesus/provisioning` |
| secretumvault | `/Users/Akasha/Development/secretumvault` | `https://repo.jesusperez.pro/jesus/secretumvault` |
---
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md) for development guidelines, code standards, and pull request process.
## Security
See [SECURITY.md](SECURITY.md) for security policy, vulnerability reporting, and security best practices.
## Code of Conduct
See [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) for community guidelines and expected behavior.
## License
Proprietary / To be defined
---
<div align="center">
**StratumIOps v0.1.0**
*Integrated ecosystem with Rust excellence ✨*
Infrastructure Operations | AI Orchestration | Knowledge Management | Secrets & Configuration
**100% Rust. Zero compromises.**
</div>