Files
fn_registry/functions/infra/vps_setup_app.md
T
egutierrez f21664e052 feat: funciones Go de deploy — systemd, VPS setup, deploy remoto
Nuevas funciones infra para deploy sin Docker: generación de units
systemd (pura), instalación/restart/status de servicios remotos via
SSH, setup inicial de VPS (crear dirs, usuario, permisos), y pipelines
de deploy completo (setup_vps_app, deploy_app_remote). Incluye tipo
DeployConfig con la configuración de deploy por app.
2026-04-12 17:29:52 +02:00

1.3 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports params output tested tests test_file_path file_path
vps_setup_app function go infra 1.0.0 impure func VPSSetupApp(conn SSHConn, appName, remoteDir, serviceUser string) error Prepara un host remoto para recibir una app: crea directorios, usuario de servicio y asigna ownership.
vps
setup
deploy
remote
infra
ssh_exec_go_infra
ssh_conn_go_infra
false error_go_core
fmt
name desc
conn conexión SSH al host remoto
name desc
appName nombre de la app (para logging)
name desc
remoteDir ruta absoluta donde vivirá la app en el remoto (ej: /opt/apps/dag_engine)
name desc
serviceUser usuario del sistema para correr el servicio (vacío para omitir creación de usuario)
nil si el setup fue exitoso false
functions/infra/vps_setup_app.go

Ejemplo

conn := SSHConn{Host: "192.168.1.100", User: "deploy"}
err := VPSSetupApp(conn, "dag_engine", "/opt/apps/dag_engine", "deploy")

Notas

Idempotente: mkdir -p no falla si el directorio existe, useradd se salta si el usuario existe. Crea subdirectorios data/ y logs/ dentro del remoteDir. Requiere sudo.