diff --git a/Dockerfile b/Dockerfile index 84533f8..8b60e84 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,13 +1,13 @@ FROM golang:1.23.3 AS build WORKDIR /app - +ARG appVersion="" # Copy the source code. COPY . . # Installs Go dependencies RUN go mod download # Build -RUN CGO_ENABLED=0 GOOS=linux go build -o /app/pg-bkup +RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-X 'github.com/jkaninda/pg-bkup/utils.Version=${appVersion}'" -o /app/pg-bkup FROM alpine:3.20.3 ENV TZ=UTC diff --git a/go.mod b/go.mod index 767d1f8..9db390e 100644 --- a/go.mod +++ b/go.mod @@ -19,6 +19,7 @@ require ( github.com/ProtonMail/go-crypto v1.0.0 // indirect github.com/ProtonMail/go-mime v0.0.0-20230322103455-7d82a3887f2f // indirect github.com/cloudflare/circl v1.5.0 // indirect + github.com/common-nighthawk/go-figure v0.0.0-20210622060536-734e95fb86be // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect diff --git a/go.sum b/go.sum index 871e66d..e93fc34 100644 --- a/go.sum +++ b/go.sum @@ -13,6 +13,8 @@ github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7N github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= github.com/cloudflare/circl v1.5.0 h1:hxIWksrX6XN5a1L2TI/h53AGPhNHoUBo+TD1ms9+pys= github.com/cloudflare/circl v1.5.0/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= +github.com/common-nighthawk/go-figure v0.0.0-20210622060536-734e95fb86be h1:J5BL2kskAlV9ckgEsNQXscjIaLiOYiZ75d4e94E6dcQ= +github.com/common-nighthawk/go-figure v0.0.0-20210622060536-734e95fb86be/go.mod h1:mk5IQ+Y0ZeO87b858TlA645sVcEcbiX6YqP98kt+7+w= github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= diff --git a/internal/helper.go b/internal/helper.go index 7469118..f3211ac 100644 --- a/internal/helper.go +++ b/internal/helper.go @@ -37,8 +37,9 @@ import ( ) func intro() { - fmt.Println("Starting PostgreSQL Backup...") - fmt.Println("Copyright (c) 2024 Jonas Kaninda ") + fmt.Println("Starting PosgreSQL Backup...") + fmt.Printf("Version: %s\n", utils.Version) + fmt.Println("Copyright (c) 2024 Jonas Kaninda") } // copyToTmp copy file to temporary directory diff --git a/utils/constant.go b/utils/constant.go index f39c811..6c59d4b 100644 --- a/utils/constant.go +++ b/utils/constant.go @@ -36,8 +36,6 @@ const MainExample = "backup --dbname database --disable-compression\n" + "backup --dbname database --storage s3 --path /custom-path\n" + "restore --dbname database --file db_20231219_022941.sql.gz" -var Version string - func VERSION(def string) string { build := os.Getenv("VERSION") if build == "" { diff --git a/utils/utils.go b/utils/utils.go index cc3a714..3ec92e0 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -36,6 +36,8 @@ import ( "time" ) +var Version = "development" + // FileExists checks if the file does exist func FileExists(filename string) bool { info, err := os.Stat(filename)