Documentation
¶
Index ¶
- func ParseInput(path string) (*api.VlabsARMContainerService, error)
- func ParseOutput(path string) (*api.ContainerService, error)
- type Config
- type Engine
- func (e *Engine) Deploy(location string) error
- func (e *Engine) Generate() error
- func (e *Engine) HasAddon(name string) (bool, api.KubernetesAddon)
- func (e *Engine) HasLinuxAgents() bool
- func (e *Engine) HasNetworkPolicy(name string) bool
- func (e *Engine) HasWindowsAgents() bool
- func (e *Engine) NodeCount() int
- func (e *Engine) Write() error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParseInput ¶ added in v0.13.0
func ParseInput(path string) (*api.VlabsARMContainerService, error)
ParseInput takes a template path and will parse that into a api.VlabsARMContainerService
func ParseOutput ¶ added in v0.13.0
func ParseOutput(path string) (*api.ContainerService, error)
ParseOutput takes the generated api model and will parse that into a api.ContainerService
Types ¶
type Config ¶
type Config struct {
ClientID string `envconfig:"CLIENT_ID"`
ClientSecret string `envconfig:"CLIENT_SECRET"`
ClientObjectID string `envconfig:"CLIENT_OBJECTID"`
MasterDNSPrefix string `envconfig:"DNS_PREFIX"`
AgentDNSPrefix string `envconfig:"DNS_PREFIX"`
PublicSSHKey string `envconfig:"PUBLIC_SSH_KEY"`
WindowsAdminPasssword string `envconfig:"WINDOWS_ADMIN_PASSWORD"`
OrchestratorRelease string `envconfig:"ORCHESTRATOR_RELEASE"`
OrchestratorVersion string `envconfig:"ORCHESTRATOR_VERSION"`
OutputDirectory string `envconfig:"OUTPUT_DIR" default:"_output"`
CreateVNET bool `envconfig:"CREATE_VNET" default:"false"`
EnableKMSEncryption bool `envconfig:"ENABLE_KMS_ENCRYPTION" default:"false"`
Distro string `envconfig:"DISTRO"`
SubscriptionID string `envconfig:"SUBSCRIPTION_ID"`
TenantID string `envconfig:"TENANT_ID"`
ImageName string `envconfig:"IMAGE_NAME"`
ImageResourceGroup string `envconfig:"IMAGE_RESOURCE_GROUP"`
ClusterDefinitionPath string // The original template we want to use to build the cluster from.
ClusterDefinitionTemplate string // This is the template after we splice in the environment variables
GeneratedDefinitionPath string // Holds the contents of running acs-engine generate
OutputPath string // This is the root output path
DefinitionName string // Unique cluster name
GeneratedTemplatePath string // azuredeploy.json path
GeneratedParametersPath string // azuredeploy.parameters.json path
}
Config represents the configuration values of a template stored as env vars
func ParseConfig ¶
ParseConfig will return a new engine config struct taking values from env vars
type Engine ¶
type Engine struct {
Config *Config
ClusterDefinition *api.VlabsARMContainerService // Holds the parsed ClusterDefinition
ExpandedDefinition *api.ContainerService // Holds the expanded ClusterDefinition
}
Engine holds necessary information to interact with acs-engine cli
func Build ¶
func Build(cfg *config.Config, masterSubnetID string, agentSubnetID string, isVMSS bool) (*Engine, error)
Build takes a template path and will inject values based on provided environment variables it will then serialize the structs back into json and save it to outputPath
func (*Engine) Deploy ¶ added in v0.23.0
Deploy will run acs-engine deploy on a given cluster definition
func (*Engine) HasAddon ¶ added in v0.14.0
func (e *Engine) HasAddon(name string) (bool, api.KubernetesAddon)
HasAddon will return true if an addon is enabled
func (*Engine) HasLinuxAgents ¶
HasLinuxAgents will return true if there is at least 1 linux agent pool
func (*Engine) HasNetworkPolicy ¶ added in v0.18.0
HasNetworkPolicy will return true if the specified network policy is enabled
func (*Engine) HasWindowsAgents ¶
HasWindowsAgents will return true is there is at least 1 windows agent pool