config

package
v0.8.2 Latest Latest
Warning

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

Go to latest
Published: Sep 21, 2016 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WithTrailingDot added in v0.6.1

func WithTrailingDot(s string) string

Types

type Cluster

type Cluster struct {
	ClusterName              string            `yaml:"clusterName,omitempty"`
	ExternalDNSName          string            `yaml:"externalDNSName,omitempty"`
	KeyName                  string            `yaml:"keyName,omitempty"`
	Region                   string            `yaml:"region,omitempty"`
	AvailabilityZone         string            `yaml:"availabilityZone,omitempty"`
	ReleaseChannel           string            `yaml:"releaseChannel,omitempty"`
	ControllerInstanceType   string            `yaml:"controllerInstanceType,omitempty"`
	ControllerRootVolumeType string            `yaml:"controllerRootVolumeType,omitempty"`
	ControllerRootVolumeIOPS int               `yaml:"controllerRootVolumeIOPS,omitempty"`
	ControllerRootVolumeSize int               `yaml:"controllerRootVolumeSize,omitempty"`
	WorkerCount              int               `yaml:"workerCount,omitempty"`
	WorkerInstanceType       string            `yaml:"workerInstanceType,omitempty"`
	WorkerRootVolumeType     string            `yaml:"workerRootVolumeType,omitempty"`
	WorkerRootVolumeIOPS     int               `yaml:"workerRootVolumeIOPS,omitempty"`
	WorkerRootVolumeSize     int               `yaml:"workerRootVolumeSize,omitempty"`
	WorkerSpotPrice          string            `yaml:"workerSpotPrice,omitempty"`
	VPCID                    string            `yaml:"vpcId,omitempty"`
	RouteTableID             string            `yaml:"routeTableId,omitempty"`
	VPCCIDR                  string            `yaml:"vpcCIDR,omitempty"`
	InstanceCIDR             string            `yaml:"instanceCIDR,omitempty"`
	ControllerIP             string            `yaml:"controllerIP,omitempty"`
	PodCIDR                  string            `yaml:"podCIDR,omitempty"`
	ServiceCIDR              string            `yaml:"serviceCIDR,omitempty"`
	DNSServiceIP             string            `yaml:"dnsServiceIP,omitempty"`
	K8sVer                   string            `yaml:"kubernetesVersion,omitempty"`
	HyperkubeImageRepo       string            `yaml:"hyperkubeImageRepo,omitempty"`
	ContainerRuntime         string            `yaml:"containerRuntime,omitempty"`
	KMSKeyARN                string            `yaml:"kmsKeyArn,omitempty"`
	CreateRecordSet          bool              `yaml:"createRecordSet,omitempty"`
	RecordSetTTL             int               `yaml:"recordSetTTL,omitempty"`
	TLSCADurationDays        int               `yaml:"tlsCADurationDays,omitempty"`
	TLSCertDurationDays      int               `yaml:"tlsCertDurationDays,omitempty"`
	HostedZone               string            `yaml:"hostedZone,omitempty"`
	HostedZoneID             string            `yaml:"hostedZoneId,omitempty"`
	StackTags                map[string]string `yaml:"stackTags,omitempty"`
	UseCalico                bool              `yaml:"useCalico,omitempty"`
	Subnets                  []Subnet          `yaml:"subnets,omitempty"`
}

func ClusterFromBytes added in v0.6.0

func ClusterFromBytes(data []byte) (*Cluster, error)

ClusterFromBytes Necessary for unit tests, which store configs as hardcoded strings

func ClusterFromFile

func ClusterFromFile(filename string) (*Cluster, error)

func (*Cluster) AvailabilityZones added in v0.8.1

func (c *Cluster) AvailabilityZones() []string

Returns the availability zones referenced by the cluster configuration

func (Cluster) Config

func (c Cluster) Config() (*Config, error)

func (*Cluster) NewTLSAssets

func (c *Cluster) NewTLSAssets() (*RawTLSAssets, error)

func (Cluster) RenderStackTemplate

func (c Cluster) RenderStackTemplate(opts StackTemplateOptions) ([]byte, error)

func (*Cluster) ValidateExistingVPC added in v0.6.0

func (c *Cluster) ValidateExistingVPC(existingVPCCIDR string, existingSubnetCIDRS []string) error

Validates the an existing VPC and it's existing subnets do not conflict with this cluster configuration

func (Cluster) ValidateUserData

func (c Cluster) ValidateUserData(opts StackTemplateOptions) error

type CompactTLSAssets

type CompactTLSAssets struct {
	CACert        string
	CAKey         string
	APIServerCert string
	APIServerKey  string
	WorkerCert    string
	WorkerKey     string
	AdminCert     string
	AdminKey      string
}

PEM -> gzip -> base64 encoded TLS assets.

type Config

type Config struct {
	Cluster

	ETCDEndpoints     string
	APIServers        string
	SecureAPIServers  string
	APIServerEndpoint string
	AMI               string

	// Encoded TLS assets
	TLSConfig *CompactTLSAssets

	//Logical names of dynamic resources
	VPCLogicalName string

	//Reference strings for dynamic resources
	VPCRef string

	K8sNetworkPlugin string
}

type RawTLSAssets

type RawTLSAssets struct {
	CACert        []byte
	CAKey         []byte
	APIServerCert []byte
	APIServerKey  []byte
	WorkerCert    []byte
	WorkerKey     []byte
	AdminCert     []byte
	AdminKey      []byte
}

PEM encoded TLS assets.

func ReadTLSAssets

func ReadTLSAssets(dirname string) (*RawTLSAssets, error)

func (*RawTLSAssets) WriteToDir

func (r *RawTLSAssets) WriteToDir(dirname string) error

type StackTemplateOptions

type StackTemplateOptions struct {
	TLSAssetsDir          string
	ControllerTmplFile    string
	WorkerTmplFile        string
	StackTemplateTmplFile string
}

type Subnet added in v0.7.1

type Subnet struct {
	AvailabilityZone string `yaml:"availabilityZone,omitempty"`
	InstanceCIDR     string `yaml:"instanceCIDR,omitempty"`
}

Jump to

Keyboard shortcuts

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