Documentation ¶
Index ¶
- Constants
- Variables
- func ClusterFromBytes(data []byte) (*api.Cluster, error)
- func ClusterFromFile(filename string) (*api.Cluster, error)
- func GenerateAssetsOnDisk(sess *session.Session, c *Config, dir string, opts credential.GeneratorOptions) (*credential.RawAssetsOnDisk, error)
- func LoadCredentials(sess *session.Session, cfg *Config, opts api.StackTemplateOptions) (*credential.CompactAssets, error)
- func NewCredentialGenerator(c *Config) *credential.Generator
- func WithTrailingDot(s string) string
- type APIEndpoint
- type APIEndpointLB
- func (b APIEndpointLB) DNSNameRef() string
- func (b APIEndpointLB) Enabled() bool
- func (b APIEndpointLB) HostedZoneRef() string
- func (b APIEndpointLB) LogicalName() string
- func (b APIEndpointLB) RecordSetLogicalName() string
- func (b APIEndpointLB) Ref() string
- func (b APIEndpointLB) SecurityGroupLogicalName() string
- func (b APIEndpointLB) SecurityGroupRefs() []string
- func (b APIEndpointLB) TargetGroupRef() string
- type APIEndpoints
- type ClusterDescriber
- type Config
- func (c *Config) APIEndpointURLPort() string
- func (c *Config) AWSIAMAuthenticatorClusterIDRef() string
- func (c *Config) AdminAPIEndpointURL() string
- func (c *Config) EtcdCluster() EtcdCluster
- func (c Config) EtcdStackName() string
- func (c *Config) Etcdadm() (string, error)
- func (c *Config) HelmReleasePlugin() helmReleasePlugin
- func (c *Config) IAMRoleARNs() []string
- func (c Config) InternetGatewayLogicalName() string
- func (c Config) InternetGatewayRef() string
- func (c *Config) KubernetesManifestPlugin() kubernetesManifestPlugin
- func (c *Config) ManagedELBLogicalNames() []string
- func (c Config) NetworkStackName() string
- func (c Config) VPCID() (string, error)
- func (c Config) VPCLogicalName() (string, error)
- func (c Config) VPCManaged() bool
- func (c Config) VPCRef() (string, error)
- type Context
- func (s *Context) GenerateAssetsOnDisk(c *Config, dir string, opts credential.GeneratorOptions) (*credential.RawAssetsOnDisk, error)
- func (s *Context) InspectEtcdExistingState(c *Config) (api.EtcdExistingState, error)
- func (s *Context) LoadCredentials(cfg *Config, opts api.StackTemplateOptions) (*credential.CompactAssets, error)
- func (s *Context) ValidateNodePoolStack(c *NodePoolConfig, stack *Stack) (string, error)
- func (s *Context) ValidateStack(c *Stack) (string, error)
- type ControllerTmplCtx
- type EtcdCluster
- type EtcdNode
- func NewEtcdNode(cluster EtcdCluster, index int, nodeConfig api.EtcdNode, s api.Subnet) EtcdNode
- func NewEtcdNodeDependsOnManagedNGW(cluster EtcdCluster, index int, nodeConfig api.EtcdNode, s api.Subnet, ...) EtcdNode
- func NewEtcdNodes(nodeConfigs []api.EtcdNode, cluster EtcdCluster) ([]EtcdNode, error)
- func (i EtcdNode) AdvertisedFQDNRef() (string, error)
- func (i EtcdNode) DependencyExists() bool
- func (i EtcdNode) DependencyRef() (string, error)
- func (i EtcdNode) EBSLogicalName() string
- func (i EtcdNode) EBSRef() string
- func (i EtcdNode) EIPAllocationIDRef() (string, error)
- func (i EtcdNode) EIPLogicalName() (string, error)
- func (i EtcdNode) EIPManaged() bool
- func (i EtcdNode) EIPRef() (string, error)
- func (i EtcdNode) ImportedAdvertisedFQDNRef() (string, error)
- func (i EtcdNode) LaunchConfigurationLogicalName() string
- func (i EtcdNode) LogicalName() string
- func (i EtcdNode) Name() string
- func (i EtcdNode) NetworkInterfaceIDRef() string
- func (i EtcdNode) NetworkInterfaceLogicalName() string
- func (i EtcdNode) NetworkInterfaceManaged() bool
- func (i EtcdNode) NetworkInterfacePrivateIPLogicalName() string
- func (i EtcdNode) NetworkInterfacePrivateIPRef() string
- func (i EtcdNode) RecordSetLogicalName() string
- func (i EtcdNode) RecordSetManaged() bool
- func (i EtcdNode) SubnetAvailabilityZone() string
- func (i EtcdNode) SubnetRef() string
- type EtcdTmplCtx
- type Info
- type MainClusterSettings
- type Network
- type NetworkTmplCtx
- type NodePoolConfig
- func (c NodePoolConfig) APIEndpointURL() string
- func (c NodePoolConfig) APIEndpointURLPort() string
- func (c NodePoolConfig) AWSIAMAuthenticatorClusterIDRef() string
- func (c *NodePoolConfig) ExternalDNSName() string
- func (c NodePoolConfig) FeatureGates() api.FeatureGates
- func (c NodePoolConfig) NestedStackName() string
- func (c NodePoolConfig) NodeLabels() api.NodeLabels
- func (c NodePoolConfig) SecurityGroupRefs() []string
- func (c NodePoolConfig) StackName() string
- func (c NodePoolConfig) StackNameEnvFileName() string
- func (c NodePoolConfig) StackNameEnvVarName() string
- func (c NodePoolConfig) VPCRef() (string, error)
- func (c NodePoolConfig) Validate() error
- func (c NodePoolConfig) WorkerDeploymentSettings() NodePoolDeploymentSettings
- type NodePoolDeploymentSettings
- type NodePoolStackInfo
- type NodePoolStackRef
- type Ref
- type Stack
- func NewControlPlaneStack(conf *Config, opts api.StackTemplateOptions, ...) (*Stack, error)
- func NewEtcdStack(conf *Config, opts api.StackTemplateOptions, ...) (*Stack, error)
- func NewNetworkStack(conf *Config, nodePools []*Stack, opts api.StackTemplateOptions, ...) (*Stack, error)
- func NewWorkerStack(conf *Config, npconf *NodePoolConfig, opts api.StackTemplateOptions, ...) (*Stack, error)
- func (c *Stack) Assets() cfnstack.Assets
- func (c *Stack) ClusterExportedStacksS3URI() string
- func (c *Stack) ClusterS3URI() string
- func (c Stack) EtcdSnapshotsS3Bucket() (string, error)
- func (c Stack) EtcdSnapshotsS3PathRef() (string, error)
- func (c Stack) EtcdSnapshotsS3PrefixRef() (string, error)
- func (c *Stack) GetUserData(id string) *api.UserData
- func (c Stack) NestedStackName() string
- func (p *Stack) RenderAddControllerUserdata(opts api.StackTemplateOptions) error
- func (p *Stack) RenderAddEtcdUserdata(opts api.StackTemplateOptions) error
- func (p *Stack) RenderAddWorkerUserdata(opts api.StackTemplateOptions) error
- func (s *Stack) RenderAndAddUserData(id, userdataTmplPath string) error
- func (c *Stack) RenderStackTemplateAsBytes() ([]byte, error)
- func (c *Stack) RenderStackTemplateAsString() (string, error)
- func (c *Stack) String() string
- func (c *Stack) TemplateURL() (string, error)
- type StackRef
- type StackTemplateGetter
- type WorkerTmplCtx
Constants ¶
const STACK_TEMPLATE_FILENAME = "stack.json"
Variables ¶
var VERSION = "UNKNOWN"
VERSION set by build script
Functions ¶
func ClusterFromBytes ¶
ClusterFromBytes Necessary for unit tests, which store configs as hardcoded strings
func GenerateAssetsOnDisk ¶
func GenerateAssetsOnDisk(sess *session.Session, c *Config, dir string, opts credential.GeneratorOptions) (*credential.RawAssetsOnDisk, error)
func LoadCredentials ¶
func LoadCredentials(sess *session.Session, cfg *Config, opts api.StackTemplateOptions) (*credential.CompactAssets, error)
func NewCredentialGenerator ¶
func NewCredentialGenerator(c *Config) *credential.Generator
func WithTrailingDot ¶
Types ¶
type APIEndpoint ¶
type APIEndpoint struct { // APIEndpoint derives the user-provided configuration in an item of an `apiEndpoints` array and adds various computed settings api.APIEndpoint // LoadBalancer is the load balancer serving this API endpoint if any LoadBalancer APIEndpointLB }
APIEndpoint represents a Kubernetes API endpoint
type APIEndpointLB ¶
type APIEndpointLB struct { // APIEndpointLB derives the user-provided configuration in an `apiEndpoints[].loadBalancer` and adds various computed settings api.APIEndpointLB // APIEndpoint is inherited to configure this load balancer api.APIEndpoint // Subnets contains all the subnets assigned to this load-balancer. Specified only when this load balancer is not reused but managed one Subnets api.Subnets }
APIEndpointLB is the load balancer serving the API endpoint
func (APIEndpointLB) DNSNameRef ¶
func (b APIEndpointLB) DNSNameRef() string
DNSNameRef returns a CloudFormation ref for the Amazon-provided DNS name of this load balancer, which is typically used to fill an ALIAS or a CNAME dns record in Route 53
func (APIEndpointLB) Enabled ¶
func (b APIEndpointLB) Enabled() bool
Enabled returns true when controller nodes should be added as targets of this load balancer
func (APIEndpointLB) HostedZoneRef ¶
func (b APIEndpointLB) HostedZoneRef() string
HostedZoneRef returns a CloudFormation ref for the hosted zone the record set for this load balancer is created in
func (APIEndpointLB) LogicalName ¶
func (b APIEndpointLB) LogicalName() string
LogicalName returns the unique resource name of the load balancer
func (APIEndpointLB) RecordSetLogicalName ¶
func (b APIEndpointLB) RecordSetLogicalName() string
RecordSetLogicalName returns the logical name of a record set created for this load balancer A logical name is an unique name of an AWS resource inside a CloudFormation stack template
func (APIEndpointLB) Ref ¶
func (b APIEndpointLB) Ref() string
Ref returns a CloudFormation ref for the load balancer backing the API endpoint
func (APIEndpointLB) SecurityGroupLogicalName ¶
func (b APIEndpointLB) SecurityGroupLogicalName() string
SecurityGroupLogicalName returns a CloudFormation ref for the Security Group backing the API endpoint
func (APIEndpointLB) SecurityGroupRefs ¶
func (b APIEndpointLB) SecurityGroupRefs() []string
SecurityGroupRefs contains CloudFormation resource references for additional SGs associated to this LB
func (APIEndpointLB) TargetGroupRef ¶
func (b APIEndpointLB) TargetGroupRef() string
TargetGroupRef returns a CloudFormation ref for the Target Group backing the API endpoint
type APIEndpoints ¶
type APIEndpoints map[string]APIEndpoint
APIEndpoints is a set of API endpoints associated to a Kubernetes cluster
func NewAPIEndpoints ¶
func NewAPIEndpoints(configs []api.APIEndpoint, allSubnets []api.Subnet) (APIEndpoints, error)
NewAPIEndpoints computes and returns all the required settings required to manage API endpoints form various user-inputs and other already-computed settings
func (APIEndpoints) ELBClassicRefs ¶
func (e APIEndpoints) ELBClassicRefs() []string
ELBClassicRefs returns the names of all the Classic ELBs to which controller nodes should be associated
func (APIEndpoints) ELBV2TargetGroupRefs ¶
func (e APIEndpoints) ELBV2TargetGroupRefs() []string
ELBV2TargetGroupRefs returns the names of all the Load Balancers v2 to which controller nodes should be associated
func (APIEndpoints) FindByName ¶
func (e APIEndpoints) FindByName(name string) (*APIEndpoint, error)
FindByName finds an API endpoint in this set by its name
func (APIEndpoints) GetDefault ¶
func (e APIEndpoints) GetDefault() APIEndpoint
GetDefault returns the default API endpoint identified by its name. The name is defined as DefaultAPIEndpointName
func (APIEndpoints) ManagedELBLogicalNames ¶
func (e APIEndpoints) ManagedELBLogicalNames() []string
ManageELBLogicalNames returns all the logical names of the cfn resources corresponding to ELBs managed by kube-aws for API endpoints
type ClusterDescriber ¶
func NewClusterDescriber ¶
type Config ¶
type Config struct { *api.Cluster AdminAPIEndpoint APIEndpoint APIEndpoints APIEndpoints // EtcdNodes is the golang-representation of etcd nodes, which is used to differentiate unique etcd nodes // This is used to simplify templating of the control-plane stack template. EtcdNodes []EtcdNode APIServerVolumes api.APIServerVolumes APIServerFlags api.CommandLineFlags ControllerFlags api.CommandLineFlags KubeSchedulerFlags api.CommandLineFlags KubernetesManifestFiles []*provisioner.RemoteFile HelmReleaseFilesets []api.HelmReleaseFileset }
Config contains configuration parameters available when rendering userdata injected into a controller or an etcd node from golang text templates
func (*Config) APIEndpointURLPort ¶
func (*Config) AWSIAMAuthenticatorClusterIDRef ¶
func (*Config) AdminAPIEndpointURL ¶
AdminAPIEndpointURL is the url of the API endpoint which is written in kubeconfig and used to by admins
func (*Config) EtcdCluster ¶
func (c *Config) EtcdCluster() EtcdCluster
func (Config) EtcdStackName ¶
func (*Config) Etcdadm ¶
Etcdadm returns the content of the etcdadm script to be embedded into cloud-config-etcd
func (*Config) HelmReleasePlugin ¶
func (c *Config) HelmReleasePlugin() helmReleasePlugin
func (*Config) IAMRoleARNs ¶
func (Config) InternetGatewayLogicalName ¶
func (Config) InternetGatewayRef ¶
func (*Config) KubernetesManifestPlugin ¶
func (c *Config) KubernetesManifestPlugin() kubernetesManifestPlugin
func (*Config) ManagedELBLogicalNames ¶
ManageELBLogicalNames returns all the logical names of the cfn resources corresponding to ELBs managed by kube-aws for API endpoints
func (Config) NetworkStackName ¶
func (Config) VPCLogicalName ¶
func (Config) VPCManaged ¶
type Context ¶
type Context struct { Session *session.Session ProvidedEncryptService credential.KMSEncryptionService ProvidedCFInterrogator cfnstack.CFInterrogator ProvidedEC2Interrogator cfnstack.EC2Interrogator StackTemplateGetter StackTemplateGetter }
func (*Context) GenerateAssetsOnDisk ¶
func (s *Context) GenerateAssetsOnDisk(c *Config, dir string, opts credential.GeneratorOptions) (*credential.RawAssetsOnDisk, error)
func (*Context) InspectEtcdExistingState ¶
func (s *Context) InspectEtcdExistingState(c *Config) (api.EtcdExistingState, error)
func (*Context) LoadCredentials ¶
func (s *Context) LoadCredentials(cfg *Config, opts api.StackTemplateOptions) (*credential.CompactAssets, error)
func (*Context) ValidateNodePoolStack ¶
func (s *Context) ValidateNodePoolStack(c *NodePoolConfig, stack *Stack) (string, error)
ValidateStack validates the CloudFormation stack for this worker node pool already uploaded to S3
type ControllerTmplCtx ¶
ControllerTmplCtx is used for rendering controller stack and userdata
type EtcdCluster ¶
type EtcdCluster struct { api.EtcdCluster Network // contains filtered or unexported fields }
func NewEtcdCluster ¶
func NewEtcdCluster(config api.EtcdCluster, region api.Region, network Network, nodeCount int) EtcdCluster
func (EtcdCluster) DNSNames ¶
func (c EtcdCluster) DNSNames() []string
func (EtcdCluster) NodeCount ¶
func (c EtcdCluster) NodeCount() int
func (EtcdCluster) Region ¶
func (c EtcdCluster) Region() api.Region
type EtcdNode ¶
type EtcdNode struct {
// contains filtered or unexported fields
}
func NewEtcdNode ¶
func NewEtcdNodeDependsOnManagedNGW ¶
func NewEtcdNodeDependsOnManagedNGW(cluster EtcdCluster, index int, nodeConfig api.EtcdNode, s api.Subnet, ngw api.NATGateway) EtcdNode
func NewEtcdNodes ¶
func NewEtcdNodes(nodeConfigs []api.EtcdNode, cluster EtcdCluster) ([]EtcdNode, error)
NewEtcdNodes derives etcd nodes from user-provided etcd node configs
func (EtcdNode) AdvertisedFQDNRef ¶
func (EtcdNode) DependencyExists ¶
func (EtcdNode) DependencyRef ¶
func (EtcdNode) EBSLogicalName ¶
func (EtcdNode) EIPAllocationIDRef ¶
func (EtcdNode) EIPLogicalName ¶
func (EtcdNode) EIPManaged ¶
func (EtcdNode) ImportedAdvertisedFQDNRef ¶
func (EtcdNode) LaunchConfigurationLogicalName ¶
LaunchConfigurationLogicalName returns the logical name of the launch configuration specific to this etcd node
func (EtcdNode) LogicalName ¶
func (EtcdNode) NetworkInterfaceIDRef ¶
func (EtcdNode) NetworkInterfaceLogicalName ¶
func (EtcdNode) NetworkInterfaceManaged ¶
func (EtcdNode) NetworkInterfacePrivateIPLogicalName ¶
NetworkInterfacePrivateIPLogicalName returns the logical name of the launch configuration specific to this etcd node
func (EtcdNode) NetworkInterfacePrivateIPRef ¶
func (EtcdNode) RecordSetLogicalName ¶
func (EtcdNode) RecordSetManaged ¶
func (EtcdNode) SubnetAvailabilityZone ¶
type EtcdTmplCtx ¶
type EtcdTmplCtx struct { *Stack *Config api.EtcdExistingState EtcdNodes []EtcdNode }
An EtcdTmplCtx contains configuration settings/options mixed with existing state in a way that can be consumed by stack and cloud-config templates.
type MainClusterSettings ¶
type MainClusterSettings struct { EtcdNodes []EtcdNode KubeResourcesAutosave api.KubeResourcesAutosave }
type Network ¶
type Network interface { Subnets() []api.Subnet NATGateways() []api.NATGateway NATGatewayForSubnet(api.Subnet) (*api.NATGateway, error) }
func NewNetwork ¶
func NewNetwork(subnets []api.Subnet, natGateways []api.NATGateway) Network
type NetworkTmplCtx ¶
type NetworkTmplCtx struct { *Stack *Config WorkerNodePools []WorkerTmplCtx }
type NodePoolConfig ¶
type NodePoolConfig struct { api.WorkerNodePool `yaml:",inline"` MainClusterSettings // APIEndpoint is the k8s api endpoint to which worker nodes in this node pool communicate APIEndpoint APIEndpoint api.UnknownKeys `yaml:",inline"` AMI string }
func NodePoolCompile ¶
func NodePoolCompile(spec api.WorkerNodePool, main *Config) (*NodePoolConfig, error)
func (NodePoolConfig) APIEndpointURL ¶
func (c NodePoolConfig) APIEndpointURL() string
APIEndpointURL is the url of the API endpoint which is written in cloud-config-worker and used by kubelets in worker nodes to access the apiserver
func (NodePoolConfig) APIEndpointURLPort ¶
func (c NodePoolConfig) APIEndpointURLPort() string
func (NodePoolConfig) AWSIAMAuthenticatorClusterIDRef ¶
func (c NodePoolConfig) AWSIAMAuthenticatorClusterIDRef() string
func (*NodePoolConfig) ExternalDNSName ¶
func (c *NodePoolConfig) ExternalDNSName() string
func (NodePoolConfig) FeatureGates ¶
func (c NodePoolConfig) FeatureGates() api.FeatureGates
func (NodePoolConfig) NestedStackName ¶
func (c NodePoolConfig) NestedStackName() string
NestedStackName returns a sanitized name of this node pool which is usable as a valid cloudformation nested stack name
func (NodePoolConfig) NodeLabels ¶
func (c NodePoolConfig) NodeLabels() api.NodeLabels
func (NodePoolConfig) SecurityGroupRefs ¶
func (c NodePoolConfig) SecurityGroupRefs() []string
func (NodePoolConfig) StackName ¶
func (c NodePoolConfig) StackName() string
StackName returns the logical name of a CloudFormation stack resource in a root stack template This is not needed to be unique in an AWS account because the actual name of a nested stack is generated randomly by CloudFormation by including the logical name. This is NOT intended to be used to reference stack name from cloud-config as the target of awscli or cfn-bootstrap-tools commands e.g. `cfn-init` and `cfn-signal`
func (NodePoolConfig) StackNameEnvFileName ¶
func (c NodePoolConfig) StackNameEnvFileName() string
func (NodePoolConfig) StackNameEnvVarName ¶
func (c NodePoolConfig) StackNameEnvVarName() string
func (NodePoolConfig) VPCRef ¶
func (c NodePoolConfig) VPCRef() (string, error)
func (NodePoolConfig) Validate ¶
func (c NodePoolConfig) Validate() error
func (NodePoolConfig) WorkerDeploymentSettings ¶
func (c NodePoolConfig) WorkerDeploymentSettings() NodePoolDeploymentSettings
type NodePoolDeploymentSettings ¶
type NodePoolDeploymentSettings struct { api.WorkerNodePool api.Experimental api.DeploymentSettings }
func (NodePoolDeploymentSettings) StackTags ¶
func (c NodePoolDeploymentSettings) StackTags() map[string]string
func (NodePoolDeploymentSettings) Validate ¶
func (c NodePoolDeploymentSettings) Validate() error
func (NodePoolDeploymentSettings) WorkerSecurityGroupRefs ¶
func (c NodePoolDeploymentSettings) WorkerSecurityGroupRefs() []string
type NodePoolStackInfo ¶
type NodePoolStackInfo struct {
Name string
}
func (*NodePoolStackInfo) String ¶
func (c *NodePoolStackInfo) String() string
type NodePoolStackRef ¶
type NodePoolStackRef struct { *NodePoolConfig // contains filtered or unexported fields }
func (*NodePoolStackRef) Destroy ¶
func (c *NodePoolStackRef) Destroy() error
func (*NodePoolStackRef) Info ¶
func (c *NodePoolStackRef) Info() (*NodePoolStackInfo, error)
type Stack ¶
type Stack struct { NodeProvisioner *provisioner.Provisioner StackName string S3URI string ClusterName string Region api.Region Config *Config NodePoolConfig *NodePoolConfig api.StackTemplateOptions UserData map[string]api.UserData CfnInitConfigSets map[string]interface{} ExtraCfnResources map[string]interface{} ExtraCfnTags map[string]interface{} ExtraCfnOutputs map[string]interface{} AssetsConfig *credential.CompactAssets // contains filtered or unexported fields }
func NewControlPlaneStack ¶
func NewControlPlaneStack(conf *Config, opts api.StackTemplateOptions, extras clusterextension.ClusterExtension, assetsConfig *credential.CompactAssets) (*Stack, error)
NewControlPlaneStack reads the specified cluster spec along with all the referenced files into memory. Any configuration error like a reference to a missing file results in kube-aws existing with an error.
func NewEtcdStack ¶
func NewEtcdStack(conf *Config, opts api.StackTemplateOptions, extras clusterextension.ClusterExtension, assetsConfig *credential.CompactAssets, s *Context) (*Stack, error)
func NewNetworkStack ¶
func NewNetworkStack(conf *Config, nodePools []*Stack, opts api.StackTemplateOptions, extras clusterextension.ClusterExtension, assetsConfig *credential.CompactAssets) (*Stack, error)
func NewWorkerStack ¶
func NewWorkerStack(conf *Config, npconf *NodePoolConfig, opts api.StackTemplateOptions, extras clusterextension.ClusterExtension, assetsConfig *credential.CompactAssets) (*Stack, error)
func (*Stack) ClusterExportedStacksS3URI ¶
func (*Stack) ClusterS3URI ¶
func (Stack) EtcdSnapshotsS3Bucket ¶
func (Stack) EtcdSnapshotsS3PathRef ¶
EtcdSnapshotsS3Path is a pair of a S3 bucket and a key of an S3 object containing an etcd cluster snapshot
func (Stack) EtcdSnapshotsS3PrefixRef ¶
func (Stack) NestedStackName ¶
NestedStackName returns a sanitized name of this control-plane which is usable as a valid cloudformation nested stack name
func (*Stack) RenderAddControllerUserdata ¶
func (p *Stack) RenderAddControllerUserdata(opts api.StackTemplateOptions) error
func (*Stack) RenderAddEtcdUserdata ¶
func (p *Stack) RenderAddEtcdUserdata(opts api.StackTemplateOptions) error
func (*Stack) RenderAddWorkerUserdata ¶
func (p *Stack) RenderAddWorkerUserdata(opts api.StackTemplateOptions) error
func (*Stack) RenderAndAddUserData ¶
RenderAndAddUserData adds a userdata with the id that is loaded from the file located at `userdataTmplPath`. When the id is "Controller", the loaded useradata can be referenced by `Userdata.Controller` in templates.
func (*Stack) RenderStackTemplateAsBytes ¶
func (*Stack) RenderStackTemplateAsString ¶
func (*Stack) TemplateURL ¶
type StackTemplateGetter ¶
type StackTemplateGetter interface {
GetTemplate(input *cloudformation.GetTemplateInput) (*cloudformation.GetTemplateOutput, error)
}
type WorkerTmplCtx ¶
type WorkerTmplCtx struct { *Stack *NodePoolConfig }
WorkerTmplCtx is used for rendering worker stacks and userdata
Source Files ¶
- api_endpoint.go
- api_endpoint_lb.go
- api_endpoints.go
- compiler.go
- config.go
- const.go
- context.go
- credentials.go
- describer.go
- etcd_cluster.go
- etcd_node.go
- etcd_nodes.go
- info.go
- init.go
- network.go
- node_pool_compile.go
- node_pool_config.go
- node_pool_deployment_settings.go
- node_pool_stack_info.go
- node_pool_stack_ref.go
- stack.go
- stack_new.go
- stack_ref.go
- types.go