@@ -8,48 +8,51 @@ use zinit_client::Client;
88async fn main ( ) -> Result < ( ) > {
99 // Create a client using Unix socket transport
1010 // let unix_client = Client::unix_socket("/var/run/zinit.sock");
11-
11+
1212 // Or create a client using HTTP transport
1313 let http_client = Client :: http ( "http://localhost:8080" ) ;
14-
14+
1515 // Choose which client to use for this example
1616 let client = http_client;
17-
17+
1818 // Service name for our example
1919 let service_name = "test1234" ;
20-
20+
2121 // Step 1: List existing services
2222 println ! ( "Listing all services before creating our test service:" ) ;
2323 let services = client. list ( ) . await ?;
24-
24+
2525 // Print all services
2626 for ( name, state) in & services {
2727 println ! ( "- {}: {}" , name, state) ;
2828 }
29-
29+
3030 // Step 2: Create a new service
3131 println ! ( "\n --- Creating service '{}' ---" , service_name) ;
32-
32+
3333 // Create the service configuration
3434 let service_config = json ! ( {
3535 "exec" : "echo 'hello from test service'" ,
3636 "oneshot" : false ,
3737 "log" : "stdout"
38- } ) . as_object ( ) . unwrap ( ) . clone ( ) ;
39-
38+ } )
39+ . as_object ( )
40+ . unwrap ( )
41+ . clone ( ) ;
42+
4043 // Create the service
4144 let result = client. create_service ( service_name, service_config) . await ?;
4245 println ! ( "Create result: {}" , result) ;
43-
46+
4447 // Step 3: Monitor the service
4548 println ! ( "\n --- Monitoring service '{}' ---" , service_name) ;
4649 client. monitor ( service_name) . await ?;
4750 println ! ( "Service is now being monitored" ) ;
48-
51+
4952 // Wait a moment for the service to start
5053 println ! ( "Waiting for service to start..." ) ;
5154 time:: sleep ( Duration :: from_secs ( 2 ) ) . await ;
52-
55+
5356 // Step 4: Get the status of the service
5457 println ! ( "\n --- Getting status for '{}' ---" , service_name) ;
5558 let status = client. status ( service_name) . await ?;
@@ -61,39 +64,39 @@ async fn main() -> Result<()> {
6164 for ( dep, state) in & status. after {
6265 println ! ( " - {}: {}" , dep, state) ;
6366 }
64-
67+
6568 // Step 5: Stop the service
6669 println ! ( "\n --- Stopping service '{}' ---" , service_name) ;
6770 client. stop ( service_name) . await ?;
6871 println ! ( "Service stopped" ) ;
69-
72+
7073 // Wait a moment for the service to stop
7174 time:: sleep ( Duration :: from_secs ( 1 ) ) . await ;
72-
75+
7376 // Check status after stopping
7477 println ! ( "\n --- Status after stopping ---" ) ;
7578 let status = client. status ( service_name) . await ?;
7679 println ! ( "State: {}" , status. state) ;
7780 println ! ( "Target: {}" , status. target) ;
78-
81+
7982 // Step 6: Delete the service
8083 println ! ( "\n --- Deleting service '{}' ---" , service_name) ;
8184 let delete_result = client. delete_service ( service_name) . await ?;
8285 println ! ( "Delete result: {}" , delete_result) ;
83-
86+
8487 // Step 7: Verify the service is gone
8588 println ! ( "\n --- Listing services after deletion ---" ) ;
8689 let services_after = client. list ( ) . await ?;
8790 for ( name, state) in & services_after {
8891 println ! ( "- {}: {}" , name, state) ;
8992 }
90-
93+
9194 // Check if our service was deleted
9295 if !services_after. contains_key ( service_name) {
9396 println ! ( "\n Service '{}' was successfully deleted" , service_name) ;
9497 } else {
9598 println ! ( "\n Warning: Service '{}' still exists" , service_name) ;
9699 }
97-
100+
98101 Ok ( ( ) )
99- }
102+ }
0 commit comments