Documentation ¶
Index ¶
- type KopsProvisioner
- func (provisioner *KopsProvisioner) CreateCluster(cluster *model.Cluster, aws aws.AWS) error
- func (provisioner *KopsProvisioner) CreateClusterInstallation(cluster *model.Cluster, installation *model.Installation, ...) error
- func (provisioner *KopsProvisioner) DeleteCluster(cluster *model.Cluster, aws aws.AWS) error
- func (provisioner *KopsProvisioner) DeleteClusterInstallation(cluster *model.Cluster, installation *model.Installation, ...) error
- func (provisioner *KopsProvisioner) ExecMattermostCLI(cluster *model.Cluster, clusterInstallation *model.ClusterInstallation, ...) ([]byte, error)
- func (provisioner *KopsProvisioner) GetClusterInstallationResource(cluster *model.Cluster, installation *model.Installation, ...) (*mmv1alpha1.ClusterInstallation, error)
- func (provisioner *KopsProvisioner) GetClusterResources(cluster *model.Cluster, onlySchedulable bool) (*k8s.ClusterResources, error)
- func (provisioner *KopsProvisioner) PrepareCluster(cluster *model.Cluster) (bool, error)
- func (provisioner *KopsProvisioner) ProvisionCluster(cluster *model.Cluster) error
- func (provisioner *KopsProvisioner) UpdateClusterInstallation(cluster *model.Cluster, installation *model.Installation, ...) error
- func (provisioner *KopsProvisioner) UpgradeCluster(cluster *model.Cluster) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type KopsProvisioner ¶
type KopsProvisioner struct {
// contains filtered or unexported fields
}
KopsProvisioner provisions clusters using kops+terraform.
func NewKopsProvisioner ¶
func NewKopsProvisioner(clusterRootDir, s3StateStore, certificateSslARN, privateSubnetIds, publicSubnetIds, privateDNS string, logger log.FieldLogger) *KopsProvisioner
NewKopsProvisioner creates a new KopsProvisioner.
func (*KopsProvisioner) CreateCluster ¶
CreateCluster creates a cluster using kops and terraform.
func (*KopsProvisioner) CreateClusterInstallation ¶
func (provisioner *KopsProvisioner) CreateClusterInstallation(cluster *model.Cluster, installation *model.Installation, clusterInstallation *model.ClusterInstallation) error
CreateClusterInstallation creates a Mattermost installation within the given cluster.
func (*KopsProvisioner) DeleteCluster ¶
DeleteCluster deletes a previously created cluster using kops and terraform.
func (*KopsProvisioner) DeleteClusterInstallation ¶
func (provisioner *KopsProvisioner) DeleteClusterInstallation(cluster *model.Cluster, installation *model.Installation, clusterInstallation *model.ClusterInstallation) error
DeleteClusterInstallation deletes a Mattermost installation within the given cluster.
func (*KopsProvisioner) ExecMattermostCLI ¶ added in v0.2.0
func (provisioner *KopsProvisioner) ExecMattermostCLI(cluster *model.Cluster, clusterInstallation *model.ClusterInstallation, args ...string) ([]byte, error)
ExecMattermostCLI invokes the Mattermost CLI for the given cluster installation with the given args.
func (*KopsProvisioner) GetClusterInstallationResource ¶
func (provisioner *KopsProvisioner) GetClusterInstallationResource(cluster *model.Cluster, installation *model.Installation, clusterInstallation *model.ClusterInstallation) (*mmv1alpha1.ClusterInstallation, error)
GetClusterInstallationResource gets the cluster installation resource from the kubernetes API.
func (*KopsProvisioner) GetClusterResources ¶ added in v0.2.0
func (provisioner *KopsProvisioner) GetClusterResources(cluster *model.Cluster, onlySchedulable bool) (*k8s.ClusterResources, error)
GetClusterResources returns a snapshot of resources of a given cluster.
func (*KopsProvisioner) PrepareCluster ¶
func (provisioner *KopsProvisioner) PrepareCluster(cluster *model.Cluster) (bool, error)
PrepareCluster ensures a cluster object is ready for provisioning.
func (*KopsProvisioner) ProvisionCluster ¶
func (provisioner *KopsProvisioner) ProvisionCluster(cluster *model.Cluster) error
ProvisionCluster installs all the baseline kubernetes resources needed for managing installations. This can be called on an already-provisioned cluster to reprovision with the newest version of the resources. TODO: Move helm configuration here as well.
func (*KopsProvisioner) UpdateClusterInstallation ¶
func (provisioner *KopsProvisioner) UpdateClusterInstallation(cluster *model.Cluster, installation *model.Installation, clusterInstallation *model.ClusterInstallation) error
UpdateClusterInstallation updates the cluster installation spec to match the installation specification.
func (*KopsProvisioner) UpgradeCluster ¶
func (provisioner *KopsProvisioner) UpgradeCluster(cluster *model.Cluster) error
UpgradeCluster upgrades a cluster to the latest recommended production ready k8s version.