libmachine: split swarm and engine options

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
This commit is contained in:
Evan Hazlett 2015-03-19 16:04:43 -04:00
parent 31b63a1204
commit 1691d19c9d
5 changed files with 50 additions and 48 deletions

View File

@ -30,6 +30,8 @@ import (
_ "github.com/docker/machine/drivers/vmwarevcloudair"
_ "github.com/docker/machine/drivers/vmwarevsphere"
"github.com/docker/machine/libmachine"
"github.com/docker/machine/libmachine/engine"
"github.com/docker/machine/libmachine/swarm"
"github.com/docker/machine/state"
"github.com/docker/machine/utils"
)
@ -392,8 +394,9 @@ func cmdCreate(c *cli.Context) {
}
hostOptions := &libmachine.HostOptions{
EngineOptions: &libmachine.EngineOptions{},
SwarmOptions: &libmachine.SwarmOptions{
DriverOptions: c,
EngineOptions: &engine.EngineOptions{},
SwarmOptions: &swarm.SwarmOptions{
Master: c.GlobalBool("swarm-master"),
Discovery: c.GlobalString("swarm-discovery"),
Address: c.GlobalString("swarm-addr"),

View File

@ -0,0 +1,16 @@
package engine
type EngineOptions struct {
Dns []string
GraphDir string
Ipv6 bool
Labels []string
LogLevel string
StorageDriver string
SelinuxEnabled bool
TlsCaCert string
TlsCert string
TlsKey string
TlsVerify bool
RegistryMirror []string
}

View File

@ -18,6 +18,8 @@ import (
log "github.com/Sirupsen/logrus"
"github.com/docker/machine/drivers"
"github.com/docker/machine/libmachine/engine"
"github.com/docker/machine/libmachine/swarm"
"github.com/docker/machine/provider"
"github.com/docker/machine/ssh"
"github.com/docker/machine/state"
@ -44,8 +46,17 @@ type Host struct {
ServerKeyPath string
ClientCertPath string
StorePath string
EngineOptions *EngineOptions
SwarmOptions *SwarmOptions
EngineOptions *engine.EngineOptions
SwarmOptions *swarm.SwarmOptions
}
type HostOptions struct {
Driver string
Memory int
Disk int
DriverOptions drivers.DriverOptions
EngineOptions *engine.EngineOptions
SwarmOptions *swarm.SwarmOptions
}
type DockerConfig struct {
@ -70,7 +81,7 @@ func waitForDocker(addr string) error {
return nil
}
func NewHost(name, driverName, StorePath, caCert, privateKey string, engineOptions *EngineOptions, swarmOptions *SwarmOptions) (*Host, error) {
func NewHost(name, driverName, StorePath, caCert, privateKey string, engineOptions *engine.EngineOptions, swarmOptions *swarm.SwarmOptions) (*Host, error) {
driver, err := drivers.NewDriver(driverName, name, StorePath, caCert, privateKey)
if err != nil {
return nil, err

View File

@ -1,43 +0,0 @@
package libmachine
import (
"github.com/docker/machine/drivers"
)
type EngineOptions struct {
Dns []string
GraphDir string
Ipv6 bool
Labels []string
LogLevel string
StorageDriver string
SelinuxEnabled bool
TlsCaCert string
TlsCert string
TlsKey string
TlsVerify bool
RegistryMirror []string
}
type SwarmOptions struct {
Address string
Discovery string
Master bool
Host string
Strategy string
Heartbeat int
Overcommit float64
TlsCaCert string
TlsCert string
TlsKey string
TlsVerify bool
}
type HostOptions struct {
Driver string
Memory int
Disk int
DriverOptions drivers.DriverOptions
EngineOptions *EngineOptions
SwarmOptions *SwarmOptions
}

15
libmachine/swarm/swarm.go Normal file
View File

@ -0,0 +1,15 @@
package swarm
type SwarmOptions struct {
Address string
Discovery string
Master bool
Host string
Strategy string
Heartbeat int
Overcommit float64
TlsCaCert string
TlsCert string
TlsKey string
TlsVerify bool
}