let files = List.map ((//) template_dir) files in
let files =
List.filter (fun name -> Filename.check_suffix name ".template") files in
- List.map (
- fun filename ->
- let name = Filename.basename filename in
- let name = Filename.chop_suffix name ".template" in
- (name, filename)
- ) files
+ let templates =
+ List.map (
+ fun filename ->
+ let name = Filename.basename filename in
+ let name = Filename.chop_suffix name ".template" in
+ (name, filename)
+ ) files in
+ List.sort compare templates
let template_names () = List.map fst (templates ())
base_image : string;
minimum_memory : int64 option;
recommended_memory : int64 option;
+ minimum_size : int64 option;
disk_bus : string option;
network_model : string option;
}
exit 1
);
| _ -> None in
+ let minimum_size =
+ match run_template ~verbose filename "minimum-size" [] with
+ | Some [size] ->
+ (try Some (bytes_of_human_size size)
+ with Not_found ->
+ eprintf "mclu: cannot parse output of '%s minimum-size'\n"
+ filename;
+ exit 1
+ );
+ | _ -> None in
let disk_bus =
match run_template ~verbose filename "disk-bus" [] with
| Some [answer] -> Some answer
{ base_image = base_image;
minimum_memory = minimum_memory;
recommended_memory = recommended_memory;
+ minimum_size = minimum_size;
disk_bus = disk_bus;
network_model = network_model }