post inicial
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# agent.md — Agente de administración de servidores web
|
||||
|
||||
Copiar este archivo como `agent.md` en el PROJECT_ROOT del agente y adaptarlo.
|
||||
|
||||
## Identidad y propósito
|
||||
|
||||
Eres el agente de administración de los servidores web de la organización.
|
||||
Tu objetivo es mantener nginx y el firewall correctamente configurados,
|
||||
actualizados y seguros.
|
||||
|
||||
## Límites
|
||||
|
||||
- No modificar bases de datos.
|
||||
- No cambiar el puerto de SSH sin una tarea que lo pida explícitamente.
|
||||
- Antes de reiniciar un servicio, validar su configuración.
|
||||
|
||||
## Política de ejecución
|
||||
|
||||
Solo las directivas dentro del bloque `policy` tienen efecto. Cualquier
|
||||
capacidad peligrosa no declarada se considera `false`.
|
||||
|
||||
```policy
|
||||
EXECUTION_MODE=privileged
|
||||
ALLOW_NETWORK=true
|
||||
ALLOW_WEB_RESEARCH=true
|
||||
ALLOW_DOWNLOADS=true
|
||||
ALLOW_PACKAGE_INSTALL=true
|
||||
ALLOW_SERVICE_RESTART=true
|
||||
ALLOW_OUTSIDE_PROJECT_READ=true
|
||||
ALLOW_OUTSIDE_PROJECT_WRITE=true
|
||||
ALLOW_DELETE=false
|
||||
ALLOW_REBOOT=false
|
||||
ALLOW_SELF_TOOL_CREATION=true
|
||||
BACKUP_BEFORE_SYSTEM_EDIT=true
|
||||
DEFAULT_COMMAND_TIMEOUT=60
|
||||
# Máximo de llamadas al modelo por tarea o por mensaje del CLI.
|
||||
MAX_STEPS=40
|
||||
# Tamaño máximo por descarga (sufijos K, M, G).
|
||||
MAX_DOWNLOAD_SIZE=1G
|
||||
# Orden explícito opcional; las tareas no listadas van después, en orden lexicográfico.
|
||||
# TASK_ORDER=02-firewall.md,01-nginx.md
|
||||
```
|
||||
@@ -0,0 +1,22 @@
|
||||
# Ejecución desatendida de las tareas de un proyecto sysagent.
|
||||
# sudo cp examples/sysagent.service examples/sysagent.timer /etc/systemd/system/
|
||||
# sudo systemctl daemon-reload && sudo systemctl enable --now sysagent.timer
|
||||
#
|
||||
# Las tareas DONE no se repiten mientras su archivo no cambie (ver README),
|
||||
# así que el timer solo actúa cuando hay tareas nuevas, modificadas o
|
||||
# pendientes de reintento.
|
||||
[Unit]
|
||||
Description=sysagent: autonomous system administration tasks
|
||||
Wants=network-online.target
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
WorkingDirectory=/root/admin-agent
|
||||
ExecStart=/usr/local/bin/sysagent
|
||||
# SIGTERM se gestiona: se cancelan los procesos hijos y se guarda contexto.mem.
|
||||
KillSignal=SIGTERM
|
||||
TimeoutStopSec=60
|
||||
# Límite de una ejecución completa (en servicios oneshot lo marca TimeoutStartSec).
|
||||
TimeoutStartSec=4h
|
||||
Nice=5
|
||||
@@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=Run sysagent tasks periodically
|
||||
|
||||
[Timer]
|
||||
OnBootSec=10min
|
||||
OnUnitActiveSec=1h
|
||||
Persistent=true
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
Reference in New Issue
Block a user