SecretSpec 0.13 lleva SDKs nativos para Python, Node.js, Go, Ruby y Haskell

Fuentes: SecretSpec 0.13: SDKs for Python, Node.js, Go, Ruby, and Haskell

SecretSpec ha publicado la versión 0.13, que incorpora SDKs nativos para cinco lenguajes de programación: Python, Node.js/TypeScript, Go, Ruby y Haskell. Hasta ahora, las aplicaciones escritas en esos lenguajes solo podían resolver los secretos declarados en el manifiesto secretspec.toml recurriendo al CLI de SecretSpec o reimplementando por su cuenta la lógica de resolución.

La nueva versión mantiene un único núcleo en Rust compartido por todos los SDKs, que actúa como cliente ligero y delega en él toda la gestión de proveedores (keyring del sistema, 1Password, Vault), perfiles, cadenas de fallback y generación de secretos. Cada SDK adapta el enlace a su ecosistema: pyo3 para Python, napi-rs para Node.js, extensión C nativa para Ruby, ABI en C cargado con purego para Go, y Haskell FFI para Haskell.

Los SDK exponen una API uniforme —proveedor, perfil, motivo de acceso y load()— con errores tipados como MissingRequiredError y soporte para secretos materializados como rutas de archivo. El motivo de acceso alimenta el mismo registro de auditoría y la política require_reason introducida en 0.12, por lo que un servicio en Go queda sujeto a las mismas garantías que el CLI.

SecretSpec 0.13 incluye también el crate secretspec-ffi, una ABI en C versionada que permite crear bindings propios para lenguajes no soportados, y el comando secretspec schema, que genera un JSON Schema del manifiesto para obtener clases tipadas con quicktype en cualquier lenguaje.