mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2025-09-01 08:31:57 +00:00
Move docker specific volume & network settings into backend code (#1956)
... if we want to make them be changed ... it should be an agent-backend-option
This commit is contained in:
@@ -18,6 +18,7 @@ import (
|
||||
"context"
|
||||
"io"
|
||||
"os"
|
||||
"runtime"
|
||||
"strings"
|
||||
|
||||
"github.com/docker/docker/api/types"
|
||||
@@ -41,6 +42,12 @@ type docker struct {
|
||||
volumes []string
|
||||
}
|
||||
|
||||
const (
|
||||
networkDriverNAT = "nat"
|
||||
networkDriverBridge = "bridge"
|
||||
volumeDriver = "local"
|
||||
)
|
||||
|
||||
// New returns a new Docker Engine.
|
||||
func New() backend.Engine {
|
||||
return &docker{
|
||||
@@ -97,21 +104,22 @@ func (e *docker) Load(ctx context.Context) error {
|
||||
func (e *docker) Setup(_ context.Context, conf *backend.Config) error {
|
||||
for _, vol := range conf.Volumes {
|
||||
_, err := e.client.VolumeCreate(noContext, volume.VolumeCreateBody{
|
||||
Name: vol.Name,
|
||||
Driver: vol.Driver,
|
||||
DriverOpts: vol.DriverOpts,
|
||||
// Labels: defaultLabels,
|
||||
Name: vol.Name,
|
||||
Driver: volumeDriver,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
networkDriver := networkDriverBridge
|
||||
if runtime.GOOS == "windows" {
|
||||
networkDriver = networkDriverNAT
|
||||
}
|
||||
for _, n := range conf.Networks {
|
||||
_, err := e.client.NetworkCreate(noContext, n.Name, types.NetworkCreate{
|
||||
Driver: n.Driver,
|
||||
Options: n.DriverOpts,
|
||||
Driver: networkDriver,
|
||||
EnableIPv6: e.enableIPv6,
|
||||
// Labels: defaultLabels,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
|
Reference in New Issue
Block a user