Files
fn_registry/functions/infra/nordvpn_container_run.md
T
egutierrez 5f4f1f7508 docs: params/output semántico en 506 funciones para composabilidad
Añade campos params y output al frontmatter YAML de las 506 funciones del registry.
Cada parámetro tiene descripción semántica (qué representa, unidades, rango típico)
y cada función describe qué produce su output. Permite a agentes razonar sobre
cadenas de composición (ej: prices → log_return → sharpe_ratio) sin leer código.
2026-04-05 18:45:16 +02:00

1.8 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
nordvpn_container_run function go infra 1.0.0 impure func NordVPNContainerRun(opts NordVPNContainerRunOpts) (string, error) Ejecuta un container Docker cuyo trafico pasa por el gateway NordVPN usando --network=container:<gateway>. El container hereda la IP y tunel VPN del gateway.
vpn
nordvpn
docker
container
run
infra
network
docker_run_container_go_infra
false error_go_core
fmt
name desc
opts estructura NordVPNContainerRunOpts con Image, Cmd, Env, Volumes, Detach, Name, Gateway
ID del contenedor ejecutado bajo VPN false
functions/infra/nordvpn_container_run.go

Ejemplo

// Verificar IP desde VPN
id, err := NordVPNContainerRun(NordVPNContainerRunOpts{
    Image:   "curlimages/curl",
    Cmd:     []string{"https://api.ipify.org"},
    Remove:  true,
    Gateway: "nordvpn",
})

// Ejecutar scraper bajo VPN
id, err := NordVPNContainerRun(NordVPNContainerRunOpts{
    Image:   "my-scraper:latest",
    Env:     map[string]string{"TARGET_URL": "https://example.com"},
    Volumes: []string{"/tmp/output:/output"},
    Detach:  true,
    Name:    "scraper-vpn",
})

// Navegador headless bajo VPN
id, err := NordVPNContainerRun(NordVPNContainerRunOpts{
    Image:   "chromedp/headless-shell",
    Detach:  true,
    Name:    "chrome-vpn",
})

Notas

Requiere que el container gateway NordVPN este corriendo (usar NordVPNContainerStart primero). El container cliente no necesita capabilities especiales — hereda la red del gateway. Con --network=container:X el container no puede exponer puertos propios; los puertos deben mapearse en el gateway.