basic_usage/
basic_usage.rs

1/// Basic example of using composerize-np as a library
2use composerize_np::{composerize, composerize_to_json};
3
4fn main() {
5    // Example 1: Convert docker run to YAML
6    let docker_command = "docker run -d -p 80:80 --name web nginx:alpine";
7    
8    match composerize(docker_command, "", "latest", 2) {
9        Ok(yaml) => {
10            println!("=== YAML Output ===");
11            println!("{}", yaml);
12        }
13        Err(e) => eprintln!("Error: {}", e),
14    }
15
16    println!("\n{}\n", "=".repeat(50));
17
18    // Example 2: Convert docker run to JSON
19    let docker_command = "docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=secret mysql:8";
20    
21    match composerize_to_json(docker_command, "", "latest", 2) {
22        Ok(json) => {
23            println!("=== JSON Output ===");
24            println!("{}", json);
25        }
26        Err(e) => eprintln!("Error: {}", e),
27    }
28
29    println!("\n{}\n", "=".repeat(50));
30
31    // Example 3: Complex command with volumes and networks
32    let docker_command = "docker run -d \
33        --name ml-service \
34        --network ml-net \
35        -v ml-models:/models \
36        -v ml-cache:/cache \
37        -p 5000:5000 \
38        -e MODEL_PATH=/models \
39        tensorflow/tensorflow:latest-gpu";
40    
41    match composerize(docker_command, "", "v3x", 2) {
42        Ok(yaml) => {
43            println!("=== Complex Example (v3x) ===");
44            println!("{}", yaml);
45        }
46        Err(e) => eprintln!("Error: {}", e),
47    }
48}