Project State¶
Estado certificado al 2026-06-01¶
- Workspace operativo:
C:\APV\openclawai - Repo oficial:
https://github.com/gcanuti/openclawai-vps-lab - Rama activa:
main - VPS productivo auditado por SSH alias
openclaw-vps - Host remoto validado:
srv977009 - OpenClaw publicado en:
https://openclaw.alpuntodeventa.com.ar/ - DNS activo:
openclaw.alpuntodeventa.com.ar -> 46.202.151.32 - SSL activo con Let's Encrypt emitido el
2026-05-29 - Nginx Proxy Manager activo y sirviendo
80/81/443 - Portainer activo y sirviendo
8000/9443 - Portainer modernizado a
2.39.2para compatibilidad con Docker29.x - VPS baseline hardening completado
- Swap activa y persistente:
4 GiB - OpenClaw runtime activo:
Up (healthy) - OpenClaw CLI auditado con modelo efectivo
openai/gpt-5.5 - OpenAI auth profile presente para el agente
main - Chat UI, pairing y respuesta funcional confirmados visualmente por Gabi
- Certificacion actual del proyecto:
VERDE - Certificacion actual de disaster recovery:
VERDE - Certificacion actual de backup recurrente:
VERDE - Nueva autoridad documental del VPS:
docs/governance/ - Etapa
VPS GOVERNANCE PLATFORM v1: iniciada y cerrada documentalmente - Governance v1 reforzada con trazabilidad tecnica completa por servicio y por uso
- Etapa
VPS GOVERNANCE PLATFORM v2: implementada con catalogo de tests, matriz de regresion, validation state y control tower - Etapa
VPS OPERATIONS & SECURITY PLATFORM v1: implementada en governance con capa de operacion, seguridad, monitoreo, mantenimiento, updates y administracion asistida por IA - Etapa
O1 Observabilidad fundacional: implementada en stack privado con Prometheus, Grafana, Alertmanager y exporters - Etapa
O2 Dashboards operativos: implementada con suite ejecutiva enGrafanasobre datasourceThanos - Etapa
O3 Alertas controladas: implementada con reglas conservadoras,Alertmanagerlocal y validacion sin falsos positivos - Etapa
O3.1 Drill controlado de alertas: ejecutada en produccion controlada con disparo y resolucion end-to-end evidenciados en Governance - Etapa
O1.2 Proteccion externa de artefactos criticos: cerrada documentalmente con copia externa existente enC:\APV\backups\openclaw\,RPO 24hyRTO 30-60 min - Etapa
O6 Living Knowledge Platform: implementada con auditoria de realidad, catalogo navegable, diagramas Mermaid, data lineage y base documental para futuro knowledge graph - Etapa
O8 Knowledge Population basada en evidencia real: implementada con fichas atomicas de observabilidad, Docker, runtime, DNS/TLS, runtime host e integracion OpenAI - Etapa
O9 Knowledge Portal: publicada oficialmente porNPMendoc.alpuntodeventa.com.arconMkDocs Material, busqueda integrada, soporte Mermaid y despliegue Docker operativo en VPS
Estado global final del proyecto¶
- VPS:
VERDE - Docker:
VERDE - NPM:
VERDE - Portainer:
VERDE - OpenClaw:
VERDE - Disaster Recovery:
VERDE - Backup recurrente:
VERDE - Governance documental VPS:
VERDE - Governance tecnica por servicio y por uso:
VERDE - Governance validation system:
VERDE - Operations:
VERDE - Security:
VERDE - Monitoring:
VERDE - Observability O1:
VERDE - Alertas O3:
VERDE - AI Administration:
VERDE - Knowledge Platform O6:
VERDE - Knowledge Population O8:
VERDE - Knowledge Portal O9:
VERDE
Cobertura estimada post Governance v2¶
- Governance:
92% - Knowledge Graph:
93% - Regression Control:
92% - Control Tower:
97% - Living Knowledge Platform:
98% - Knowledge Portal navegable:
95% - Gap abierto principal: definir y aprobar un canal externo simple para O3/O4 cuando se confirme que no genera ruido
Estado del portal O9 al 2026-06-01¶
- Safe point local inicial:
git status -sb->## main...origin/maingit rev-parse HEAD->831acb98f5cf32c000bd5babf758e0801cdbe328- opcion elegida:
MkDocs Material- motivo:
- bajo consumo
- navegacion simple
- busqueda integrada
- soporte Markdown
- Mermaid simple
- deploy Docker liviano
- actualizacion clara desde Git
- entregables creados:
mkdocs.ymldocs/index.mddocs/assets/javascripts/mermaid-init.jsdocs/assets/stylesheets/extra.cssinfra/knowledge-portal/Dockerfileinfra/knowledge-portal/docker-compose.ymlinfra/knowledge-portal/nginx.confdocs/governance/runbooks/MAINTAIN-KNOWLEDGE-PORTAL.md- publicacion oficial:
- URL:
https://doc.alpuntodeventa.com.ar/ - contenedor local:
127.0.0.1:8085 -> 8085 - upstream NPM:
knowledge-portal:8085 - exposicion externa solo por
NPM - proteccion recomendada con
Access ListoBasic Auth - estado de despliegue real en VPS:
- contenedor
knowledge-portallevantado en127.0.0.1:8085 - contenedor conectado tambien a
proxy-network - dominio
doc.alpuntodeventa.com.arpublicado porNPM - deploy aplicado por sync controlado sobre
/opt/openclawai - checkout remoto en VPS: snapshot sin
.git - validacion local:
mkdocs build --strictsobre el repo- busqueda habilitada por plugin
search - Mermaid habilitado en frontend
- validacion publica:
http://doc.alpuntodeventa.com.ar/->301ahttps://doc.alpuntodeventa.com.ar/https://doc.alpuntodeventa.com.ar/->HTTP/2 200- certificado
Let's Encrypt YE2valido hasta2026-08-30 17:33:48 GMT search/search_index.jsonaccesible por HTTPS- documento
governance/knowledge/infrastructure/dns-tls/responde y renderiza Mermaid - regla central:
- Git sigue siendo la fuente de verdad
- el portal solo publica una copia navegable
Evidencia viva O8 al 2026-06-01¶
- Safe point local inicial:
git status -sb->## main...origin/maingit rev-parse HEAD->14072f7464f5e2dbc0c9e73a364f69faf0efa782- evidencia SSH usada:
docker psdocker network lsdocker volume lsdocker compose psen/opt/stacks/openclawhostnamectl,lscpu,free -h,df -hss -tulpn,getent ahostsv4,openssl x509openclaw health --jsonopenclaw models status- entregables O8:
- fichas en
docs/governance/knowledge/observability/ - capa Docker en
docs/governance/knowledge/docker/ - runtime real en
docs/governance/knowledge/runtime/README.md - DNS/TLS en
docs/governance/knowledge/infrastructure/dns-tls.md - runtime host en
docs/governance/knowledge/infrastructure/runtime-host.md - integracion OpenAI en
docs/governance/knowledge/integrations/openai.md - diagramas
07-runtime-openclaw.mdy08-openai-integration.md - runbook
MAINTAIN-KNOWLEDGE-PLATFORM.md - cambio principal de color:
- observabilidad, Docker, redes, volumenes, runtime y OpenAI pasan a
VERDEen la auditoria O8.0 - O8.8 cierra tambien
DNS / TLSyRuntime Host - veredicto O8 final:
- O8 queda
VERDEpara su alcance - no cubre todavia decisiones operativas finales sobre legacy Portainer ni la habilitacion de un canal externo de alertas
Cobertura estimada post VPS Operations & Security Platform v1¶
- Governance:
95% - Knowledge Graph:
94% - Operations:
94% - Security:
93% - Monitoring:
92% - Observability O1:
95% - Alertas O3:
96% - AI Administration:
96% - Gaps abiertos principales:
- change-gates de update pendientes para
Docker,Portainer,OpenClawyNPM - automatizar la descarga externa de backups si se aprueba en Windows
- simular restore O1 desde copia externa en staging dedicada
- definir y aprobar un canal externo simple para O3 ahora que O3.1 cerro en verde
- cerrar luego una automatizacion controlada de la copia externa
- revisar periodicamente diferencias reality vs docs usando
O6.0
Evidencia viva O6 al 2026-06-01¶
- Safe point local inicial:
git status -sb->## main...origin/maingit rev-parse HEAD->7c2c996f8a86229a1fe00bd8701953512b4d747a- realidad del VPS por SSH:
- host
srv977009 13contenedores activos observados- redes activas observadas:
proxy-network,nginx-proxy-manager_default,openclaw_openclaw_internal,obs-observability-internal - red legado observada:
portainer2_defaultsin contenedores - volumenes observados:
portainer_data_new,portainer_data,obs_prometheus_data,obs_grafana_data,obs_alertmanager_data,obs_thanos_storegateway_data,obs_thanos_compactor_data,obs_thanos_objectstore_data - observabilidad real:
13targets Prometheus observadosUPAlertmanageroperativo con receiverlocal-nullWatchdogfiring esperado- correcciones documentales aplicadas:
svc-openclawdeja de listar un contenedorclino observadosvc-nginx-proxy-managerdeja el websocket enPASScatalog/SERVICES.mdreconoce que O4 ya corre en el VPS- entregables O6:
docs/governance/knowledge/docs/governance/operations/O6.0-REALITY-AUDIT.mddocs/governance/runbooks/RESTORE-KNOWLEDGE-PLATFORM.md
Evidencia viva O3 al 2026-06-01¶
- Safe point local inicial:
git status -sb->## main...origin/maingit rev-parse HEAD->258a55ad3ad140e8e550e25d52256209f3c4f46a- observabilidad:
docker compose configen/opt/stacks/observability->OKpromtool check config /etc/prometheus/prometheus.yml->SUCCESSpromtool check rules /etc/prometheus/rules/*.yml->SUCCESSAlertmanagerstatus API -> receiverlocal-nullPrometheusrules API ->4archivos O3 cargadosPrometheusalerts API ->0alertas activas- targets:
prometheus,alertmanager,grafana,node-exporter,cadvisor,blackbox-exporter, probeOpenClaw HTTPS, probeNPM local, probePortainer local->UP- salud actual:
- RAM usada por Prometheus ->
15.44% - disco
/usado ->13.91% - CPU host actual ->
9.65% - load15 por CPU ->
0.055 - uso actual de limite TSDB ->
0.11% - veredicto:
- O3 queda cargado, silencioso y compatible con O1/O2
Evidencia viva O3.1 al 2026-06-01¶
- Safe point local inicial:
git status -sb->## main...origin/maingit rev-parse HEAD->a82ea0c1c34b94e889a89650d389e937e3112e4a- ventana de corrida:
- inicio remoto:
2026-06-01 12:03:58 -03 - cierre remoto:
2026-06-01 12:41:25 -03 - preestado:
Alertmanagersigue en receiverlocal-nullPrometheusyAlertmanagerarrancaron con0alertas activas realesWatchdogqueda activo por diseno enlocal-null- targets base en
UP - pruebas ejecutadas:
NodeExporterNoDatapor stop/start controlado deobs-node-exporterCadvisorNoDatapor stop/start controlado deobs-cadvisorBlackboxProbeFailedpor target sintetico temporalhttp://127.0.0.1:65534/agregado y retirado dentro dePrometheus- validacion de pipeline
Alertmanagercongroup_byporalert_groupyseverity, receiverlocal-nully sin notificaciones externas - tiempos medidos:
NodeExporterNoData-> pending12:04:38 -03, firing12:10:05 -03, resuelta12:11:16 -03CadvisorNoData-> pending12:27:38 -03, firing12:32:49 -03, resuelta12:33:58 -03BlackboxProbeFailed-> pending12:35:13 -03, firing12:40:12 -03, resuelta12:41:21 -03- hallazgo y ajuste:
- la primera corrida de
obs-cadvisorgenero un falsocriticalDockerTrackedContainerDownal perdercontainer_last_seen - la regla fue corregida para exigir
up{job="cadvisor"} == 1antes de inferir caida de contenedores clave - la corrida final de
obs-cadvisorquedo limpia y valida - evidencia:
- reporte permanente: O3.1-ALERT-DRILL-REPORT.md
- artefacto local de la corrida:
tmp/o31-alert-drill-20260601-120313 Alertmanagerrecibio las3alertas esperadas enlocal-nully cerro con0alertas reales activas- veredicto:
- O3 ya queda demostrado de extremo a extremo sin abrir puertos, sin tocar OpenClaw y sin habilitar notificaciones externas
Evidencia viva operacion, seguridad y monitoreo al 2026-06-01¶
- Safe point local inicial:
git status -sb->## main...origin/maingit rev-parse HEAD->e9e5773aa2c1f8b5695346a543a27352553db2ee- VPS:
hostname->srv977009uptime->up 3 days, 11:49- contenedores:
portainer->Up 25 hoursopenclaw-openclaw-gateway-1->Up 26 hours (healthy)nginx-proxy-manager->Up 3 days- SSL:
subject->openclaw.alpuntodeventa.com.arissuer->Let's Encrypt YE1notAfter->2026-08-27 11:54:33 GMT- puertos publicos reales:
22,80,81,443,8000,9443alcanzables desde afuera- servicios expuestos reales:
sshsvc-nginx-proxy-managersvc-portainersvc-openclawpublicado solo por NPM- capacidad:
- RAM
7.8Gitotal,6.6Giavailable - swap
4G,0Busada - disco
/al13% - performance:
load average0.19 0.05 0.04- OpenClaw
0.47% CPU, NPM0.09% CPU, Portainer0.00% CPU - backup reciente:
- ultima corrida observada
/root/openclaw-backups/daily/20260531-030002 - updates Ubuntu:
6paquetes upgradables del tren de kernel- veredicto:
- Operations
VERDE - Security
VERDE - Monitoring
VERDE
Ventana de mantenimiento Ubuntu al 2026-06-01¶
- SAFE POINT local inicial:
git status -sb->## main...origin/maingit rev-parse HEAD->e9e5773aa2c1f8b5695346a543a27352553db2ee- prechecks VPS:
uname -r->6.8.0-117-genericdocker ps->portainer,openclaw-openclaw-gateway-1,nginx-proxy-managertodosUpdf -h /->96Gtotal,12Gusados,85Glibres,13%uptime->up 3 days, 12:13- backup verificado:
- corrida documentada y observada:
/root/openclaw-backups/daily/20260531-030002 - artefactos presentes:
openclaw-stack.tgz,npm-stack.tgz,portainer-volume.tgz,manifest.txt,SHA256SUMS - log:
/root/openclaw-backups/logs/openclaw-backup-20260531-030002.logconBackup completed successfully - updates aplicados:
linux-headers-genericlinux-headers-virtuallinux-image-virtuallinux-libc-devlinux-tools-commonlinux-virtual- advertencias no bloqueantes:
apt updatereporto entradas duplicadas en/etc/apt/sources.list.d/ubuntu-mirrors.list- reboot controlado:
sudo rebootejecutado- primer reintento SSH aun en arranque
- host recuperado luego con
uname -r->6.8.0-124-generic - postchecks:
docker ps->portainer,openclaw-openclaw-gateway-1,nginx-proxy-managertodosUpopenclaw health --json->"ok": trueopenclaw agent --agent main --message 'Respondé solamente: OpenClaw OK' --json->status: ok, respuestaOpenClaw OKdocker exec nginx-proxy-manager curl -I http://openclaw-gateway:18789/->HTTP/1.1 200 OKcurl -I https://openclaw.alpuntodeventa.com.ar/->HTTP/1.1 200 OKcurl -k -I https://127.0.0.1:9443->HTTP/1.1 200 OKTest-NetConnection 46.202.151.32a22,80,81,443,8000,9443-> todosTcpTestSucceeded=True- kernel:
- anterior:
6.8.0-117-generic - nuevo:
6.8.0-124-generic - decision:
- mantenimiento Ubuntu cerrado en verde
- frente de kernel operativo y revalidado
Evidencia viva de TEST-WEBSOCKET-001 al 2026-06-01¶
- Safe point local inicial:
git status -sb->## main...origin/maingit rev-parse HEAD->4c720307d076bceb17720a0a6c11fd3239eb8ff0- Auditoria de dispositivos:
- paired:
Control UI oficial de Gabi3fa5280edf0e65d16f1ec60e686ae17d4e7b656e256bb6823dfe8f0e84a5fbf3Win32,openclaw-control-ui,webchat, scopesoperator.admin,operator.read,operator.write,operator.approvals,operator.pairing, IP186.12.228.35, aprobado desde2026-05-31 00:38:32 -03 - paired:
CLI local del gateway94483a84828c419a17a48b8eed6a0c3f1bac37a7eccb9197c9256ae43a2e812alinux,cli,cli, scopes aprobadosoperator.write - pendiente:
request
30ae9c15-2254-4eb3-b94d-7ced4d72e6addel mismoCLI local del gateway, pedidooperator.pairing,isRepair=true, fecha2026-06-01 00:49:17 -03 - decision: no se aprobo ningun request nuevo porque el acceso actual de Gabi en Control UI ya estaba paired y el pendiente no correspondia a ese acceso
- Validacion previa:
docker psremoto ->openclaw-openclaw-gateway-1Up (healthy)curl -I https://openclaw.alpuntodeventa.com.ar/->HTTP/2 200nslookup openclaw.alpuntodeventa.com.ar->46.202.151.32- Handshake websocket publico con device aprobado:
- metodo:
corrida remota por
ssh openclaw-vpsreutilizando la identidad aprobada y el token cacheado delCLI local del gateway, sin imprimir secretos - destino:
wss://openclaw.alpuntodeventa.com.ar/ - resultado:
conexion
Open, primer frameconnect.challenge, frameconnectenviado, respuestahello-ok, roloperator, scopes negociadosoperator.read,operator.write - token usado:
si, sin imprimirlo ni persistirlo en docs o Git - Correlacion de logs:
- NPM sin errores de TLS ni de websocket visibles en la ventana de
5m - gateway sin rechazos nuevos de
pairingni dedevice identitydurante la corrida que cierra el test - Veredicto:
TEST-WEBSOCKET-001->PASS- transporte WebSocket detras de NPM/SSL:
VALIDADO - flujo websocket autenticado completo con device aprobado:
CERRADO - no se observo
PAIRING_REQUIRED - no se observo
DEVICE_IDENTITY_REQUIRED
Autoridad documental vigente¶
- La autoridad documental viva del VPS pasa a ser
docs/governance/. - Esta capa gobierna servicios, redes, volumenes, dominios, puertos, backups, usuarios, runbooks y auditorias.
- Esta capa ahora tambien gobierna operacion diaria, monitoreo, mantenimiento, updates y consultas de administracion en lenguaje natural.
- Esta capa ahora exige tambien stack, imagen, compose, redes, puertos, volumenes, dominios, NPM, backups, dependencias, impacto y usos registrados por servicio.
- Regla permanente:
NINGUN SERVICIO NUEVO SE CONSIDERA TERMINADO SI NO ACTUALIZA GOVERNANCE. - Regla permanente adicional: toda documentacion, runbook, estado operativo o respuesta para admin debe usar lenguaje claro, amable y simple.
- La estructura queda preparada para futura copia o sincronizacion en
/opt/governancesin ejecutarla todavia en el VPS.
Estado DR certificado al 2026-05-31¶
- Safe point local inicial de esta auditoria:
git status -sb-> limpiogit rev-parse HEAD->6445ca4e989d3ac287ce658ec4badf96ac006476- Auditoria DR ejecutada sin cambios en produccion.
- Inventario real documentado con rutas y tamanos en
docs/BACKUP-RESTORE-STRATEGY.md. - Backup restaurable evidenciado para:
- OpenClaw
- NPM
- Portainer
- Simulacion controlada no destructiva ejecutada en:
/tmp/dr-green-20260531-011407- Auth OpenAI persistida observada en:
/opt/stacks/openclaw/config/agents/main/agent/auth-profiles.json/opt/stacks/openclaw/config/agents/main/agent/auth-state.json/opt/stacks/openclaw/config/identity/device-auth.json- Checksums de la simulacion:
openclaw-stack.tgzf2a659b9a4564b2561779d39842b46c83a439e76f389a9c1580313a3d7e9d20fnpm-stack.tgzcf64d4a8bef17a6f8c4c3ea8637e951c0b69abab91cd9461e35f16de10852c43portainer-volume.tgzfd8c9385307ee27c5525c8089baee94aa1eae68e4d8968ac5a212cf8e75c2a32- Veredicto DR:
- recuperacion del stack en mismo VPS:
SI - recuperacion total documentada y demostrable en staging:
SI - RTO certificado:
- mismo VPS:
30-45 minutos - VPS nuevo:
90-180 minutos - RPO certificado:
0para la copia tomada en la simulacion- Documentos rectores DR:
docs/DISASTER-RECOVERY-RUNBOOK.mddocs/BACKUP-RESTORE-STRATEGY.md
Estado backup recurrente certificado al 2026-05-31¶
- SAFE POINT local inicial de esta implementacion:
git status -sb->## main...origin/maingit rev-parse HEAD->32ad551e89714e6a6d16bd99d4a2df7e74f6d878- Backup diario VPS instalado:
- cron
03:00 - script:
/root/openclaw-backups/bin/openclaw-vps-backup.sh - Retencion activa:
- diarios
30 dias - semanales
12 - logs
90 dias - Corrida manual final validada:
/root/openclaw-backups/daily/20260531-014038- Evidencia presente:
openclaw-stack.tgznpm-stack.tgzportainer-volume.tgzSHA256SUMSmanifest.txt- Checksums finales:
openclaw-stack.tgz9169e9361aad7ef09e98ab08346d296d3c5ee00da43d47b63c7bbb996986cb00npm-stack.tgz753dad1908e26870aa8e935429df03318f05b7a93ab3050748758c7520788246portainer-volume.tgzee35d0930b602c5f82ce6b24cb6dc6ec19033cab90f5ffb310deb5745af0f7ab- Copia externa validada:
C:\APV\backups\openclaw\daily\20260531-014038- log local:
C:\APV\backups\openclaw\logs\pull-openclaw-backups-20260531-014048.log - Git:
.env,*.tgz,SHA256SUMS,manifest.txty logs siguen fuera del repo- RPO esperado:
24 horas- RTO estimado:
- mismo VPS:
30-45 minutos - VPS nuevo:
90-180 minutos
Evidencia viva de la certificacion final 2026-05-31¶
- Safe point local:
git status -sb->## main...origin/maingit rev-parse HEAD->e7c255532e70d4122bb182779838cd49ce0bb4e0- VPS:
hostname->srv977009uptime->up 2 days, 11:24- Docker activo observado:
portainer->Up 35 minutesnginx-proxy-manager->Up 2 daysopenclaw-openclaw-gateway-1->Up About an hour (healthy)- Imagenes activas:
ghcr.io/openclaw/openclaw:2026.5.5jc21/nginx-proxy-manager:latestportainer/portainer-ce:2.39.2- Volumenes activos / conservados:
portainer_data_newportainer_datacomo legado conservado- Redes activas:
proxy-networknginx-proxy-manager_defaultopenclaw_openclaw_internalportainer2_defaultcomo legado conservado sin contenedores- OpenClaw CLI:
- modelo default:
openai/gpt-5.5 - provider efectivo:
openai - auth profile presente:
si - agente default:
main health --json->ok: true- sesiones detectadas:
1 - Smoke tests:
- inferencia directa ->
OpenClaw_OK - agente
main->OpenClaw_OK - HTTPS publico ->
HTTP/2 200 - gateway interno desde contenedor ->
HTTP/1.1 200 OK - gateway interno desde NPM ->
HTTP/1.1 200 OK curldesde host a127.0.0.1:18789-> falla esperada porque el puerto no se publica al host- Validacion humana:
- Portainer navegable:
si - Containers visibles:
si - Stacks visibles:
si - Networks visibles:
si - Volumes visibles:
si - UI OpenClaw accesible:
si - Pairing aprobado:
si - Chat funcional:
si
Evidencia viva de la auditoria 2026-05-29¶
git status -sbinicial:## main...origin/main- Safe point inicial:
52eb755c9078b4c173f29d191c194f0b6bc46b85 uptime -p:up 20 hours, 58 minutes- Memoria:
7.8 GiBtotal,1.2 GiBusada,3.3 GiBlibre,3.6 GiBcache - Swap:
4.0 GiB,0 Busada - Disco
/:96Gtotal,12Gusados,85Glibres - Docker containers observados:
openclaw-openclaw-gateway-1->Up (healthy)nginx-proxy-manager->Upportainer->Upufw:activefail2ban:activessh:active- HTTPS publico:
HTTP 200 - Control UI publica: titulo
OpenClaw Control - Auth OpenAI validada para el agente
mainmedianteapi-keyinteractivo openclaw models auth list --provider openai --jsondevuelveopenai:defaultopenclaw models statusya no muestraMissing auth- Prueba funcional del agente:
Respondé solamente: OpenClaw OK->OpenClaw OK - Reinicio controlado de OpenClaw ejecutado el
2026-05-29 15:42 -03 - Estado post-restart:
healthy - Persistencia auth post-restart:
OK
Evidencia viva de la auditoria Portainer 2026-05-31¶
- Safe point local previo a la auditoria:
d88acffeb66bf4c4323ea8d429263ac45084350a docker.sockdel host respondiaOKviacurl --unix-socket- Backup Portainer previo:
/root/portainer-backups/portainer-data-20260531-000206.tar.gzsha256:76864bc47ee015c2d6ccc9284151eb70ea255989e4e372cc0c51159f84c27c4c- Hallazgo clave:
- la causa mas probable del
DOWNvisual era compatibilidad Portainer2.33.1con Docker29.x
Evidencia viva de la modernizacion Portainer 2026-05-31¶
- Safe point local antes del upgrade:
208914617dad0f9994a1d6139f9b983e9949ab7e - Version Portainer anterior por binario:
2.33.1 - Imagen declarada antes del cambio:
portainer/portainer-ce:latest - Version Portainer nueva por binario:
2.39.2 - Imagen final fijada:
portainer/portainer-ce:2.39.2 - Digest final observado:
portainer/portainer-ce@sha256:8d2f5c9fbc5b8490fb3a12efadbad74978e22991911e1db611d8a45871775112 - Volumen preservado:
portainer_data_new - Mount
docker.sockpreservado:si - Puertos host preservados:
8000y9443 - Restart policy preservada:
unless-stopped - Red preservada:
proxy-network - Backup nuevo creado:
/root/portainer-backups/portainer-data-20260531-001058.tar.gz sha256backup nuevo:b67c05ae7e95a5a7fc93738fdf78d9e950b1146770aebded85273da024c4326d- Validacion post-upgrade:
docker psmuestraportainerUpdocker exec portainer /portainer --versiondevuelve2.39.2curl -k -I https://127.0.0.1:9443devuelveHTTP/1.1 200 OK- logs de arranque muestran migracion
2.33.1 -> 2.39.2 - OpenClaw sigue
running healthy - NPM sigue
running - Alcance conservado:
- sin cambios en OpenClaw
- sin cambios en NPM
- sin cambios en DNS
- sin cambios en firewall
- sin cambios en proxy hosts
- sin borrado de volumenes
Evidencia viva de la auditoria Docker post-modernizacion 2026-05-31¶
- Safe point local previo a la auditoria:
8af6e1b563157aa0d70d7287db2228cab8f653ce - Contenedores activos confirmados:
portainer->portainer/portainer-ce:2.39.2nginx-proxy-manager->jc21/nginx-proxy-manager:latestopenclaw-openclaw-gateway-1->ghcr.io/openclaw/openclaw:2026.5.5- Validacion de uso real:
- Portainer usa
portainer_data_newyproxy-network - NPM usa bind mounts en
/docker/nginx-proxy-manager/* - OpenClaw usa bind mounts en
/opt/stacks/openclaw/* - Validacion de servicio:
curl -k -I https://127.0.0.1:9443->HTTP/1.1 200 OKcurl -I http://127.0.0.1:81->HTTP/1.1 200 OKdocker inspect -f '{{.State.Health.Status}}' openclaw-openclaw-gateway-1->healthycurl -I https://openclaw.alpuntodeventa.com.ar->HTTP/2 200- Limpieza segura ejecutada:
- imagen
alpine:latesteliminada - imagen
portainer/portainer-ce:latesteliminada - Elementos conservados por seguridad:
- volumen
portainer_datacomo legado con datos propios - red
portainer2_defaultcomo legado Compose sin contenedores - Hallazgo UI Portainer:
- el stack
portainersigue visible por metadata persistida enportainer_data_new/_data/compose/2/docker-compose.yml - el contenedor activo ya no corre como Compose; corre standalone en
proxy-network
Estado real del despliegue¶
Completado¶
- VPS en
GOoperativo para OpenClaw - Hardening baseline cerrado con snapshot, updates, reboot y revalidacion
- Docker operativo con aislamiento por stack
- OpenClaw desplegado en
/opt/stacks/openclaw - OpenClaw publicado detras de NPM
- DNS, TLS, HSTS y carga base de la UI validados
- Reinicio del contenedor validado con recuperacion sana
- Portainer modernizado sin afectar OpenClaw ni NPM
VPS GOVERNANCE PLATFORM v1creada como capa documental del VPS- Servicios base registrados:
svc-openclawsvc-nginx-proxy-managersvc-portainer- Governance v1 reforzada con trazabilidad tecnica completa:
- por servicio
- por uso compartido
- Governance v2 agrega:
- catalogo maestro de validacion
- plantilla formal de tests
- matriz de regresion por tipo de cambio
- estado vivo de validacion
- control tower ejecutivo
- relaciones explicitas del knowledge graph entre
SVC,NET,VOL,DOM,BKPyTEST - Operations & Security Platform v1 agrega:
- control tower operativo
- catalogo de monitoreo simple
- baseline de performance
- agenda de mantenimiento
- politica de updates
- politica de cleanup
- estado de seguridad
- checklist de seguridad
- runbooks de vulnerabilidades y parchado
- inventario de servicios expuestos
- preguntas de admin e IA en lenguaje natural
Parcialmente completado¶
- La validacion interactiva manual de la UI de Portainer no se automatizo en esta sesion; la verificacion directa disponible fue backend, logs y HTTPS local
TEST-WEBSOCKET-001ya tuvo primera corrida formal; el transporte publico queda cerrado enPASScon handshake autenticado completo sobre un dispositivo aprobado real
Pendiente¶
- Evaluar automatizacion de la descarga externa con
Task Scheduler - Definir retencion adicional fuera del VPS segun capacidad del equipo operador
- Ejecutar primera corrida formal de tests de updates, SSL y vulnerabilidades
Hallazgos principales¶
Hallazgo 1 - Auth OpenAI resuelta¶
- Metodo aplicado:
openclaw models auth --agent main login --provider openai --method api-key - Evidencia:
openclaw models auth list --provider openai --jsondevuelveopenai:defaultopenclaw models statusmuestraprofiles=1openclaw agent --agent main --message "Respondé solamente: OpenClaw OK" --jsonrespondeOpenClaw OK
Hallazgo 2 - token_missing corresponde a acceso anonimo esperado¶
- Evidencia HTTP:
GET /__openclaw/control-ui-config.jsonsin token ->401GET /__openclaw/control-ui-config.jsoncon token ->200
Hallazgo 3 - trustedProxies corregido¶
- Correccion aplicada:
gateway.trustedProxies: ["172.18.0.3"]172.18.0.3corresponde al contenedornginx-proxy-manager
Hallazgo 4 - Portainer fue modernizado con procedimiento oficial conservador¶
- Procedimiento aplicado:
- backup previo del volumen real
docker pull portainer/portainer-ce:2.39.2docker stop portainerdocker rm portainer- recreacion con mismo volumen, mismos puertos, mismo
docker.sock, misma policy y misma red - Evidencia:
- logs muestran migracion limpia de base
2.33.1 -> 2.39.2 - HTTPS local en
9443responde200 - la instancia final queda
Up
Decision vigente¶
- Infraestructura base:
VERDE - Disaster Recovery:
VERDE - Publicacion HTTPS:
VERDE - Runtime OpenClaw:
VERDE - OpenAI / agente
main:VERDE - Control UI:
VERDE - Portainer administracion:
VERDE - Docker limpio:
VERDE - NPM:
VERDE - VPS:
VERDE - Certificacion global:
VERDE
Proximo objetivo unico recomendado¶
La plataforma ya queda verde tambien en operaciones, seguridad y monitoreo para su estado actual de produccion.
El siguiente paso unico recomendado es decidir y documentar el canal externo simple de O3 ahora que el drill O3.1 ya quedo demostrado sin ruido.
Riesgo actual resumido¶
- Riesgo operativo: medio-bajo
- Riesgo funcional: bajo
- Riesgo de seguridad: medio
- Riesgo de administracion Portainer: bajo
Justificacion¶
- Operativo medio-bajo porque el stack recupera bien, el restart controlado fue exitoso y la auth persiste
- Funcional bajo porque el caso de uso principal con OpenAI ya responde
- Seguridad medio porque la UI publica sigue siendo una superficie administrativa expuesta a Internet
- Administracion Portainer bajo porque la instancia ya corre
2.39.2, arranca limpia y responde por HTTPS sin haber afectado OpenClaw ni NPM