911 lines
45 KiB
Markdown
911 lines
45 KiB
Markdown
# Portfolio de Proyectos: Posicionamiento Estratégico Completo
|
|
|
|
## Resumen Ejecutivo
|
|
|
|
Portfolio de cinco proyectos Rust que conforman un ecosistema completo para desarrollo de software moderno:
|
|
|
|
| Proyecto | Dominio Principal | Capacidades Clave |
|
|
| ---------- | ------------------- | ------------------- |
|
|
| **Vapora** | Plataforma de Desarrollo | Orquestación, Kanban, multi-tenant, LLM routing, knowledge graph |
|
|
| **Kogral** | Gestión de Conocimiento | Knowledge graph, ADRs, patterns, guidelines, búsqueda semántica |
|
|
| **TypeDialog** | Interacción y Automatización | Forms multi-backend, agentes, IaC generation, i18n, validación |
|
|
| **Provisioning** | Infraestructura | IaC declarativo, multi-cloud, seguridad enterprise, orquestación |
|
|
| **SecretumVault** | Seguridad | Gestión de secretos, criptografía post-cuántica, multi-backend |
|
|
|
|
---
|
|
|
|
## 1. Vapora: Plataforma de Desarrollo Inteligente
|
|
|
|
### Visión General
|
|
|
|
Vapora es una **plataforma de orquestación de desarrollo** que unifica gestión de proyectos, coordinación de agentes IA, y visibilidad completa del ciclo de desarrollo.
|
|
|
|
### Capacidades Completas
|
|
|
|
#### Gestión de Proyectos
|
|
|
|
| Funcionalidad | Descripción |
|
|
| --------------- | ------------- |
|
|
| **Kanban Board** | Drag-and-drop con columnas Todo → Doing → Review → Done |
|
|
| **Real-time Collaboration** | Updates optimistas, WebSocket sync |
|
|
| **Task Tracking** | Prioridades, tags, asignaciones, ordenamiento |
|
|
| **Project Hierarchy** | Workspaces → Projects → Tasks con scopes aislados |
|
|
| **Change Tracking** | Historial de cambios con impact analysis |
|
|
|
|
#### Multi-Tenancy y Seguridad
|
|
|
|
| Funcionalidad | Descripción |
|
|
| --------------- | ------------- |
|
|
| **SurrealDB Scopes** | Aislamiento nativo por tenant |
|
|
| **Cedar RBAC** | Políticas fine-grained declarativas |
|
|
| **JWT Auth** | Tokens con refresh rotation |
|
|
| **Audit Trail** | Logging de cambios significativos |
|
|
|
|
#### Orquestación de Agentes
|
|
|
|
| Funcionalidad | Descripción |
|
|
| --------------- | ------------- |
|
|
| **12 Roles** | Architect, Developer, Reviewer, Tester, Documenter, etc. |
|
|
| **Learning Profiles** | Expertise por tipo de tarea con recency bias (3x últimos 7 días) |
|
|
| **Pipeline Execution** | Secuencias con approval gates |
|
|
| **NATS JetStream** | Coordinación async con delivery garantizado |
|
|
|
|
#### LLM Router
|
|
|
|
| Funcionalidad | Descripción |
|
|
| --------------- | ------------- |
|
|
| **4 Providers** | Claude, OpenAI, Gemini, Ollama |
|
|
| **Budget Control** | Límites por rol (mensual/semanal) |
|
|
| **Auto-Fallback** | Cambio a provider más barato cuando excede budget |
|
|
| **Cost Tracking** | Tokens y costos por request/rol/provider |
|
|
|
|
#### Knowledge Graph Temporal
|
|
|
|
| Funcionalidad | Descripción |
|
|
| --------------- | ------------- |
|
|
| **Execution History** | Nodos con relaciones causales |
|
|
| **Learning Curves** | Agregaciones diarias para tracking de mejora |
|
|
| **Similarity Search** | Recomendaciones basadas en tareas pasadas |
|
|
|
|
#### Frontend (Leptos WASM)
|
|
|
|
| Funcionalidad | Descripción |
|
|
| --------------- | ------------- |
|
|
| **Glassmorphism UI** | Estética vaporwave moderna |
|
|
| **Responsive** | Mobile a ultra-wide |
|
|
| **Optimistic Updates** | UX fluida sin esperar server |
|
|
| **UnoCSS** | Atomic CSS Tailwind-compatible |
|
|
|
|
#### Observabilidad
|
|
|
|
| Funcionalidad | Descripción |
|
|
| --------------- | ------------- |
|
|
| **Prometheus Metrics** | Request latency, agent duration, token usage |
|
|
| **OpenTelemetry** | Tracing distribuido |
|
|
| **Structured Logging** | JSON output con tracing |
|
|
|
|
### Arquitectura
|
|
|
|
```text
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|
│ Vapora (13 crates, 218+ tests) │
|
|
├─────────────────────────────────────────────────────────────────┤
|
|
│ │
|
|
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐ │
|
|
│ │ Frontend │ │ Backend │ │ Agent System │ │
|
|
│ │ (Leptos) │──│ (Axum) │──│ (Coordinator + NATS) │ │
|
|
│ │ Kanban UI │ │ 40+ APIs │ │ Learning + Pipelines │ │
|
|
│ └─────────────┘ └──────┬──────┘ └───────────┬─────────────┘ │
|
|
│ │ │ │
|
|
│ ┌───────────────────────┴──────────────────────┴─────────────┐ │
|
|
│ │ LLM Router │ │
|
|
│ │ Claude │ OpenAI │ Gemini │ Ollama │ Budget │ Fallback │ │
|
|
│ └────────────────────────────────────────────────────────────┘ │
|
|
│ │ │
|
|
│ ┌───────────────────────┴───────────────────────────────────┐ │
|
|
│ │ Persistence: SurrealDB (scopes) + NATS JetStream │ │
|
|
│ └───────────────────────────────────────────────────────────┘ │
|
|
└─────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## 2. Kogral: Sistema de Gestión de Conocimiento
|
|
|
|
### Visión General
|
|
|
|
Kogral es un **knowledge graph git-native** diseñado para capturar, conectar y consultar el conocimiento de equipos de desarrollo.
|
|
|
|
### Capacidades Completas
|
|
|
|
#### Modelo de Conocimiento
|
|
|
|
| Tipo de Nodo | Propósito |
|
|
| -------------- | ----------- |
|
|
| **Note** | Notas generales, observaciones |
|
|
| **Decision (ADR)** | Architectural Decision Records con context/decision/consequences |
|
|
| **Guideline** | Estándares de equipo/organización |
|
|
| **Pattern** | Soluciones reutilizables documentadas |
|
|
| **Journal** | Diario de desarrollo (progreso, blockers, learnings) |
|
|
| **Execution** | Registros de ejecución de agentes |
|
|
|
|
| Tipo de Relación | Propósito |
|
|
| ------------------ | ----------- |
|
|
| **relates_to** | Conexión general |
|
|
| **depends_on** | Dependencia |
|
|
| **implements** | Implementación de concepto |
|
|
| **extends** | Extensión/especialización |
|
|
| **supersedes** | Reemplaza versión anterior |
|
|
| **explains** | Documentación/explicación |
|
|
|
|
#### Storage Multi-Backend
|
|
|
|
| Backend | Características |
|
|
| --------- | ----------------- |
|
|
| **Filesystem** | Git-friendly, markdown + YAML frontmatter, `.kogral/` |
|
|
| **SurrealDB** | Escalable, queries de grafo, conocimiento compartido org |
|
|
| **Memory** | Testing con DashMap |
|
|
|
|
#### Búsqueda
|
|
|
|
| Capacidad | Descripción |
|
|
| ----------- | ------------- |
|
|
| **Text Search** | Búsqueda full-text sobre contenido |
|
|
| **Semantic Search** | Embeddings con fastembed (local) o cloud providers |
|
|
| **Graph Traversal** | Navegación por relaciones |
|
|
| **Filtering** | Por tipo, tags, fecha, metadata |
|
|
|
|
#### Herencia de Guidelines
|
|
|
|
```text
|
|
Org Guidelines (base)
|
|
│
|
|
▼ override
|
|
Project Guidelines (específicas)
|
|
│
|
|
▼ merge con prioridad
|
|
Effective Guidelines (aplicadas)
|
|
```
|
|
|
|
#### Logseq Compatibility
|
|
|
|
| Feature | Soporte |
|
|
| --------- | --------- |
|
|
| **Outliner Blocks** | Estructura jerárquica preservada |
|
|
| **Task Statuses** | TODO, DOING, DONE, LATER, NOW, WAITING, CANCELLED |
|
|
| **Wikilinks** | `[[referencias]]` bidireccionales |
|
|
| **Properties** | Metadata en frontmatter |
|
|
| **Tags** | #tags preservados |
|
|
|
|
#### MCP Server (Claude Code)
|
|
|
|
| Tool | Función |
|
|
| ------ | --------- |
|
|
| `search` | Búsqueda text/semántica |
|
|
| `add_note` | Crear nota |
|
|
| `add_decision` | Crear ADR guiado |
|
|
| `link` | Establecer relación |
|
|
| `get_guidelines` | Obtener guidelines aplicables |
|
|
| `list_graphs` | Listar grafos disponibles |
|
|
| `export` | Exportar a formato |
|
|
|
|
#### Export y Templates
|
|
|
|
| Formato | Soporte |
|
|
| --------- | --------- |
|
|
| **Markdown** | Con frontmatter YAML |
|
|
| **JSON** | Estructura completa |
|
|
| **YAML** | Human-readable |
|
|
| **Tera Templates** | Generación personalizada |
|
|
|
|
### Arquitectura
|
|
|
|
```text
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|
│ Kogral (3 crates, 56 tests) │
|
|
├─────────────────────────────────────────────────────────────────┤
|
|
│ │
|
|
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐ │
|
|
│ │ CLI │ │ MCP Server │ │ Core Library │ │
|
|
│ │ 13 cmds │ │ Claude Code│ │ Models + Storage + │ │
|
|
│ │ clap │ │ 7 tools │ │ Query + Embeddings │ │
|
|
│ └──────┬──────┘ └──────┬──────┘ └────────────┬────────────┘ │
|
|
│ │ │ │ │
|
|
│ └────────────────┼──────────────────────┘ │
|
|
│ │ │
|
|
│ ┌───────────────────────┴───────────────────────────────────┐ │
|
|
│ │ Storage Backends │ │
|
|
│ │ Filesystem (.kogral/) │ SurrealDB │ Memory (test) │ │
|
|
│ └───────────────────────────────────────────────────────────┘ │
|
|
│ │ │
|
|
│ ┌───────────────────────┴───────────────────────────────────┐ │
|
|
│ │ Embeddings: fastembed (local) │ rig-core (cloud) │ │
|
|
│ └───────────────────────────────────────────────────────────┘ │
|
|
└─────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## 3. TypeDialog: Plataforma de Interacción Unificada
|
|
|
|
### Visión General
|
|
|
|
TypeDialog es un **sistema de formularios y automatización** que unifica múltiples interfaces (CLI, TUI, Web) con ejecución de agentes y generación de infraestructura.
|
|
|
|
### Capacidades Completas
|
|
|
|
#### Backends de Ejecución
|
|
|
|
| Backend | Tecnología | Uso Típico |
|
|
| --------- | ------------ | ------------ |
|
|
| **CLI** | inquire | Scripts, CI/CD, automatización |
|
|
| **TUI** | ratatui | Dashboards terminal, admin tools |
|
|
| **Web** | axum + HTMX | SaaS, formularios públicos |
|
|
| **AI** | tantivy + petgraph | RAG, búsqueda semántica |
|
|
| **Agent** | Tera + Nickel | Ejecución LLM desde .agent.mdx |
|
|
| **Prov-gen** | Nickel + Templates | IaC multi-cloud |
|
|
|
|
#### Tipos de Campo
|
|
|
|
| Tipo | Características |
|
|
| ------ | ----------------- |
|
|
| **text** | Validación regex, longitud, patterns |
|
|
| **confirm** | Yes/No boolean |
|
|
| **select** | Single choice con filtrado |
|
|
| **multi-select** | Multiple choice (list/grid/dropdown) |
|
|
| **password** | Masked input |
|
|
| **custom** | Tipos definidos por usuario |
|
|
| **editor** | Multi-line con soporte editor externo |
|
|
| **date** | Date/time picker |
|
|
|
|
#### Validación y Contratos
|
|
|
|
| Capacidad | Descripción |
|
|
| ----------- | ------------- |
|
|
| **Regex Patterns** | Validación por expresión regular |
|
|
| **Length Constraints** | min/max length |
|
|
| **Cross-field Logic** | Validación entre campos |
|
|
| **Nickel Contracts** | Type-safe pre/post validación |
|
|
| **Custom Validators** | Funciones de validación personalizadas |
|
|
|
|
#### Forms Avanzados
|
|
|
|
| Feature | Descripción |
|
|
| --------- | ------------- |
|
|
| **Sections** | Agrupación lógica de campos |
|
|
| **Conditional Fields** | Visibilidad dinámica basada en valores |
|
|
| **Smart Defaults** | Valores por defecto computados |
|
|
| **Repeating Groups** | Campos repetibles dinámicamente |
|
|
| **Fragment Composition** | Templates reutilizables con herencia |
|
|
| **Includes** | Importación de fragmentos |
|
|
|
|
#### Internacionalización (i18n)
|
|
|
|
| Capacidad | Descripción |
|
|
| ----------- | ------------- |
|
|
| **Fluent Bundles** | Archivos .ftl para traducciones |
|
|
| **Auto-Locale** | Detección automática via sys-locale |
|
|
| **Form Translation** | Labels, hints, errors traducidos |
|
|
| **Extraction** | Auto-extracción de strings desde schemas |
|
|
|
|
#### Output Formats
|
|
|
|
| Formato | Soporte |
|
|
| --------- | --------- |
|
|
| **JSON** | Estándar, compatible universal |
|
|
| **YAML** | Human-readable |
|
|
| **TOML** | Configuración Rust-friendly |
|
|
| **Nickel** | Type-safe con contratos |
|
|
|
|
#### Agent System
|
|
|
|
| Capacidad | Descripción |
|
|
| ----------- | ------------- |
|
|
| **MDX Format** | Markdown extendido con frontmatter YAML |
|
|
| **4 LLM Providers** | Claude, OpenAI, Gemini, Ollama |
|
|
| **Tera Templates** | Variables, imports, shell commands |
|
|
| **Output Validation** | Format, content, length checks |
|
|
| **Streaming** | Real-time token streaming |
|
|
|
|
#### IaC Generation (Prov-gen)
|
|
|
|
| Capacidad | Descripción |
|
|
| ----------- | ------------- |
|
|
| **6 Cloud Providers** | AWS, GCP, Azure, Hetzner, UpCloud, LXD |
|
|
| **7-Layer Validation** | Pipeline de validación completo |
|
|
| **AI-Assisted** | Configuración opcional con Claude/Ollama |
|
|
| **Template Fragments** | Fragmentos específicos por provider |
|
|
|
|
#### Seguridad
|
|
|
|
| Capacidad | Descripción |
|
|
| ----------- | ------------- |
|
|
| **Field Encryption** | Cifrado a nivel de campo |
|
|
| **Password Masking** | En todos los backends |
|
|
| **Validation Contracts** | Prevención de datos inválidos |
|
|
|
|
### Arquitectura
|
|
|
|
```text
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|
│ TypeDialog (8 crates, 3,818 tests) │
|
|
├─────────────────────────────────────────────────────────────────┤
|
|
│ │
|
|
│ Form Definition (TOML) │
|
|
│ │ │
|
|
│ ▼ │
|
|
│ ┌─────────────────────────────────────────────────────────────┐│
|
|
│ │ BackendFactory ││
|
|
│ └─────────────────────────────────────────────────────────────┘│
|
|
│ │ │
|
|
│ ┌──────┼──────┬──────┬──────┬──────┬──────┐ │
|
|
│ │ │ │ │ │ │ │ │
|
|
│ ▼ ▼ ▼ ▼ ▼ ▼ │ │
|
|
│ CLI TUI Web AI Agent Prov-gen │ │
|
|
│(inquire)(ratatui)(axum)(tantivy)(Tera)(Nickel) │
|
|
│ │ │ │ │ │ │ │ │
|
|
│ └──────┴──────┴──────┴──────┴──────┴──────┘ │
|
|
│ │ │
|
|
│ ┌───────────────────────┴───────────────────────────────────┐ │
|
|
│ │ Output: JSON │ YAML │ TOML │ Nickel │ │
|
|
│ │ Validation: Nickel Contracts │ │
|
|
│ └───────────────────────────────────────────────────────────┘ │
|
|
└─────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## 4. Provisioning: Plataforma de Infraestructura
|
|
|
|
### Visión General
|
|
|
|
Provisioning es una **plataforma IaC enterprise** que combina configuración declarativa (Nickel), orquestación avanzada, seguridad completa, y asistencia IA.
|
|
|
|
### Capacidades Completas
|
|
|
|
#### CLI Modular
|
|
|
|
| Aspecto | Detalle |
|
|
| --------- | --------- |
|
|
| **Tamaño** | 211 líneas (84% reducción desde 1,329) |
|
|
| **Shortcuts** | 80+ atajos (`s` → server, `t` → taskserv) |
|
|
| **Módulos** | 7 dominios (infra, orchestration, dev, workspace, config, utils, gen) |
|
|
| **Guías** | Interactivas con glow/bat/less |
|
|
|
|
#### Sistema de Configuración
|
|
|
|
| Capacidad | Descripción |
|
|
| ----------- | ------------- |
|
|
| **476+ Accessors** | Reemplazo de 200+ variables de entorno |
|
|
| **Hierarchical Loading** | defaults → user → project → infra → env → runtime |
|
|
| **Interpolation** | Variables expandidas dinámicamente |
|
|
| **Multi-format** | TOML, YAML, Nickel |
|
|
|
|
#### Multi-Cloud Support
|
|
|
|
| Provider | Capacidades |
|
|
| ---------- | ------------- |
|
|
| **AWS** | EC2, EKS, RDS, S3, IAM, VPC |
|
|
| **UpCloud** | Servers, networking, storage |
|
|
| **Local** | LXD containers, local VMs |
|
|
|
|
#### Batch Workflows
|
|
|
|
| Capacidad | Descripción |
|
|
| ----------- | ------------- |
|
|
| **Mixed Providers** | AWS + UpCloud + local en mismo workflow |
|
|
| **Schema Integration** | KCL/Nickel type-safe |
|
|
| **Dependency Resolution** | Topological sorting automático |
|
|
| **State Management** | Checkpoints con recovery |
|
|
| **Rollback** | Automático ante fallos |
|
|
| **Token Efficiency** | 85-90% |
|
|
|
|
#### Orchestrator Híbrido
|
|
|
|
| Capacidad | Descripción |
|
|
| ----------- | ------------- |
|
|
| **Rust + Nushell** | Combina rendimiento y flexibilidad |
|
|
| **File Persistence** | Estado persistido en filesystem |
|
|
| **Priority Processing** | Colas con prioridad |
|
|
| **Retry Logic** | Exponential backoff |
|
|
| **REST API** | Integración externa |
|
|
| **Parallel Execution** | Load balancing |
|
|
|
|
#### Workspace Management
|
|
|
|
| Capacidad | Descripción |
|
|
| ----------- | ------------- |
|
|
| **Single-command Switch** | Cambio instantáneo entre entornos |
|
|
| **Tracking** | Last-used timestamps |
|
|
| **Registry** | Registro centralizado |
|
|
| **Preferences** | Configuración por usuario |
|
|
|
|
#### Test Environment Service
|
|
|
|
| Tipo | Descripción |
|
|
| ------ | ------------- |
|
|
| **Single Taskserv** | Test de servicio individual |
|
|
| **Server Simulation** | Simulación de servidor completo |
|
|
| **Multi-node Clusters** | Clusters con topologías (K8s HA, etcd) |
|
|
|
|
#### Platform Installer
|
|
|
|
| Modo | Recursos |
|
|
| ------ | ---------- |
|
|
| **Solo** | 2 CPU, 4GB RAM |
|
|
| **MultiUser** | 4 CPU, 8GB RAM |
|
|
| **CICD** | 8 CPU, 16GB RAM |
|
|
| **Enterprise** | 16 CPU, 32GB RAM |
|
|
|
|
| Interface | Descripción |
|
|
| ----------- | ------------- |
|
|
| **TUI** | Ratatui interactivo |
|
|
| **CLI** | Headless automation |
|
|
| **Unattended** | Sin interacción |
|
|
|
|
#### Version Management
|
|
|
|
| Capacidad | Descripción |
|
|
| ----------- | ------------- |
|
|
| **Centralized** | Todas las versiones en Nickel |
|
|
| **Bash-compatible** | Generación de archivo sourceable |
|
|
| **Auto-discovery** | Detección de versiones de providers |
|
|
| **Shell Integration** | `source /provisioning/core/versions` |
|
|
|
|
#### Nushell Plugins
|
|
|
|
| Plugin | Función | Mejora |
|
|
| -------- | --------- | -------- |
|
|
| **auth** | Autenticación | 10-50x vs HTTP |
|
|
| **KMS** | Gestión de claves | Nativo OS keyring |
|
|
| **orchestrator** | Coordinación workflows | Performance |
|
|
|
|
#### Sistema de Seguridad Completo
|
|
|
|
| Componente | Capacidades |
|
|
| ------------ | ------------- |
|
|
| **Autenticación** | JWT + Argon2id hashing |
|
|
| **MFA** | TOTP + WebAuthn/FIDO2 |
|
|
| **Autorización** | Cedar policy engine (RBAC fine-grained) |
|
|
| **Secrets** | Dynamic secrets con TTL |
|
|
| **KMS** | 5 backends (RustyVault, Age, AWS KMS, Vault, Cosmian) |
|
|
| **Encryption** | Envelope encryption |
|
|
| **Audit** | 7 años retención, 5 formatos export |
|
|
| **Break-glass** | Multi-party approval |
|
|
|
|
**Métricas de Seguridad**: 39,699 líneas, 12 componentes
|
|
|
|
#### IA Integration
|
|
|
|
| Capacidad | Descripción |
|
|
| ----------- | ------------- |
|
|
| **MCP Server** | Rust-native (1000x vs Python) |
|
|
| **RAG System** | 1,200+ docs de dominio |
|
|
| **NLP** | Intent recognition, entity extraction |
|
|
| **Multi-provider** | OpenAI, Claude, Ollama |
|
|
| **Nickel Generation** | Con validación automática |
|
|
|
|
### Arquitectura
|
|
|
|
```text
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|
│ Provisioning (v5.0.0-nickel, 218+ tests) │
|
|
├─────────────────────────────────────────────────────────────────┤
|
|
│ │
|
|
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐ │
|
|
│ │ CLI │ │ Control │ │ Platform │ │
|
|
│ │ 211 lines │ │ Center │ │ Orchestrator │ │
|
|
│ │ 80+ shorts │ │ (Axum) │ │ (Rust/Nu hybrid) │ │
|
|
│ └──────┬──────┘ └──────┬──────┘ └────────────┬────────────┘ │
|
|
│ │ │ │ │
|
|
│ ┌──────┴────────────────┴──────────────────────┴─────────────┐ │
|
|
│ │ Extensions │ │
|
|
│ │ Providers: AWS │ UpCloud │ Local │ │
|
|
│ │ Taskservs: 50+ infrastructure services │ │
|
|
│ │ Clusters: K8s, etcd, etc. templates │ │
|
|
│ │ Workflows: Automation definitions │ │
|
|
│ └────────────────────────────────────────────────────────────┘ │
|
|
│ │ │
|
|
│ ┌───────────────────────┴───────────────────────────────────┐ │
|
|
│ │ Security Layer (39K lines, 12 components) │ │
|
|
│ │ JWT │ Cedar │ MFA │ KMS │ Audit │ Secrets │ │
|
|
│ └───────────────────────────────────────────────────────────┘ │
|
|
│ │ │
|
|
│ ┌───────────────────────┴───────────────────────────────────┐ │
|
|
│ │ AI Layer: MCP Server │ RAG (1200+ docs) │ LLM Providers │ │
|
|
│ └───────────────────────────────────────────────────────────┘ │
|
|
│ │ │
|
|
│ ┌───────────────────────┴───────────────────────────────────┐ │
|
|
│ │ State: SurrealDB │ Filesystem │ Nickel Schemas │ │
|
|
│ └───────────────────────────────────────────────────────────┘ │
|
|
└─────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## 5. SecretumVault: Gestión de Secretos Post-Cuántica
|
|
|
|
### Visión General
|
|
|
|
SecretumVault es un **sistema de gestión de secretos** escrito en Rust con **criptografía post-cuántica lista para producción** (ML-KEM-768, ML-DSA-65 según NIST FIPS 203/204).
|
|
|
|
### Capacidades Completas
|
|
|
|
#### Backends Criptográficos
|
|
|
|
| Backend | Algoritmos | Estado |
|
|
| --------- | ------------ | -------- |
|
|
| **OpenSSL** | RSA-2048/4096, ECDSA (P-256/384/521), AES-256-GCM | ✅ Producción |
|
|
| **OQS** | ML-KEM-768, ML-DSA-65 | ✅ **Producción (PQC)** |
|
|
| **AWS-LC** | RSA, ECDSA (PQC experimental) | ⚠️ Experimental |
|
|
| **RustCrypto** | AES-256-GCM, ChaCha20-Poly1305 | ⚠️ Testing |
|
|
|
|
#### Motores de Secretos
|
|
|
|
| Motor | Funcionalidad |
|
|
| ------- | --------------- |
|
|
| **KV Engine** | Almacenamiento versionado de secretos |
|
|
| **Transit Engine** | Encryption-as-a-service con rotación de claves |
|
|
| **PKI Engine** | Generación de certificados X.509, CA management |
|
|
| **Database Engine** | Credenciales dinámicas con TTL |
|
|
|
|
#### Backends de Storage
|
|
|
|
| Backend | Uso Típico |
|
|
| --------- | ------------ |
|
|
| **Filesystem** | Desarrollo, single-node |
|
|
| **etcd** | Kubernetes, alta disponibilidad |
|
|
| **SurrealDB** | Queries complejas, time-series |
|
|
| **PostgreSQL** | Enterprise, ACID garantizado |
|
|
|
|
#### Seguridad Enterprise
|
|
|
|
| Componente | Capacidades |
|
|
| ------------ | ------------- |
|
|
| **Seal/Unseal** | Shamir Secret Sharing (K de N threshold) |
|
|
| **Autenticación** | Token-based con TTL configurable |
|
|
| **Autorización** | Cedar ABAC (AWS-compatible policies) |
|
|
| **TLS/mTLS** | Cifrado en tránsito + verificación cliente |
|
|
| **Audit** | Logging estructurado de todos los eventos |
|
|
|
|
### Arquitectura
|
|
|
|
```text
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|
│ SecretumVault (~11K LOC, 50+ tests) │
|
|
├─────────────────────────────────────────────────────────────────┤
|
|
│ │
|
|
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐ │
|
|
│ │ CLI │ │ REST API │ │ Secrets Engines │ │
|
|
│ │ (clap) │ │ (Axum) │ │ KV/Transit/PKI/DB │ │
|
|
│ └──────┬──────┘ └──────┬──────┘ └────────────┬────────────┘ │
|
|
│ │ │ │ │
|
|
│ ┌──────┴────────────────┴──────────────────────┴─────────────┐ │
|
|
│ │ VaultCore │ │
|
|
│ │ Seal (Shamir) │ TokenManager │ Cedar ABAC │ Metrics │ │
|
|
│ └────────────────────────────────────────────────────────────┘ │
|
|
│ │ │
|
|
│ ┌───────────────────────┴───────────────────────────────────┐ │
|
|
│ │ Crypto Backends │ │
|
|
│ │ OpenSSL │ OQS (PQC) │ AWS-LC │ RustCrypto │ │
|
|
│ └───────────────────────────────────────────────────────────┘ │
|
|
│ │ │
|
|
│ ┌───────────────────────┴───────────────────────────────────┐ │
|
|
│ │ Storage Backends │ │
|
|
│ │ Filesystem │ etcd │ SurrealDB │ PostgreSQL │ │
|
|
│ └───────────────────────────────────────────────────────────┘ │
|
|
└─────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## 6. Matriz de Funcionalidades Completa
|
|
|
|
### Capacidades por Categoría
|
|
|
|
#### Gestión de Proyectos
|
|
|
|
| Capacidad | Vapora | Kogral | TypeDialog | Provisioning | SecretumVault |
|
|
| ----------- | -------- | -------- | ------------ | -------------- | --------------- |
|
|
| Kanban Board | ✅ Leptos | - | - | - | - |
|
|
| Task Management | ✅ Full | - | - | - | - |
|
|
| Project Hierarchy | ✅ Scopes | ✅ Graphs | - | ✅ Workspaces | - |
|
|
| Real-time Collab | ✅ WebSocket | - | - | - | - |
|
|
| Change Tracking | ✅ History | ✅ Git | - | ✅ Audit | ✅ Audit |
|
|
|
|
#### Conocimiento y Documentación
|
|
|
|
| Capacidad | Vapora | Kogral | TypeDialog | Provisioning | SecretumVault |
|
|
| ----------- | -------- | -------- | ------------ | -------------- | --------------- |
|
|
| Knowledge Graph | ✅ Temporal | ✅ 6 tipos | - | - | - |
|
|
| ADRs | - | ✅ Nativo | - | - | - |
|
|
| Patterns Library | - | ✅ Nativo | - | - | - |
|
|
| Guidelines | - | ✅ Herencia | - | ✅ Schemas | - |
|
|
| Semantic Search | ✅ KG | ✅ fastembed | ✅ Tantivy | ✅ RAG | - |
|
|
|
|
#### Interacción Usuario
|
|
|
|
| Capacidad | Vapora | Kogral | TypeDialog | Provisioning | SecretumVault |
|
|
| ----------- | -------- | -------- | ------------ | -------------- | --------------- |
|
|
| Web UI | ✅ Leptos | - | ✅ Axum | ✅ Leptos | - |
|
|
| CLI | - | ✅ 13 cmds | ✅ inquire | ✅ 80+ shorts | ✅ svault |
|
|
| TUI | - | - | ✅ ratatui | ✅ ratatui | - |
|
|
| Forms | - | - | ✅ 8 tipos | - | - |
|
|
| i18n | - | - | ✅ Fluent | - | - |
|
|
|
|
#### Automatización
|
|
|
|
| Capacidad | Vapora | Kogral | TypeDialog | Provisioning | SecretumVault |
|
|
| ----------- | -------- | -------- | ------------ | -------------- | --------------- |
|
|
| Pipelines | ✅ Agent | - | ✅ Agent MDX | ✅ Workflows | - |
|
|
| LLM Agents | ✅ 12 roles | - | ✅ Multi-prov | ✅ MCP | - |
|
|
| IaC Generation | - | - | ✅ 6 clouds | ✅ Nickel | - |
|
|
| CI/CD | - | - | ✅ Backend | ✅ Full | - |
|
|
| Orchestration | ✅ NATS | - | - | ✅ Hybrid | - |
|
|
|
|
#### Infraestructura
|
|
|
|
| Capacidad | Vapora | Kogral | TypeDialog | Provisioning | SecretumVault |
|
|
| ----------- | -------- | -------- | ------------ | -------------- | --------------- |
|
|
| Multi-cloud | - | - | ✅ Prov-gen | ✅ AWS/UpCloud/Local | - |
|
|
| Kubernetes | ✅ Deploy | - | - | ✅ Full | ✅ etcd backend |
|
|
| Secrets Mgmt | - | - | ✅ Encrypt | ✅ 5 KMS | ✅ **4 engines** |
|
|
| Networking | - | - | - | ✅ VPC/Subnet | - |
|
|
| State Mgmt | - | - | - | ✅ Checkpoints | ✅ 4 backends |
|
|
|
|
#### Seguridad
|
|
|
|
| Capacidad | Vapora | Kogral | TypeDialog | Provisioning | SecretumVault |
|
|
| ----------- | -------- | -------- | ------------ | -------------- | --------------- |
|
|
| Authentication | ✅ JWT | - | - | ✅ JWT+MFA | ✅ Token-based |
|
|
| Authorization | ✅ Cedar | - | - | ✅ Cedar | ✅ Cedar ABAC |
|
|
| Multi-tenant | ✅ Scopes | - | - | ✅ Full | - |
|
|
| Audit | ✅ Logging | - | - | ✅ 7 años | ✅ Full audit |
|
|
| Encryption | - | - | ✅ Field | ✅ Envelope | ✅ **PQC native** |
|
|
| Post-Quantum | - | - | - | - | ✅ ML-KEM/ML-DSA |
|
|
|
|
#### Observabilidad
|
|
|
|
| Capacidad | Vapora | Kogral | TypeDialog | Provisioning | SecretumVault |
|
|
| ----------- | -------- | -------- | ------------ | -------------- | --------------- |
|
|
| Metrics | ✅ Prometheus | - | - | ✅ Full | ✅ Prometheus |
|
|
| Logging | ✅ tracing | ✅ tracing | - | ✅ tracing | ✅ tracing |
|
|
| Tracing | ✅ OTEL | - | - | ✅ OTEL | - |
|
|
| Dashboards | ✅ Grafana | - | - | ✅ Control Center | - |
|
|
|
|
---
|
|
|
|
## 7. Stack Tecnológico
|
|
|
|
### Dependencias Compartidas
|
|
|
|
```text
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|
│ STACK TECNOLÓGICO COMÚN │
|
|
├─────────────────────────────────────────────────────────────────┤
|
|
│ │
|
|
│ LENGUAJE │
|
|
│ └── Rust 2021/2024 edition (type-safe, zero-cost) │
|
|
│ │
|
|
│ CONFIGURACIÓN │
|
|
│ └── Nickel 1.15+ (schemas tipados, lazy eval, validación) │
|
|
│ │
|
|
│ BASE DE DATOS │
|
|
│ └── SurrealDB 2.3+ (multi-model, graph, scopes) │
|
|
│ │
|
|
│ WEB FRAMEWORK │
|
|
│ └── Axum 0.8+ (async, composable, tower middleware) │
|
|
│ │
|
|
│ FRONTEND │
|
|
│ └── Leptos 0.8+ (WASM, reactive, CSR) │
|
|
│ │
|
|
│ TUI │
|
|
│ └── Ratatui 0.30+ (terminal UI, crossterm) │
|
|
│ │
|
|
│ CLI │
|
|
│ └── clap 4+ (derive API, completions) │
|
|
│ │
|
|
│ LLM │
|
|
│ └── rig-core 0.15+ (multi-provider, tools, streaming) │
|
|
│ │
|
|
│ MENSAJERÍA │
|
|
│ └── async-nats 0.45+ (JetStream, delivery garantizado) │
|
|
│ │
|
|
│ SERIALIZACIÓN │
|
|
│ └── serde 1.0 (JSON, YAML, TOML) │
|
|
│ │
|
|
│ ASYNC │
|
|
│ └── Tokio 1.48+ (runtime, spawn, timeouts) │
|
|
│ │
|
|
│ LOGGING │
|
|
│ └── tracing 0.1 (structured, JSON, env-filter) │
|
|
│ │
|
|
│ ERRORES │
|
|
│ └── anyhow + thiserror (ergonomic error handling) │
|
|
│ │
|
|
└─────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## 8. Posicionamiento vs Competencia
|
|
|
|
### Por Dominio
|
|
|
|
#### Plataformas de Desarrollo (Vapora)
|
|
|
|
| Aspecto | Vapora | Jira | Linear | Notion |
|
|
| --------- | -------- | ------ | -------- | -------- |
|
|
| **Self-hosted** | ✅ | ❌ | ❌ | ❌ |
|
|
| **Multi-tenant** | ✅ Native | ❌ | ❌ | Partial |
|
|
| **Agent Orchestration** | ✅ Learning | ❌ | ❌ | ❌ |
|
|
| **LLM Integration** | ✅ 4 providers | AI features | ❌ | AI features |
|
|
| **Real-time** | ✅ WebSocket | ✅ | ✅ | ✅ |
|
|
| **Customizable** | ✅ Full | Limited | Limited | ✅ |
|
|
|
|
#### Knowledge Management (Kogral)
|
|
|
|
| Aspecto | Kogral | Obsidian | Notion | Confluence |
|
|
| --------- | -------- | ---------- | -------- | ------------ |
|
|
| **Git-native** | ✅ | Plugins | ❌ | ❌ |
|
|
| **Developer-focused** | ✅ ADRs/Patterns | General | General | General |
|
|
| **MCP Integration** | ✅ Native | ❌ | ❌ | ❌ |
|
|
| **Semantic Search** | ✅ Local+Cloud | Plugins | Internal | Internal |
|
|
| **Guideline Inheritance** | ✅ | ❌ | ❌ | ❌ |
|
|
| **Offline** | ✅ | ✅ | ❌ | ❌ |
|
|
|
|
#### Forms y Automatización (TypeDialog)
|
|
|
|
| Aspecto | TypeDialog | Typeform | SurveyJS | Inquirer |
|
|
| --------- | ------------ | ---------- | ---------- | ---------- |
|
|
| **Multi-backend** | ✅ 6 | Web only | Web only | CLI only |
|
|
| **Type-safe** | ✅ Nickel | ❌ | Partial | ❌ |
|
|
| **Agent Execution** | ✅ Native | ❌ | ❌ | ❌ |
|
|
| **IaC Generation** | ✅ 6 clouds | ❌ | ❌ | ❌ |
|
|
| **i18n** | ✅ Fluent | ✅ | ✅ | ❌ |
|
|
| **Self-hosted** | ✅ | ❌ | ✅ | ✅ |
|
|
|
|
#### IaC (Provisioning)
|
|
|
|
| Aspecto | Provisioning | Terraform | Pulumi | Ansible |
|
|
| --------- | -------------- | ----------- | -------- | --------- |
|
|
| **Language** | Nickel (typed) | HCL | TS/Py | YAML |
|
|
| **AI-native** | ✅ MCP+RAG | ❌ | ❌ | ❌ |
|
|
| **Security** | ✅ 39K lines | Basic | Basic | Vault plugin |
|
|
| **Orchestration** | ✅ Hybrid | State file | State | Playbooks |
|
|
| **Multi-cloud** | ✅ | ✅ | ✅ | ✅ |
|
|
| **DX** | ✅ 80+ shortcuts | Verbose | Standard | Standard |
|
|
|
|
#### Secrets Management (SecretumVault)
|
|
|
|
| Aspecto | SecretumVault | HashiCorp Vault | AWS Secrets Manager | Azure Key Vault |
|
|
| --------- | --------------- | ----------------- | --------------------- | ----------------- |
|
|
| **Language** | Rust (memory-safe) | Go | SaaS | SaaS |
|
|
| **Post-Quantum** | ✅ ML-KEM/ML-DSA | ❌ | ❌ | ❌ |
|
|
| **Self-hosted** | ✅ Complete | ✅ | ❌ | ❌ |
|
|
| **Crypto backends** | 4 pluggable | 1 fixed | 1 fixed | 1 fixed |
|
|
| **Storage backends** | 4 (FS/etcd/Surreal/PG) | Multiple | Proprietary | Proprietary |
|
|
| **Authorization** | Cedar ABAC | ACL | IAM | RBAC |
|
|
| **Shamir unsealing** | ✅ Native | ✅ | ❌ | ❌ |
|
|
| **License** | Apache-2.0 | BSL/Enterprise | Proprietary | Proprietary |
|
|
|
|
---
|
|
|
|
## 9. Integración entre Proyectos
|
|
|
|
### Flujo de Datos
|
|
|
|
```text
|
|
┌──────────────────┐
|
|
│ Kogral │
|
|
│ (Conocimiento) │
|
|
└────────┬─────────┘
|
|
│
|
|
Guidelines, Patterns, ADRs, Decisions
|
|
│
|
|
┌────────────────────────┼────────────────────────┐
|
|
│ │ │
|
|
▼ ▼ ▼
|
|
┌───────────┐ ┌───────────┐ ┌─────────────┐
|
|
│ Vapora │◄───────▶│TypeDialog │◄───────▶│Provisioning │
|
|
│(Desarrollo)│ │ (Forms) │ │ (IaC) │
|
|
└─────┬─────┘ └─────┬─────┘ └──────┬──────┘
|
|
│ │ │
|
|
│ ┌───────────────┴───────────────┐ │
|
|
│ │ │ │
|
|
│ ▼ ▼ │
|
|
│ ┌───────────────────────────────────┐ │
|
|
└──▶│ SecretumVault │◄───┘
|
|
│ (Secrets + PQC Crypto) │
|
|
└───────────────────────────────────┘
|
|
│
|
|
▼
|
|
┌─────────────────────────────────────────────────────────────┐
|
|
│ PRODUCTO FINAL │
|
|
│ Software desarrollado, documentado, configurado, desplegado │
|
|
│ con secretos protegidos (PQC) │
|
|
└─────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
### Sinergias Específicas
|
|
|
|
| Integración | Beneficio |
|
|
| ------------- | ----------- |
|
|
| Kogral → Vapora | Agentes consultan guidelines antes de generar código |
|
|
| Kogral → TypeDialog | Forms para captura estructurada de ADRs |
|
|
| Kogral → Provisioning | ADRs de infraestructura automáticos |
|
|
| Vapora → TypeDialog | Formularios como input para pipelines |
|
|
| Vapora → Provisioning | Orquestación de deployments |
|
|
| TypeDialog → Provisioning | prov-gen backend genera IaC desde forms |
|
|
|
|
### Componentes Reutilizables
|
|
|
|
| Componente | Origen | Usado En |
|
|
| ------------ | -------- | ---------- |
|
|
| SurrealDB patterns | Vapora | Kogral, Provisioning |
|
|
| Nickel schemas | Provisioning | TypeDialog, Kogral |
|
|
| rig-core abstraction | Vapora | Todos |
|
|
| Axum patterns | Vapora | TypeDialog, Provisioning |
|
|
| tracing setup | Vapora | Todos |
|
|
| Cedar policies | Provisioning | Vapora |
|
|
| Leptos components | Vapora | Provisioning |
|
|
|
|
---
|
|
|
|
## 10. Métricas del Portfolio
|
|
|
|
| Métrica | Vapora | Kogral | TypeDialog | Provisioning | SecretumVault | **Total** |
|
|
| --------- | -------- | -------- | ------------ | -------------- | --------------- | ----------- |
|
|
| **Crates** | 13 | 3 | 8 | 15+ | 1 | **40+** |
|
|
| **Tests** | 218 | 56 | 3,818 | 218 | 50+ | **4,360+** |
|
|
| **LOC (aprox)** | ~50K | ~15K | ~90K | ~40K | ~11K | **~206K** |
|
|
| **Backends** | 1 (Leptos) | 3 | 6 | 3 | 4 storage | **17** |
|
|
| **LLM Providers** | 4 | 4 | 4 | 3 | - | **4 únicos** |
|
|
| **MCP Tools** | Gateway | 7 | - | 7 | - | **14+** |
|
|
| **Crypto backends** | - | - | - | 5 KMS | 4 | **4 únicos** |
|
|
|
|
---
|
|
|
|
## 11. Orden de Adopción Recomendado
|
|
|
|
### Secuencia Óptima
|
|
|
|
```text
|
|
Fase 1: Kogral
|
|
│ Establece base de conocimiento
|
|
│ Guidelines, patterns, ADRs
|
|
▼
|
|
Fase 2: TypeDialog
|
|
│ Habilita inputs estructurados
|
|
│ Validación con Nickel contracts
|
|
▼
|
|
Fase 3: SecretumVault
|
|
│ Gestión segura de secretos
|
|
│ Preparación criptográfica PQC
|
|
▼
|
|
Fase 4: Vapora
|
|
│ Orquesta desarrollo con agentes
|
|
│ Aprovecha knowledge graph
|
|
▼
|
|
Fase 5: Provisioning
|
|
│ Infraestructura informada
|
|
│ por todo el contexto previo
|
|
```
|
|
|
|
### Adopción Independiente
|
|
|
|
Cada proyecto funciona de forma standalone:
|
|
|
|
- **Kogral**: Knowledge management sin dependencias externas
|
|
- **TypeDialog**: Forms y agentes sin otros proyectos
|
|
- **SecretumVault**: Gestión de secretos Rust-native
|
|
- **Vapora**: Desarrollo y orquestación completa
|
|
- **Provisioning**: IaC enterprise independiente
|
|
|
|
Las sinergias emergen con adopción combinada, pero no son requisito.
|
|
|
|
---
|
|
|
|
*Documento generado: 2026-01-22*
|
|
*Tipo: info (posicionamiento estratégico completo)*
|