@dotrino/vault 0.15.0 → 0.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -0
- package/package.json +1 -1
- package/src/env.js +13 -4
package/README.md
CHANGED
|
@@ -91,6 +91,25 @@ que los secretos estén. Si el vault no está disponible, **espera** (reintento
|
|
|
91
91
|
backoff) — un servicio sin vault no arranca, no opera con secretos viejos ni vacíos.
|
|
92
92
|
Un fallo NO transitorio (sin enrolar, cert revocado, scope equivocado) sí aborta.
|
|
93
93
|
|
|
94
|
+
#### Esperar al vault es la REGLA. La excepción es una sola
|
|
95
|
+
|
|
96
|
+
Un agente enrolado **espera**. No es una preferencia: arrancar igual significaría
|
|
97
|
+
operar con la configuración vieja del `.env`, que es justo lo que el vault vino a
|
|
98
|
+
dejar de ser. Y la espera casi nunca duele, porque estos agentes no son críticos:
|
|
99
|
+
que un bot o un firmador tarden en levantar no rompe a nadie.
|
|
100
|
+
|
|
101
|
+
La **única** excepción conocida es **el proxio**, y no por importancia sino por una
|
|
102
|
+
razón estructural: el vault habla con sus servicios **por el proxio**. Un proxio que
|
|
103
|
+
espera al vault espera a alguien que necesita que el proxio ya esté escuchando —
|
|
104
|
+
abrazo mortal, y con él se cae el vault de todo el mundo. Por eso el proxio arranca
|
|
105
|
+
con lo que tenga y aplica la configuración cuando llega, con `applyEnv`.
|
|
106
|
+
|
|
107
|
+
> `applyEnv` existe **para ese caso**, no como alternativa cómoda al bloqueo. Si tu
|
|
108
|
+
> agente no está en el camino por el que viaja el propio vault, usa
|
|
109
|
+
> `import '@dotrino/vault/config'` y deja que espere. El precio de la excepción es
|
|
110
|
+
> real: lo que sólo se lee al arrancar llega tarde y no toma efecto hasta reiniciar,
|
|
111
|
+
> así que hay que avisarlo en el log — el proxio lo hace.
|
|
112
|
+
|
|
94
113
|
Para procesos que no son Node, el CLI los inyecta en el entorno de un hijo:
|
|
95
114
|
|
|
96
115
|
```bash
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dotrino/vault",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.1",
|
|
4
4
|
"description": "Usa ESTE dispositivo (navegador) como bóveda/CA del ecosistema Dotrino: atiende enrolamientos por el proxy y firma certificados de delegación a tus máquinas. Incluye el cliente de SERVICIO (Node): un proyecto se enrola una vez y jala sus credenciales del vault en vez del .env (`import '@dotrino/vault/config'`).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.js",
|
package/src/env.js
CHANGED
|
@@ -113,10 +113,19 @@ export async function loadEnv ({ ns, dir, override, wait = true, required = [],
|
|
|
113
113
|
/**
|
|
114
114
|
* Vuelca un bundle de secretos en `process.env` y cuenta qué cambió.
|
|
115
115
|
*
|
|
116
|
-
*
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
*
|
|
116
|
+
* ⚠ ESTO NO ES LA FORMA NORMAL. Un agente enrolado ESPERA al vault
|
|
117
|
+
* (`loadEnv` / `import '@dotrino/vault/config'`): arrancar igual sería operar con
|
|
118
|
+
* la configuración vieja del `.env`, que es justo lo que el vault vino a dejar de
|
|
119
|
+
* ser, y la espera casi nunca duele porque estos agentes no son críticos.
|
|
120
|
+
*
|
|
121
|
+
* `applyEnv` existe para la ÚNICA excepción estructural: **el proxio**. El vault
|
|
122
|
+
* habla con sus servicios POR el proxio, así que un proxio que espera al vault
|
|
123
|
+
* espera a alguien que necesita el proxio escuchando — abrazo mortal, y con él se
|
|
124
|
+
* cae el vault de todos. Ese caso arranca con lo que tenga y aplica el bundle
|
|
125
|
+
* cuando llega, tarde y por su cuenta.
|
|
126
|
+
*
|
|
127
|
+
* Si tu agente no está en el camino por el que viaja el propio vault, no uses
|
|
128
|
+
* esto: usa `loadEnv` y deja que espere.
|
|
120
129
|
*
|
|
121
130
|
* @returns {{injected:string[], overridden:string[], skipped:string[]}}
|
|
122
131
|
*/
|