engine

package
v0.12.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 1, 2018 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Parse added in v0.7.0

func Parse(path string) (*api.VlabsARMContainerService, error)

Parse takes a template path and will parse that into a api.VlabsARMContainerService

Types

type Config

type Config struct {
	ClientID              string `envconfig:"CLIENT_ID"`
	ClientSecret          string `envconfig:"CLIENT_SECRET"`
	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"`

	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

func ParseConfig(cwd, clusterDefinition, name string) (*Config, error)

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
}

Engine holds necessary information to interact with acs-engine cli

func Build

func Build(cfg *config.Config, subnetID string) (*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) Generate

func (e *Engine) Generate() error

Generate will run acs-engine generate on a given cluster definition

func (*Engine) HasLinuxAgents

func (e *Engine) HasLinuxAgents() bool

HasLinuxAgents will return true if there is at least 1 linux agent pool

func (*Engine) HasWindowsAgents

func (e *Engine) HasWindowsAgents() bool

HasWindowsAgents will return true is there is at least 1 windows agent pool

func (*Engine) NodeCount

func (e *Engine) NodeCount() int

NodeCount returns the number of nodes that should be provisioned for a given cluster definition

func (*Engine) OrchestratorVersion1Dot8AndUp added in v0.10.0

func (e *Engine) OrchestratorVersion1Dot8AndUp() bool

OrchestratorVersion1Dot8AndUp will return true if the orchestrator version is 1.8 and up

func (*Engine) Write added in v0.7.0

func (e *Engine) Write() error

Write will write the cluster definition to disk

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL