Documentation
¶
Index ¶
- Constants
- func AWSClientFromEnvironment() (infrastructureProvisioner, bool)
- func BlockUntilSSHOpen(publicIP, sshUser, sshKey string)
- func CopyDir(src string, dst string) (err error)
- func CopyFile(src, dst string) (err error)
- func DownloadKismaticRelease(version string) (string, error)
- func ExtractKismaticToTemp() (string, error)
- func FailIfError(err error, message ...string)
- func FailIfSuccess(err error, message ...string)
- func FileExists(path string) bool
- func GetSSHKeyFile() (string, error)
- func InstallKismaticPackages(nodes provisionedNodes, distro linuxDistro, sshKey string)
- func ItOnAWS(description string, f func(infrastructureProvisioner))
- func ItOnPacket(description string, f func(infrastructureProvisioner))
- func ValidateKismaticMiniDenyPkgInstallation(node NodeDeets, sshUser, sshKey string) error
- func WithInfrastructure(nodeCount NodeCount, distro linuxDistro, provisioner infrastructureProvisioner, ...)
- func WithInfrastructureAndDNS(nodeCount NodeCount, distro linuxDistro, provisioner infrastructureProvisioner, ...)
- func WithMiniInfrastructure(distro linuxDistro, provisioner infrastructureProvisioner, ...)
- type ClusterPlan
- type DNSRecord
- type NodeCount
- type NodeDeets
- type NodePlan
- type PlanAWS
Constants ¶
const ( Ubuntu1604LTS = linuxDistro("ubuntu1604LTS") CentOS7 = linuxDistro("centos7") RedHat7 = linuxDistro("rhel7") AWSTargetRegion = "us-east-1" AWSSubnetID = "subnet-25e13d08" AWSKeyName = "kismatic-integration-testing" AWSSecurityGroupID = "sg-d1dc4dab" AMIUbuntu1604USEAST = "ami-29f96d3e" AMICentos7UsEast = "ami-6d1c2007" AWSHostedZoneID = "Z1LNBHSE28OF08" )
Variables ¶
This section is empty.
Functions ¶
func AWSClientFromEnvironment ¶
func AWSClientFromEnvironment() (infrastructureProvisioner, bool)
func BlockUntilSSHOpen ¶
func BlockUntilSSHOpen(publicIP, sshUser, sshKey string)
BlockUntilSSHOpen waits until the node with the given IP is accessible via SSH.
func CopyDir ¶
CopyDir recursively copies a directory tree, attempting to preserve permissions. Source directory must exist, destination directory must *not* exist. Symlinks are ignored and skipped.
func CopyFile ¶
CopyFile copies the contents of the file named src to the file named by dst. The file will be created if it does not already exist. If the destination file exists, all it's contents will be replaced by the contents of the source file. The file mode will be copied from the source and the copied data is synced/flushed to stable storage.
func DownloadKismaticRelease ¶ added in v1.0.3
func ExtractKismaticToTemp ¶
func FailIfError ¶
func FailIfSuccess ¶ added in v1.1.0
func FileExists ¶
func GetSSHKeyFile ¶
func InstallKismaticPackages ¶ added in v1.1.0
func InstallKismaticPackages(nodes provisionedNodes, distro linuxDistro, sshKey string)
func ItOnAWS ¶
func ItOnAWS(description string, f func(infrastructureProvisioner))
ItOnAWS runs a spec if the AWS details have been provided
func ItOnPacket ¶
func ItOnPacket(description string, f func(infrastructureProvisioner))
ItOnPacket runs a spec if the Packet.Net details have been provided
func WithInfrastructure ¶
func WithInfrastructure(nodeCount NodeCount, distro linuxDistro, provisioner infrastructureProvisioner, f infraDependentTest)
WithInfrastructure runs the spec with the requested infrastructure
func WithInfrastructureAndDNS ¶ added in v1.0.1
func WithInfrastructureAndDNS(nodeCount NodeCount, distro linuxDistro, provisioner infrastructureProvisioner, f infraDependentTest)
WithInfrastructureAndDNS runs the spec with the requested infrastructure and DNS
func WithMiniInfrastructure ¶
func WithMiniInfrastructure(distro linuxDistro, provisioner infrastructureProvisioner, f miniInfraDependentTest)
WithMiniInfrastructure runs the spec with a Minikube-like infrastructure setup.
Types ¶
type ClusterPlan ¶
type ClusterPlan struct {
Cluster struct {
Name string
AdminPassword string `yaml:"admin_password"`
AllowPackageInstallation string `yaml:"allow_package_installation"`
Networking struct {
Type string
PodCIDRBlock string `yaml:"pod_cidr_block"`
ServiceCIDRBlock string `yaml:"service_cidr_block"`
}
Certificates struct {
Expiry string
LocationCity string `yaml:"location_city"`
LocationState string `yaml:"location_state"`
LocationCountry string `yaml:"location_country"`
}
SSH struct {
User string
Key string `yaml:"ssh_key"`
Port int `yaml:"ssh_port"`
}
}
Etcd struct {
ExpectedCount int `yaml:"expected_count"`
Nodes []NodePlan
}
Master struct {
ExpectedCount int `yaml:"expected_count"`
Nodes []NodePlan
LoadBalancedFQDN string `yaml:"load_balanced_fqdn"`
LoadBalancedShortName string `yaml:"load_balanced_short_name"`
}
Worker struct {
ExpectedCount int `yaml:"expected_count"`
Nodes []NodePlan
}
}
type PlanAWS ¶
type PlanAWS struct {
Etcd []NodeDeets
Master []NodeDeets
Worker []NodeDeets
Ingress []NodeDeets
MasterNodeFQDN string
MasterNodeShortName string
SSHUser string
SSHKeyFile string
HomeDirectory string
AllowPackageInstallation bool
AutoConfiguredDockerRegistry bool
DockerRegistryIP string
DockerRegistryPort int
DockerRegistryCAPath string
}
func ValidateKismaticMini ¶
ValidateKismaticMini runs validation against a mini Kubernetes cluster