func NewUbuntuCluster(name string) *cluster.Cluster {

	controlPlaneProviderConfig := &cluster.ControlPlaneProviderConfig{
		Cloud: cluster.CloudPacket,
		Project: &cluster.Project{
			Name: fmt.Sprintf("kubicorn-%s", name),
		},
		Location: "ewr1",
		SSH: &cluster.SSH{
			PublicKeyPath: "~/.ssh/id_rsa.pub",
			User:          "root",
		},
		KubernetesAPI: &cluster.KubernetesAPI{
			Port: "443",
		},
		Values: &cluster.Values{
			ItemMap: map[string]string{
				"INJECTEDTOKEN": kubeadm.GetRandomToken(),
			},
		},
	}
	machineSetsProviderConfigs := []*cluster.MachineProviderConfig{
		{
			ServerPool: &cluster.ServerPool{
				Type:     cluster.ServerPoolTypeMaster,
				Name:     fmt.Sprintf("%s.master", name),
				MaxCount: 1,
				MinCount: 1,
				Image:    "ubuntu_16_04",
				Size:     "baremetal_1",
				BootstrapScripts: []string{
					"bootstrap/packet_k8s_ubuntu_16.04_master.sh",
				},
			},
		},
		{
			ServerPool: &cluster.ServerPool{
				Type:     cluster.ServerPoolTypeNode,
				Name:     fmt.Sprintf("%s.node", name),
				MaxCount: 1,
				MinCount: 1,
				Image:    "ubuntu_16_04",
				Size:     "baremetal_2",
				BootstrapScripts: []string{
					"bootstrap/packet_k8s_ubuntu_16.04_node.sh",
				},
			},
		},
	}
	c := cluster.NewCluster(name)
	c.SetProviderConfig(controlPlaneProviderConfig)
	c.NewMachineSetsFromProviderConfigs(machineSetsProviderConfigs)
	return c
}
func NewUbuntuCluster(name string) *cluster.Cluster {

	controlPlaneProviderConfig := &cluster.ControlPlaneProviderConfig{
		Cloud: cluster.CloudPacket,
		Project: &cluster.Project{
			Name: fmt.Sprintf("kubicorn-%s", name),
		},
		Location: "ewr1",
		SSH: &cluster.SSH{
			PublicKeyPath: "~/.ssh/id_rsa.pub",
			User:          "root",
		},
		KubernetesAPI: &cluster.KubernetesAPI{
			Port: "443",
		},
		Values: &cluster.Values{
			ItemMap: map[string]string{
				"INJECTEDTOKEN": kubeadm.GetRandomToken(),
			},
		},
	}
	machineSetsProviderConfigs := []*cluster.MachineProviderConfig{
		{
			ServerPool: &cluster.ServerPool{
				Type:     cluster.ServerPoolTypeMaster,
				Name:     fmt.Sprintf("%s.master", name),
				MaxCount: 1,
				MinCount: 1,
				Image:    "ubuntu_16_04",
				Size:     "baremetal_1",
				BootstrapScripts: []string{
					"bootstrap/packet_k8s_ubuntu_16.04_master.sh",
				},
			},
		},
		{
			ServerPool: &cluster.ServerPool{
				Type:     cluster.ServerPoolTypeNode,
				Name:     fmt.Sprintf("%s.node", name),
				MaxCount: 1,
				MinCount: 1,
				Image:    "ubuntu_16_04",
				Size:     "baremetal_2",
				BootstrapScripts: []string{
					"bootstrap/packet_k8s_ubuntu_16.04_node.sh",
				},
			},
		},
	}
	c := cluster.NewCluster(name)
	c.SetProviderConfig(controlPlaneProviderConfig)
	c.NewMachineSetsFromProviderConfigs(machineSetsProviderConfigs)
	return c
}
func NewUbuntuCluster ( name string ) * cluster . Cluster { controlPlaneProviderConfig := & cluster . ControlPlaneProviderConfig { Cloud : cluster . CloudPacket , Project : & cluster . Project { Name : fmt . Sprintf ( " " , name ) , } , Location : " " , SSH : & cluster . SSH { PublicKeyPath : " " , User : " " , } , KubernetesAPI : & cluster . KubernetesAPI { Port : " " , } , Values : & cluster . Values { ItemMap : map [ string ] string { " " : kubeadm . GetRandomToken ( ) , } , } , } machineSetsProviderConfigs := [ ] * cluster . MachineProviderConfig { { ServerPool : & cluster . ServerPool { Type : cluster . ServerPoolTypeMaster , Name : fmt . Sprintf ( " " , name ) , MaxCount : 1 , MinCount : 1 , Image : " " , Size : " " , BootstrapScripts : [ ] string { " " , } , } , } , { ServerPool : & cluster . ServerPool { Type : cluster . ServerPoolTypeNode , Name : fmt . Sprintf ( " " , name ) , MaxCount : 1 , MinCount : 1 , Image : " " , Size : " " , BootstrapScripts : [ ] string { " " , } , } , } , } c := cluster . NewCluster ( name ) c . SetProviderConfig ( controlPlaneProviderConfig ) c . NewMachineSetsFromProviderConfigs ( machineSetsProviderConfigs ) return c }
// NewUbuntuCluster creates a simple Ubuntu Amazon cluster
NewUbuntuCluster creates a simple Ubuntu Amazon cluster