Documentation
¶
Index ¶
- Constants
- func AWSClientFromEnvironment() (infrastructureProvisioner, bool)
- func CopyDir(src string, dst string) (err error)
- func CopyFile(src, dst string) (err error)
- func FailIfError(err error, message ...string)
- func FailIfSuccess(err error)
- func FileExists(path string) bool
- func GetSSHKeyFile() (string, error)
- func InstallKismaticPackages(nodes provisionedNodes, distro linuxDistro, sshKey string, disconnected bool)
- func ItOnAWS(description string, f func(infrastructureProvisioner))
- func ItOnPacket(description string, f func(infrastructureProvisioner))
- func ValidateKismaticMiniDenyPkgInstallation(node NodeDeets, sshUser, sshKey string) error
- func WaitUntilSSHOpen(publicIP, sshUser, sshKey string, timeout time.Duration) bool
- 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 NFSVolume
- 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 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 FailIfError ¶
func FailIfSuccess ¶ added in v1.1.0
func FailIfSuccess(err error)
func FileExists ¶
func GetSSHKeyFile ¶
func InstallKismaticPackages ¶ added in v1.1.0
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 WaitUntilSSHOpen ¶ added in v1.2.0
WaitUntilSSHOpen waits up to the given timeout for a successful SSH connection to the given node. If the connection is open, returns true. If the timeout is reached, returns false.
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
}
Ingress struct {
ExpectedCount int `yaml:"expected_count"`
Nodes []NodePlan
}
Storage struct {
ExpectedCount int `yaml:"expected_count"`
Nodes []NodePlan
}
NFS struct {
Volumes []NFSVolume `yaml:"nfs_volume"`
}
}
type PlanAWS ¶
type PlanAWS struct {
Etcd []NodeDeets
Master []NodeDeets
Worker []NodeDeets
Ingress []NodeDeets
Storage []NodeDeets
NFSVolume []NFSVolume
MasterNodeFQDN string
MasterNodeShortName string
SSHUser string
SSHKeyFile string
HomeDirectory string
AllowPackageInstallation bool
DisconnectedInstallation bool
AutoConfiguredDockerRegistry bool
DockerRegistryIP string
DockerRegistryPort int
DockerRegistryCAPath string
ModifyHostsFiles bool
}
func ValidateKismaticMini ¶
ValidateKismaticMini runs validation against a mini Kubernetes cluster