Documentation ¶
Index ¶
- Variables
- func ConfigureAuth(p Provisioner) error
- func Register(name string, p *RegisteredProvisioner)
- type ArchProvisioner
- func (provisioner *ArchProvisioner) CompatibleWithHost() bool
- func (provisioner *ArchProvisioner) Package(name string, action pkgaction.PackageAction) error
- func (provisioner *ArchProvisioner) Provision(swarmOptions swarm.Options, authOptions auth.Options, ...) error
- func (provisioner *ArchProvisioner) String() string
- type Boot2DockerProvisioner
- func (provisioner *Boot2DockerProvisioner) AttemptIPContact(dockerPort int)
- func (provisioner *Boot2DockerProvisioner) CompatibleWithHost() bool
- func (provisioner *Boot2DockerProvisioner) GenerateDockerOptions(dockerPort int) (*DockerOptions, error)
- func (provisioner *Boot2DockerProvisioner) GetAuthOptions() auth.Options
- func (provisioner *Boot2DockerProvisioner) GetDockerOptionsDir() string
- func (provisioner *Boot2DockerProvisioner) GetDriver() drivers.Driver
- func (provisioner *Boot2DockerProvisioner) GetOsReleaseInfo() (*OsRelease, error)
- func (provisioner *Boot2DockerProvisioner) Hostname() (string, error)
- func (provisioner *Boot2DockerProvisioner) Package(name string, action pkgaction.PackageAction) error
- func (provisioner *Boot2DockerProvisioner) Provision(swarmOptions swarm.Options, authOptions auth.Options, ...) error
- func (provisioner *Boot2DockerProvisioner) SSHCommand(args string) (string, error)
- func (provisioner *Boot2DockerProvisioner) Service(name string, action serviceaction.ServiceAction) error
- func (provisioner *Boot2DockerProvisioner) SetHostname(hostname string) error
- func (provisioner *Boot2DockerProvisioner) SetOsReleaseInfo(info *OsRelease)
- func (provisioner *Boot2DockerProvisioner) String() string
- type CentosProvisioner
- type CoreOSProvisioner
- func (provisioner *CoreOSProvisioner) GenerateDockerOptions(dockerPort int) (*DockerOptions, error)
- func (provisioner *CoreOSProvisioner) Package(name string, action pkgaction.PackageAction) error
- func (provisioner *CoreOSProvisioner) Provision(swarmOptions swarm.Options, authOptions auth.Options, ...) error
- func (provisioner *CoreOSProvisioner) SetHostname(hostname string) error
- func (provisioner *CoreOSProvisioner) String() string
- type DebianProvisioner
- type DockerOptions
- type EngineConfigContext
- type ErrDaemonAvailable
- type FedoraProvisioner
- type GenericProvisioner
- func (provisioner *GenericProvisioner) CompatibleWithHost() bool
- func (provisioner *GenericProvisioner) GenerateDockerOptions(dockerPort int) (*DockerOptions, error)
- func (provisioner *GenericProvisioner) GetAuthOptions() auth.Options
- func (provisioner *GenericProvisioner) GetDockerOptionsDir() string
- func (provisioner *GenericProvisioner) GetDriver() drivers.Driver
- func (provisioner *GenericProvisioner) GetOsReleaseInfo() (*OsRelease, error)
- func (provisioner *GenericProvisioner) Hostname() (string, error)
- func (provisioner *GenericProvisioner) SetHostname(hostname string) error
- func (provisioner *GenericProvisioner) SetOsReleaseInfo(info *OsRelease)
- type GenericSSHCommander
- type OsRelease
- type PackageListInfo
- type Provisioner
- func DetectProvisioner(d drivers.Driver) (Provisioner, error)
- func NewArchProvisioner(d drivers.Driver) Provisioner
- func NewBoot2DockerProvisioner(d drivers.Driver) Provisioner
- func NewCentosProvisioner(d drivers.Driver) Provisioner
- func NewCoreOSProvisioner(d drivers.Driver) Provisioner
- func NewDebianProvisioner(d drivers.Driver) Provisioner
- func NewFedoraProvisioner(d drivers.Driver) Provisioner
- func NewOpenSUSEProvisioner(d drivers.Driver) Provisioner
- func NewRancherProvisioner(d drivers.Driver) Provisioner
- func NewSLEDProvisioner(d drivers.Driver) Provisioner
- func NewSLESProvisioner(d drivers.Driver) Provisioner
- func NewUbuntuProvisioner(d drivers.Driver) Provisioner
- func NewUbuntuSystemdProvisioner(d drivers.Driver) Provisioner
- type RancherProvisioner
- func (provisioner *RancherProvisioner) Package(name string, action pkgaction.PackageAction) error
- func (provisioner *RancherProvisioner) Provision(swarmOptions swarm.Options, authOptions auth.Options, ...) error
- func (provisioner *RancherProvisioner) Service(name string, action serviceaction.ServiceAction) error
- func (provisioner *RancherProvisioner) SetHostname(hostname string) error
- func (provisioner *RancherProvisioner) String() string
- type RedHatProvisioner
- func (provisioner *RedHatProvisioner) ConfigurePackageList() error
- func (provisioner *RedHatProvisioner) GenerateDockerOptions(dockerPort int) (*DockerOptions, error)
- func (provisioner *RedHatProvisioner) Package(name string, action pkgaction.PackageAction) error
- func (provisioner *RedHatProvisioner) Provision(swarmOptions swarm.Options, authOptions auth.Options, ...) error
- func (provisioner *RedHatProvisioner) SetHostname(hostname string) error
- func (provisioner *RedHatProvisioner) String() string
- type RedHatSSHCommander
- type RegisteredProvisioner
- type SSHCommander
- type SUSEProvisioner
- func (provisioner *SUSEProvisioner) GenerateDockerOptions(dockerPort int) (*DockerOptions, error)
- func (provisioner *SUSEProvisioner) Package(name string, action pkgaction.PackageAction) error
- func (provisioner *SUSEProvisioner) Provision(swarmOptions swarm.Options, authOptions auth.Options, ...) error
- func (provisioner *SUSEProvisioner) Service(name string, action serviceaction.ServiceAction) error
- func (provisioner *SUSEProvisioner) String() string
- type SwarmCommandContext
- type SystemdProvisioner
- type UbuntuProvisioner
- func (provisioner *UbuntuProvisioner) CompatibleWithHost() bool
- func (provisioner *UbuntuProvisioner) Package(name string, action pkgaction.PackageAction) error
- func (provisioner *UbuntuProvisioner) Provision(swarmOptions swarm.Options, authOptions auth.Options, ...) error
- func (provisioner *UbuntuProvisioner) Service(name string, action serviceaction.ServiceAction) error
- func (provisioner *UbuntuProvisioner) String() string
- type UbuntuSystemdProvisioner
- func (provisioner *UbuntuSystemdProvisioner) CompatibleWithHost() bool
- func (provisioner *UbuntuSystemdProvisioner) Package(name string, action pkgaction.PackageAction) error
- func (provisioner *UbuntuSystemdProvisioner) Provision(swarmOptions swarm.Options, authOptions auth.Options, ...) error
- func (provisioner *UbuntuSystemdProvisioner) String() string
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrDetectionFailed = errors.New("OS type not recognized") ErrSSHCommandFailed = errors.New("SSH command failure") ErrNotImplemented = errors.New("Runtime not implemented") )
View Source
var (
ErrUnknownYumOsRelease = errors.New("unknown OS for Yum repository")
)
Functions ¶
func ConfigureAuth ¶
func ConfigureAuth(p Provisioner) error
func Register ¶
func Register(name string, p *RegisteredProvisioner)
Types ¶
type ArchProvisioner ¶ added in v0.5.0
type ArchProvisioner struct {
SystemdProvisioner
}
func (*ArchProvisioner) CompatibleWithHost ¶ added in v0.5.0
func (provisioner *ArchProvisioner) CompatibleWithHost() bool
func (*ArchProvisioner) Package ¶ added in v0.5.0
func (provisioner *ArchProvisioner) Package(name string, action pkgaction.PackageAction) error
func (*ArchProvisioner) String ¶ added in v0.5.2
func (provisioner *ArchProvisioner) String() string
type Boot2DockerProvisioner ¶
type Boot2DockerProvisioner struct { OsReleaseInfo *OsRelease Driver drivers.Driver AuthOptions auth.Options EngineOptions engine.Options SwarmOptions swarm.Options }
func (*Boot2DockerProvisioner) AttemptIPContact ¶ added in v0.5.0
func (provisioner *Boot2DockerProvisioner) AttemptIPContact(dockerPort int)
func (*Boot2DockerProvisioner) CompatibleWithHost ¶
func (provisioner *Boot2DockerProvisioner) CompatibleWithHost() bool
func (*Boot2DockerProvisioner) GenerateDockerOptions ¶
func (provisioner *Boot2DockerProvisioner) GenerateDockerOptions(dockerPort int) (*DockerOptions, error)
func (*Boot2DockerProvisioner) GetAuthOptions ¶ added in v0.3.0
func (provisioner *Boot2DockerProvisioner) GetAuthOptions() auth.Options
func (*Boot2DockerProvisioner) GetDockerOptionsDir ¶
func (provisioner *Boot2DockerProvisioner) GetDockerOptionsDir() string
func (*Boot2DockerProvisioner) GetDriver ¶
func (provisioner *Boot2DockerProvisioner) GetDriver() drivers.Driver
func (*Boot2DockerProvisioner) GetOsReleaseInfo ¶ added in v0.4.0
func (provisioner *Boot2DockerProvisioner) GetOsReleaseInfo() (*OsRelease, error)
func (*Boot2DockerProvisioner) Hostname ¶
func (provisioner *Boot2DockerProvisioner) Hostname() (string, error)
func (*Boot2DockerProvisioner) Package ¶
func (provisioner *Boot2DockerProvisioner) Package(name string, action pkgaction.PackageAction) error
func (*Boot2DockerProvisioner) SSHCommand ¶
func (provisioner *Boot2DockerProvisioner) SSHCommand(args string) (string, error)
func (*Boot2DockerProvisioner) Service ¶
func (provisioner *Boot2DockerProvisioner) Service(name string, action serviceaction.ServiceAction) error
func (*Boot2DockerProvisioner) SetHostname ¶
func (provisioner *Boot2DockerProvisioner) SetHostname(hostname string) error
func (*Boot2DockerProvisioner) SetOsReleaseInfo ¶
func (provisioner *Boot2DockerProvisioner) SetOsReleaseInfo(info *OsRelease)
func (*Boot2DockerProvisioner) String ¶ added in v0.5.2
func (provisioner *Boot2DockerProvisioner) String() string
type CentosProvisioner ¶ added in v0.3.0
type CentosProvisioner struct {
*RedHatProvisioner
}
func (*CentosProvisioner) String ¶ added in v0.5.2
func (provisioner *CentosProvisioner) String() string
type CoreOSProvisioner ¶ added in v0.5.0
type CoreOSProvisioner struct {
SystemdProvisioner
}
func (*CoreOSProvisioner) GenerateDockerOptions ¶ added in v0.5.0
func (provisioner *CoreOSProvisioner) GenerateDockerOptions(dockerPort int) (*DockerOptions, error)
func (*CoreOSProvisioner) Package ¶ added in v0.5.0
func (provisioner *CoreOSProvisioner) Package(name string, action pkgaction.PackageAction) error
func (*CoreOSProvisioner) SetHostname ¶ added in v0.5.0
func (provisioner *CoreOSProvisioner) SetHostname(hostname string) error
func (*CoreOSProvisioner) String ¶ added in v0.5.2
func (provisioner *CoreOSProvisioner) String() string
type DebianProvisioner ¶ added in v0.3.0
type DebianProvisioner struct {
SystemdProvisioner
}
func (*DebianProvisioner) Package ¶ added in v0.3.0
func (provisioner *DebianProvisioner) Package(name string, action pkgaction.PackageAction) error
func (*DebianProvisioner) String ¶ added in v0.5.2
func (provisioner *DebianProvisioner) String() string
type DockerOptions ¶
type EngineConfigContext ¶ added in v0.3.0
type ErrDaemonAvailable ¶ added in v0.5.0
type ErrDaemonAvailable struct {
// contains filtered or unexported fields
}
func NewErrDaemonAvailable ¶ added in v0.5.0
func NewErrDaemonAvailable(err error) ErrDaemonAvailable
func (ErrDaemonAvailable) Error ¶ added in v0.5.0
func (e ErrDaemonAvailable) Error() string
type FedoraProvisioner ¶ added in v0.3.0
type FedoraProvisioner struct {
*RedHatProvisioner
}
func (*FedoraProvisioner) String ¶ added in v0.5.2
func (provisioner *FedoraProvisioner) String() string
type GenericProvisioner ¶ added in v0.3.0
type GenericProvisioner struct { SSHCommander OsReleaseID string DockerOptionsDir string DaemonOptionsFile string Packages []string OsReleaseInfo *OsRelease Driver drivers.Driver AuthOptions auth.Options EngineOptions engine.Options SwarmOptions swarm.Options }
func (*GenericProvisioner) CompatibleWithHost ¶ added in v0.3.0
func (provisioner *GenericProvisioner) CompatibleWithHost() bool
func (*GenericProvisioner) GenerateDockerOptions ¶ added in v0.3.0
func (provisioner *GenericProvisioner) GenerateDockerOptions(dockerPort int) (*DockerOptions, error)
func (*GenericProvisioner) GetAuthOptions ¶ added in v0.3.0
func (provisioner *GenericProvisioner) GetAuthOptions() auth.Options
func (*GenericProvisioner) GetDockerOptionsDir ¶ added in v0.3.0
func (provisioner *GenericProvisioner) GetDockerOptionsDir() string
func (*GenericProvisioner) GetDriver ¶ added in v0.3.0
func (provisioner *GenericProvisioner) GetDriver() drivers.Driver
func (*GenericProvisioner) GetOsReleaseInfo ¶ added in v0.4.0
func (provisioner *GenericProvisioner) GetOsReleaseInfo() (*OsRelease, error)
func (*GenericProvisioner) Hostname ¶ added in v0.3.0
func (provisioner *GenericProvisioner) Hostname() (string, error)
func (*GenericProvisioner) SetHostname ¶ added in v0.3.0
func (provisioner *GenericProvisioner) SetHostname(hostname string) error
func (*GenericProvisioner) SetOsReleaseInfo ¶ added in v0.3.0
func (provisioner *GenericProvisioner) SetOsReleaseInfo(info *OsRelease)
type GenericSSHCommander ¶ added in v0.5.2
func (GenericSSHCommander) SSHCommand ¶ added in v0.5.2
func (sshCmder GenericSSHCommander) SSHCommand(args string) (string, error)
type OsRelease ¶
type OsRelease struct { AnsiColor string `osr:"ANSI_COLOR"` Name string `osr:"NAME"` Version string `osr:"VERSION"` ID string `osr:"ID"` IDLike string `osr:"ID_LIKE"` PrettyName string `osr:"PRETTY_NAME"` VersionID string `osr:"VERSION_ID"` HomeURL string `osr:"HOME_URL"` SupportURL string `osr:"SUPPORT_URL"` BugReportURL string `osr:"BUG_REPORT_URL"` }
OsRelease reflects values in /etc/os-release Values in this struct must always be string or the reflection will not work properly.
func NewOsRelease ¶
func (*OsRelease) ParseOsRelease ¶
type PackageListInfo ¶ added in v0.4.0
type Provisioner ¶
type Provisioner interface { fmt.Stringer SSHCommander // Create the files for the daemon to consume configuration settings (return struct of content and path) GenerateDockerOptions(dockerPort int) (*DockerOptions, error) // Get the directory where the settings files for docker are to be found GetDockerOptionsDir() string // Return the auth options used to configure remote connection for the daemon. GetAuthOptions() auth.Options // Run a package action e.g. install Package(name string, action pkgaction.PackageAction) error // Get Hostname Hostname() (string, error) // Set hostname SetHostname(hostname string) error // Figure out if this is the right provisioner to use based on /etc/os-release info CompatibleWithHost() bool // Do the actual provisioning piece: // 1. Set the hostname on the instance. // 2. Install Docker if it is not present. // 3. Configure the daemon to accept connections over TLS. // 4. Copy the needed certificates to the server and local config dir. // 5. Configure / activate swarm if applicable. Provision(swarmOptions swarm.Options, authOptions auth.Options, engineOptions engine.Options) error // Perform action on a named service e.g. stop Service(name string, action serviceaction.ServiceAction) error // Get the driver which is contained in the provisioner. GetDriver() drivers.Driver // Set the OS Release info depending on how it's represented // internally SetOsReleaseInfo(info *OsRelease) // Get the OS Release info for the current provisioner GetOsReleaseInfo() (*OsRelease, error) }
Provisioner defines distribution specific actions
func DetectProvisioner ¶
func DetectProvisioner(d drivers.Driver) (Provisioner, error)
func NewArchProvisioner ¶ added in v0.5.0
func NewArchProvisioner(d drivers.Driver) Provisioner
func NewBoot2DockerProvisioner ¶
func NewBoot2DockerProvisioner(d drivers.Driver) Provisioner
func NewCentosProvisioner ¶ added in v0.3.0
func NewCentosProvisioner(d drivers.Driver) Provisioner
func NewCoreOSProvisioner ¶ added in v0.5.0
func NewCoreOSProvisioner(d drivers.Driver) Provisioner
func NewDebianProvisioner ¶ added in v0.3.0
func NewDebianProvisioner(d drivers.Driver) Provisioner
func NewFedoraProvisioner ¶ added in v0.3.0
func NewFedoraProvisioner(d drivers.Driver) Provisioner
func NewOpenSUSEProvisioner ¶ added in v0.5.0
func NewOpenSUSEProvisioner(d drivers.Driver) Provisioner
func NewRancherProvisioner ¶ added in v0.3.0
func NewRancherProvisioner(d drivers.Driver) Provisioner
func NewSLEDProvisioner ¶ added in v0.5.0
func NewSLEDProvisioner(d drivers.Driver) Provisioner
func NewSLESProvisioner ¶ added in v0.5.0
func NewSLESProvisioner(d drivers.Driver) Provisioner
func NewUbuntuProvisioner ¶
func NewUbuntuProvisioner(d drivers.Driver) Provisioner
func NewUbuntuSystemdProvisioner ¶ added in v0.5.2
func NewUbuntuSystemdProvisioner(d drivers.Driver) Provisioner
type RancherProvisioner ¶ added in v0.3.0
type RancherProvisioner struct {
GenericProvisioner
}
func (*RancherProvisioner) Package ¶ added in v0.3.0
func (provisioner *RancherProvisioner) Package(name string, action pkgaction.PackageAction) error
func (*RancherProvisioner) Service ¶ added in v0.3.0
func (provisioner *RancherProvisioner) Service(name string, action serviceaction.ServiceAction) error
func (*RancherProvisioner) SetHostname ¶ added in v0.3.0
func (provisioner *RancherProvisioner) SetHostname(hostname string) error
func (*RancherProvisioner) String ¶ added in v0.5.2
func (provisioner *RancherProvisioner) String() string
type RedHatProvisioner ¶ added in v0.3.0
type RedHatProvisioner struct {
SystemdProvisioner
}
func NewRedHatProvisioner ¶ added in v0.3.0
func NewRedHatProvisioner(osReleaseID string, d drivers.Driver) *RedHatProvisioner
func (*RedHatProvisioner) ConfigurePackageList ¶ added in v0.4.0
func (provisioner *RedHatProvisioner) ConfigurePackageList() error
func (*RedHatProvisioner) GenerateDockerOptions ¶ added in v0.3.0
func (provisioner *RedHatProvisioner) GenerateDockerOptions(dockerPort int) (*DockerOptions, error)
func (*RedHatProvisioner) Package ¶ added in v0.3.0
func (provisioner *RedHatProvisioner) Package(name string, action pkgaction.PackageAction) error
func (*RedHatProvisioner) SetHostname ¶ added in v0.3.0
func (provisioner *RedHatProvisioner) SetHostname(hostname string) error
func (*RedHatProvisioner) String ¶ added in v0.5.2
func (provisioner *RedHatProvisioner) String() string
type RedHatSSHCommander ¶ added in v0.5.2
func (RedHatSSHCommander) SSHCommand ¶ added in v0.5.2
func (sshCmder RedHatSSHCommander) SSHCommand(args string) (string, error)
type RegisteredProvisioner ¶
type RegisteredProvisioner struct {
New func(d drivers.Driver) Provisioner
}
RegisteredProvisioner creates a new provisioner
type SSHCommander ¶ added in v0.5.2
type SUSEProvisioner ¶ added in v0.5.0
type SUSEProvisioner struct {
GenericProvisioner
}
func (*SUSEProvisioner) GenerateDockerOptions ¶ added in v0.5.0
func (provisioner *SUSEProvisioner) GenerateDockerOptions(dockerPort int) (*DockerOptions, error)
func (*SUSEProvisioner) Package ¶ added in v0.5.0
func (provisioner *SUSEProvisioner) Package(name string, action pkgaction.PackageAction) error
func (*SUSEProvisioner) Service ¶ added in v0.5.0
func (provisioner *SUSEProvisioner) Service(name string, action serviceaction.ServiceAction) error
func (*SUSEProvisioner) String ¶ added in v0.5.2
func (provisioner *SUSEProvisioner) String() string
type SwarmCommandContext ¶ added in v0.3.0
type SystemdProvisioner ¶ added in v0.5.2
type SystemdProvisioner struct {
GenericProvisioner
}
func NewSystemdProvisioner ¶ added in v0.5.2
func NewSystemdProvisioner(osReleaseID string, d drivers.Driver) SystemdProvisioner
func (*SystemdProvisioner) GenerateDockerOptions ¶ added in v0.5.2
func (p *SystemdProvisioner) GenerateDockerOptions(dockerPort int) (*DockerOptions, error)
func (*SystemdProvisioner) Service ¶ added in v0.5.2
func (p *SystemdProvisioner) Service(name string, action serviceaction.ServiceAction) error
func (*SystemdProvisioner) String ¶ added in v0.5.2
func (p *SystemdProvisioner) String() string
type UbuntuProvisioner ¶
type UbuntuProvisioner struct {
GenericProvisioner
}
func (*UbuntuProvisioner) CompatibleWithHost ¶
func (provisioner *UbuntuProvisioner) CompatibleWithHost() bool
func (*UbuntuProvisioner) Package ¶
func (provisioner *UbuntuProvisioner) Package(name string, action pkgaction.PackageAction) error
func (*UbuntuProvisioner) Service ¶
func (provisioner *UbuntuProvisioner) Service(name string, action serviceaction.ServiceAction) error
func (*UbuntuProvisioner) String ¶ added in v0.5.2
func (provisioner *UbuntuProvisioner) String() string
type UbuntuSystemdProvisioner ¶ added in v0.5.2
type UbuntuSystemdProvisioner struct {
SystemdProvisioner
}
func (*UbuntuSystemdProvisioner) CompatibleWithHost ¶ added in v0.5.2
func (provisioner *UbuntuSystemdProvisioner) CompatibleWithHost() bool
func (*UbuntuSystemdProvisioner) Package ¶ added in v0.5.2
func (provisioner *UbuntuSystemdProvisioner) Package(name string, action pkgaction.PackageAction) error
func (*UbuntuSystemdProvisioner) String ¶ added in v0.5.2
func (provisioner *UbuntuSystemdProvisioner) String() string
Source Files ¶
Click to show internal directories.
Click to hide internal directories.