Documentation ¶
Index ¶
- 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
- type APIEndpoints
- type EtcdCluster
- type EtcdNode
- func NewEtcdNode(cluster EtcdCluster, index int, nodeConfig model.EtcdNode, s model.Subnet) EtcdNode
- func NewEtcdNodeDependsOnManagedNGW(cluster EtcdCluster, index int, nodeConfig model.EtcdNode, s model.Subnet, ...) EtcdNode
- func NewEtcdNodes(nodeConfigs []model.EtcdNode, cluster EtcdCluster) ([]EtcdNode, error)
- type Network
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIEndpoint ¶ added in v0.9.6
type APIEndpoint struct { // APIEndpoint derives the user-provided configuration in an item of an `apiEndpoints` array and adds various computed settings model.APIEndpoint // LoadBalancer is the load balancer serving this API endpoint if any LoadBalancer APIEndpointLB }
APIEndpoint represents a Kubernetes API endpoint
type APIEndpointLB ¶ added in v0.9.6
type APIEndpointLB struct { // APIEndpointLB derives the user-provided configuration in an `apiEndpoints[].loadBalancer` and adds various computed settings model.APIEndpointLB // APIEndpoint is inherited to configure this load balancer model.APIEndpoint // Subnets contains all the subnets assigned to this load-balancer. Specified only when this load balancer is not reused but managed one Subnets []model.Subnet }
APIEndpointLB is the load balancer serving the API endpoint
func (APIEndpointLB) DNSNameRef ¶ added in v0.9.6
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 ¶ added in v0.9.6
func (b APIEndpointLB) Enabled() bool
Enabled returns true when controller nodes should be added as targets of this load balancer
func (APIEndpointLB) HostedZoneRef ¶ added in v0.9.6
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 ¶ added in v0.9.6
func (b APIEndpointLB) LogicalName() string
LogicalName returns the unique resource name of the ELB
func (APIEndpointLB) RecordSetLogicalName ¶ added in v0.9.6
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 ¶ added in v0.9.6
func (b APIEndpointLB) Ref() string
Ref returns a CloudFormation ref for the ELB backing the API endpoint
func (APIEndpointLB) SecurityGroupLogicalName ¶ added in v0.9.6
func (b APIEndpointLB) SecurityGroupLogicalName() string
func (APIEndpointLB) SecurityGroupRefs ¶ added in v0.9.6
func (b APIEndpointLB) SecurityGroupRefs() []string
SecurityGroupRefs contains CloudFormation resource references for additional SGs associated to this LB
type APIEndpoints ¶ added in v0.9.6
type APIEndpoints map[string]APIEndpoint
APIEndpoints is a set of API endpoints associated to a Kubernetes cluster
func NewAPIEndpoints ¶ added in v0.9.6
func NewAPIEndpoints(configs []model.APIEndpoint, allSubnets []model.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) ELBRefs ¶ added in v0.9.6
func (e APIEndpoints) ELBRefs() []string
ELBRefs returns the names of all the ELBs to which controller nodes should be associated
func (APIEndpoints) FindByName ¶ added in v0.9.6
func (e APIEndpoints) FindByName(name string) (*APIEndpoint, error)
FindByName finds an API endpoint in this set by its name
func (APIEndpoints) GetDefault ¶ added in v0.9.6
func (e APIEndpoints) GetDefault() APIEndpoint
GetDefault returns the default API endpoint identified by its name. The name is defined as DefaultAPIEndpointName
func (APIEndpoints) ManagedELBLogicalNames ¶ added in v0.9.6
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 EtcdCluster ¶
type EtcdCluster struct { model.EtcdCluster Network // contains filtered or unexported fields }
func NewEtcdCluster ¶
func NewEtcdCluster(config model.EtcdCluster, region model.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() model.Region
type EtcdNode ¶
type EtcdNode interface { AdvertisedFQDNRef() (string, error) DependencyExists() bool DependencyRef() (string, error) EBSLogicalName() string EBSRef() string EIPAllocationIDRef() (string, error) EIPLogicalName() (string, error) EIPManaged() bool EIPRef() (string, error) // The name of the etcd member runs on this etcd node Name() string NetworkInterfaceIDRef() string NetworkInterfaceLogicalName() string NetworkInterfaceManaged() bool NetworkInterfacePrivateIPRef() string NetworkInterfacePrivateIPLogicalName() string ImportedAdvertisedFQDNRef() (string, error) LaunchConfigurationLogicalName() string LogicalName() string RecordSetManaged() bool RecordSetLogicalName() string SubnetRef() string }
func NewEtcdNode ¶
func NewEtcdNodeDependsOnManagedNGW ¶
func NewEtcdNodeDependsOnManagedNGW(cluster EtcdCluster, index int, nodeConfig model.EtcdNode, s model.Subnet, ngw model.NATGateway) EtcdNode
func NewEtcdNodes ¶
func NewEtcdNodes(nodeConfigs []model.EtcdNode, cluster EtcdCluster) ([]EtcdNode, error)
NewEtcdNodes derives etcd nodes from user-provided etcd node configs
type Network ¶
type Network interface { Subnets() []model.Subnet NATGateways() []model.NATGateway NATGatewayForSubnet(model.Subnet) (*model.NATGateway, error) }
func NewNetwork ¶
func NewNetwork(subnets []model.Subnet, natGateways []model.NATGateway) Network