Tus secretos, directo al proceso. Sin un .env en el servidor.
nskms lee tus secretos de Northstar KMS al arrancar tu aplicación y se los entrega en su entorno. Un solo binario, sin dependencias, firmado por Northstar.
Linux · x86-64 · versión 1.0.0 · otras plataformas
Instálalo en un minuto
en tu servidor o tu máquina
Linux y macOS, Intel o ARM, Windows o una imagen de Docker. El mismo binario en todas.
v=$(curl -fsSL https://get.bynorthstar.tech/nskms/latest.txt)
p=$(uname -s | tr A-Z a-z)-$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')
curl -fsSLO https://get.bynorthstar.tech/nskms/$v/nskms-$v-$p.tar.gz
curl -fsSLO https://get.bynorthstar.tech/nskms/$v/SHA256SUMS
grep " nskms-$v-$p.tar.gzquot; SHA256SUMS | shasum -a 256 -c
tar -xzf nskms-$v-$p.tar.gz && sudo install -m 755 nskms /usr/local/bin/$v = (irm https://get.bynorthstar.tech/nskms/latest.txt).Trim()
iwr "https://get.bynorthstar.tech/nskms/$v/nskms-$v-windows-amd64.zip" -OutFile nskms.zip
Expand-Archive nskms.zip -DestinationPath "$env:LOCALAPPDATA\nskms"
# Agrega $env:LOCALAPPDATA\nskms a tu PATHARG NSKMS=1.0.0
ADD https://get.bynorthstar.tech/nskms/${NSKMS}/nskms-${NSKMS}-linux-amd64.tar.gz /tmp/nskms.tar.gz
RUN tar -xzf /tmp/nskms.tar.gz -C /usr/local/bin nskms && rm /tmp/nskms.tar.gz
ENTRYPOINT ["nskms", "run", "--"]
CMD ["node", "server.js"]- Un binario, sin dependenciasUnos 6 MB, sin intérprete ni librerías que instalar.
- Nada corre antes de revisarloSin curl | sh: descargas, revisas el checksum y luego instalas.
- Firmado por NorthstarCada versión trae una firma Ed25519 que verificas tú.
Del .env a KMS
en tres pasos
Tu repositorio y tu panel de hosting se quedan sin contraseñas. Si un servidor se pierde, revocas un token, no rotas todo.
- Guarda el secreto en KMS
Un .env completo como un solo secreto, o un secreto por valor. Cada cambio es una versión nueva.
nskms secrets put app-env -file .env - Dale acceso a tu servidor
Una cuenta de servicio con el rol secret_accessor y un token, guardado en un archivo que solo lee tu aplicación.
export NSKMS_TOKEN_FILE=/etc/nskms/token - Arranca con nskms run
nskms lee el secreto, lo pone en el entorno y se reemplaza por tu comando: mismo PID, señales y código de salida.
nskms run -secret app-env -- node server.js
Funciona con lo que ya usas,
sin una línea de código
nskms no conoce tu lenguaje: pone las variables en el entorno y arranca tu comando. Si algo arranca tu aplicación por ti, como PHP-FPM, nskms env pull escribe un .env que solo lee su dueño.
- Referencias en un
.env.nskmsque sí puedes versionar:DB_PASSWORD=nskms://db-password@3. - Desactivar la versión más nueva regresa a la anterior en el siguiente arranque.
- Cada lectura queda en el registro de auditoría de tu organización.
nskms run -- node server.jsnskms run -- gunicorn app:appnskms run -- ./servicenskms run -- bundle exec pumanskms run -- java -jar app.jarnskms run -- php artisan queue:workExecStart=/usr/local/bin/nskms run -- /opt/app/servernskms run -- ./backup.shVerifica que lo publicó Northstar.
Cada versión trae SHA256SUMS y su firma Ed25519. Si la firma y el checksum coinciden, el binario es el que publicamos, aunque el servidor de descargas estuviera comprometido. Necesita OpenSSL 3.
curl -fsSLO https://get.bynorthstar.tech/nskms/1.0.0/SHA256SUMS.sig
curl -fsSL https://get.bynorthstar.tech/nskms/release-key.pem -o nskms-release-key.pem
{ printf 'nskms-release-v1\n'; cat SHA256SUMS; } > nskms-message
openssl pkeyutl -verify -pubin -inkey nskms-release-key.pem \
-rawin -in nskms-message -sigfile SHA256SUMS.sig3c661a6ca50800b1macOS · Apple Siliconnskms-1.0.0-darwin-arm64.tar.gzmacOS · Intelnskms-1.0.0-darwin-amd64.tar.gzLinux · x86-64nskms-1.0.0-linux-amd64.tar.gzLinux · ARM64nskms-1.0.0-linux-arm64.tar.gzWindows · x86-64nskms-1.0.0-windows-amd64.zipSHA256SUMSSHA256SUMS.sigrelease-key.pemPreguntas frecuentes
Saca tus contraseñas de los archivos .env
Northstar aún no es público. Estamos abriendo el acceso a un grupo pequeño de empresas: cuéntanos de la tuya.