Documentation
¶
Index ¶
- Constants
- Variables
- func ConfigureKernelModules(kernelModules []kernel.Module) error
- func Run(ctx context.Context, configurators ...Configurator) error
- type Configuration
- func (c *Configuration) AddBridges(bridges ...InterfaceConfig)
- func (c *Configuration) AddContainerMirrors(mirrors ...string)
- func (c *Configuration) AddDNSes(dnses ...net.IP)
- func (c *Configuration) AddFirewallRules(sources ...firewall.RuleSource)
- func (c *Configuration) AddHugePages(hugePages uint64)
- func (c *Configuration) AddMount(source, target string, writable bool)
- func (c *Configuration) AddNetworks(networks ...InterfaceConfig)
- func (c *Configuration) AddRoutes(routes ...Route)
- func (c *Configuration) AddVLANs(vlans ...VLANConfig)
- func (c *Configuration) AddYumMirrors(mirrors ...string)
- func (c *Configuration) ContainerImages() []string
- func (c *Configuration) ContainerMirrors() []string
- func (c *Configuration) Hostname() string
- func (c *Configuration) IsContainer() bool
- func (c *Configuration) MetricGatherer() prometheus.Gatherer
- func (c *Configuration) Packages() []string
- func (c *Configuration) Prepare(prepares ...PrepareFn)
- func (c *Configuration) RegisterMetrics(gatherers ...prometheus.Gatherer)
- func (c *Configuration) RemoteLogging(lokiURL string)
- func (c *Configuration) RequireContainers(images ...string)
- func (c *Configuration) RequireIPForwarding()
- func (c *Configuration) RequireInitramfs()
- func (c *Configuration) RequireKernelModules(kernelModules ...kernel.Module)
- func (c *Configuration) RequirePackages(packages ...string)
- func (c *Configuration) RequireVirt()
- func (c *Configuration) Sealed() SealedConfiguration
- func (c *Configuration) SetGateway(gateway net.IP)
- func (c *Configuration) SetHostname(hostname string)
- func (c *Configuration) StartServices(services ...ServiceConfig)
- type Configurator
- type InterfaceConfig
- type PrepareFn
- type Route
- type SealedConfiguration
- type ServiceConfig
- type VLANConfig
Constants ¶
const (
// ContainerEnvVar is used to set container name.
ContainerEnvVar = "CLOUDLESS_CONTAINER"
)
Variables ¶
var ( // ErrPowerOff means that host should be powered off. ErrPowerOff = errors.New("power off requested") // ErrReboot means that host should be rebooted. ErrReboot = errors.New("reboot requested") // ErrNotThisHost is an indicator that spec is for different host. ErrNotThisHost = errors.New("not this host") // ErrHostFound is an indicator that this is the host matching the spec. ErrHostFound = errors.New("host found") )
var DashboardBoxes grafanatypes.Dashboard
DashboardBoxes is the dashboard providing basic information about running boxes.
Functions ¶
func ConfigureKernelModules ¶
ConfigureKernelModules loads kernel modules.
Types ¶
type Configuration ¶
type Configuration struct {
// contains filtered or unexported fields
}
Configuration allows service to configure the required host settings.
func NewSubconfiguration ¶
func NewSubconfiguration(c *Configuration) (*Configuration, func())
NewSubconfiguration creates subconfiguration.
func (*Configuration) AddBridges ¶
func (c *Configuration) AddBridges(bridges ...InterfaceConfig)
AddBridges configures bridges.
func (*Configuration) AddContainerMirrors ¶
func (c *Configuration) AddContainerMirrors(mirrors ...string)
AddContainerMirrors adds container image mirrors.
func (*Configuration) AddDNSes ¶
func (c *Configuration) AddDNSes(dnses ...net.IP)
AddDNSes adds DNS servers.
func (*Configuration) AddFirewallRules ¶
func (c *Configuration) AddFirewallRules(sources ...firewall.RuleSource)
AddFirewallRules add firewall rules.
func (*Configuration) AddHugePages ¶
func (c *Configuration) AddHugePages(hugePages uint64)
AddHugePages adds number of hugepages to be allocated.
func (*Configuration) AddMount ¶
func (c *Configuration) AddMount(source, target string, writable bool)
AddMount adds mount.
func (*Configuration) AddNetworks ¶
func (c *Configuration) AddNetworks(networks ...InterfaceConfig)
AddNetworks configures networks.
func (*Configuration) AddRoutes ¶
func (c *Configuration) AddRoutes(routes ...Route)
AddRoutes adds static routes.
func (*Configuration) AddVLANs ¶
func (c *Configuration) AddVLANs(vlans ...VLANConfig)
AddVLANs configures vlans.
func (*Configuration) AddYumMirrors ¶
func (c *Configuration) AddYumMirrors(mirrors ...string)
AddYumMirrors adds package repository mirrors.
func (*Configuration) ContainerImages ¶
func (c *Configuration) ContainerImages() []string
ContainerImages returns the list of container images required by any host.
func (*Configuration) ContainerMirrors ¶
func (c *Configuration) ContainerMirrors() []string
ContainerMirrors returns list of container image mirrors.
func (*Configuration) Hostname ¶
func (c *Configuration) Hostname() string
Hostname returns hostname.
func (*Configuration) IsContainer ¶
func (c *Configuration) IsContainer() bool
IsContainer informs if configurator is executed in the context of container.
func (*Configuration) MetricGatherer ¶
func (c *Configuration) MetricGatherer() prometheus.Gatherer
MetricGatherer returns prometheus metric gatherer.
func (*Configuration) Packages ¶
func (c *Configuration) Packages() []string
Packages returns the list of packages configured for any host.
func (*Configuration) Prepare ¶
func (c *Configuration) Prepare(prepares ...PrepareFn)
Prepare adds prepare function to be called.
func (*Configuration) RegisterMetrics ¶
func (c *Configuration) RegisterMetrics(gatherers ...prometheus.Gatherer)
RegisterMetrics registers prometheus metric gatherers.
func (*Configuration) RemoteLogging ¶
func (c *Configuration) RemoteLogging(lokiURL string)
RemoteLogging configures remote logging.
func (*Configuration) RequireContainers ¶
func (c *Configuration) RequireContainers(images ...string)
RequireContainers is called to download container images.
func (*Configuration) RequireIPForwarding ¶
func (c *Configuration) RequireIPForwarding()
RequireIPForwarding is called if host requires IP forwarding to be enabled.
func (*Configuration) RequireInitramfs ¶
func (c *Configuration) RequireInitramfs()
RequireInitramfs is called if host requires initramfs to be generated.
func (*Configuration) RequireKernelModules ¶
func (c *Configuration) RequireKernelModules(kernelModules ...kernel.Module)
RequireKernelModules is called to load kernel modules.
func (*Configuration) RequirePackages ¶
func (c *Configuration) RequirePackages(packages ...string)
RequirePackages is called to install packages.
func (*Configuration) RequireVirt ¶
func (c *Configuration) RequireVirt()
RequireVirt is called if host requires virtualization services.
func (*Configuration) Sealed ¶
func (c *Configuration) Sealed() SealedConfiguration
Sealed gives access to information collected by configurators.
func (*Configuration) SetGateway ¶
func (c *Configuration) SetGateway(gateway net.IP)
SetGateway sets gateway.
func (*Configuration) SetHostname ¶
func (c *Configuration) SetHostname(hostname string)
SetHostname sets hostname.
func (*Configuration) StartServices ¶
func (c *Configuration) StartServices(services ...ServiceConfig)
StartServices configures services to be started on host.
type Configurator ¶
type Configurator func(c *Configuration) error
Configurator is the function called to collect host configuration.
type InterfaceConfig ¶
InterfaceConfig contains network interface configuration.
type SealedConfiguration ¶
type SealedConfiguration interface {
IsContainer() bool
MetricGatherer() prometheus.Gatherer
Packages() []string
ContainerImages() []string
Hostname() string
ContainerMirrors() []string
}
SealedConfiguration exposes information collected by the configurators.
type ServiceConfig ¶
ServiceConfig contains service configuration.