1
1
use std:: env;
2
+ use std:: fs:: File ;
3
+ use std:: io:: Write ;
2
4
use std:: time:: Duration ;
3
5
4
6
use log:: { debug, LevelFilter } ;
@@ -26,7 +28,7 @@ pub fn run() {
26
28
- [x] Run the docker image.
27
29
- [x] Wait until the container is healthy.
28
30
- [x] Parse logs to get running services.
29
- - [ ] Build config file for the tracker_checker.
31
+ - [x ] Build config file for the tracker_checker.
30
32
- [ ] Run the tracker_checker.
31
33
- [x] Stop the container.
32
34
@@ -42,7 +44,7 @@ pub fn run() {
42
44
43
45
let container_tag = "torrust-tracker:local" ;
44
46
45
- Docker :: build ( "./Containerfile" , container_tag) . expect ( "A tracker local docker image should be built" ) ;
47
+ // Docker::build("./Containerfile", container_tag).expect("A tracker local docker image should be built");
46
48
47
49
println ! (
48
50
"Current dir: {:?}" ,
@@ -83,9 +85,16 @@ pub fn run() {
83
85
let mut config = RunningServices :: default ( ) ;
84
86
config. extract_from_logs ( & logs) ;
85
87
86
- let json = serde_json:: to_string_pretty ( & config) . unwrap ( ) ;
88
+ let json = serde_json:: to_string_pretty ( & config) . expect ( "Running services should be serialized into JSON" ) ;
87
89
println ! ( "Tracker checker configuration: {json}" ) ;
88
90
91
+ let tracker_checker_config_path = "./tracker_checker.json" ;
92
+
93
+ let mut file = File :: create ( tracker_checker_config_path) . expect ( "Tracker checker config file to be created" ) ;
94
+ file. write_all ( json. as_bytes ( ) )
95
+ . expect ( "Tracker checker config file to be written" ) ;
96
+ println ! ( "Tracker checker configuration file: {tracker_checker_config_path} \n {json}" ) ;
97
+
89
98
println ! ( "Stopping docker tracker image: {container_name} ..." ) ;
90
99
Docker :: stop ( & container_name) . expect ( "A tracker local docker image should be stopped" ) ;
91
100
0 commit comments