Estoy usando gcp secrets manager (servicio en la nube), y en mi código uso el paquete @google-cloud/secret-manager para obtenerlos.
como esto:
const [version] = await client.accessSecretVersion({ name: name_here }) const responsePayload = Dotenv.parse(version?.payload?.data.toString()); await this.setDatabase(responsePayload)Bueno, después de eso, uso esta función setDatabase para poner esta carga útil en un objeto de configuración, que creé más arriba en el código.
El problema es que, en otros scripts, se importa este objeto de configuración antes de la carga de setDatabase() para conectar knex con dabatase, pero en el momento de la carga de las importaciones, el objeto de configuración aún está en blanco.
Tal vez algunas fotos aclararán:
console.log de config.database antes de cargar
console.log de configuración en otro momento después de cargar
¿Alguien tiene un consejo para ello?
bueno, pondría todas sus tareas de inicialización en un solo lugar y las haría en la secuencia que desee, para que no haya una dependencia cruzada entre las inclusiones comunes. Le dará un resultado más limpio cuando su código de inicio esté aislado de esta manera.