Skip to content

Commit 3cb8de1

Browse files
committed
feat: use env values to setup intention action; add try/catch
1 parent c0d94da commit 3cb8de1

File tree

1 file changed

+37
-29
lines changed

1 file changed

+37
-29
lines changed

src/cron/backup.ts

Lines changed: 37 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@ import * as stream from 'stream/promises';
55

66
import { getClient } from '../services/minio';
77
import {
8+
BROKER_ENVIRONMENT,
89
BROKER_JWT,
10+
BROKER_PROJECT,
11+
BROKER_SERVICE,
912
BROKER_USER,
1013
DB_FILE_STATUS,
1114
OBJECT_STORAGE_BUCKET,
@@ -42,38 +45,43 @@ export async function backup(db: DatabaseService) {
4245
await backupWithSecret(db, OBJECT_STORAGE_SECRET_KEY, result);
4346
} else {
4447
const brokerService = new BrokerService(BROKER_JWT);
45-
const openResponse = await brokerService.open({
46-
event: {
47-
provider: 'nr-objectstore-backup',
48-
reason: 'Cron triggered',
49-
},
50-
actions: [
51-
{
52-
action: 'backup',
53-
id: 'backup',
54-
provision: ['token/self'],
55-
service: {
56-
name: 'vsync',
57-
project: 'vault',
58-
environment: 'production',
48+
try {
49+
const openResponse = await brokerService.open({
50+
event: {
51+
provider: 'nr-objectstore-rotate-backup',
52+
reason: 'Cron triggered',
53+
},
54+
actions: [
55+
{
56+
action: 'backup',
57+
id: 'backup',
58+
provision: ['token/self'],
59+
service: {
60+
name: BROKER_SERVICE,
61+
project: BROKER_PROJECT,
62+
environment: BROKER_ENVIRONMENT,
63+
},
5964
},
65+
],
66+
user: {
67+
name: BROKER_USER,
6068
},
61-
],
62-
user: {
63-
name: BROKER_USER,
64-
},
65-
});
66-
const actionToken = openResponse.actions['backup'].token;
67-
const vaultAccessToken = await brokerService.provisionToken(actionToken);
68-
const vault = new VaultService(vaultAccessToken);
69-
const objectStorageCreds = await vault.read(VAULT_CRED_PATH);
70-
const secretKey = objectStorageCreds[VAULT_CRED_KEY];
71-
vault.revokeToken();
72-
const backupFiles = await backupWithSecret(db, secretKey, result);
73-
for (const fileObj of backupFiles) {
74-
await brokerService.attachArtifact(actionToken, fileObj);
69+
});
70+
const actionToken = openResponse.actions['backup'].token;
71+
const vaultAccessToken = await brokerService.provisionToken(actionToken);
72+
const vault = new VaultService(vaultAccessToken);
73+
const objectStorageCreds = await vault.read(VAULT_CRED_PATH);
74+
const secretKey = objectStorageCreds[VAULT_CRED_KEY];
75+
vault.revokeToken();
76+
const backupFiles = await backupWithSecret(db, secretKey, result);
77+
for (const fileObj of backupFiles) {
78+
await brokerService.attachArtifact(actionToken, fileObj);
79+
}
80+
brokerService.close(true);
81+
} catch (e: any) {
82+
// Error!
83+
console.log(e);
7584
}
76-
brokerService.close(true);
7785
}
7886
}
7987

0 commit comments

Comments
 (0)