@@ -16,7 +16,7 @@ use crate::configuration::AncillaryFilesSignerConfig;
16
16
use crate :: dependency_injection:: builder:: SNAPSHOT_ARTIFACTS_DIR ;
17
17
use crate :: dependency_injection:: { DependenciesBuilder , DependenciesBuilderError , Result } ;
18
18
use crate :: file_uploaders:: {
19
- CloudRemotePath , FileUploadRetryPolicy , GcpBackendUploader , GcpUploader , LocalUploader ,
19
+ CloudRemotePath , CloudUploader , FileUploadRetryPolicy , GCloudBackendUploader , LocalUploader ,
20
20
} ;
21
21
use crate :: get_dependency;
22
22
use crate :: http_server:: { CARDANO_DATABASE_DOWNLOAD_PATH , SNAPSHOT_DOWNLOAD_PATH } ;
@@ -28,7 +28,9 @@ use crate::services::{
28
28
SignedEntityServiceArtifactsDependencies , Snapshotter ,
29
29
} ;
30
30
use crate :: tools:: file_archiver:: FileArchiver ;
31
+ use crate :: tools:: DEFAULT_GCP_CREDENTIALS_JSON_ENV_VAR ;
31
32
use crate :: { DumbUploader , ExecutionEnvironment , FileUploader , SnapshotUploaderType } ;
33
+
32
34
impl DependenciesBuilder {
33
35
async fn build_signed_entity_service ( & mut self ) -> Result < Arc < dyn SignedEntityService > > {
34
36
let logger = self . root_logger ( ) ;
@@ -194,7 +196,8 @@ impl DependenciesBuilder {
194
196
let remote_folder_path = CloudRemotePath :: new ( "cardano-immutable-files-full" ) ;
195
197
196
198
Ok ( Arc :: new (
197
- self . build_gcp_uploader ( remote_folder_path, allow_overwrite) ?,
199
+ self . build_gcp_uploader ( remote_folder_path, allow_overwrite)
200
+ . await ?,
198
201
) )
199
202
}
200
203
SnapshotUploaderType :: Local => {
@@ -232,11 +235,11 @@ impl DependenciesBuilder {
232
235
get_dependency ! ( self . snapshot_uploader)
233
236
}
234
237
235
- fn build_gcp_uploader (
238
+ async fn build_gcp_uploader (
236
239
& self ,
237
240
remote_folder_path : CloudRemotePath ,
238
241
allow_overwrite : bool ,
239
- ) -> Result < GcpUploader > {
242
+ ) -> Result < CloudUploader > {
240
243
let logger = self . root_logger ( ) ;
241
244
let bucket = self
242
245
. configuration
@@ -246,19 +249,23 @@ impl DependenciesBuilder {
246
249
DependenciesBuilderError :: MissingConfiguration ( "snapshot_bucket_name" . to_string ( ) )
247
250
} ) ?;
248
251
249
- Ok ( GcpUploader :: new (
250
- Arc :: new ( GcpBackendUploader :: try_new (
251
- bucket,
252
- self . configuration . snapshot_use_cdn_domain ( ) ,
253
- logger. clone ( ) ,
254
- ) ?) ,
252
+ Ok ( CloudUploader :: new (
253
+ Arc :: new (
254
+ GCloudBackendUploader :: try_new (
255
+ bucket,
256
+ self . configuration . snapshot_use_cdn_domain ( ) ,
257
+ DEFAULT_GCP_CREDENTIALS_JSON_ENV_VAR . to_string ( ) ,
258
+ logger. clone ( ) ,
259
+ )
260
+ . await ?,
261
+ ) ,
255
262
remote_folder_path,
256
263
allow_overwrite,
257
264
FileUploadRetryPolicy :: default ( ) ,
258
265
) )
259
266
}
260
267
261
- fn build_cardano_database_ancillary_uploaders (
268
+ async fn build_cardano_database_ancillary_uploaders (
262
269
& self ,
263
270
) -> Result < Vec < Arc < dyn AncillaryFileUploader > > > {
264
271
let logger = self . root_logger ( ) ;
@@ -269,10 +276,10 @@ impl DependenciesBuilder {
269
276
let remote_folder_path =
270
277
CloudRemotePath :: new ( "cardano-database" ) . join ( "ancillary" ) ;
271
278
272
- Ok ( vec ! [ Arc :: new( self . build_gcp_uploader (
273
- remote_folder_path,
274
- allow_overwrite ,
275
- ) ? ) ] )
279
+ Ok ( vec ! [ Arc :: new(
280
+ self . build_gcp_uploader ( remote_folder_path, allow_overwrite )
281
+ . await ? ,
282
+ ) ] )
276
283
}
277
284
SnapshotUploaderType :: Local => {
278
285
let server_url_prefix = self . configuration . get_server_url ( ) ?;
@@ -302,7 +309,7 @@ impl DependenciesBuilder {
302
309
}
303
310
}
304
311
305
- fn build_cardano_database_immutable_uploaders (
312
+ async fn build_cardano_database_immutable_uploaders (
306
313
& self ,
307
314
) -> Result < Vec < Arc < dyn ImmutableFilesUploader > > > {
308
315
let logger = self . root_logger ( ) ;
@@ -313,10 +320,10 @@ impl DependenciesBuilder {
313
320
let remote_folder_path =
314
321
CloudRemotePath :: new ( "cardano-database" ) . join ( "immutable" ) ;
315
322
316
- Ok ( vec ! [ Arc :: new( self . build_gcp_uploader (
317
- remote_folder_path,
318
- allow_overwrite ,
319
- ) ? ) ] )
323
+ Ok ( vec ! [ Arc :: new(
324
+ self . build_gcp_uploader ( remote_folder_path, allow_overwrite )
325
+ . await ? ,
326
+ ) ] )
320
327
}
321
328
SnapshotUploaderType :: Local => {
322
329
let server_url_prefix = self . configuration . get_server_url ( ) ?;
@@ -337,7 +344,9 @@ impl DependenciesBuilder {
337
344
}
338
345
}
339
346
340
- fn build_cardano_database_digests_uploaders ( & self ) -> Result < Vec < Arc < dyn DigestFileUploader > > > {
347
+ async fn build_cardano_database_digests_uploaders (
348
+ & self ,
349
+ ) -> Result < Vec < Arc < dyn DigestFileUploader > > > {
341
350
let logger = self . root_logger ( ) ;
342
351
if self . configuration . environment ( ) == ExecutionEnvironment :: Production {
343
352
match self . configuration . snapshot_uploader_type ( ) {
@@ -346,10 +355,10 @@ impl DependenciesBuilder {
346
355
let remote_folder_path =
347
356
CloudRemotePath :: new ( "cardano-database" ) . join ( "digests" ) ;
348
357
349
- Ok ( vec ! [ Arc :: new( self . build_gcp_uploader (
350
- remote_folder_path,
351
- allow_overwrite ,
352
- ) ? ) ] )
358
+ Ok ( vec ! [ Arc :: new(
359
+ self . build_gcp_uploader ( remote_folder_path, allow_overwrite )
360
+ . await ? ,
361
+ ) ] )
353
362
}
354
363
SnapshotUploaderType :: Local => {
355
364
let server_url_prefix = self . configuration . get_server_url ( ) ?;
@@ -387,15 +396,15 @@ impl DependenciesBuilder {
387
396
let immutable_dir = self . get_cardano_db_artifacts_dir ( ) ?. join ( "immutable" ) ;
388
397
389
398
let ancillary_builder = Arc :: new ( AncillaryArtifactBuilder :: new (
390
- self . build_cardano_database_ancillary_uploaders ( ) ?,
399
+ self . build_cardano_database_ancillary_uploaders ( ) . await ?,
391
400
self . get_snapshotter ( ) . await ?,
392
401
self . configuration . get_network ( ) ?,
393
402
self . root_logger ( ) ,
394
403
) ?) ;
395
404
396
405
let immutable_builder = Arc :: new ( ImmutableArtifactBuilder :: new (
397
406
immutable_dir,
398
- self . build_cardano_database_immutable_uploaders ( ) ?,
407
+ self . build_cardano_database_immutable_uploaders ( ) . await ?,
399
408
self . get_snapshotter ( ) . await ?,
400
409
self . root_logger ( ) ,
401
410
) ?) ;
@@ -405,7 +414,7 @@ impl DependenciesBuilder {
405
414
406
415
let digest_builder = Arc :: new ( DigestArtifactBuilder :: new (
407
416
self . configuration . get_server_url ( ) ?,
408
- self . build_cardano_database_digests_uploaders ( ) ?,
417
+ self . build_cardano_database_digests_uploaders ( ) . await ?,
409
418
digests_snapshotter,
410
419
self . configuration . get_network ( ) ?,
411
420
digests_path,
0 commit comments