Skip to content

Commit

Permalink
change configfile behaviour
Browse files Browse the repository at this point in the history
  • Loading branch information
choffmeister committed Jul 11, 2022
1 parent 266d908 commit c9700e5
Show file tree
Hide file tree
Showing 20 changed files with 57 additions and 22 deletions.
3 changes: 3 additions & 0 deletions cmd/add_node.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
)

var (
addNodeCmdConfigFile string
addNodeCmdControlplane bool
addNodeCmdServerType string
addNodeCmdPoolName string
Expand All @@ -17,6 +18,7 @@ var (
RunE: func(cmd *cobra.Command, args []string) error {
logger := utils.NewLogger(verbose)
_, err := internal.AddNode(&logger, dir, internal.AddNodeOpts{
ConfigFile: addNodeCmdConfigFile,
ServerType: addNodeCmdServerType,
Controlplane: addNodeCmdControlplane,
PoolName: addNodeCmdPoolName,
Expand All @@ -28,6 +30,7 @@ var (
)

func init() {
addNodeCmd.Flags().StringVarP(&addNodeCmdConfigFile, "config", "c", defaultConfigFile, "")
addNodeCmd.Flags().BoolVar(&addNodeCmdControlplane, "controlplane", false, "")
addNodeCmd.Flags().StringVar(&addNodeCmdServerType, "server-type", "cx21", "")
addNodeCmd.Flags().StringVar(&addNodeCmdPoolName, "pool-name", "", "")
Expand Down
3 changes: 3 additions & 0 deletions cmd/apply_manifests.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
)

var (
applyManifestsCmdConfigFile string
applyManifestsCmdNoHcloudCloudControllerManager bool
applyManifestsCmdNoHcloudCsiDriver bool
applyManifestsCmd = &cobra.Command{
Expand All @@ -16,6 +17,7 @@ var (
RunE: func(cmd *cobra.Command, args []string) error {
logger := utils.NewLogger(verbose)
err := internal.ApplyManifests(&logger, dir, internal.ApplyManifestsOpts{
ConfigFile: applyManifestsCmdConfigFile,
NoHcloudCloudControllerManager: applyManifestsCmdNoHcloudCloudControllerManager,
NoHcloudCsiDriver: applyManifestsCmdNoHcloudCsiDriver,
})
Expand All @@ -25,6 +27,7 @@ var (
)

func init() {
applyManifestsCmd.Flags().StringVarP(&applyManifestsCmdConfigFile, "config", "c", defaultConfigFile, "")
applyManifestsCmd.Flags().BoolVar(&applyManifestsCmdNoHcloudCloudControllerManager, "no-hcloud-cloud-controller-manager", false, "")
applyManifestsCmd.Flags().BoolVar(&applyManifestsCmdNoHcloudCsiDriver, "no-hcloud-csi-driver", false, "")
}
3 changes: 3 additions & 0 deletions cmd/bootstrap_cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
)

var (
bootstrapClusterCmdConfigFile string
bootstrapClusterCmdServerType string
bootstrapClusterCmdLocation string
bootstrapClusterCmdNetworkZone string
Expand All @@ -23,6 +24,7 @@ var (
RunE: func(cmd *cobra.Command, args []string) error {
logger := utils.NewLogger(verbose)
err := internal.BootstrapCluster(&logger, dir, internal.BootstrapClusterOpts{
ConfigFile: bootstrapClusterCmdConfigFile,
ClusterName: args[0],
NodeName: args[1],
ServerType: bootstrapClusterCmdServerType,
Expand All @@ -40,6 +42,7 @@ var (
)

func init() {
bootstrapClusterCmd.Flags().StringVarP(&bootstrapClusterCmdConfigFile, "config", "c", defaultConfigFile, "")
bootstrapClusterCmd.Flags().StringVar(&bootstrapClusterCmdServerType, "server-type", "cx21", "")
bootstrapClusterCmd.Flags().StringVar(&bootstrapClusterCmdLocation, "location", "nbg1", "")
bootstrapClusterCmd.Flags().StringVar(&bootstrapClusterCmdNetworkZone, "network-zone", "eu-central", "")
Expand Down
3 changes: 3 additions & 0 deletions cmd/delete_node.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
)

var (
deleteNodeCmdConfigFile string
deleteNodeCmdKeepServer bool
deleteNodeCmdForce bool
deleteNodeCmd = &cobra.Command{
Expand All @@ -16,6 +17,7 @@ var (
RunE: func(cmd *cobra.Command, args []string) error {
logger := utils.NewLogger(verbose)
err := internal.DeleteNode(&logger, dir, internal.DeleteNodeOpts{
ConfigFile: deleteNodeCmdConfigFile,
KeepServer: deleteNodeCmdKeepServer,
Force: deleteNodeCmdForce,
NodeName: args[0],
Expand All @@ -26,6 +28,7 @@ var (
)

func init() {
deleteNodeCmd.Flags().StringVarP(&deleteNodeCmdConfigFile, "config", "c", defaultConfigFile, "")
deleteNodeCmd.Flags().BoolVar(&deleteNodeCmdKeepServer, "keep-server", false, "")
deleteNodeCmd.Flags().BoolVar(&deleteNodeCmdForce, "force", false, "")
}
9 changes: 6 additions & 3 deletions cmd/destroy_cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,24 @@ import (
)

var (
destroyClusterCmdForce bool
destroyClusterCmd = &cobra.Command{
destroyClusterCmdConfigFile string
destroyClusterCmdForce bool
destroyClusterCmd = &cobra.Command{
Use: "destroy-cluster",
Short: "Destroy the cluster",
Args: cobra.NoArgs,
RunE: func(cmd *cobra.Command, args []string) error {
logger := utils.NewLogger(verbose)
err := internal.DestroyCluster(&logger, dir, internal.DestroyClusterOpts{
Force: destroyClusterCmdForce,
ConfigFile: destroyClusterCmdConfigFile,
Force: destroyClusterCmdForce,
})
return err
},
}
)

func init() {
destroyClusterCmd.Flags().StringVarP(&destroyClusterCmdConfigFile, "config", "c", defaultConfigFile, "")
destroyClusterCmd.Flags().BoolVar(&destroyClusterCmdForce, "force", false, "")
}
3 changes: 3 additions & 0 deletions cmd/reconcile_pool.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
)

var (
reconcilePoolCmdConfigFile string
reconcilePoolCmdServerType string
reconcilePoolCmdNodeNamePrefix string
reconcilePoolCmdNodeCount int
Expand All @@ -18,6 +19,7 @@ var (
RunE: func(cmd *cobra.Command, args []string) error {
logger := utils.NewLogger(verbose)
err := internal.ReconcilePool(&logger, dir, internal.ReconcilePoolOpts{
ConfigFile: reconcilePoolCmdConfigFile,
NodeNamePrefix: reconcilePoolCmdNodeNamePrefix,
NodeCount: reconcilePoolCmdNodeCount,
ServerType: reconcilePoolCmdServerType,
Expand All @@ -30,6 +32,7 @@ var (
)

func init() {
reconcilePoolCmd.Flags().StringVarP(&reconcilePoolCmdConfigFile, "config", "c", defaultConfigFile, "")
reconcilePoolCmd.Flags().BoolVar(&reconcilePoolCmdForce, "force", false, "")
reconcilePoolCmd.Flags().StringVar(&reconcilePoolCmdServerType, "server-type", "cx21", "")
reconcilePoolCmd.Flags().StringVar(&reconcilePoolCmdNodeNamePrefix, "node-name-prefix", "worker", "")
Expand Down
2 changes: 2 additions & 0 deletions cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import (
"github.com/spf13/cobra"
)

const defaultConfigFile = "hcloud-talos.yaml"

var (
verbose bool
dir string
Expand Down
17 changes: 12 additions & 5 deletions e2etests/00_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,14 @@ import (
"github.com/airfocusio/hcloud-talos/internal/utils"
)

var clusterName = ""
var clusterDir = ""
var hcloudToken = ""
var logger utils.Logger = utils.NewLogger(true)
var (
clusterName = ""
clusterDir = ""
hcloudToken = ""
logger = utils.NewLogger(true)
)

const configFile = "hcloud-talos.yaml"

func TestMain(t *testing.M) {
setup()
Expand Down Expand Up @@ -45,7 +49,10 @@ func setup() {
func cleanup() {
fmt.Printf("cleanup\n")

err := internal.DestroyCluster(&logger, clusterDir, internal.DestroyClusterOpts{Force: true})
err := internal.DestroyCluster(&logger, clusterDir, internal.DestroyClusterOpts{
ConfigFile: configFile,
Force: true,
})
if err != nil {
fmt.Printf("unable to destroy cluster: %v\n", err)
}
Expand Down
1 change: 1 addition & 0 deletions e2etests/01_bootstrap_cluster_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (

func TestBootstrapCluster(t *testing.T) {
err := internal.BootstrapCluster(&logger, clusterDir, internal.BootstrapClusterOpts{
ConfigFile: configFile,
ClusterName: clusterName,
ServerType: "cx21",
NodeName: "controlplane-01",
Expand Down
1 change: 1 addition & 0 deletions e2etests/02_add_node_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (

func TestAddNode(t *testing.T) {
_, err := internal.AddNode(&logger, clusterDir, internal.AddNodeOpts{
ConfigFile: configFile,
ServerType: "cx21",
NodeName: "worker-01",
})
Expand Down
2 changes: 1 addition & 1 deletion e2etests/03_volumes_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ var (

func TestVolumes(t *testing.T) {
cl := &cluster.Cluster{Dir: clusterDir}
err := cl.Load(&logger)
err := cl.Load(configFile, &logger)
assert.NoError(t, err)

manifests, err := utils.YamlSplitMany([]byte(manifest))
Expand Down
5 changes: 3 additions & 2 deletions e2etests/04_delete_node_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@ import (

func TestDeleteNode(t *testing.T) {
err := internal.DeleteNode(&logger, clusterDir, internal.DeleteNodeOpts{
NodeName: "worker-01",
Force: true,
ConfigFile: configFile,
NodeName: "worker-01",
Force: true,
})
assert.NoError(t, err)
}
3 changes: 2 additions & 1 deletion internal/add_node.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (
)

type AddNodeOpts struct {
ConfigFile string
ServerType string
Controlplane bool
NodeName string
Expand All @@ -18,7 +19,7 @@ type AddNodeOpts struct {

func AddNode(logger *utils.Logger, dir string, opts AddNodeOpts) (*hcloud.Server, error) {
cl := &cluster.Cluster{Dir: dir}
err := cl.Load(logger)
err := cl.Load(opts.ConfigFile, logger)
if err != nil {
return nil, err
}
Expand Down
3 changes: 2 additions & 1 deletion internal/apply_manifests.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,14 @@ var (
)

type ApplyManifestsOpts struct {
ConfigFile string
NoHcloudCloudControllerManager bool
NoHcloudCsiDriver bool
}

func ApplyManifests(logger *utils.Logger, dir string, opts ApplyManifestsOpts) error {
cl := &cluster.Cluster{Dir: dir}
err := cl.Load(logger)
err := cl.Load(opts.ConfigFile, logger)
if err != nil {
return err
}
Expand Down
4 changes: 3 additions & 1 deletion internal/bootstrap_cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
)

type BootstrapClusterOpts struct {
ConfigFile string
ClusterName string
NodeName string
ServerType string
Expand All @@ -27,7 +28,7 @@ func BootstrapCluster(logger *utils.Logger, dir string, opts BootstrapClusterOpt
if err != nil {
return err
}
err = cl.Save()
err = cl.Save(opts.ConfigFile)
if err != nil {
return err
}
Expand Down Expand Up @@ -125,6 +126,7 @@ func BootstrapCluster(logger *utils.Logger, dir string, opts BootstrapClusterOpt
}

err = ApplyManifests(logger, dir, ApplyManifestsOpts{
ConfigFile: opts.ConfigFile,
NoHcloudCloudControllerManager: opts.NoHcloudCloudControllerManager,
NoHcloudCsiDriver: opts.NoHcloudCsiDriver,
})
Expand Down
2 changes: 0 additions & 2 deletions internal/cluster/config.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package cluster

const configFile = "hcloudtalosconfig"

type Config struct {
ClusterName string `yaml:"clusterName"`
Hcloud ConfigHcloud `yaml:"hcloud"`
Expand Down
4 changes: 2 additions & 2 deletions internal/cluster/context.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ func (cl *Cluster) Create(logger *utils.Logger, clusterName string, hcloudLocati
return nil
}

func (cl *Cluster) Load(logger *utils.Logger) error {
func (cl *Cluster) Load(configFile string, logger *utils.Logger) error {
ctx := context.Background()
cl.Ctx = &ctx
cl.Logger = logger
Expand All @@ -65,7 +65,7 @@ func (cl *Cluster) Load(logger *utils.Logger) error {
return nil
}

func (cl Cluster) Save() error {
func (cl Cluster) Save(configFile string) error {
yamlBytes, err := yaml.Marshal(&cl.Config)
if err != nil {
return err
Expand Down
3 changes: 2 additions & 1 deletion internal/delete_node.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,15 @@ import (
)

type DeleteNodeOpts struct {
ConfigFile string
NodeName string
KeepServer bool
Force bool
}

func DeleteNode(logger *utils.Logger, dir string, opts DeleteNodeOpts) error {
cl := &cluster.Cluster{Dir: dir}
err := cl.Load(logger)
err := cl.Load(opts.ConfigFile, logger)
if err != nil {
return err
}
Expand Down
5 changes: 3 additions & 2 deletions internal/destroy_cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,13 @@ import (
)

type DestroyClusterOpts struct {
Force bool
ConfigFile string
Force bool
}

func DestroyCluster(logger *utils.Logger, dir string, opts DestroyClusterOpts) error {
cl := &cluster.Cluster{Dir: dir}
err := cl.Load(logger)
err := cl.Load(opts.ConfigFile, logger)
if err != nil {
return err
}
Expand Down
3 changes: 2 additions & 1 deletion internal/reconcile_pool.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (
)

type ReconcilePoolOpts struct {
ConfigFile string
PoolName string
NodeNamePrefix string
NodeCount int
Expand All @@ -19,7 +20,7 @@ type ReconcilePoolOpts struct {

func ReconcilePool(logger *utils.Logger, dir string, opts ReconcilePoolOpts) error {
cl := &cluster.Cluster{Dir: dir}
err := cl.Load(logger)
err := cl.Load(opts.ConfigFile, logger)
if err != nil {
return err
}
Expand Down

0 comments on commit c9700e5

Please sign in to comment.