diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..57ea87e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM golang:1.18-alpine + +WORKDIR /app + +COPY go.mod ./ + +RUN go mod download + +COPY . . + +RUN go build -o cli cmd/cli/main.go + +CMD [ "./cli" ] \ No newline at end of file diff --git a/cmd/cli/announce.go b/cli/announce.go similarity index 97% rename from cmd/cli/announce.go rename to cli/announce.go index bb784a4..a80d0fd 100644 --- a/cmd/cli/announce.go +++ b/cli/announce.go @@ -1,4 +1,4 @@ -package main +package cli import ( "context" @@ -8,7 +8,7 @@ import ( "github.com/spf13/cobra" ) -func newAnnounceCmd() *cobra.Command { +func NewAnnounceCmd() *cobra.Command { var leaderClient *ServerClient // Where the new settings will be put diff --git a/cmd/cli/client.go b/cli/client.go similarity index 99% rename from cmd/cli/client.go rename to cli/client.go index fdb6668..cf9682b 100644 --- a/cmd/cli/client.go +++ b/cli/client.go @@ -1,4 +1,4 @@ -package main +package cli import ( "fmt" diff --git a/cmd/cli/color-utils.go b/cli/color-utils.go similarity index 99% rename from cmd/cli/color-utils.go rename to cli/color-utils.go index 1cdb287..6076bfc 100644 --- a/cmd/cli/color-utils.go +++ b/cli/color-utils.go @@ -1,4 +1,4 @@ -package main +package cli import ( "os" diff --git a/cmd/cli/describe.go b/cli/describe.go similarity index 97% rename from cmd/cli/describe.go rename to cli/describe.go index aa59dd9..c867862 100644 --- a/cmd/cli/describe.go +++ b/cli/describe.go @@ -1,4 +1,4 @@ -package main +package cli import ( "context" @@ -9,7 +9,7 @@ import ( "github.com/spf13/cobra" ) -func newDescribeCmd() *cobra.Command { +func NewDescribeCmd() *cobra.Command { var leaderClient *ServerClient cmd := &cobra.Command{ diff --git a/cmd/cli/flags.go b/cli/flags.go similarity index 99% rename from cmd/cli/flags.go rename to cli/flags.go index 2fd2a9e..ee56dca 100644 --- a/cmd/cli/flags.go +++ b/cli/flags.go @@ -1,4 +1,4 @@ -package main +package cli import ( "github.com/polygon-io/go-app-ticker-wall/models" diff --git a/cmd/cli/gui.go b/cli/gui.go similarity index 95% rename from cmd/cli/gui.go rename to cli/gui.go index f5a8e79..4ef7dd4 100644 --- a/cmd/cli/gui.go +++ b/cli/gui.go @@ -1,4 +1,4 @@ -package main +package cli import ( "os" @@ -8,7 +8,7 @@ import ( "github.com/spf13/cobra" ) -func newGUICmd() *cobra.Command { +func NewGUICmd() *cobra.Command { cfg := &gui.Config{} cmd := &cobra.Command{ diff --git a/cmd/cli/server.go b/cli/server.go similarity index 97% rename from cmd/cli/server.go rename to cli/server.go index ec09b67..bdee1ed 100644 --- a/cmd/cli/server.go +++ b/cli/server.go @@ -1,4 +1,4 @@ -package main +package cli import ( "os" @@ -10,7 +10,7 @@ import ( "github.com/spf13/cobra" ) -func newServerCmd() *cobra.Command { +func NewServerCmd() *cobra.Command { cfg := &server.ServiceConfig{ LeaderConfig: leader.Config{ Presentation: &models.PresentationSettings{}, diff --git a/cmd/cli/update.go b/cli/update.go similarity index 95% rename from cmd/cli/update.go rename to cli/update.go index 2eeb435..0427da6 100644 --- a/cmd/cli/update.go +++ b/cli/update.go @@ -1,4 +1,4 @@ -package main +package cli import ( "context" @@ -8,7 +8,7 @@ import ( "github.com/spf13/cobra" ) -func newUpdateCmd() *cobra.Command { +func NewUpdateCmd() *cobra.Command { var leaderClient *ServerClient // Where the new settings will be put diff --git a/cmd/cli/cli.go b/cmd/cli/main.go similarity index 92% rename from cmd/cli/cli.go rename to cmd/cli/main.go index e54bef3..fbc5baf 100644 --- a/cmd/cli/cli.go +++ b/cmd/cli/main.go @@ -5,6 +5,7 @@ import ( "os" "strings" + "github.com/polygon-io/go-app-ticker-wall/cli" "github.com/sirupsen/logrus" "github.com/spf13/cobra" "github.com/spf13/pflag" @@ -62,11 +63,11 @@ Find out more at: https://github.com/polygon-io/go-app-ticker-wall`, rootCmd.PersistentFlags().BoolP("debug", "d", false, "Debug enables more verbose logging.") // Add additional commands. - rootCmd.AddCommand(newGUICmd()) - rootCmd.AddCommand(newServerCmd()) - rootCmd.AddCommand(newUpdateCmd()) - rootCmd.AddCommand(newAnnounceCmd()) - rootCmd.AddCommand(newDescribeCmd()) + rootCmd.AddCommand(cli.NewGUICmd()) + rootCmd.AddCommand(cli.NewServerCmd()) + rootCmd.AddCommand(cli.NewUpdateCmd()) + rootCmd.AddCommand(cli.NewAnnounceCmd()) + rootCmd.AddCommand(cli.NewDescribeCmd()) return rootCmd }