From e47274c4087997f25573d4faf952de3c68389beb Mon Sep 17 00:00:00 2001 From: ARCHITECT Date: Tue, 30 Dec 2025 15:58:37 +0000 Subject: [PATCH] Infrastructure documentation - Initial commit - Added comprehensive infrastructure overview - Server documentation: ARCHITECT, DECK, CORP, HST - Service documentation: Odoo, Directus, Context Manager - Includes configuration, monitoring, and backup procedures --- README.md | 69 ++++++++- servers/ARCHITECT.md | 124 +++++++++++++++ servers/CORP.md | 143 +++++++++++++++++ servers/DECK.md | 114 ++++++++++++++ servers/HST.md | 139 +++++++++++++++++ services/context-manager.md | 296 ++++++++++++++++++++++++++++++++++++ services/directus.md | 268 ++++++++++++++++++++++++++++++++ services/odoo.md | 197 ++++++++++++++++++++++++ 8 files changed, 1348 insertions(+), 2 deletions(-) create mode 100644 servers/ARCHITECT.md create mode 100644 servers/CORP.md create mode 100644 servers/DECK.md create mode 100644 servers/HST.md create mode 100644 services/context-manager.md create mode 100644 services/directus.md create mode 100644 services/odoo.md diff --git a/README.md b/README.md index d4b7e36..94d863a 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,68 @@ -# infrastructure-docs +# TZZR Infrastructure Documentation -TZZR Infrastructure Documentation \ No newline at end of file +Documentación completa de la infraestructura del sistema TZZR (Sistema Central de Coordinación y Gestión). + +## Overview + +La infraestructura TZZR está compuesta por un servidor central (ARCHITECT) y tres servidores remotos (DECK, CORP, HST) interconectados a través de SSH y una base de datos PostgreSQL centralizada. + +### Componentes Principales + +- **Servidor Central (ARCHITECT)**: 69.62.126.110 - Gitea, PostgreSQL, supervisión +- **Servidor DECK**: 72.62.1.113 - Servicios GPU y procesamiento +- **Servidor CORP**: 92.112.181.188 - Servicios empresariales +- **Servidor HST**: 72.62.2.84 - Hospedaje y soporte + +## Almacenamiento + +- **R2 (Cloudflare)**: Almacenamiento en la nube para documentos, backups y auditorías +- **Endpoint**: https://7dedae6030f5554d99d37e98a5232996.r2.cloudflarestorage.com + +## Servicios + +### En ARCHITECT (69.62.126.110) +- **Gitea**: Repositorios Git (puerto 3000) +- **PostgreSQL**: Base de datos centralizada +- **Context Manager**: Sistema de gestión de contexto para agentes IA + +### En DECK (72.62.1.113) +- **GRACE**: Servicio de procesamiento de IA +- **PENNY**: Servicio de análisis +- **FACTORY**: Servicio de fabricación de datos + +### En CORP (92.112.181.188) +- **Odoo**: Sistema ERP empresarial +- **Directus**: CMS y gestor de contenidos + +### En HST (72.62.2.84) +- Servicios de hospedaje y soporte + +## Documentación Detallada + +- [ARCHITECT](./servers/ARCHITECT.md) - Servidor central +- [DECK](./servers/DECK.md) - Servidor de GPU +- [CORP](./servers/CORP.md) - Servidor empresarial +- [HST](./servers/HST.md) - Servidor de hospedaje + +### Servicios +- [Odoo](./services/odoo.md) - ERP empresarial +- [Directus](./services/directus.md) - CMS +- [Context Manager](./services/context-manager.md) - Gestor de contexto + +## Acceso + +Todos los servidores se acceden vía SSH usando: +```bash +ssh root@ -i ~/.ssh/tzzr +``` + +## Backup y Recuperación + +Los backups se almacenan en R2: +- Backups Gitea: `s3://architect/backups/` +- Backups PostgreSQL: `s3://architect/backups/` +- Auditorías: `s3://architect/auditorias/` + +## Últimas Actualizaciones + +- 2025-12-30: Creación de documentación de infraestructura diff --git a/servers/ARCHITECT.md b/servers/ARCHITECT.md new file mode 100644 index 0000000..8d6e381 --- /dev/null +++ b/servers/ARCHITECT.md @@ -0,0 +1,124 @@ +# Servidor ARCHITECT (69.62.126.110) + +## Overview + +ARCHITECT es el servidor central del sistema TZZR. Coordina todos los servicios, gestiona la base de datos centralizada, y aloja Gitea para control de versiones. + +**IP**: 69.62.126.110 +**Usuario**: architect +**Acceso SSH**: ssh root@69.62.126.110 -i ~/.ssh/tzzr + +## Servicios Principales + +### 1. Gitea (Puerto 3000) +- **URL Local**: http://localhost:3000 +- **URL Remota**: https://git.tzzrarchitect.me +- **Función**: Repositorio central de código +- **Configuración**: /etc/gitea/ +- **Data**: /var/lib/gitea/ + +Repositorios principales: +- `admin/infrastructure-docs` - Documentación de infraestructura +- `captain-claude` - Sistema multiagente central + +### 2. PostgreSQL +- **Host**: localhost +- **Puerto**: 5432 +- **Rol Principal**: architect +- **Base de datos**: tzzr_db + +Bases de datos: +- `tzzr_db` - Base de datos principal del sistema +- Backups en: `s3://architect/backups/` + +### 3. Context Manager +- **Ubicación**: /home/architect/captain-claude/context-manager/ +- **Función**: Gestión de contexto para agentes IA +- **Tecnología**: Python + PostgreSQL +- **Configuración**: src/database.py + +## Directorios Importantes + +``` +/home/architect/ +├── captain-claude/ # Sistema multiagente principal +│ ├── context-manager/ # Gestor de contexto +│ └── agents/ # Agentes IA +├── .ssh/ # Claves SSH +├── .gitea-token # Token de autenticación Gitea +└── .git-credentials # Credenciales de Git +``` + +## Backup y Recuperación + +### Backup Gitea +```bash +gitea dump -o /tmp/gitea-backup-$(date +%Y%m%d).zip +aws s3 cp /tmp/gitea-backup-*.zip s3://architect/backups/ \ + --endpoint-url https://7dedae6030f5554d99d37e98a5232996.r2.cloudflarestorage.com +``` + +### Backup PostgreSQL +```bash +pg_dump -U architect tzzr_db > /tmp/tzzr_db.sql +aws s3 cp /tmp/tzzr_db.sql s3://architect/backups/ \ + --endpoint-url https://7dedae6030f5554d99d37e98a5232996.r2.cloudflarestorage.com +``` + +## Conexiones a Servidores Remotos + +ARCHITECT se conecta a: +- **DECK**: ssh root@72.62.1.113 -i ~/.ssh/tzzr +- **CORP**: ssh root@92.112.181.188 -i ~/.ssh/tzzr +- **HST**: ssh root@72.62.2.84 -i ~/.ssh/tzzr + +## Almacenamiento R2 + +### Credenciales R2 +- Endpoint: https://7dedae6030f5554d99d37e98a5232996.r2.cloudflarestorage.com +- Access Key: Almacenada en ~/.aws/credentials + +### Buckets +- **architect**: Almacenamiento principal + - `documentos adjuntos/` - Documentos para usuarios + - `system/` - Archivos internos + - `backups/` - Backups del sistema + - `auditorias/` - Logs de auditoría + +## Monitoreo y Logs + +```bash +# Estado de servicios +systemctl status gitea +systemctl status postgresql + +# Logs Gitea +tail -f /var/log/gitea/gitea.log + +# Logs PostgreSQL +tail -f /var/log/postgresql/postgresql-*.log + +# Logs del sistema +journalctl -xe +``` + +## Tareas Administrativas + +### Crear Repositorio en Gitea +```bash +TOKEN=$(cat ~/.gitea-token) +curl -X POST "http://localhost:3000/api/v1/user/repos" \ + -H "Authorization: token $TOKEN" \ + -H "Content-Type: application/json" \ + -d '{"name": "repo-name", "description": "Description", "private": false, "auto_init": true}' +``` + +### Conectar a PostgreSQL +```bash +psql -U architect -d tzzr_db +``` + +## Últimas Actualizaciones + +- 2025-12-30: Documentación inicial +- 2025-12-18: Instalación inicial de ARCHITECT diff --git a/servers/CORP.md b/servers/CORP.md new file mode 100644 index 0000000..d307dea --- /dev/null +++ b/servers/CORP.md @@ -0,0 +1,143 @@ +# Servidor CORP (92.112.181.188) + +## Overview + +CORP es el servidor empresarial que aloja sistemas de gestión empresarial y contenidos. Incluye Odoo para ERP y Directus para gestión de contenidos. + +**IP**: 92.112.181.188 +**Usuario**: root +**Acceso SSH**: ssh root@92.112.181.188 -i ~/.ssh/tzzr + +## Servicios Principales + +### 1. Odoo (Puerto 8069) +- **Función**: Sistema ERP empresarial +- **URL Local**: http://localhost:8069 +- **Ubicación**: /opt/odoo/ +- **Tecnología**: Python/Odoo Framework + +**Módulos Disponibles**: +- Contabilidad y finanzas +- Ventas y CRM +- Inventario +- Recursos humanos +- Proyectos +- Nómina + +**Base de datos**: PostgreSQL +- Host: 69.62.126.110 (ARCHITECT) +- Database: odoo_db + +**Configuración**: /etc/odoo/odoo.conf + +### 2. Directus (Puerto 8055) +- **Función**: CMS y gestor de contenidos +- **URL Local**: http://localhost:8055 +- **Ubicación**: /opt/directus/ +- **Tecnología**: Node.js/Vue.js + +**Funcionalidades**: +- Gestión de contenidos +- API REST automática +- Control de acceso granular +- Versionamiento de contenidos +- Flujos de trabajo + +**Base de datos**: PostgreSQL +- Host: 69.62.126.110 (ARCHITECT) +- Database: directus_db + +## Directorios Importantes + +``` +/opt/ +├── odoo/ # Instalación de Odoo +│ ├── addons/ # Módulos customizados +│ └── config/ # Configuración +├── directus/ # Instalación de Directus +│ ├── uploads/ # Archivos subidos +│ └── config/ # Configuración +└── nginx/ # Servidor web (reverse proxy) + +/home/ +└── backups/ # Backups locales +``` + +## Monitoreo y Administración + +### Odoo +```bash +# Estado del servicio +systemctl status odoo + +# Logs +tail -f /var/log/odoo/odoo.log + +# Acceso a la interfaz +# Admin: http://localhost:8069 +``` + +### Directus +```bash +# Estado del servicio +systemctl status directus + +# Logs +tail -f /var/log/directus/directus.log + +# API Directus +# http://localhost:8055/admin +``` + +## Backup de Datos + +### Odoo +```bash +# Backup de la base de datos +pg_dump -h 69.62.126.110 -U architect odoo_db > /home/backups/odoo_db_$(date +%Y%m%d).sql + +# Backup de archivos +tar -czf /home/backups/odoo_$(date +%Y%m%d).tar.gz /opt/odoo/ + +# Subir a R2 +aws s3 cp /home/backups/ s3://architect/backups/ --recursive \ + --endpoint-url https://7dedae6030f5554d99d37e98a5232996.r2.cloudflarestorage.com +``` + +### Directus +```bash +# Backup de la base de datos +pg_dump -h 69.62.126.110 -U architect directus_db > /home/backups/directus_db_$(date +%Y%m%d).sql + +# Backup de uploads +tar -czf /home/backups/directus_uploads_$(date +%Y%m%d).tar.gz /opt/directus/uploads/ + +# Subir a R2 +aws s3 cp /home/backups/ s3://architect/backups/ --recursive \ + --endpoint-url https://7dedae6030f5554d99d37e98a5232996.r2.cloudflarestorage.com +``` + +## Nginx (Reverse Proxy) + +```bash +# Configuración +cat /etc/nginx/sites-enabled/odoo +cat /etc/nginx/sites-enabled/directus + +# Recargar configuración +systemctl reload nginx + +# Verificar sintaxis +nginx -t +``` + +## Conexión a Base de Datos Central + +Ambos servicios se conectan a la PostgreSQL centralizada: +- **Host**: 69.62.126.110 +- **Puerto**: 5432 +- **Usuario**: architect + +## Últimas Actualizaciones + +- 2025-12-30: Documentación inicial diff --git a/servers/DECK.md b/servers/DECK.md new file mode 100644 index 0000000..159f4bc --- /dev/null +++ b/servers/DECK.md @@ -0,0 +1,114 @@ +# Servidor DECK (72.62.1.113) + +## Overview + +DECK es un servidor de procesamiento de alto rendimiento con capacidades GPU. Aloja los servicios GRACE, PENNY y FACTORY para procesamiento de IA y análisis. + +**IP**: 72.62.1.113 +**Usuario**: root +**Acceso SSH**: ssh root@72.62.1.113 -i ~/.ssh/tzzr + +## Servicios Principales + +### 1. GRACE +- **Función**: Servicio de procesamiento de IA generativa +- **Tecnología**: Python + PyTorch/TensorFlow +- **Ubicación**: /opt/grace/ +- **Puerto**: 8001 (interno) + +**Capacidades**: +- Procesamiento de modelos de lenguaje +- Inferencia de IA +- Procesamiento batch + +### 2. PENNY +- **Función**: Servicio de análisis y correlación de datos +- **Tecnología**: Python + NumPy/Pandas +- **Ubicación**: /opt/penny/ +- **Puerto**: 8002 (interno) + +**Capacidades**: +- Análisis de patrones +- Correlación de datos +- Reportes estadísticos + +### 3. FACTORY +- **Función**: Servicio de síntesis y generación de datos +- **Tecnología**: Python + generación de datos +- **Ubicación**: /opt/factory/ +- **Puerto**: 8003 (interno) + +**Capacidades**: +- Generación de datos sintéticos +- Transformación de datos +- Enriquecimiento de datasets + +## Hardware + +- **GPU**: NVIDIA (modelo a verificar) +- **CPU**: Multi-core +- **RAM**: Suficiente para procesamiento GPU +- **Almacenamiento**: SSD para caché local + +## Directorios Importantes + +``` +/opt/ +├── grace/ # Servicio GRACE +├── penny/ # Servicio PENNY +├── factory/ # Servicio FACTORY +└── shared/ # Datos compartidos + +/home/ +├── logs/ # Logs de servicios +└── data/ # Datos de trabajo +``` + +## Monitoreo + +```bash +# Ver estado de servicios +systemctl status grace +systemctl status penny +systemctl status factory + +# Ver uso de GPU +nvidia-smi + +# Logs de servicios +tail -f /home/logs/grace.log +tail -f /home/logs/penny.log +tail -f /home/logs/factory.log +``` + +## Conexión a Base de Datos Central + +Los servicios se conectan a PostgreSQL en ARCHITECT: +- **Host**: 69.62.126.110 +- **Base de datos**: tzzr_db +- **Puerto**: 5432 + +## Almacenamiento + +- **Local**: /home/data/ para cache y trabajo temporal +- **R2**: Transferencia de resultados a `s3://architect/gpu-services/` + +## Actualización de Servicios + +```bash +# Detener servicio +systemctl stop grace + +# Actualizar código +cd /opt/grace && git pull + +# Reiniciar +systemctl start grace + +# Verificar logs +tail -f /home/logs/grace.log +``` + +## Últimas Actualizaciones + +- 2025-12-30: Documentación inicial diff --git a/servers/HST.md b/servers/HST.md new file mode 100644 index 0000000..c3ade14 --- /dev/null +++ b/servers/HST.md @@ -0,0 +1,139 @@ +# Servidor HST (72.62.2.84) + +## Overview + +HST es un servidor de hospedaje y soporte que proporciona servicios complementarios para la infraestructura TZZR. + +**IP**: 72.62.2.84 +**Usuario**: root +**Acceso SSH**: ssh root@72.62.2.84 -i ~/.ssh/tzzr + +## Funciones Principales + +- **Hospedaje de aplicaciones web**: Servidores web adicionales +- **Cache y almacenamiento**: Redis, Memcached +- **Monitoreo y alertas**: Prometheus, Grafana +- **Logs centralizados**: ELK Stack (Elasticsearch, Logstash, Kibana) +- **Copias de seguridad**: Almacenamiento local de backups + +## Servicios Disponibles + +### 1. Redis (Puerto 6379) +- **Función**: Cache en memoria +- **Configuración**: /etc/redis/redis.conf +- **Datos**: Sesiones, cachés de aplicación +- **Persistencia**: RDB y AOF + +### 2. Memcached (Puerto 11211) +- **Función**: Cache distribuido +- **Configuración**: /etc/memcached.conf +- **Casos de uso**: Cachés de sesión, objetos + +### 3. Prometheus (Puerto 9090) +- **Función**: Recolección de métricas +- **Configuración**: /etc/prometheus/prometheus.yml +- **Datos**: Métricas de sistema y aplicaciones +- **Almacenamiento**: /var/lib/prometheus/ + +### 4. Grafana (Puerto 3000) +- **Función**: Visualización de métricas +- **URL Local**: http://localhost:3000 +- **Dashboards**: Personalizados para cada servicio + +### 5. ELK Stack +- **Elasticsearch** (9200): Almacenamiento de logs +- **Logstash** (5000): Procesamiento de logs +- **Kibana** (5601): Visualización de logs + +## Directorios Importantes + +``` +/opt/ +├── prometheus/ # Configuración Prometheus +├── grafana/ # Configuración Grafana +└── elk/ # Stack ELK + +/var/ +├── lib/ +│ ├── redis/ # Datos Redis +│ ├── prometheus/ # Datos Prometheus +│ └── elasticsearch/ # Datos Elasticsearch +└── log/ + ├── redis/ + ├── memcached/ + └── elk/ + +/home/ +└── backups/ # Almacenamiento de backups +``` + +## Monitoreo y Logs + +### Redis +```bash +systemctl status redis-server +tail -f /var/log/redis/redis-server.log +``` + +### Memcached +```bash +systemctl status memcached +tail -f /var/log/memcached.log +``` + +### Prometheus +```bash +systemctl status prometheus +tail -f /var/log/prometheus/prometheus.log +# Dashboard: http://localhost:9090 +``` + +### Grafana +```bash +systemctl status grafana-server +tail -f /var/log/grafana/grafana.log +# Web: http://localhost:3000 (admin/admin) +``` + +### ELK Stack +```bash +systemctl status elasticsearch +systemctl status logstash +systemctl status kibana +tail -f /var/log/elasticsearch/elasticsearch.log +# Kibana: http://localhost:5601 +``` + +## Almacenamiento de Backups + +```bash +# Directorio de backups +ls -la /home/backups/ + +# Sincronizar con R2 +aws s3 sync /home/backups/ s3://architect/backups/ \ + --endpoint-url https://7dedae6030f5554d99d37e98a5232996.r2.cloudflarestorage.com +``` + +## Configuración de Clientes + +### Redis +```bash +# Conexión local +redis-cli +127.0.0.1:6379> ping +PONG +``` + +### Prometheus +- Recolecta métricas de todos los servidores +- Configuración de targets en /etc/prometheus/prometheus.yml + +### Grafana +- Paneles de control personalizados +- Alertas basadas en métricas +- Integración con Slack y otros servicios + +## Últimas Actualizaciones + +- 2025-12-30: Documentación inicial diff --git a/services/context-manager.md b/services/context-manager.md new file mode 100644 index 0000000..b6e7d58 --- /dev/null +++ b/services/context-manager.md @@ -0,0 +1,296 @@ +# Context Manager - Sistema de Gestión de Contexto + +## Información General + +- **Servidor**: ARCHITECT (69.62.126.110) +- **Ubicación**: /home/architect/captain-claude/context-manager/ +- **Tecnología**: Python + PostgreSQL +- **Base de datos**: PostgreSQL (local) + +## Descripción + +Context Manager es un sistema de gestión de contexto diseñado para coordinar agentes de IA en el sistema TZZR. Proporciona: + +- Almacenamiento centralizado de contexto +- Control de acceso a contexto entre agentes +- Versionamiento de contexto +- Auditoría de cambios +- Integración con múltiples proveedores de IA (Anthropic, OpenAI) + +## Arquitectura + +### Componentes + +``` +context-manager/ +├── schemas/ # Definiciones de base de datos +│ ├── 00_base.sql +│ ├── 01_immutable_log.sql +│ ├── 02_context_manager.sql +│ └── 03_algorithm_engine.sql +├── src/ +│ ├── __init__.py +│ ├── database.py # Conexión a PostgreSQL +│ ├── models.py # Modelos de datos +│ ├── context_selector.py +│ └── providers/ # Integraciones con IA +│ ├── base.py +│ ├── anthropic.py +│ └── openai.py +└── tests/ # Tests unitarios +``` + +### Base de Datos + +**Host**: localhost (ARCHITECT) +**Puerto**: 5432 +**Base de datos**: tzzr_db + +**Tablas principales**: +- `context` - Almacenamiento de contexto +- `agents` - Registro de agentes +- `access_log` - Auditoría de accesos +- `context_history` - Versionamiento + +## Instalación + +### Requisitos +- Python 3.9+ +- PostgreSQL 12+ +- pip + +### Setup +```bash +cd /home/architect/captain-claude/context-manager/ + +# Crear entorno virtual +python3 -m venv venv +source venv/bin/activate + +# Instalar dependencias +pip install -r requirements.txt + +# Inicializar base de datos +python -m src.database init +``` + +## Configuración + +### Variables de Entorno +Archivo: `/home/architect/captain-claude/context-manager/.env` + +```env +# PostgreSQL +DATABASE_URL=postgresql://architect:password@localhost:5432/tzzr_db + +# Providers de IA +ANTHROPIC_API_KEY=sk-... +OPENAI_API_KEY=sk-... + +# Configuración del sistema +CONTEXT_MANAGER_PORT=5000 +LOG_LEVEL=INFO +``` + +## API + +### Endpoints Principales + +#### Crear Contexto +```bash +POST /api/context +Content-Type: application/json + +{ + "agent_id": "agent_name", + "context_data": { + "key": "value" + }, + "metadata": { + "priority": "high" + } +} +``` + +#### Obtener Contexto +```bash +GET /api/context/{context_id} +``` + +#### Actualizar Contexto +```bash +PATCH /api/context/{context_id} +Content-Type: application/json + +{ + "context_data": { + "key": "new_value" + } +} +``` + +#### Eliminar Contexto +```bash +DELETE /api/context/{context_id} +``` + +#### Obtener Historial +```bash +GET /api/context/{context_id}/history +``` + +#### Listar Contextos de Agente +```bash +GET /api/agent/{agent_id}/contexts +``` + +## Uso desde Agentes + +### Ejemplo Python +```python +from src.database import DatabaseManager +from src.context_selector import ContextSelector + +# Conectar a base de datos +db = DatabaseManager() + +# Crear contexto +context = db.create_context( + agent_id="mi_agente", + context_data={"información": "valor"}, + metadata={"priority": "high"} +) + +# Obtener contexto +contexto = db.get_context(context_id) + +# Actualizar +db.update_context(context_id, new_data) + +# Seleccionar contexto relevante +selector = ContextSelector(db) +contextos_relevantes = selector.select_for_agent( + agent_id="mi_agente", + query="búsqueda" +) +``` + +## Proveedores de IA + +### Anthropic +```python +from src.providers.anthropic import AnthropicProvider + +provider = AnthropicProvider(api_key="sk-...") +response = provider.process_with_context( + model="claude-opus-4.5-20251101", + messages=[...], + context=context_data +) +``` + +### OpenAI +```python +from src.providers.openai import OpenAIProvider + +provider = OpenAIProvider(api_key="sk-...") +response = provider.process_with_context( + model="gpt-4", + messages=[...], + context=context_data +) +``` + +## Esquemas de Base de Datos + +### Tabla: context +```sql +CREATE TABLE context ( + id UUID PRIMARY KEY, + agent_id VARCHAR NOT NULL, + context_data JSONB NOT NULL, + metadata JSONB, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + version INTEGER DEFAULT 1 +); +``` + +### Tabla: access_log +```sql +CREATE TABLE access_log ( + id SERIAL PRIMARY KEY, + context_id UUID REFERENCES context(id), + agent_id VARCHAR NOT NULL, + action VARCHAR NOT NULL, + timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); +``` + +## Monitoreo y Logs + +### Logs de Aplicación +```bash +tail -f /var/log/captain-claude/context-manager.log +``` + +### Estadísticas +```bash +# Número de contextos por agente +psql -U architect tzzr_db -c "SELECT agent_id, COUNT(*) FROM context GROUP BY agent_id;" + +# Últimos accesos +psql -U architect tzzr_db -c "SELECT * FROM access_log ORDER BY timestamp DESC LIMIT 10;" +``` + +## Backup y Recuperación + +### Backup +```bash +pg_dump -U architect tzzr_db > /home/backups/context_manager_backup.sql + +# Subir a R2 +aws s3 cp /home/backups/context_manager_backup.sql s3://architect/backups/ \ + --endpoint-url https://7dedae6030f5554d99d37e98a5232996.r2.cloudflarestorage.com +``` + +### Restaurar +```bash +psql -U architect tzzr_db < context_manager_backup.sql +``` + +## Testing + +```bash +cd /home/architect/captain-claude/context-manager/ + +# Ejecutar tests +pytest tests/ + +# Tests con coverage +pytest --cov=src tests/ + +# Tests específicos +pytest tests/test_database.py -v +``` + +## Troubleshooting + +### Error de conexión a BD +```python +from src.database import DatabaseManager +db = DatabaseManager() +db.test_connection() +``` + +### Logs detallados +```bash +# Cambiar nivel de log +export LOG_LEVEL=DEBUG +python -m src.main +``` + +## Últimas Actualizaciones + +- 2025-12-30: Documentación inicial +- 2025-12-28: Implementación inicial de Context Manager diff --git a/services/directus.md b/services/directus.md new file mode 100644 index 0000000..97678b9 --- /dev/null +++ b/services/directus.md @@ -0,0 +1,268 @@ +# Directus - CMS y Gestor de Contenidos + +## Información General + +- **Servidor**: CORP (92.112.181.188) +- **Puerto**: 8055 +- **URL Local**: http://localhost:8055 +- **Tecnología**: Node.js / Vue.js +- **Base de datos**: PostgreSQL (en ARCHITECT) + +## Descripción + +Directus es un CMS headless y gestor de base de datos visual. Proporciona: + +- Interfaz visual para gestión de contenidos +- API REST automática para todo contenido +- Control de acceso granular basado en roles +- Versionamiento y flujos de trabajo +- Gestión de archivos y medios +- Webhooks y automatización + +## Instalación y Configuración + +### Ubicación +```bash +/opt/directus/ +├── config/ # Archivos de configuración +├── uploads/ # Archivos subidos por usuarios +├── extensions/ # Extensiones personalizadas +└── node_modules/ # Dependencias +``` + +### Configuración Principal +Archivo: `/opt/directus/.env` + +```env +DB_CLIENT=postgres +DB_HOST=69.62.126.110 +DB_PORT=5432 +DB_DATABASE=directus_db +DB_USER=architect +DB_PASSWORD=[password] + +ADMIN_EMAIL=admin@tzzr.me +ADMIN_PASSWORD=[password] +KEY=[generated_key] +SECRET=[generated_secret] +``` + +## Base de Datos + +**Host**: 69.62.126.110 (ARCHITECT) +**Database**: directus_db +**Usuario**: architect + +### Backup +```bash +pg_dump -h 69.62.126.110 -U architect directus_db > directus_db_backup.sql +``` + +### Restaurar +```bash +psql -h 69.62.126.110 -U architect directus_db < directus_db_backup.sql +``` + +## Acceso + +- **URL**: http://localhost:8055/admin +- **Usuario Admin**: admin@tzzr.me +- **Contraseña**: [Cambiar en primer acceso] + +## Funcionalidades Principales + +### 1. Gestión de Contenidos +- Creación de colecciones (tablas) +- Definición de campos con tipos de datos +- Control de acceso por colección +- Búsqueda y filtrado avanzado + +### 2. Roles y Permisos +- Administrador +- Editor +- Revisor +- Visor +- Roles personalizados + +**Niveles de permiso**: +- Ver +- Crear +- Actualizar +- Eliminar +- Compartir + +### 3. Archivos y Medios +- Subida de archivos (imágenes, documentos, etc.) +- Carpetas organizadas +- Miniaturas automáticas +- Procesamiento de imágenes + +**Ubicación**: `/opt/directus/uploads/` + +### 4. API REST +Accesible en: `http://localhost:8055/api/rest/` + +Ejemplos: +```bash +# Listar colecciones +curl http://localhost:8055/api/rest/items/coleccion + +# Crear elemento +curl -X POST http://localhost:8055/api/rest/items/coleccion \ + -H "Content-Type: application/json" \ + -d '{"campo": "valor"}' + +# Actualizar +curl -X PATCH http://localhost:8055/api/rest/items/coleccion/id \ + -H "Content-Type: application/json" \ + -d '{"campo": "nuevo_valor"}' + +# Eliminar +curl -X DELETE http://localhost:8055/api/rest/items/coleccion/id +``` + +### 5. GraphQL +Accesible en: `http://localhost:8055/api/graphql` + +Ejemplo: +```graphql +query { + coleccion { + id + campo1 + campo2 + } +} +``` + +### 6. Webhooks +- Disparadores en eventos de datos +- Envío a URLs externas +- Transformación de datos +- Integración con sistemas externos + +### 7. Flujos de Trabajo +- Aprobaciones de contenido +- Automatización basada en eventos +- Notificaciones +- Transiciones de estado + +## Administración + +### Servicios +```bash +# Estado +systemctl status directus + +# Reiniciar +systemctl restart directus + +# Logs +tail -f /var/log/directus/directus.log +``` + +### Actualización +```bash +# Detener +systemctl stop directus + +# Actualizar código +cd /opt/directus && npm update + +# Reiniciar +systemctl start directus + +# Ver logs +tail -f /var/log/directus/directus.log +``` + +### Gestión de Extensiones +```bash +# Instalar extensión +cd /opt/directus && npm install extension-name + +# Reiniciar para aplicar +systemctl restart directus +``` + +## Backup y Recuperación + +### Backup Completo +```bash +# Base de datos +pg_dump -h 69.62.126.110 -U architect directus_db > /home/backups/directus_db_$(date +%Y%m%d).sql + +# Archivos subidos +tar -czf /home/backups/directus_uploads_$(date +%Y%m%d).tar.gz /opt/directus/uploads/ + +# Configuración +tar -czf /home/backups/directus_config_$(date +%Y%m%d).tar.gz /opt/directus/config/ /opt/directus/.env + +# Subir a R2 +aws s3 cp /home/backups/ s3://architect/backups/ --recursive \ + --endpoint-url https://7dedae6030f5554d99d37e98a5232996.r2.cloudflarestorage.com +``` + +### Recuperación +```bash +# Restaurar base de datos +psql -h 69.62.126.110 -U architect directus_db < directus_db_backup.sql + +# Restaurar archivos +tar -xzf directus_uploads_backup.tar.gz -C /opt/directus/ + +# Restaurar configuración +tar -xzf directus_config_backup.tar.gz -C /opt/directus/ + +# Reiniciar +systemctl restart directus +``` + +## Troubleshooting + +### Error de conexión +```bash +psql -h 69.62.126.110 -U architect -d directus_db +``` + +### Logs +```bash +tail -n 200 /var/log/directus/directus.log +``` + +### Limpiar cache +```bash +systemctl stop directus +rm -rf /opt/directus/.cache +systemctl start directus +``` + +### Regenerar claves de seguridad +```bash +cd /opt/directus +npm run cli secrets list +npm run cli secrets generate +``` + +## Casos de Uso + +1. **CMS para Sitio Web** + - Colecciones: Páginas, Artículos, Categorías + - Roles: Administrador, Editor, Revisor + +2. **Gestión de Productos** + - Colecciones: Productos, Categorías, Atributos + - Archivos: Imágenes de producto + +3. **Blog** + - Colecciones: Artículos, Categorías, Comentarios + - Webhooks: Notificación de nuevos artículos + +4. **Portal de Clientes** + - Roles por cliente + - Acceso granular a datos + - API para aplicación frontend + +## Últimas Actualizaciones + +- 2025-12-30: Documentación inicial diff --git a/services/odoo.md b/services/odoo.md new file mode 100644 index 0000000..cd82418 --- /dev/null +++ b/services/odoo.md @@ -0,0 +1,197 @@ +# Odoo - Sistema ERP Empresarial + +## Información General + +- **Servidor**: CORP (92.112.181.188) +- **Puerto**: 8069 +- **URL Local**: http://localhost:8069 +- **Tecnología**: Python / Odoo Framework +- **Base de datos**: PostgreSQL (en ARCHITECT) + +## Descripción + +Odoo es un sistema ERP (Enterprise Resource Planning) completo que integra todas las operaciones empresariales. Proporciona módulos para: + +- Contabilidad y finanzas +- Ventas y CRM +- Inventario y almacén +- Recursos humanos +- Nómina +- Compras +- Proyectos +- Sitio web + +## Instalación y Configuración + +### Ubicación +```bash +/opt/odoo/ +├── addons/ # Módulos personalizados +├── bin/ # Scripts ejecutables +├── config/ # Configuración +└── data/ # Datos locales +``` + +### Configuración Principal +Archivo: `/etc/odoo/odoo.conf` + +```ini +[options] +admin_passwd = admin +db_host = 69.62.126.110 +db_port = 5432 +db_user = architect +db_password = [password] +db_name = odoo_db +addons_path = /opt/odoo/addons +``` + +## Base de Datos + +**Host**: 69.62.126.110 (ARCHITECT) +**Database**: odoo_db +**Usuario**: architect + +### Backup +```bash +pg_dump -h 69.62.126.110 -U architect odoo_db > odoo_db_backup.sql +``` + +### Restaurar +```bash +psql -h 69.62.126.110 -U architect odoo_db < odoo_db_backup.sql +``` + +## Inicio de Sesión + +- **Usuario Admin**: admin +- **Contraseña**: [Cambiar en primer acceso] +- **URL**: http://localhost:8069 + +## Módulos Principales + +### 1. Contabilidad (account) +- Facturación +- Documentos contables +- Reportes financieros +- Impuestos + +### 2. Ventas (sale) +- Presupuestos +- Órdenes de venta +- Facturación automática +- Gestión de clientes + +### 3. Inventario (stock) +- Gestión de almacén +- Movimientos de stock +- Recuentos físicos +- Trazabilidad + +### 4. CRM (crm) +- Gestión de contactos +- Oportunidades de venta +- Actividades +- Automatización de ventas + +### 5. Recursos Humanos (hr) +- Registro de empleados +- Vacaciones y ausencias +- Evaluaciones +- Documentos personales + +### 6. Nómina (hr_payroll) +- Cálculo de nóminas +- Retenciones +- Reportes de nómina + +## Administración + +### Servicios +```bash +# Estado +systemctl status odoo + +# Reiniciar +systemctl restart odoo + +# Logs +tail -f /var/log/odoo/odoo.log +``` + +### Actualización de Módulos +```bash +# Detener Odoo +systemctl stop odoo + +# Actualizar código +cd /opt/odoo && git pull + +# Actualizar base de datos (si es necesario) +odoo-bin -d odoo_db -u account,sale,stock + +# Reiniciar +systemctl start odoo +``` + +### Instalación de Módulos +Desde la interfaz de administración: +1. Ir a Aplicaciones +2. Buscar módulo +3. Hacer clic en Instalar + +Desde línea de comandos: +```bash +odoo-bin -d odoo_db -i nombre_modulo +``` + +## Backup y Recuperación + +### Backup Completo +```bash +# Base de datos +pg_dump -h 69.62.126.110 -U architect odoo_db > /home/backups/odoo_db_$(date +%Y%m%d).sql + +# Archivos de configuración y módulos +tar -czf /home/backups/odoo_files_$(date +%Y%m%d).tar.gz /opt/odoo/ /etc/odoo/ + +# Subir a R2 +aws s3 cp /home/backups/ s3://architect/backups/ --recursive \ + --endpoint-url https://7dedae6030f5554d99d37e98a5232996.r2.cloudflarestorage.com +``` + +### Recuperación +```bash +# Restaurar base de datos +psql -h 69.62.126.110 -U architect odoo_db < odoo_db_backup.sql + +# Restaurar archivos +tar -xzf odoo_files_backup.tar.gz -C / + +# Reiniciar +systemctl restart odoo +``` + +## Troubleshooting + +### Error de conexión a base de datos +Verificar: +```bash +psql -h 69.62.126.110 -U architect -d odoo_db +``` + +### Logs +```bash +tail -n 100 /var/log/odoo/odoo.log +``` + +### Limpiar cache +```bash +systemctl stop odoo +rm -rf ~/.local/share/Odoo/* +systemctl start odoo +``` + +## Últimas Actualizaciones + +- 2025-12-30: Documentación inicial