dotrino-content 0.2.0 → 0.2.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/package.json +1 -1
- package/src/vaultEnv.js +15 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dotrino-content",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Nodo de contenido del ecosistema Dotrino: guarda los bytes del usuario direccionados por su hash (cid), en su propia maquina y, si el dueno quiere, respaldados en su propio bucket (R2, Backblaze, Hetzner, Storj o S3). Lo publico sale por URL directa; lo privado, cifrado y solo por la red Dotrino.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
package/src/vaultEnv.js
CHANGED
|
@@ -92,8 +92,10 @@ export function startVaultConfig ({ dir = serviceDir(), onSecrets, log = console
|
|
|
92
92
|
// sin su propio contenido local por una pieza que el ecosistema promete no exigir
|
|
93
93
|
// (`CLAUDE.md`: ninguna app puede requerir un daemon encendido). Al vencer el plazo se
|
|
94
94
|
// sigue en local, y cuando la configuración llegue, `watchEnv` reinicia con ella.
|
|
95
|
+
let vencio = false
|
|
95
96
|
const plazo = setTimeout(() => {
|
|
96
|
-
|
|
97
|
+
vencio = true
|
|
98
|
+
log(`[vault] la bóveda no contestó en ${Math.round(firstWaitMs / 1000)}s: arranco con lo local y me reinicio cuando llegue`)
|
|
97
99
|
llegaron(null)
|
|
98
100
|
}, firstWaitMs)
|
|
99
101
|
plazo.unref?.()
|
|
@@ -115,6 +117,18 @@ export function startVaultConfig ({ dir = serviceDir(), onSecrets, log = console
|
|
|
115
117
|
llegaron(secrets)
|
|
116
118
|
onSecrets?.(secrets)
|
|
117
119
|
|
|
120
|
+
// LLEGÓ TARDE: el node ya arrancó, y arrancó con lo que había — o sea, con el
|
|
121
|
+
// almacén equivocado si la configuración dice otro. `watchEnv` no sirve aquí
|
|
122
|
+
// porque solo reacciona a CAMBIOS, y esto es la primera llegada: sin esto, un node
|
|
123
|
+
// que arrancó antes que su bóveda se queda en local para siempre, con la
|
|
124
|
+
// configuración correcta puesta en el entorno y sin usarla. Se sale, y el
|
|
125
|
+
// supervisor lo levanta ya con todo.
|
|
126
|
+
if (vencio) {
|
|
127
|
+
log('[vault] llegó la configuración después de arrancar: me reinicio para tomarla')
|
|
128
|
+
setTimeout(() => process.exit(0), 300)
|
|
129
|
+
return
|
|
130
|
+
}
|
|
131
|
+
|
|
118
132
|
// Sin `onUpdate`, `watchEnv` sale del proceso él mismo (con el código que
|
|
119
133
|
// corresponda: 0 si cambió la configuración, 1 si revocaron a este agente, para
|
|
120
134
|
// que un supervisor que lo relance no gire en silencio). Es lo que queremos, así
|