diff --git a/src/client/main.cr b/src/client/main.cr index f48ff44..e6d4d07 100644 --- a/src/client/main.cr +++ b/src/client/main.cr @@ -37,8 +37,8 @@ class Actions # Maintenance @the_call["admin-maintenance"] = ->admin_maintenance - @the_call["user-zone-add"] = ->user_zone_add - @the_call["user-zone-del"] = ->user_zone_del + @the_call["user-zone-add"] = ->user_zone_add + @the_call["user-zone-del"] = ->user_zone_del end def admin_maintenance @@ -100,7 +100,7 @@ def main # Authd configuration. authd_config = if no_configuration - Baguette::Log.info "do not load a configuration file." + Baguette::Log.info "do not load a configuration file (authd)." Baguette::Configuration::Auth.new else # Configuration file is for dnsmanagerd. @@ -112,7 +112,7 @@ def main # Authd configuration. config = if no_configuration - Baguette::Log.info "do not load a configuration file." + Baguette::Log.info "do not load a configuration file (dnsmanagerd)." Baguette::Configuration::DNSManager.new else # Configuration file is for dnsmanagerd. @@ -137,12 +137,14 @@ def main # Authd authentication, get the token and quit right away. # If login == pass == "undef": do not even try. if authd_config.login.nil? || authd_config.pass.nil? - Baguette::Log.info "no authd login" + Baguette::Log.info "no authd login." else + Baguette::Log.info "authd login..." login = authd_config.login.not_nil! pass = authd_config.pass.not_nil! token = authd_get_token login: login, pass: pass dnsmanagerd.login token + Baguette::Log.info "logged." end #authd = AuthD::Client.new diff --git a/src/client/parser.cr b/src/client/parser.cr index 14b6a79..82ff5d0 100644 --- a/src/client/parser.cr +++ b/src/client/parser.cr @@ -95,12 +95,13 @@ def parsing_cli(authd_config : Baguette::Configuration::Auth) # Admin section. parser.on "admin", "Admin operations." do + parser.banner = "Admin operations (requires secret via -k)." # All admin operations require the shared key. opt_authd_admin.call parser, authd_config # Maintenance. parser.on("maintenance", "Maintenance operation of the website.") do - Baguette::Log.info "Maintenance operation of the website." + Baguette::Log.info "maintenance operation of the website." Context.command = "admin-maintenance" parser.banner = "COMMAND: admin maintenance subject [value]" unrecognized_args_to_context_args.call parser, nil, 1 @@ -108,6 +109,28 @@ def parsing_cli(authd_config : Baguette::Configuration::Auth) end + # User section. + parser.on "user", "Simple user operations." do + parser.banner = "Operations as a simple user." + # Zone. + parser.on("zone", "Zone operations.") do + parser.on("add", "Add new zone.") do + Baguette::Log.info "add zone." + Context.command = "user-zone-add" + parser.banner = "COMMAND: user zone add [...]" + unrecognized_args_to_context_args.call parser, nil, 1 + end + + parser.on("del", "Delete a zone.") do + Baguette::Log.info "del zone." + Context.command = "user-zone-del" + parser.banner = "COMMAND: user zone del domain [domain...]" + unrecognized_args_to_context_args.call parser, nil, 1 + end + end + + end + opt_help.call parser end