@@ -245,12 +245,11 @@ fn main() {
245
245
let args: Vec < String > = env:: args ( ) . collect ( ) ;
246
246
let program = args[ 0 ] . clone ( ) ;
247
247
let mut opts = Options :: new ( ) ;
248
- opts. optflag (
249
- "n" ,
250
- "dry-run" ,
251
- "Do not push the generated authorized_key file" ,
252
- ) ;
253
248
opts. optflag ( "h" , "help" , "Print this help menu" ) ;
249
+ opts. optopt ( "a" , "admin-servers" , "Set the destinations (remote server) for the admin group" , "ADMIN_SERVERS" ) ;
250
+ opts. optopt ( "p" , "admin-psk" , "Set the pre-shared key to add keys the admin group" , "ADMIN_PSK" ) ;
251
+ opts. optopt ( "u" , "user-servers" , "Set the destinations (remote server) for the user group" , "USER_SERVERS" ) ;
252
+ opts. optopt ( "q" , "user-psk" , "Set the pre-shared key to add keys the user group" , "USER_PSK" ) ;
254
253
255
254
let matches = match opts. parse ( & args[ 1 ..] ) {
256
255
Ok ( m) => m,
@@ -264,41 +263,37 @@ fn main() {
264
263
return ;
265
264
}
266
265
267
- if matches. opt_present ( "n" ) {
268
- eprintln ! ( "dry mode is currently not supported" ) ;
269
- std:: process:: exit ( 1 ) ;
270
- }
266
+ {
267
+ let config = & mut * CONFIG . lock ( ) . unwrap ( ) ;
271
268
272
- let admin_env = match env :: var ( "SERVER_ADMIN ") {
273
- Ok ( admin) => parse_destinations ( & admin) ,
274
- Err ( e ) => {
275
- println ! ( "Warning: SERVER_ADMIN not set. ({})" , e ) ;
276
- Ok ( vec ! [ ] )
277
- }
278
- } ;
269
+ let admin_env = match matches . opt_str ( "a ") {
270
+ Some ( admin) => parse_destinations ( & admin) ,
271
+ None => {
272
+ println ! ( "Warning: No admin servers set" ) ;
273
+ Ok ( vec ! ( ) )
274
+ }
275
+ } ;
279
276
280
- let user_env = match env :: var ( "SERVER_USER ") {
281
- Ok ( admin ) => parse_destinations ( & admin ) ,
282
- Err ( e ) => {
283
- println ! ( "Warning: SERVER_USER not set. ({})" , e ) ;
284
- Ok ( vec ! [ ] )
285
- }
286
- } ;
277
+ let user_env = match matches . opt_str ( "u ") {
278
+ Some ( user ) => parse_destinations ( & user ) ,
279
+ None => {
280
+ println ! ( "Warning: No user servers set" ) ;
281
+ Ok ( vec ! ( ) )
282
+ }
283
+ } ;
287
284
288
- {
289
- let config = & mut * CONFIG . lock ( ) . unwrap ( ) ;
290
285
config. user_destinations = match user_env {
291
286
Ok ( user_env) => user_env. clone ( ) ,
292
287
Err ( e) => {
293
- println ! ( "Could not parse SERVER_USER {:?}" , e) ;
288
+ println ! ( "Could not parse user servers: {:?}" , e) ;
294
289
return ;
295
290
}
296
291
} ;
297
292
298
293
config. admin_destinations = match admin_env {
299
294
Ok ( admin_env) => admin_env. clone ( ) ,
300
295
Err ( e) => {
301
- println ! ( "Could not parse SERVER_ADMIN {:?}" , e) ;
296
+ println ! ( "Could not parse admin servers: {:?}" , e) ;
302
297
return ;
303
298
}
304
299
} ;
@@ -307,13 +302,13 @@ fn main() {
307
302
. admin_destinations
308
303
. extend ( config. user_destinations . iter ( ) . cloned ( ) ) ;
309
304
310
- config. user_psk = env :: var ( "PSK_USER ") . unwrap_or_else ( |e| {
311
- println ! ( "Warning: PSK_USER not set. {:?}" , e ) ;
305
+ config. user_psk = matches . opt_str ( "q ") . unwrap_or_else ( || {
306
+ println ! ( "Warning: User PSK not set." ) ;
312
307
"default" . to_string ( )
313
308
} ) ;
314
309
315
- config. admin_psk = env :: var ( "PSK_ADMIN ") . unwrap_or_else ( |e| {
316
- println ! ( "Warning: PSK_ADMIN not set. {:?}" , e ) ;
310
+ config. admin_psk = matches . opt_str ( "p ") . unwrap_or_else ( || {
311
+ println ! ( "Warning: Admin PSK not set." ) ;
317
312
"default" . to_string ( )
318
313
} ) ;
319
314
0 commit comments