@@ -2,6 +2,7 @@ mod essential;
22mod install;
33mod general;
44mod uninstall;
5+ mod service;
56
67use clap:: { Error , Parser , Subcommand , Args } ;
78use clap:: command;
@@ -10,6 +11,7 @@ use tracing::debug;
1011use crate :: essential:: { info, update_cli } ;
1112use crate :: install:: install_cortexflow;
1213use crate :: uninstall:: uninstall;
14+ use crate :: service:: list_services;
1315
1416use crate :: general:: GeneralData ;
1517
@@ -42,12 +44,29 @@ enum Commands {
4244 Update ,
4345 #[ command( name="info" ) ]
4446 Info ,
47+ #[ command( name="service" ) ]
48+ Service ( ServiceArgs ) ,
4549}
4650#[ derive( Args , Debug , Clone ) ]
4751struct SetArgs {
4852 val : String ,
4953}
5054
55+ #[ derive( Args , Debug , Clone ) ]
56+ struct ServiceArgs {
57+ #[ command( subcommand) ]
58+ service_cmd : ServiceCommands ,
59+ }
60+
61+ #[ derive( Subcommand , Debug , Clone ) ]
62+ enum ServiceCommands {
63+ #[ command( name="list" ) ]
64+ List {
65+ #[ arg( long) ]
66+ namespace : Option < String > ,
67+ } ,
68+ }
69+
5170fn args_parser ( ) -> Result < ( ) , Error > {
5271 let args = Cli :: parse ( ) ;
5372 let env = args. env ;
@@ -78,6 +97,14 @@ fn args_parser() -> Result<(), Error> {
7897 info ( general_data) ;
7998 Ok ( ( ) )
8099 }
100+ Some ( Commands :: Service ( service_args) ) => {
101+ match service_args. service_cmd {
102+ ServiceCommands :: List { namespace } => {
103+ list_services ( namespace) ;
104+ Ok ( ( ) )
105+ }
106+ }
107+ }
81108 None => {
82109 eprintln ! ( "CLI unknown argument. Cli arguments passed: {:?}" , args. cmd) ;
83110 Ok ( ( ) )
0 commit comments