misc: move to internal/version, use for all binaries

No libmisc, please.

Signed-off-by: Roman Khimov <roman@nspcc.ru>
This commit is contained in:
Roman Khimov 2021-05-20 15:41:32 +03:00
parent ef8684c11d
commit 92c8cce933
7 changed files with 33 additions and 36 deletions

View file

@ -22,7 +22,7 @@ $(BINS): $(BINDIR) dep
@echo "⇒ Build $@"
CGO_ENABLED=0 \
go build -v -trimpath \
-ldflags "-X main.Version=$(VERSION)" \
-ldflags "-X $(REPO)/internal/version.Version=$(VERSION)" \
-o $@ ./cmd/$(subst neofs-,,$(notdir $@))
$(BINDIR):

View file

@ -1,7 +1,7 @@
package metrics
import (
"github.com/nspcc-dev/neofs-s3-gw/misc"
"github.com/nspcc-dev/neofs-s3-gw/internal/version"
"github.com/prometheus/client_golang/prometheus"
)
@ -60,7 +60,7 @@ func (s *stats) Describe(ch chan<- *prometheus.Desc) {
func (s *stats) Collect(ch chan<- prometheus.Metric) {
// Expose current version information
versionInfo.WithLabelValues(misc.Version).Set(1.0)
versionInfo.WithLabelValues(version.Version).Set(1.0)
// connect collectors
collectHTTPMetrics(ch)

View file

@ -10,7 +10,7 @@ import (
"strconv"
"github.com/google/uuid"
"github.com/nspcc-dev/neofs-s3-gw/misc"
"github.com/nspcc-dev/neofs-s3-gw/internal/version"
)
type (
@ -153,7 +153,7 @@ func errorResponseHandler(w http.ResponseWriter, r *http.Request) {
// Write http common headers.
func setCommonHeaders(w http.ResponseWriter) {
w.Header().Set(hdrServerInfo, "NeoFS-S3-GW/"+misc.Version)
w.Header().Set(hdrServerInfo, version.Server)
w.Header().Set(hdrAcceptRanges, "bytes")
// Remove sensitive information

View file

@ -15,6 +15,7 @@ import (
"github.com/nspcc-dev/cdn-sdk/pool"
"github.com/nspcc-dev/neofs-api-go/pkg/container"
"github.com/nspcc-dev/neofs-s3-gw/authmate"
"github.com/nspcc-dev/neofs-s3-gw/internal/version"
"github.com/urfave/cli/v2"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
@ -30,11 +31,6 @@ const (
poolRequestTimeout = 5 * time.Second
)
var (
// Version of the program.
Version = "dev"
)
var (
neoFSKeyPathFlag string
peerAddressFlag string
@ -89,7 +85,7 @@ func main() {
app := &cli.App{
Name: "NeoFS gate authentication manager",
Usage: "Helps manage delegated access via gates to data stored in NeoFS network",
Version: Version,
Version: version.Version,
Flags: appFlags(),
Commands: appCommands(),
}

View file

@ -9,7 +9,7 @@ import (
"strings"
"time"
"github.com/nspcc-dev/neofs-s3-gw/misc"
"github.com/nspcc-dev/neofs-s3-gw/internal/version"
"github.com/spf13/pflag"
"github.com/spf13/viper"
"go.uber.org/zap"
@ -87,6 +87,12 @@ const ( // Settings.
// Command line args.
cmdHelp = "help"
cmdVersion = "version"
// applicationName is gateway name.
applicationName = "neofs-s3-gw"
// envPrefix is environment variables prefix used for configuration.
envPrefix = "S3_GW"
)
type empty int
@ -145,7 +151,7 @@ func newSettings() *viper.Viper {
v := viper.New()
v.AutomaticEnv()
v.SetEnvPrefix(misc.Prefix)
v.SetEnvPrefix(envPrefix)
v.SetConfigType("yaml")
v.SetEnvKeyReplacer(strings.NewReplacer(".", "_"))
@ -158,7 +164,7 @@ func newSettings() *viper.Viper {
flags.Bool(cfgEnableMetrics, false, "enable prometheus metrics")
help := flags.BoolP(cmdHelp, "h", false, "show help")
version := flags.BoolP(cmdVersion, "v", false, "show version")
versionFlag := flags.BoolP(cmdVersion, "v", false, "show version")
flags.String(cfgNeoFSPrivateKey, "", "set value to hex string, WIF string, or path to NeoFS private key file")
flags.String(cfgGateAuthPrivateKey, "", "set path to file with auth (curve25519) private key to use in auth scheme")
@ -179,8 +185,8 @@ func newSettings() *viper.Viper {
domains := flags.StringArrayP(cfgListenDomains, "d", nil, "set domains to be listened")
// set prefers:
v.Set(cfgApplicationName, misc.ApplicationName)
v.Set(cfgApplicationVersion, misc.Version)
v.Set(cfgApplicationName, applicationName)
v.Set(cfgApplicationVersion, version.Version)
// set defaults:
@ -228,7 +234,7 @@ func newSettings() *viper.Viper {
switch {
case help != nil && *help:
fmt.Printf("NeoFS S3 Gateway %s\n", misc.Version)
fmt.Printf("NeoFS S3 gateway %s\n", version.Version)
flags.PrintDefaults()
fmt.Println()
@ -243,19 +249,19 @@ func newSettings() *viper.Viper {
}
k := strings.Replace(keys[i], ".", "_", -1)
fmt.Printf("%s_%s = %v\n", misc.Prefix, strings.ToUpper(k), v.Get(keys[i]))
fmt.Printf("%s_%s = %v\n", envPrefix, strings.ToUpper(k), v.Get(keys[i]))
}
fmt.Println()
fmt.Println("Peers preset:")
fmt.Println()
fmt.Printf("%s_%s_[N]_ADDRESS = string\n", misc.Prefix, strings.ToUpper(cfgPeers))
fmt.Printf("%s_%s_[N]_WEIGHT = 0..1 (float)\n", misc.Prefix, strings.ToUpper(cfgPeers))
fmt.Printf("%s_%s_[N]_ADDRESS = string\n", envPrefix, strings.ToUpper(cfgPeers))
fmt.Printf("%s_%s_[N]_WEIGHT = 0..1 (float)\n", envPrefix, strings.ToUpper(cfgPeers))
os.Exit(0)
case version != nil && *version:
fmt.Printf("NeoFS S3 Gateway %s\n", misc.Version)
case versionFlag != nil && *versionFlag:
fmt.Printf("NeoFS S3 gateway %s\n", version.Version)
os.Exit(0)
case ttl != nil && ttl.Minutes() < minimumTTLInMinutes:
fmt.Printf("connection ttl should not be less than %s", defaultTTL)

View file

@ -0,0 +1,9 @@
package version
var (
// Version contains application version.
Version = "dev"
// Server contains server identification string.
Server = "NeoFS-S3-GW/" + Version
)

View file

@ -1,14 +0,0 @@
package misc
const (
// ApplicationName is gateway name.
ApplicationName = "neofs-s3-gw"
// Prefix is configuration environment variables prefix.
Prefix = "S3_GW"
)
var (
// Version contains application version.
Version = "dev"
)