@@ -6,70 +6,73 @@ use zinit_client::Client;
66async fn main ( ) -> Result < ( ) > {
77 // Create a client using HTTP transport
88 let client = Client :: http ( "http://localhost:8080" ) . await ?;
9-
9+
1010 // Create a new service
1111 let service_name = "example-http-service" ;
1212 let service_config = json ! ( {
1313 "exec" : "echo 'Hello from HTTP service'" ,
1414 "oneshot" : true ,
1515 "after" : [ "network" ]
16- } ) . as_object ( ) . unwrap ( ) . clone ( ) ;
17-
16+ } )
17+ . as_object ( )
18+ . unwrap ( )
19+ . clone ( ) ;
20+
1821 match client. create_service ( service_name, service_config) . await {
1922 Ok ( msg) => println ! ( "Service created: {}" , msg) ,
2023 Err ( e) => eprintln ! ( "Failed to create service: {}" , e) ,
2124 }
22-
25+
2326 // Start the HTTP/RPC server on a specific address
2427 match client. start_http_server ( "0.0.0.0:8081" ) . await {
2528 Ok ( msg) => println ! ( "HTTP server status: {}" , msg) ,
2629 Err ( e) => eprintln ! ( "Failed to start HTTP server: {}" , e) ,
2730 }
28-
31+
2932 // List all services
3033 let services = client. list ( ) . await ?;
3134 println ! ( "\n Services:" ) ;
3235 for ( name, state) in services {
3336 println ! ( "{}: {}" , name, state) ;
3437 }
35-
38+
3639 // Monitor the service
3740 match client. monitor ( service_name) . await {
3841 Ok ( _) => println ! ( "\n Service is now monitored" ) ,
3942 Err ( e) => eprintln ! ( "Failed to monitor service: {}" , e) ,
4043 }
41-
44+
4245 // Start the service
4346 match client. start ( service_name) . await {
4447 Ok ( _) => println ! ( "Service started successfully" ) ,
4548 Err ( e) => eprintln ! ( "Failed to start service: {}" , e) ,
4649 }
47-
50+
4851 // Get logs
4952 let logs = client. logs ( Some ( service_name. to_string ( ) ) ) . await ?;
5053 println ! ( "\n Logs:" ) ;
5154 for log in logs {
5255 println ! ( "{}" , log) ;
5356 }
54-
57+
5558 // Clean up - forget the service
5659 println ! ( "\n Cleaning up..." ) ;
5760 match client. forget ( service_name) . await {
5861 Ok ( _) => println ! ( "Service has been forgotten" ) ,
5962 Err ( e) => eprintln ! ( "Failed to forget service: {}" , e) ,
6063 }
61-
64+
6265 // Clean up - delete the service configuration
6366 match client. delete_service ( service_name) . await {
6467 Ok ( msg) => println ! ( "{}" , msg) ,
6568 Err ( e) => eprintln ! ( "Failed to delete service: {}" , e) ,
6669 }
67-
70+
6871 // Stop the HTTP/RPC server
6972 match client. stop_http_server ( ) . await {
7073 Ok ( _) => println ! ( "HTTP server stopped" ) ,
7174 Err ( e) => eprintln ! ( "Failed to stop HTTP server: {}" , e) ,
7275 }
73-
76+
7477 Ok ( ( ) )
7578}
0 commit comments