From f09186de0d7a9cda4e40fd3947d1f81a5c3a51e5 Mon Sep 17 00:00:00 2001 From: Samir Faci Date: Mon, 13 Nov 2023 15:11:25 -0500 Subject: [PATCH] [TechDebt] Changing entrypoint and package names ChangeLog: - Updating Taskfile and goreleaser to reflect new main.go location. - renamed cmd package to cli --- .goreleaser.yml | 3 +- Taskfile.yml | 30 +++-------- {cmd => cli}/backup/alertnotifications.go | 2 +- {cmd => cli}/backup/backup.go | 2 +- {cmd => cli}/backup/connection_permissions.go | 2 +- {cmd => cli}/backup/connections.go | 2 +- {cmd => cli}/backup/dashboard.go | 2 +- {cmd => cli}/backup/folder_permissions.go | 2 +- {cmd => cli}/backup/folders.go | 2 +- {cmd => cli}/backup/library.go | 4 +- {cmd => cli}/backup/organizations.go | 2 +- {cmd => cli}/backup/team.go | 2 +- {cmd => cli}/backup/users.go | 2 +- {cmd => cli}/commandeer.go | 16 ++++-- {cmd => cli}/context.go | 4 +- {cmd => cli}/support/root.go | 0 {cmd => cli}/support/simple.go | 0 {cmd => cli}/test/conections_test.go | 9 ++-- {cmd => cli}/test/devel_test.go | 8 +-- {cmd => cli}/test/support.go | 2 +- {cmd => cli}/test/version_test.go | 8 +-- {cmd => cli}/tools/auth.go | 2 +- {cmd => cli}/tools/auth_service_accounts.go | 2 +- {cmd => cli}/tools/auth_tokens.go | 2 +- {cmd => cli}/tools/devel.go | 2 +- {cmd => cli}/tools/organizations.go | 2 +- {cmd => cli}/tools/tools.go | 2 +- {cmd => cli}/tools/users.go | 2 +- {cmd => cli}/version.go | 4 +- config/assets.go | 6 +++ docker/Dockerfile | 54 +++---------------- docker/Dockerfile-gorelease | 8 --- main.go | 33 ------------ 33 files changed, 68 insertions(+), 155 deletions(-) rename {cmd => cli}/backup/alertnotifications.go (99%) rename {cmd => cli}/backup/backup.go (96%) rename {cmd => cli}/backup/connection_permissions.go (99%) rename {cmd => cli}/backup/connections.go (99%) rename {cmd => cli}/backup/dashboard.go (99%) rename {cmd => cli}/backup/folder_permissions.go (99%) rename {cmd => cli}/backup/folders.go (99%) rename {cmd => cli}/backup/library.go (98%) rename {cmd => cli}/backup/organizations.go (99%) rename {cmd => cli}/backup/team.go (99%) rename {cmd => cli}/backup/users.go (99%) rename {cmd => cli}/commandeer.go (66%) rename {cmd => cli}/context.go (99%) rename {cmd => cli}/support/root.go (100%) rename {cmd => cli}/support/simple.go (100%) rename {cmd => cli}/test/conections_test.go (82%) rename {cmd => cli}/test/devel_test.go (90%) rename {cmd => cli}/test/support.go (98%) rename {cmd => cli}/test/version_test.go (87%) rename {cmd => cli}/tools/auth.go (93%) rename {cmd => cli}/tools/auth_service_accounts.go (99%) rename {cmd => cli}/tools/auth_tokens.go (99%) rename {cmd => cli}/tools/devel.go (98%) rename {cmd => cli}/tools/organizations.go (99%) rename {cmd => cli}/tools/tools.go (95%) rename {cmd => cli}/tools/users.go (98%) rename {cmd => cli}/version.go (95%) create mode 100644 config/assets.go delete mode 100644 docker/Dockerfile-gorelease delete mode 100644 main.go diff --git a/.goreleaser.yml b/.goreleaser.yml index 7537533f..318bf021 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -15,6 +15,7 @@ builds: - CGO_ENABLED=0 binary: gdg ldflags: -s -w -X github.com/esnet/gdg/internal/version.GitCommit={{ .Commit }} -X github.com/esnet/gdg/internal/version.BuildDate={{ .Date }} -X github.com/esnet/gdg/internal/version.Version={{ .Tag }} + main: ./cmd/gdg goos: - linux - windows @@ -74,7 +75,7 @@ dockers: - "ghcr.io/esnet/gdg:{{ .Major }}.{{ .Minor }}" skip_push: false - dockerfile: "docker/Dockerfile-gorelease" + dockerfile: "docker/Dockerfile" brews: diff --git a/Taskfile.yml b/Taskfile.yml index 62a20701..a401b2e6 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -18,14 +18,10 @@ tasks: install_tools: desc: "Install required Dev tools by GDG" cmds: - - go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest - - go install github.com/client9/misspell/cmd/misspell@latest - - go install github.com/securego/gosec/v2/cmd/gosec@master - - go install golang.org/x/vuln/cmd/govulncheck@latest - format: - desc: "Format code" - cmds: - - gofmt -w -s . + - go install github.com/golangci/golangci-lint/cli/golangci-lint@latest + - go install github.com/client9/misspell/cli/misspell@latest + - go install github.com/securego/gosec/v2/cli/gosec@master + - go install golang.org/x/vuln/cli/govulncheck@latest security: desc: "Run security scan" cmds: @@ -55,12 +51,12 @@ tasks: linux: desc: "Build linux binary" cmds: - - env GOOS='linux' GOARCH='amd64' go build -ldflags "{{ .LD_FLAGS }} " -o bin/{{ .BIN_NAME }}_linux + - env GOOS='linux' GOARCH='amd64' go build -ldflags "{{ .LD_FLAGS }}" -o bin/{{ .BIN_NAME }}_linux cmd/gdg/main.go build: desc: "Buiding {{ .BIN_NAME }} {{ .VERSION }}" cmds: - echo "GOPATH=${GOPATH}" - - go build -ldflags "{{ .LD_FLAGS }}" -o bin/{{ .BIN_NAME }} + - go build -ldflags "{{ .LD_FLAGS }}" -o bin/{{ .BIN_NAME }} cmd/gdg/main.go install: desc: "installing {{ .BIN_NAME }} {{ .VERSION }}" cmds: @@ -68,20 +64,6 @@ tasks: - go install -ldflags "{{ .LD_FLAGS}}" - mv ${GOPATH}/bin/gdg ${GOPATH}/bin/{{ .BIN_NAME }} silent: false - get-deps: - desc: "Tidy Deps" - cmds: - - go mod tidy - pakcage: - desc: "building image {{ .BIN_NAME }} {{ .VERSION }} {{ .GIT_COMMIT }}" - cmds: - - docker build --build-arg VERSION={{ .VERSION }} --build-arg GIT_COMMIT={{ .GIT_COMMIT }} -t $(IMAGE_NAME):local . - tag: - desc: "Tagging: latest {{ .VERSION }} {{ .GIT_COMMIT }}" - cmds: - - docker tag $(IMAGE_NAME):local $(IMAGE_NAME):{{ .GIT_COMMIT }} - - docker tag $(IMAGE_NAME):local $(IMAGE_NAME):{{ .VERSION }} - - docker tag $(IMAGE_NAME):local $(IMAGE_NAME):latest push: desc: "Pushing docker image to registry: latest {{ .VERSION }} {{ .GIT_COMMIT }}" deps: [tag] diff --git a/cmd/backup/alertnotifications.go b/cli/backup/alertnotifications.go similarity index 99% rename from cmd/backup/alertnotifications.go rename to cli/backup/alertnotifications.go index aed8a53f..e5a6279a 100644 --- a/cmd/backup/alertnotifications.go +++ b/cli/backup/alertnotifications.go @@ -4,7 +4,7 @@ import ( "context" "fmt" "github.com/bep/simplecobra" - "github.com/esnet/gdg/cmd/support" + "github.com/esnet/gdg/cli/support" "github.com/esnet/gdg/internal/config" "github.com/esnet/gdg/internal/service" "github.com/jedib0t/go-pretty/v6/table" diff --git a/cmd/backup/backup.go b/cli/backup/backup.go similarity index 96% rename from cmd/backup/backup.go rename to cli/backup/backup.go index e048c217..dc92ae5c 100644 --- a/cmd/backup/backup.go +++ b/cli/backup/backup.go @@ -3,7 +3,7 @@ package backup import ( "context" "github.com/bep/simplecobra" - "github.com/esnet/gdg/cmd/support" + "github.com/esnet/gdg/cli/support" "github.com/spf13/cobra" ) diff --git a/cmd/backup/connection_permissions.go b/cli/backup/connection_permissions.go similarity index 99% rename from cmd/backup/connection_permissions.go rename to cli/backup/connection_permissions.go index b6600477..ea25cef3 100644 --- a/cmd/backup/connection_permissions.go +++ b/cli/backup/connection_permissions.go @@ -4,7 +4,7 @@ import ( "context" "fmt" "github.com/bep/simplecobra" - "github.com/esnet/gdg/cmd/support" + "github.com/esnet/gdg/cli/support" "github.com/esnet/gdg/internal/config" "github.com/esnet/gdg/internal/service" "github.com/esnet/gdg/internal/tools" diff --git a/cmd/backup/connections.go b/cli/backup/connections.go similarity index 99% rename from cmd/backup/connections.go rename to cli/backup/connections.go index 76ca4b5f..f20cefc2 100644 --- a/cmd/backup/connections.go +++ b/cli/backup/connections.go @@ -4,7 +4,7 @@ import ( "context" "fmt" "github.com/bep/simplecobra" - "github.com/esnet/gdg/cmd/support" + "github.com/esnet/gdg/cli/support" "github.com/esnet/gdg/internal/config" "github.com/esnet/gdg/internal/service" "github.com/jedib0t/go-pretty/v6/table" diff --git a/cmd/backup/dashboard.go b/cli/backup/dashboard.go similarity index 99% rename from cmd/backup/dashboard.go rename to cli/backup/dashboard.go index 5613baed..c9d18616 100644 --- a/cmd/backup/dashboard.go +++ b/cli/backup/dashboard.go @@ -4,7 +4,7 @@ import ( "context" "fmt" "github.com/bep/simplecobra" - "github.com/esnet/gdg/cmd/support" + "github.com/esnet/gdg/cli/support" "github.com/esnet/gdg/internal/config" "github.com/esnet/gdg/internal/service" "github.com/esnet/gdg/internal/tools" diff --git a/cmd/backup/folder_permissions.go b/cli/backup/folder_permissions.go similarity index 99% rename from cmd/backup/folder_permissions.go rename to cli/backup/folder_permissions.go index 1614a64f..cdd06b3e 100644 --- a/cmd/backup/folder_permissions.go +++ b/cli/backup/folder_permissions.go @@ -3,7 +3,7 @@ package backup import ( "context" "github.com/bep/simplecobra" - "github.com/esnet/gdg/cmd/support" + "github.com/esnet/gdg/cli/support" "github.com/esnet/gdg/internal/config" "github.com/jedib0t/go-pretty/v6/table" "github.com/spf13/cobra" diff --git a/cmd/backup/folders.go b/cli/backup/folders.go similarity index 99% rename from cmd/backup/folders.go rename to cli/backup/folders.go index 86955a72..798f61e9 100644 --- a/cmd/backup/folders.go +++ b/cli/backup/folders.go @@ -3,7 +3,7 @@ package backup import ( "context" "github.com/bep/simplecobra" - "github.com/esnet/gdg/cmd/support" + "github.com/esnet/gdg/cli/support" "github.com/esnet/gdg/internal/config" "github.com/esnet/gdg/internal/service" "github.com/esnet/gdg/internal/service/filters" diff --git a/cmd/backup/library.go b/cli/backup/library.go similarity index 98% rename from cmd/backup/library.go rename to cli/backup/library.go index f9d234bc..b0b57dc8 100644 --- a/cmd/backup/library.go +++ b/cli/backup/library.go @@ -4,7 +4,7 @@ import ( "context" "encoding/json" "github.com/bep/simplecobra" - "github.com/esnet/gdg/cmd/support" + "github.com/esnet/gdg/cli/support" "github.com/esnet/gdg/internal/config" "github.com/esnet/gdg/internal/service/filters" "github.com/jedib0t/go-pretty/v6/table" @@ -45,7 +45,7 @@ func newLibraryElementsClearCmd() simplecobra.Commander { cmd.Aliases = []string{"c"} }, RunFunc: func(ctx context.Context, cd *simplecobra.Commandeer, rootCmd *support.RootCommand, args []string) error { - //filter := getLibraryGlobalFlags(cmd) + //filter := getLibraryGlobalFlags(cli) deletedLibrarys := rootCmd.GrafanaSvc().DeleteAllLibraryElements(nil) rootCmd.TableObj.AppendHeader(table.Row{"type", "filename"}) for _, file := range deletedLibrarys { diff --git a/cmd/backup/organizations.go b/cli/backup/organizations.go similarity index 99% rename from cmd/backup/organizations.go rename to cli/backup/organizations.go index 535f33d8..c602d195 100644 --- a/cmd/backup/organizations.go +++ b/cli/backup/organizations.go @@ -3,7 +3,7 @@ package backup import ( "context" "github.com/bep/simplecobra" - "github.com/esnet/gdg/cmd/support" + "github.com/esnet/gdg/cli/support" "github.com/esnet/gdg/internal/config" "github.com/jedib0t/go-pretty/v6/table" "github.com/spf13/cobra" diff --git a/cmd/backup/team.go b/cli/backup/team.go similarity index 99% rename from cmd/backup/team.go rename to cli/backup/team.go index b96e4574..c414518e 100644 --- a/cmd/backup/team.go +++ b/cli/backup/team.go @@ -3,7 +3,7 @@ package backup import ( "context" "github.com/bep/simplecobra" - "github.com/esnet/gdg/cmd/support" + "github.com/esnet/gdg/cli/support" "github.com/esnet/gdg/internal/config" api "github.com/esnet/gdg/internal/service" "github.com/esnet/grafana-swagger-api-golang/goclient/models" diff --git a/cmd/backup/users.go b/cli/backup/users.go similarity index 99% rename from cmd/backup/users.go rename to cli/backup/users.go index c30282fc..a686c38b 100644 --- a/cmd/backup/users.go +++ b/cli/backup/users.go @@ -3,7 +3,7 @@ package backup import ( "context" "github.com/bep/simplecobra" - "github.com/esnet/gdg/cmd/support" + "github.com/esnet/gdg/cli/support" "github.com/esnet/gdg/internal/config" "github.com/esnet/gdg/internal/service" "github.com/jedib0t/go-pretty/v6/table" diff --git a/cmd/commandeer.go b/cli/commandeer.go similarity index 66% rename from cmd/commandeer.go rename to cli/commandeer.go index a84ac087..2b8543af 100644 --- a/cmd/commandeer.go +++ b/cli/commandeer.go @@ -1,16 +1,22 @@ -package cmd +package cli import ( "context" "github.com/bep/simplecobra" - "github.com/esnet/gdg/cmd/backup" - "github.com/esnet/gdg/cmd/support" - "github.com/esnet/gdg/cmd/tools" + "github.com/esnet/gdg/cli/backup" + "github.com/esnet/gdg/cli/support" + "github.com/esnet/gdg/cli/tools" + assets "github.com/esnet/gdg/config" + "log/slog" ) // Execute executes a command. func Execute(defaultCfg string, args []string, options ...support.RootOption) error { - support.DefaultConfig = defaultCfg + data, err := assets.Assets.ReadFile(defaultCfg) + if err != nil { + slog.Info("unable to find load default configuration", "err", err) + } + support.DefaultConfig = string(data) rootCmd := support.NewRootCmd(getNewRootCmd(), options...) x, err := simplecobra.New(rootCmd) if err != nil { diff --git a/cmd/context.go b/cli/context.go similarity index 99% rename from cmd/context.go rename to cli/context.go index 35061708..fba3f337 100644 --- a/cmd/context.go +++ b/cli/context.go @@ -1,11 +1,11 @@ -package cmd +package cli import ( "context" "errors" "fmt" "github.com/bep/simplecobra" - "github.com/esnet/gdg/cmd/support" + "github.com/esnet/gdg/cli/support" "github.com/esnet/gdg/internal/config" "github.com/jedib0t/go-pretty/v6/table" "log/slog" diff --git a/cmd/support/root.go b/cli/support/root.go similarity index 100% rename from cmd/support/root.go rename to cli/support/root.go diff --git a/cmd/support/simple.go b/cli/support/simple.go similarity index 100% rename from cmd/support/simple.go rename to cli/support/simple.go diff --git a/cmd/test/conections_test.go b/cli/test/conections_test.go similarity index 82% rename from cmd/test/conections_test.go rename to cli/test/conections_test.go index a12ddf00..85251a0b 100644 --- a/cmd/test/conections_test.go +++ b/cli/test/conections_test.go @@ -1,15 +1,14 @@ package test import ( - "github.com/esnet/gdg/cmd" - "github.com/esnet/gdg/cmd/support" + "github.com/esnet/gdg/cli" + "github.com/esnet/gdg/cli/support" "github.com/esnet/gdg/internal/service" "github.com/esnet/gdg/internal/service/mocks" "github.com/esnet/grafana-swagger-api-golang/goclient/models" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "io" - "os" "strings" "testing" ) @@ -38,10 +37,8 @@ func TestConnectionCommand(t *testing.T) { } } r, w, cleanup := InterceptStdout() - data, err := os.ReadFile("../../config/testing.yml") - assert.Nil(t, err) - err = cmd.Execute(string(data), []string{"backup", "connections", "list"}, optionMockSvc()) + err := cli.Execute("testing.yml", []string{"backup", "connections", "list"}, optionMockSvc()) assert.Nil(t, err) defer cleanup() w.Close() diff --git a/cmd/test/devel_test.go b/cli/test/devel_test.go similarity index 90% rename from cmd/test/devel_test.go rename to cli/test/devel_test.go index a5a6d8fd..b953dc4a 100644 --- a/cmd/test/devel_test.go +++ b/cli/test/devel_test.go @@ -1,8 +1,8 @@ package test import ( - "github.com/esnet/gdg/cmd" - "github.com/esnet/gdg/cmd/support" + "github.com/esnet/gdg/cli" + "github.com/esnet/gdg/cli/support" "github.com/esnet/gdg/internal/service/mocks" "github.com/stretchr/testify/assert" "strings" @@ -17,7 +17,7 @@ func TestDevelSrvInfo(t *testing.T) { expected["Version"] = "version" mock.On("GetServerInfo").Return(expected) - err := cmd.Execute(string(data), []string{"tools", "devel", "srvinfo"}, optionMockSvc()) + err := cli.Execute(string(data), []string{"tools", "devel", "srvinfo"}, optionMockSvc()) return err } outStr, closeReader := setupAndExecuteMockingServices(t, execMe) @@ -31,7 +31,7 @@ func TestDevelSrvInfo(t *testing.T) { func TestDevelSrvCompletion(t *testing.T) { fn := func(args []string) func(mock *mocks.GrafanaService, data []byte, optionMockSvc func() support.RootOption) error { return func(mock *mocks.GrafanaService, data []byte, optionMockSvc func() support.RootOption) error { - err := cmd.Execute(string(data), args, optionMockSvc()) + err := cli.Execute(string(data), args, optionMockSvc()) return err } } diff --git a/cmd/test/support.go b/cli/test/support.go similarity index 98% rename from cmd/test/support.go rename to cli/test/support.go index 5fda9c55..55311d9b 100644 --- a/cmd/test/support.go +++ b/cli/test/support.go @@ -1,7 +1,7 @@ package test import ( - "github.com/esnet/gdg/cmd/support" + "github.com/esnet/gdg/cli/support" "github.com/esnet/gdg/internal/config" applog "github.com/esnet/gdg/internal/log" "github.com/esnet/gdg/internal/service" diff --git a/cmd/test/version_test.go b/cli/test/version_test.go similarity index 87% rename from cmd/test/version_test.go rename to cli/test/version_test.go index 54e82d64..4d0b5a92 100644 --- a/cmd/test/version_test.go +++ b/cli/test/version_test.go @@ -2,8 +2,8 @@ package test import ( "fmt" - "github.com/esnet/gdg/cmd" - "github.com/esnet/gdg/cmd/support" + "github.com/esnet/gdg/cli" + "github.com/esnet/gdg/cli/support" "github.com/esnet/gdg/internal/service" "github.com/esnet/gdg/internal/service/mocks" "github.com/esnet/gdg/internal/version" @@ -15,7 +15,7 @@ import ( func TestVersionCommand(t *testing.T) { var execMe = func(mock *mocks.GrafanaService, data []byte, optionMockSvc func() support.RootOption) error { - err := cmd.Execute(string(data), []string{"version"}, optionMockSvc()) + err := cli.Execute(string(data), []string{"version"}, optionMockSvc()) return err } outStr, closeReader := setupAndExecuteMockingServices(t, execMe) @@ -46,7 +46,7 @@ func TestVersionErrCommand(t *testing.T) { data, err := os.ReadFile("../../config/testing.yml") assert.Nil(t, err) - err = cmd.Execute(string(data), []string{"dumb", "dumb"}, optionMockSvc()) + err = cli.Execute(string(data), []string{"dumb", "dumb"}, optionMockSvc()) assert.NotNil(t, err) assert.Equal(t, err.Error(), `command error: unknown command "dumb" for "gdg"`) } diff --git a/cmd/tools/auth.go b/cli/tools/auth.go similarity index 93% rename from cmd/tools/auth.go rename to cli/tools/auth.go index 9c5b948b..ae873ebe 100644 --- a/cmd/tools/auth.go +++ b/cli/tools/auth.go @@ -3,7 +3,7 @@ package tools import ( "context" "github.com/bep/simplecobra" - "github.com/esnet/gdg/cmd/support" + "github.com/esnet/gdg/cli/support" ) func newAuthCmd() simplecobra.Commander { diff --git a/cmd/tools/auth_service_accounts.go b/cli/tools/auth_service_accounts.go similarity index 99% rename from cmd/tools/auth_service_accounts.go rename to cli/tools/auth_service_accounts.go index 568dc59d..0e909521 100644 --- a/cmd/tools/auth_service_accounts.go +++ b/cli/tools/auth_service_accounts.go @@ -4,7 +4,7 @@ import ( "context" "errors" "github.com/bep/simplecobra" - "github.com/esnet/gdg/cmd/support" + "github.com/esnet/gdg/cli/support" "github.com/esnet/gdg/internal/config" "github.com/jedib0t/go-pretty/v6/table" "log" diff --git a/cmd/tools/auth_tokens.go b/cli/tools/auth_tokens.go similarity index 99% rename from cmd/tools/auth_tokens.go rename to cli/tools/auth_tokens.go index d7038f81..5883b93e 100644 --- a/cmd/tools/auth_tokens.go +++ b/cli/tools/auth_tokens.go @@ -4,7 +4,7 @@ import ( "context" "errors" "github.com/bep/simplecobra" - "github.com/esnet/gdg/cmd/support" + "github.com/esnet/gdg/cli/support" "github.com/esnet/gdg/internal/config" "github.com/jedib0t/go-pretty/v6/table" "github.com/spf13/cobra" diff --git a/cmd/tools/devel.go b/cli/tools/devel.go similarity index 98% rename from cmd/tools/devel.go rename to cli/tools/devel.go index 95053cc5..b2749344 100644 --- a/cmd/tools/devel.go +++ b/cli/tools/devel.go @@ -3,7 +3,7 @@ package tools import ( "context" "github.com/bep/simplecobra" - "github.com/esnet/gdg/cmd/support" + "github.com/esnet/gdg/cli/support" "github.com/spf13/cobra" "log/slog" "os" diff --git a/cmd/tools/organizations.go b/cli/tools/organizations.go similarity index 99% rename from cmd/tools/organizations.go rename to cli/tools/organizations.go index 96b56c64..32dd24e3 100644 --- a/cmd/tools/organizations.go +++ b/cli/tools/organizations.go @@ -5,7 +5,7 @@ import ( "errors" "fmt" "github.com/bep/simplecobra" - "github.com/esnet/gdg/cmd/support" + "github.com/esnet/gdg/cli/support" "github.com/esnet/gdg/internal/config" "github.com/jedib0t/go-pretty/v6/table" "github.com/spf13/cobra" diff --git a/cmd/tools/tools.go b/cli/tools/tools.go similarity index 95% rename from cmd/tools/tools.go rename to cli/tools/tools.go index 0db633bb..1c046e63 100644 --- a/cmd/tools/tools.go +++ b/cli/tools/tools.go @@ -3,7 +3,7 @@ package tools import ( "context" "github.com/bep/simplecobra" - "github.com/esnet/gdg/cmd/support" + "github.com/esnet/gdg/cli/support" "github.com/spf13/cobra" ) diff --git a/cmd/tools/users.go b/cli/tools/users.go similarity index 98% rename from cmd/tools/users.go rename to cli/tools/users.go index 932db809..cb1428dc 100644 --- a/cmd/tools/users.go +++ b/cli/tools/users.go @@ -3,7 +3,7 @@ package tools import ( "context" "github.com/bep/simplecobra" - "github.com/esnet/gdg/cmd/support" + "github.com/esnet/gdg/cli/support" "github.com/esnet/gdg/internal/config" "github.com/spf13/cobra" "log/slog" diff --git a/cmd/version.go b/cli/version.go similarity index 95% rename from cmd/version.go rename to cli/version.go index bdfc8804..75cbf29a 100644 --- a/cmd/version.go +++ b/cli/version.go @@ -1,10 +1,10 @@ -package cmd +package cli import ( "context" "fmt" "github.com/bep/simplecobra" - "github.com/esnet/gdg/cmd/support" + "github.com/esnet/gdg/cli/support" "github.com/esnet/gdg/internal/version" "github.com/spf13/cobra" "os" diff --git a/config/assets.go b/config/assets.go new file mode 100644 index 00000000..2b851ecd --- /dev/null +++ b/config/assets.go @@ -0,0 +1,6 @@ +package config + +import "embed" + +//go:embed * +var Assets embed.FS diff --git a/docker/Dockerfile b/docker/Dockerfile index 0da58c3b..4bbc3ea9 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,46 +1,8 @@ -# Build Stage -FROM golang:1.21.3 AS build-stage - -LABEL app="build-gdg" -LABEL REPO="https://github.com/esnet/gdg" - -ENV PROJPATH=/go/src/github.com/esnet/gdg - -# Because of https://github.com/docker/docker/issues/14914 -ENV PATH=$PATH:$GOROOT/bin:$GOPATH/bin - -ADD . /go/src/github.com/esnet/gdg -WORKDIR /go/src/github.com/esnet/gdg - -RUN make build-alpine - -# Final Stage -FROM golang:1.21.3 - -ARG GIT_COMMIT -ARG VERSION -LABEL REPO="https://github.com/esnet/gdg" -LABEL GIT_COMMIT=$GIT_COMMIT -LABEL VERSION=$VERSION - -# Because of https://github.com/docker/docker/issues/14914 -ENV PATH=$PATH:/opt/gdg/bin - -WORKDIR /opt/gdg/bin - -COPY --from=build-stage /go/src/github.com/esnet/gdg/bin/gdg /opt/gdg/bin/ -RUN \ - apt-get update && \ - apt install -y dumb-init && \ - apt-get clean autoclean && \ - apt-get autoremove --yes && \ - rm -rf /var/lib/{apt,dpkg,cache,log}/ && \ - chmod +x /opt/gdg/bin/gdg - -# Create appuser -RUN useradd -m gdg -USER gdg - -ENTRYPOINT ["/usr/bin/dumb-init", "--"] - -CMD ["/opt/gdg/bin/gdg"] +FROM alpine:latest +RUN mkdir /app +COPY gdg /app/gdg +VOLUME /app/conf +VOLUME /app/exports + +WORKDIR /app +ENTRYPOINT ["/app/gdg"] diff --git a/docker/Dockerfile-gorelease b/docker/Dockerfile-gorelease deleted file mode 100644 index 4bbc3ea9..00000000 --- a/docker/Dockerfile-gorelease +++ /dev/null @@ -1,8 +0,0 @@ -FROM alpine:latest -RUN mkdir /app -COPY gdg /app/gdg -VOLUME /app/conf -VOLUME /app/exports - -WORKDIR /app -ENTRYPOINT ["/app/gdg"] diff --git a/main.go b/main.go deleted file mode 100644 index dc8e61a4..00000000 --- a/main.go +++ /dev/null @@ -1,33 +0,0 @@ -package main - -import ( - _ "embed" - "github.com/esnet/gdg/cmd" - "github.com/esnet/gdg/cmd/support" - "log" - "os" - - api "github.com/esnet/gdg/internal/service" -) - -//go:embed config/importer-example.yml -var defaultConfig string - -var ( - getGrafanaSvc = func() api.GrafanaService { - return api.NewApiService() - } -) - -func main() { - setGrafanaSvc := func() support.RootOption { - return func(response *support.RootCommand) { - response.GrafanaSvc = getGrafanaSvc - } - } - - err := cmd.Execute(defaultConfig, os.Args[1:], setGrafanaSvc()) - if err != nil { - log.Fatalf("Error: %s", err) - } -}