@@ -5,7 +5,10 @@ import * as stream from 'stream/promises';
5
5
6
6
import { getClient } from '../services/minio' ;
7
7
import {
8
+ BROKER_ENVIRONMENT ,
8
9
BROKER_JWT ,
10
+ BROKER_PROJECT ,
11
+ BROKER_SERVICE ,
9
12
BROKER_USER ,
10
13
DB_FILE_STATUS ,
11
14
OBJECT_STORAGE_BUCKET ,
@@ -42,38 +45,43 @@ export async function backup(db: DatabaseService) {
42
45
await backupWithSecret ( db , OBJECT_STORAGE_SECRET_KEY , result ) ;
43
46
} else {
44
47
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
+ } ,
59
64
} ,
65
+ ] ,
66
+ user : {
67
+ name : BROKER_USER ,
60
68
} ,
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 ) ;
75
84
}
76
- brokerService . close ( true ) ;
77
85
}
78
86
}
79
87
0 commit comments