cmd.Flags().StringArrayP("api-port","a",[]string{"6443"},"Specify the Kubernetes API server port (Format: `--api-port [HOST:]HOSTPORT[@NODEFILTER]`\n - Example: `k3d create -m 3 -a 0.0.0.0:6550@master[0] -a 0.0.0.0:6551@master[1]` ")
cmd.Flags().StringArrayP("api-port","a",[]string{"6443"},"Specify the Kubernetes API server port (Format: `--api-port [HOST:]HOSTPORT[@NODEFILTER]`\n - Example: `k3d create -m 3 -a 0.0.0.0:6550@master[0] -a 0.0.0.0:6551@master[1]` ")
cmd.Flags().IntP("masters","m",1,"Specify how many masters you want to create")
cmd.Flags().IntP("masters","m",1,"Specify how many masters you want to create")
cmd.Flags().IntP("workers","w",0,"Specify how many workers you want to create")
cmd.Flags().IntP("workers","w",0,"Specify how many workers you want to create")
// cmd.Flags().String("config", "", "Specify a cluster configuration file") // TODO: to implement
cmd.Flags().String("image",fmt.Sprintf("%s:%s",k3d.DefaultK3sImageRepo,version.GetK3sVersion(false)),"Specify k3s image that you want to use for the nodes")
cmd.Flags().String("image",fmt.Sprintf("%s:%s",k3d.DefaultK3sImageRepo,version.GetK3sVersion(false)),"Specify k3s image that you want to use for the nodes")
cmd.Flags().String("network","","Join an existing network")
cmd.Flags().String("network","","Join an existing network")
cmd.Flags().String("secret","","Specify a cluster secret. By default, we generate one.")
cmd.Flags().String("secret","","Specify a cluster secret. By default, we generate one.")
cmd.Flags().BoolVar(&createClusterOpts.DisableImageVolume,"no-image-volume",false,"Disable the creation of a volume for importing images")
cmd.Flags().BoolVar(&createClusterOpts.DisableImageVolume,"no-image-volume",false,"Disable the creation of a volume for importing images")
/* Multi Master Configuration */// TODO: to implement (whole multi master thingy)
/* Multi Master Configuration */
// multi-master - general
// multi-master - general
cmd.Flags().BoolVar(&createClusterOpts.DisableLoadbalancer,"no-lb",false,"[WIP] Disable automatic deployment of a load balancer in Multi-Master setups")// TODO: to implement
// TODO: implement load-balancer/proxy for multi-master setups
cmd.Flags().String("lb-port","0.0.0.0:6443","[WIP] Specify port to be exposed by the master load balancer (Format: `[HOST:]HOSTPORT)")// TODO: to implement
cmd.Flags().BoolVar(&createClusterOpts.DisableLoadbalancer,"no-lb",false,"[WIP] Disable automatic deployment of a load balancer in Multi-Master setups")
cmd.Flags().String("lb-port","0.0.0.0:6443","[WIP] Specify port to be exposed by the master load balancer (Format: `[HOST:]HOSTPORT)")
// multi-master - datastore
// multi-master - datastore
// TODO: implement multi-master setups with external data store
cmd.Flags().String("datastore-endpoint","","[WIP] Specify external datastore endpoint (e.g. for multi master clusters)")
cmd.Flags().String("datastore-endpoint","","[WIP] Specify external datastore endpoint (e.g. for multi master clusters)")
/*TODO:activate
/*
cmd.Flags().String("datastore-network","","Specify container network where we can find the datastore-endpoint (add a connection)")
cmd.Flags().String("datastore-network","","Specify container network where we can find the datastore-endpoint (add a connection)")
// TODO: set default paths and hint, that one should simply mount the files using --volume flag
// TODO: set default paths and hint, that one should simply mount the files using --volume flag