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) HasGPUNodes() bool
- 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) HasGPUNodes ¶ added in v0.14.0
HasGPUNodes will return true if the VM SKU is GPU-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