UNPKG

@puls-atlas/cli

Version:

The Puls Atlas CLI tool for managing Atlas projects

30 lines 834 B
import { SecretManagerServiceClient } from '@google-cloud/secret-manager'; export default (name, value, project = 'puls-atlas-core') => { const client = new SecretManagerServiceClient(); return client.getSecret({ name: `projects/${project}/secrets/${name}` }).then(() => { throw new Error(`Secret ${name} already exists`); }).catch(async error => { if (error.code === 5) { const payload = Buffer.from(value, 'utf8'); const [secret] = await client.createSecret({ parent: `projects/${project}`, secretId: name, secret: { replication: { automatic: {} } } }); await client.addSecretVersion({ parent: secret.name, payload: { data: payload } }); } else { throw error; } }); };