36 lines
823 B
Go
36 lines
823 B
Go
package docker
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/pulumi/pulumi-docker/sdk/v3/go/docker"
|
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
|
)
|
|
|
|
// DockerNetworkConfig is the configuration
|
|
// used for creating a Docker network.
|
|
type DockerNetworkConfig struct {
|
|
Name pulumi.StringInput
|
|
Subnet pulumi.StringInput
|
|
Driver pulumi.StringInput
|
|
}
|
|
|
|
// CreateNetwork creates the forge platform's Docker network.
|
|
func CreateNetwork(ctx *pulumi.Context, c DockerNetworkConfig) error {
|
|
args := docker.NetworkArgs{
|
|
Name: c.Name,
|
|
IpamDriver: c.Driver,
|
|
IpamConfigs: docker.NetworkIpamConfigArray{
|
|
docker.NetworkIpamConfigArgs{
|
|
Subnet: c.Subnet,
|
|
},
|
|
},
|
|
}
|
|
|
|
_, err := docker.NewNetwork(ctx, "docker_network", &args)
|
|
if err != nil {
|
|
return fmt.Errorf("unable to create the docker network...\n%w", err)
|
|
}
|
|
|
|
return nil
|
|
}
|