From 639327a78a06c870ca0438ef8626479798e6271a Mon Sep 17 00:00:00 2001 From: Bart Smykla Date: Wed, 18 Aug 2021 16:04:05 +0200 Subject: [PATCH] feat(*) update project to build kumactl at windows Signed-off-by: Bart Smykla --- app/kumactl/cmd/additional_subcommands.go | 14 ++++++++++++++ .../cmd/additional_subcommands_windows.go | 18 ++++++++++++++++++ .../cmd/install/additional_subcommands.go | 11 +++++++++++ .../install/additional_subcommands_windows.go | 7 +++++++ app/kumactl/cmd/install/install.go | 7 ++++++- .../cmd/install/install_transparent_proxy.go | 2 ++ app/kumactl/cmd/root.go | 7 +++++-- app/kumactl/cmd/uninstall/subcommands.go | 9 +++++++++ .../cmd/uninstall/subcommands_windows.go | 5 +++++ app/kumactl/cmd/uninstall/uninstall.go | 6 +++++- .../uninstall/uninstall_transparent_proxy.go | 4 ++-- .../cmd/uninstall/uninstall_windows.go | 19 +++++++++++++++++++ pkg/config/xds/bootstrap/config.go | 8 ++++---- pkg/config/xds/bootstrap/default_params.go | 7 +++++++ .../xds/bootstrap/default_params_windows.go | 5 +++++ 15 files changed, 119 insertions(+), 10 deletions(-) create mode 100644 app/kumactl/cmd/additional_subcommands.go create mode 100644 app/kumactl/cmd/additional_subcommands_windows.go create mode 100644 app/kumactl/cmd/install/additional_subcommands.go create mode 100644 app/kumactl/cmd/install/additional_subcommands_windows.go create mode 100644 app/kumactl/cmd/uninstall/subcommands.go create mode 100644 app/kumactl/cmd/uninstall/subcommands_windows.go create mode 100644 app/kumactl/cmd/uninstall/uninstall_windows.go create mode 100644 pkg/config/xds/bootstrap/default_params.go create mode 100644 pkg/config/xds/bootstrap/default_params_windows.go diff --git a/app/kumactl/cmd/additional_subcommands.go b/app/kumactl/cmd/additional_subcommands.go new file mode 100644 index 000000000000..fe71810eaec4 --- /dev/null +++ b/app/kumactl/cmd/additional_subcommands.go @@ -0,0 +1,14 @@ +// +build !windows + +package cmd + +import ( + "github.com/spf13/cobra" + + "github.com/kumahq/kuma/app/kumactl/cmd/uninstall" + kumactl_cmd "github.com/kumahq/kuma/app/kumactl/pkg/cmd" +) + +var additionalSubcommands = []func(*kumactl_cmd.RootContext) *cobra.Command{ + uninstall.NewUninstallCmd, +} diff --git a/app/kumactl/cmd/additional_subcommands_windows.go b/app/kumactl/cmd/additional_subcommands_windows.go new file mode 100644 index 000000000000..a729c245f587 --- /dev/null +++ b/app/kumactl/cmd/additional_subcommands_windows.go @@ -0,0 +1,18 @@ +package cmd + +import ( + "github.com/kumahq/kuma/app/kumactl/cmd/apply" + "github.com/kumahq/kuma/app/kumactl/cmd/completion" + "github.com/kumahq/kuma/app/kumactl/cmd/config" + "github.com/kumahq/kuma/app/kumactl/cmd/delete" + "github.com/kumahq/kuma/app/kumactl/cmd/generate" + "github.com/kumahq/kuma/app/kumactl/cmd/get" + "github.com/kumahq/kuma/app/kumactl/cmd/inspect" + "github.com/kumahq/kuma/app/kumactl/cmd/install" + "github.com/kumahq/kuma/pkg/cmd/version" + "github.com/spf13/cobra" + + kumactl_cmd "github.com/kumahq/kuma/app/kumactl/pkg/cmd" +) + +var additionalSubcommands []func(*kumactl_cmd.RootContext) *cobra.Command diff --git a/app/kumactl/cmd/install/additional_subcommands.go b/app/kumactl/cmd/install/additional_subcommands.go new file mode 100644 index 000000000000..c7af14f85cc5 --- /dev/null +++ b/app/kumactl/cmd/install/additional_subcommands.go @@ -0,0 +1,11 @@ +// +build !windows + +package install + +import ( + "github.com/spf13/cobra" +) + +var additionalSubcommands = []func() *cobra.Command{ + newInstallTransparentProxy, +} diff --git a/app/kumactl/cmd/install/additional_subcommands_windows.go b/app/kumactl/cmd/install/additional_subcommands_windows.go new file mode 100644 index 000000000000..f1ae01eb4ddb --- /dev/null +++ b/app/kumactl/cmd/install/additional_subcommands_windows.go @@ -0,0 +1,7 @@ +package install + +import ( + "github.com/spf13/cobra" +) + +var additionalSubcommands []func() *cobra.Command diff --git a/app/kumactl/cmd/install/install.go b/app/kumactl/cmd/install/install.go index 82566ce514c1..364d89f26ba3 100644 --- a/app/kumactl/cmd/install/install.go +++ b/app/kumactl/cmd/install/install.go @@ -12,6 +12,7 @@ func NewInstallCmd(pctx *kumactl_cmd.RootContext) *cobra.Command { Short: "Install various Kuma components.", Long: `Install various Kuma components.`, } + // sub-commands cmd.AddCommand(newInstallControlPlaneCmd(&pctx.InstallCpContext)) cmd.AddCommand(newInstallCrdsCmd(&pctx.InstallCRDContext)) @@ -19,8 +20,12 @@ func NewInstallCmd(pctx *kumactl_cmd.RootContext) *cobra.Command { cmd.AddCommand(newInstallTracing(pctx)) cmd.AddCommand(newInstallDNS()) cmd.AddCommand(newInstallLogging(pctx)) - cmd.AddCommand(newInstallTransparentProxy()) cmd.AddCommand(newInstallDemoCmd(&pctx.InstallDemoContext)) cmd.AddCommand(newInstallGatewayCmd(pctx)) + + for _, subcommand := range additionalSubcommands { + cmd.AddCommand(subcommand()) + } + return cmd } diff --git a/app/kumactl/cmd/install/install_transparent_proxy.go b/app/kumactl/cmd/install/install_transparent_proxy.go index b3a7108c78e2..37943bd7f651 100644 --- a/app/kumactl/cmd/install/install_transparent_proxy.go +++ b/app/kumactl/cmd/install/install_transparent_proxy.go @@ -1,3 +1,5 @@ +// +build !windows + package install import ( diff --git a/app/kumactl/cmd/root.go b/app/kumactl/cmd/root.go index 01e280e04304..7dc15175587a 100644 --- a/app/kumactl/cmd/root.go +++ b/app/kumactl/cmd/root.go @@ -14,7 +14,6 @@ import ( "github.com/kumahq/kuma/app/kumactl/cmd/get" "github.com/kumahq/kuma/app/kumactl/cmd/inspect" "github.com/kumahq/kuma/app/kumactl/cmd/install" - "github.com/kumahq/kuma/app/kumactl/cmd/uninstall" kumactl_cmd "github.com/kumahq/kuma/app/kumactl/pkg/cmd" kumactl_config "github.com/kumahq/kuma/app/kumactl/pkg/config" kumactl_errors "github.com/kumahq/kuma/app/kumactl/pkg/errors" @@ -106,8 +105,12 @@ func NewRootCmd(root *kumactl_cmd.RootContext) *cobra.Command { cmd.AddCommand(get.NewGetCmd(root)) cmd.AddCommand(inspect.NewInspectCmd(root)) cmd.AddCommand(install.NewInstallCmd(root)) - cmd.AddCommand(uninstall.NewUninstallCmd(root)) cmd.AddCommand(version.NewVersionCmd()) + + for _, subcommand := range additionalSubcommands { + cmd.AddCommand(subcommand(root)) + } + kumactl_cmd.WrapRunnables(cmd, kumactl_errors.FormatErrorWrapper) return cmd } diff --git a/app/kumactl/cmd/uninstall/subcommands.go b/app/kumactl/cmd/uninstall/subcommands.go new file mode 100644 index 000000000000..6c63fc56f79b --- /dev/null +++ b/app/kumactl/cmd/uninstall/subcommands.go @@ -0,0 +1,9 @@ +// +build !windows + +package uninstall + +import "github.com/spf13/cobra" + +var subcommands = []func() *cobra.Command{ + newUninstallTransparentProxy, +} diff --git a/app/kumactl/cmd/uninstall/subcommands_windows.go b/app/kumactl/cmd/uninstall/subcommands_windows.go new file mode 100644 index 000000000000..18b2ba018e8a --- /dev/null +++ b/app/kumactl/cmd/uninstall/subcommands_windows.go @@ -0,0 +1,5 @@ +package uninstall + +import "github.com/spf13/cobra" + +var subcommands []func() *cobra.Command diff --git a/app/kumactl/cmd/uninstall/uninstall.go b/app/kumactl/cmd/uninstall/uninstall.go index badaa21d5994..f8acdb92165b 100644 --- a/app/kumactl/cmd/uninstall/uninstall.go +++ b/app/kumactl/cmd/uninstall/uninstall.go @@ -12,7 +12,11 @@ func NewUninstallCmd(pctx *kumactl_cmd.RootContext) *cobra.Command { Short: "Uninstall various Kuma components.", Long: `Uninstall various Kuma components.`, } + // sub-commands - cmd.AddCommand(newUninstallTransparentProxy()) + for _, subcommand := range subcommands { + cmd.AddCommand(subcommand()) + } + return cmd } diff --git a/app/kumactl/cmd/uninstall/uninstall_transparent_proxy.go b/app/kumactl/cmd/uninstall/uninstall_transparent_proxy.go index 2484f59996e4..63c703e6ed96 100644 --- a/app/kumactl/cmd/uninstall/uninstall_transparent_proxy.go +++ b/app/kumactl/cmd/uninstall/uninstall_transparent_proxy.go @@ -11,13 +11,13 @@ import ( "github.com/kumahq/kuma/pkg/transparentproxy" ) -type transparenProxyArgs struct { +type transparentProxyArgs struct { DryRun bool Verbose bool } func newUninstallTransparentProxy() *cobra.Command { - args := transparenProxyArgs{ + args := transparentProxyArgs{ DryRun: false, Verbose: false, } diff --git a/app/kumactl/cmd/uninstall/uninstall_windows.go b/app/kumactl/cmd/uninstall/uninstall_windows.go new file mode 100644 index 000000000000..8a4f153e9d14 --- /dev/null +++ b/app/kumactl/cmd/uninstall/uninstall_windows.go @@ -0,0 +1,19 @@ +// +build !windows + +package uninstall + +import ( + "github.com/spf13/cobra" + + kumactl_cmd "github.com/kumahq/kuma/app/kumactl/pkg/cmd" +) + +func NewUninstallCmd(pctx *kumactl_cmd.RootContext) *cobra.Command { + cmd := &cobra.Command{ + Use: "uninstall", + Short: "Uninstall various Kuma components.", + Long: `Uninstall various Kuma components.`, + } + + return cmd +} diff --git a/pkg/config/xds/bootstrap/config.go b/pkg/config/xds/bootstrap/config.go index a13abb5439bf..5fc02c158474 100644 --- a/pkg/config/xds/bootstrap/config.go +++ b/pkg/config/xds/bootstrap/config.go @@ -84,13 +84,13 @@ func (b *BootstrapParamsConfig) Validate() error { return nil } -func DefaultBootstrapParamsConfig() *BootstrapParamsConfig { +func buildDefaultBootstrapParamsConfig(adminAccessLogPath string) *BootstrapParamsConfig { return &BootstrapParamsConfig{ AdminAddress: "127.0.0.1", // by default, Envoy Admin interface should listen on loopback address AdminPort: 0, // by default, turn off Admin interface of Envoy - AdminAccessLogPath: "/dev/null", - XdsHost: "", // by default it is the same host as the one used by kuma-dp to connect to the control plane - XdsPort: 0, // by default it is autoconfigured from KUMA_XDS_SERVER_GRPC_PORT + AdminAccessLogPath: adminAccessLogPath, + XdsHost: "", // by default, it is the same host as the one used by kuma-dp to connect to the control plane + XdsPort: 0, // by default, it is autoconfigured from KUMA_XDS_SERVER_GRPC_PORT XdsConnectTimeout: 1 * time.Second, } } diff --git a/pkg/config/xds/bootstrap/default_params.go b/pkg/config/xds/bootstrap/default_params.go new file mode 100644 index 000000000000..cbfe65e566ca --- /dev/null +++ b/pkg/config/xds/bootstrap/default_params.go @@ -0,0 +1,7 @@ +// +build !windows + +package bootstrap + +func DefaultBootstrapParamsConfig() *BootstrapParamsConfig { + return buildDefaultBootstrapParamsConfig("/dev/null") +} diff --git a/pkg/config/xds/bootstrap/default_params_windows.go b/pkg/config/xds/bootstrap/default_params_windows.go new file mode 100644 index 000000000000..94ba73b5b189 --- /dev/null +++ b/pkg/config/xds/bootstrap/default_params_windows.go @@ -0,0 +1,5 @@ +package bootstrap + +func DefaultBootstrapParamsConfig() *BootstrapParamsConfig { + return buildDefaultBootstrapParamsConfig("NUL") +}