Introduce the Go backend (netwatch-server) with an HTTP API that accepts telemetry reports and persists them as zstd-compressed JSONL files. Reports are buffered in memory and flushed to disk when the buffer reaches 10 MiB or every 60 seconds.
32 lines
739 B
Go
32 lines
739 B
Go
// Package globals provides build-time variables injected via
|
|
// ldflags and made available through dependency injection.
|
|
package globals
|
|
|
|
import "go.uber.org/fx"
|
|
|
|
//nolint:gochecknoglobals // set from main before fx starts
|
|
var (
|
|
// Appname is the application name.
|
|
Appname string
|
|
// Version is the git version tag.
|
|
Version string
|
|
// Buildarch is the build architecture.
|
|
Buildarch string
|
|
)
|
|
|
|
// Globals holds build-time metadata for the application.
|
|
type Globals struct {
|
|
Appname string
|
|
Version string
|
|
Buildarch string
|
|
}
|
|
|
|
// New creates a Globals instance from package-level variables.
|
|
func New(_ fx.Lifecycle) (*Globals, error) {
|
|
return &Globals{
|
|
Appname: Appname,
|
|
Buildarch: Buildarch,
|
|
Version: Version,
|
|
}, nil
|
|
}
|