@@ -6,7 +6,6 @@ use rusoto_s3::{Object, S3Client, S3};
66use serde:: Serialize ;
77use serde_json:: { json, to_string_pretty} ;
88use std:: { collections:: HashSet , path:: Path } ;
9- use structopt:: StructOpt ;
109use tokio:: fs:: File ;
1110use tokio:: {
1211 self ,
@@ -52,52 +51,50 @@ enum Status {
5251 Uploaded ,
5352}
5453
55- #[ derive( StructOpt ) ]
5654struct Input {
57- #[ structopt(
58- short = "d" ,
59- long = "dir" ,
60- help = "The metadata path to check" ,
61- required = true
62- ) ]
6355 dir : String ,
64- #[ structopt( short = "u" , long = "url" , help = "S3 url" , required = true ) ]
6556 s3_url : String ,
66- #[ structopt( short = "b" , long = "backend" , help = "Backend url" , required = true ) ]
6757 backend_url : String ,
68- #[ structopt( short = "t" , long = "token" , help = "Token" , required = true ) ]
6958 backend_token : String ,
70- #[ structopt(
71- short = "a" ,
72- long = "ACCESS_KEY_ID" ,
73- help = "ACCESS_KEY_ID" ,
74- required = true
75- ) ]
7659 assess_key_id : String ,
77- #[ structopt(
78- short = "s" ,
79- long = "SECRET_ACCESS_KEY" ,
80- help = "SECRET_ACCESS_KEY" ,
81- required = true
82- ) ]
8360 secret_access_key : String ,
84- #[ structopt( short = "c" , long = "bucket" , help = "bucket name" , required = true ) ]
8561 bucket : String ,
86- #[ structopt( long = "r2_url" , help = "R2 url" , required = true ) ]
8762 r2_url : String ,
88- #[ structopt( long = "r2_acc" , help = "R2 ACCESS_KEY_ID" , required = true ) ]
8963 r2_access_key_id : String ,
90- #[ structopt( long = "r2_secret" , help = "R2 SECRET" , required = true ) ]
9164 r2_secret_access_key : String ,
92- #[ structopt( long = "r2_bucket" , help = "R2 bucket" , required = true ) ]
9365 r2_bucket : String ,
94- #[ structopt( long = "filelist_url" , help = "Filelist URL" , required = true ) ]
9566 filelist_url : String ,
9667}
9768
69+ impl Input {
70+ fn new ( ) -> Self {
71+ Self {
72+ dir : std:: env:: var ( "DIR" ) . expect ( "DIR environment variable not set" ) ,
73+ s3_url : std:: env:: var ( "S3_URL" ) . expect ( "S3_URL environment variable not set" ) ,
74+ backend_url : std:: env:: var ( "BACKEND_URL" )
75+ . expect ( "BACKEND_URL environment variable not set" ) ,
76+ backend_token : std:: env:: var ( "BACKEND_TOKEN" )
77+ . expect ( "BACKEND_TOKEN environment variable not set" ) ,
78+ assess_key_id : std:: env:: var ( "ACCESS_KEY_ID" )
79+ . expect ( "ACCESS_KEY_ID environment variable not set" ) ,
80+ secret_access_key : std:: env:: var ( "SECRET_ACCESS_KEY" )
81+ . expect ( "SECRET_ACCESS_KEY environment variable not set" ) ,
82+ bucket : std:: env:: var ( "BUCKET" ) . expect ( "BUCKET environment variable not set" ) ,
83+ r2_url : std:: env:: var ( "R2_URL" ) . expect ( "R2_URL environment variable not set" ) ,
84+ r2_access_key_id : std:: env:: var ( "R2_ACCESS_KEY_ID" )
85+ . expect ( "R2_ACCESS_KEY_ID environment variable not set" ) ,
86+ r2_secret_access_key : std:: env:: var ( "R2_SECRET_ACCESS_KEY" )
87+ . expect ( "R2_SECRET_ACCESS_KEY environment variable not set" ) ,
88+ r2_bucket : std:: env:: var ( "R2_BUCKET" ) . expect ( "R2_BUCKET environment variable not set" ) ,
89+ filelist_url : std:: env:: var ( "FILELIST_URL" )
90+ . expect ( "FILELIST_URL environment variable not set" ) ,
91+ }
92+ }
93+ }
94+
9895#[ tokio:: main]
9996async fn main ( ) -> anyhow:: Result < ( ) > {
100- let input = Input :: from_args ( ) ;
97+ let input = Input :: new ( ) ;
10198
10299 if !Path :: new ( & input. dir ) . exists ( ) {
103100 eprintln ! ( "The metadata directory does not exist: {}" , input. dir) ;
0 commit comments