Add multiple networks
This commit is contained in:
@@ -18,12 +18,13 @@ The format is like this:
|
|||||||
|
|
||||||
```toml
|
```toml
|
||||||
user = "<USERNAME>" # Optional property, set if you don't want to run the Podman command with the root user
|
user = "<USERNAME>" # Optional property, set if you don't want to run the Podman command with the root user
|
||||||
|
capabilities = ["NET_BIND_SERVICE"] # Optional property, add Linux capabilities if you need some
|
||||||
|
|
||||||
# Required section
|
# Required section
|
||||||
[service]
|
[service]
|
||||||
name = "<CONTAINER NAME>" # Container name, required
|
name = "<CONTAINER NAME>" # Container name, required
|
||||||
image = "<IMAGE>" # Podman image name
|
image = "<IMAGE>" # Podman image name
|
||||||
network = "<NETWORK>" # Optional, if you want to run the container within a specific network. Set to "host" if you don't want to use the podman networking.
|
networks = ["<NETWORK>"] # Optional, if you want to run the container within a specific network. Set to "host" if you don't want to use the podman networking.
|
||||||
depend = ["<SERVICE NAME>"] # Name of any service in /etc/init.d to depend on
|
depend = ["<SERVICE NAME>"] # Name of any service in /etc/init.d to depend on
|
||||||
restart = "unless-stopped" # Restart, optional. Defaults to "unless-stopped"
|
restart = "unless-stopped" # Restart, optional. Defaults to "unless-stopped"
|
||||||
detach = true # Run container in detach mode, optional, default true. Recommended.
|
detach = true # Run container in detach mode, optional, default true. Recommended.
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ pub fn generate_openrc(config: &ServiceConfig) -> String {
|
|||||||
// start_pre()
|
// start_pre()
|
||||||
script.push_str("start_pre() {\n");
|
script.push_str("start_pre() {\n");
|
||||||
let mut start_pre_commands = Vec::new();
|
let mut start_pre_commands = Vec::new();
|
||||||
if let Some(network) = &config.service.network {
|
for network in &config.service.networks {
|
||||||
start_pre_commands.push(format!("podman network create {} --ignore;", network));
|
start_pre_commands.push(format!("podman network create {} --ignore;", network));
|
||||||
}
|
}
|
||||||
start_pre_commands.push(format!("podman rm {} --ignore;", config.service.name));
|
start_pre_commands.push(format!("podman rm {} --ignore;", config.service.name));
|
||||||
@@ -51,7 +51,7 @@ pub fn generate_openrc(config: &ServiceConfig) -> String {
|
|||||||
arguments.push("--detach".to_string());
|
arguments.push("--detach".to_string());
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some(network) = &config.service.network {
|
for network in &config.service.networks {
|
||||||
arguments.push(format!("--network {}", network));
|
arguments.push(format!("--network {}", network));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -35,7 +35,10 @@ pub struct Service {
|
|||||||
pub name: String,
|
pub name: String,
|
||||||
pub hostname: Option<String>,
|
pub hostname: Option<String>,
|
||||||
pub image: String,
|
pub image: String,
|
||||||
pub network: Option<String>,
|
|
||||||
|
#[serde(default)]
|
||||||
|
pub networks: Vec<String>,
|
||||||
|
|
||||||
pub restart: Option<String>,
|
pub restart: Option<String>,
|
||||||
pub detach: Option<bool>,
|
pub detach: Option<bool>,
|
||||||
pub healthcheck: Option<HealthCheck>,
|
pub healthcheck: Option<HealthCheck>,
|
||||||
|
|||||||
Reference in New Issue
Block a user