Registro y elevación de componentes base (ADN, Scripts, Servicios)

This commit is contained in:
Ricardo Monla
2026-02-15 20:37:53 -03:00
parent 9e9bf62c68
commit c865a7772b
25279 changed files with 3354766 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
# 00 - Bitácora del Proyecto: Optimización srv-NS8
Este documento registra la evolución, cambios y eventos significativos en el servidor `srv-NS8`.
## 2026-02-11
| Hora | Acción | Detalle | Estado |
| :--- | :--- | :--- | :--- |
| 23:25 | Configuración SSL y Reverse Proxy | **Exitoso**. Certificado Let's Encrypt instalado para `ns8.frlr.utn.edu.ar`. Nginx configurado como Reverse Proxy para servir `/portainer/`, `/sysacad/`, `/bitacoras/` bajo HTTPS (Puerto 443), eliminando la necesidad de exponer puertos inseguros. | Completado |
| 23:15 | Configuración Red Híbrida | **Exitoso**. Se ejecuta `configurar_red_hibrida.sh`. El servidor mantiene gateway `10.x` para salida, pero responde correctamente a la IP pública `190.x` mediante Policy Routing. Mecanismo de rollback verificado. | Completado |
| 23:10 | Protocolo de Seguridad | Se incorpora la **Directiva 5: Protocolo de Seguridad de Red (Hombre Muerto)** en `adn/02_protocolo.md`, haciendo obligatorio el uso de mecanismos de reversión automática para cambios de red. | Completado |
| 23:00 | Instalación Nginx Nativo | **Completado**. El usuario ejecutó `instalar_nginx_simple.sh`. Nginx está activo en el Host (Puerto 80) funcionando como Proxy Reverso para Portainer, Bitácoras y SysACAD. | Completado |
| 22:55 | Resolución Conflicto Puerto | Se reconfigura SysACAD para usar puertos 8080/8443, liberando el puerto 80 del host. | Solucionado |
| 22:50 | Saneamiento y Simplificación | Se eliminan scripts de migración de IP complejos por riesgo innecesario. Se consolida `scripts/instalar_nginx_simple.sh` para instalación nativa sin alterar la red. | Completado |
| 22:45 | Cambio de Estrategia: Nginx Nativo | Se decide eliminar el contenedor `proxy` (Docker) y reemplazarlo por **Nginx Nativo** en el host (`10.0.10.8`), manteniendo la configuración de red actual del servidor. | En Proceso |
| 22:15 | Documentación de Red | Se detalla la **Topología de Red** en `adn/01_ontologia.md`. Se aclara el uso de `macvlan` para la IP pública `190.114.205.18` y la IP privada `10.0.10.8` para el host. | Completado |
| 22:10 | Mantenimiento | Se actualiza **Portainer** a la última versión disponible (detectada 2.33.7). Se descargan imágenes y se recrea el contenedor. | Completado |
| 22:05 | Documentación de Accesos | Se incorpora la tabla de **Puntos de Acceso (URLs)** en `adn/01_ontologia.md` para facilitar la navegación a los servicios. | Completado |
| 22:00 | Reactivación de Servicios | Se levantan exitosamente `portainer`, `proxy` (tras corregir conflicto de red), `bitacoras` y `sysacad`. Todos los contenedores operativos y limitados en recursos. | Completado |
| 21:50 | Validación de Servicios | Se ejecutan pruebas de configuración (`docker compose config`) exitosas para todos los servicios migrados. Límites de memoria confirmados correctos. | Verificado |
| 21:40 | Optimización de Recursos | Se completa la migración de archivos (incluidos `.env` y ocultos). Se aplican límites de memoria RAM a los servicios Docker para proteger la VM. | Completado |
| 21:35 | Centralización de Servicios | Se mueven las configuraciones de `portainer`, `bitacoras`, `sysacad` y `proxy` a `dtic-srv-NS8/servicios/`. Se ajusta contexto de build del proxy. Se crean referencias `LEEME_MIGRACION.md` en origen. | Completado |
| 21:22 | Definición de Prioridades | Se establece la VM `PCV_DTIC-RRHH_W732` como servicio **Crítico/Permanente**. Se define el objetivo de **Optimizar** los servicios Docker (no solo reactivar). | Definido |
| 21:15 | Relevamiento Técnico | Se detectan redes Docker sin contenedores activos (`bitacoras`, `sysacad`, `portainer`). VM VirtualBox consume ~4GB RAM. | Alerta |
| 21:07 | Protocolo de Armonía | Se incorpora la directiva de **Armonía y Auto-optimización** en `adn/02_protocolo.md`. | Completado |
| 21:05 | Establecimiento de Protocolo | Se define el **español** como idioma obligatorio. Se crea `adn/02_protocolo.md`. | Completado |
| 21:01 | Inicio del Relevamiento | Inicialización del repositorio y estructura de directorios `adn`, `docs`, `scripts`. | En proceso |
+65
View File
@@ -0,0 +1,65 @@
# 01 - Ontología del Sistema: srv-NS8
Este documento define la identidad, propósito y componentes principales del servidor `srv-NS8`.
## Identidad
- **Nombre**: `srv-NS8`
- **Hostname**: `srv-NS8`
- **Rol Principal**: Workstation / Híbrido (Docker Host + VirtualBox Hypervisor).
- **Sistema Operativo**: Debian GNU/Linux 12 (bookworm).
- **Kernel**: 6.1.0-28-amd64.
- **Ubicación de Red**: `10.0.10.8/24`.
## Hardware
- **CPU**: AMD Ryzen (16 hilos).
- **RAM**: 15 GiB Total.
- **Almacenamiento**: 438 GB (Root partition).
## Servicios Críticos (ADN Detectado)
### 1. Virtualización (Prioridad Alta)
- **Motor**: VirtualBox.
- **Carga**: VM `PCV_DTIC-RRHH_W732`.
- **Directiva**: **CRÍTICO / PERMANENTE**. Debe priorizarse el uso de RAM para esta VM.
- **Estado**: Ejecutándose (`Ssl`).
### 2. Contenedores Docker (En Optimización)
- **Motor**: Docker + Docker Compose.
- **Objetivo**: Optimizar despliegue y consumo de recursos.
- **Estado de Armonía**: ✅ **Consistente**.
- **Configuración Centralizada**: `dtic-srv-NS8/servicios/`.
- **Servicios Activos**:
- `portainer` (Gestión)
- **`nginx` (Nativo - Proxy Reverso)**
- `bitacoras` (App + DB)
- `sysacad` (App + Nginx interno)
- **Protección de Recursos**: Límites de RAM aplicados.
### 3. Puntos de Acceso (URLs)
| Servicio | URL Pública (SSL) | URL Interna (IP) | Descripción |
| :--- | :--- | :--- | :--- |
| **Portal Principal** | `https://ns8.frlr.utn.edu.ar` | `http://127.0.0.1:80` | Página de bienvenida Nginx |
| **Portainer** | `https://ns8.frlr.utn.edu.ar/portainer/` | `http://127.0.0.1:9000` | Gestión de Contenedores |
| **SysACAD** | `https://ns8.frlr.utn.edu.ar/sysacad/` | `http://127.0.0.1:8080` | Sistema Académico |
| **Bitácoras** | `https://ns8.frlr.utn.edu.ar/bitacoras/` | `http://127.0.0.1:5173` | Sistema de Bitácoras |
### 4. Topología de Red (Híbrida / Policy Routing)
El servidor opera con una arquitectura de red avanzada que combina velocidad en LAN y visibilidad en WAN mediante **Policy Based Routing**.
- **Interfaz Física**: `enp38s0`
- **Direcciones IP**:
1. **Privada (Principal/Salida)**: `10.0.10.8/24` (Gateway: `10.0.10.1`). Priorizada para navegación rápida del servidor.
2. **Pública (Entrada)**: `190.114.205.18/24` (Gateway: `190.114.205.1`). Habilitada para acceso externo seguro.
- **Mecanismo de Enrutamiento**:
- Se utiliza una tabla de rutas secundaria (`190`) y una regla de política (`ip rule`) para asegurar que todo tráfico que entra por la IP pública responda por el Gateway público, evitando asimetría.
- **Seguridad de Red**:
- **Protocolo "Hombre Muerto"**: Implementado en scripts de configuración para revertir cambios automáticamente en caso de pérdida de conexión.
- **SSL/TLS**: Terminación SSL en Nginx Nativo (Puerto 443) para todo el tráfico entrante.
## Propósito
Servidor híbrido que garantiza la operatividad continua de la VM administrativa de RRHH, mientras aloja servicios de desarrollo DTIC gestionados por Nginx Nativo y Docker.
## Estado Actual
- **Estado General**: Operativo. VM y Servicios Docker ejecutándose simultáneamente.
- **Uso de Recursos**: ~7.5GB RAM Estimada (4GB VM + ~3.5GB Docker Max). Equilibrado.
+44
View File
@@ -0,0 +1,44 @@
# 02 - Protocolo del Proyecto: Normas y Directivas
Este documento establece las reglas fundamentales para la interacción, documentación y desarrollo en el proyecto `srv-NS8`.
## 1. Idioma
- **Directiva**: **Todo el contenido debe estar en español.**
- **Alcance**:
- Interacciones con el asistente (chat).
- Documentación (archivos `.md`).
- Mensajes de Commit (Git).
- Comentarios en el código (scripts, configs).
- Nombres de archivos y directorios (preferentemente, salvo estándares técnicos estrictos).
## 2. Formato de Documentación
- **Estilo**: Markdown estándar.
- **Ubicación**: Todo documento clave debe residir en el directorio `adn/`.
## 3. Armonía y Auto-optimización
- **Principio**: La documentación (ADN) debe mantenerse como un todo coherente y libre de contradicciones.
- **Directiva**:
- **Consistencia**: No deben existir discrepancias entre diferentes hebras (archivos `.md`). Si se actualiza una definición en `01_ontologia.md`, debe reflejarse en los protocolos y bitácoras correspondientes.
- **Auto-corrección**: Al detectar una inconsistencia, es prioritario resolverla para restaurar la armonía del sistema documental.
## 4. Formato de Registro (Bitácoras)
- **Estructura**: Tablas separadas por fecha (H2 con fecha `YYYY-MM-DD`).
- **Orden**: Descendente (lo más reciente arriba).
- **Columnas Obligatorias**:
- `Hora` (HH:MM)
- `Acción`
- `Detalle/Impacto`
- `Estado`
## 5. Protocolo de Seguridad de Red (Hombre Muerto)
- **Problemática**: La administración remota del servidor implica el riesgo de desconexión total ante cambios erróneos en la configuración de red.
- **Directiva**: **Toda modificación de red debe incluir un mecanismo de reversión automática.**
- **Implementación**:
- Usar scripts con temporizador ("Dead Man's Switch").
- **Flujo**:
1. Aplicar cambios temporalmente.
2. Esperar confirmación explícita del usuario (ej: presionar una tecla) durante un tiempo prudencial (5 minutos).
3. **Si no hay confirmación**: Revertir cambios inmediatamente y restaurar estado anterior.
4. **Si hay confirmación**: Hacer cambios persistentes.