feat: anonymous usage telemetry via oss-telemetry

Send a single fire-and-forget ping at startup to help track adoption
and version spread. No persistent identifiers are collected.

Adds main.Version var (defaulting to "dev") so the existing goreleaser
ldflags injection (-X main.Version={{.Version}}) now binds to a real
symbol.

Opt out via any of:
  DO_NOT_TRACK=1
  OSS_TELEMETRY_DISABLED=1
  KUBEMIRROR_DISABLE_TELEMETRY=1
This commit is contained in:
2026-05-21 03:05:22 +01:00
parent 1836381d9d
commit d552e45e2f
3 changed files with 11 additions and 0 deletions
+8
View File
@@ -27,8 +27,14 @@ import (
"github.com/lukaszraczylo/kubemirror/pkg/controller"
"github.com/lukaszraczylo/kubemirror/pkg/discovery"
"github.com/lukaszraczylo/kubemirror/pkg/filter"
telemetry "github.com/lukaszraczylo/oss-telemetry"
)
// Version is the build version. Set via ldflags during build:
//
// -X main.Version=v1.2.3
var Version = "dev"
var (
scheme = runtime.NewScheme()
setupLog = ctrl.Log.WithName("setup")
@@ -57,6 +63,8 @@ func makeCacheSyncChecker(c cache.Cache, ctx context.Context, logger logr.Logger
}
func main() {
telemetry.Send("kubemirror", Version)
var (
metricsAddr string
probeAddr string
+1
View File
@@ -4,6 +4,7 @@ go 1.26.0
require (
github.com/go-logr/logr v1.4.3
github.com/lukaszraczylo/oss-telemetry v0.0.0-20260521005811-e02d51419c52
github.com/stretchr/testify v1.11.1
gopkg.in/yaml.v3 v3.0.1
k8s.io/api v0.36.1
+2
View File
@@ -79,6 +79,8 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/lukaszraczylo/oss-telemetry v0.0.0-20260521005811-e02d51419c52 h1:HAm1OV/1uYN3VA/HdDNFjwh8KerTLwl1SoxF+IiNf/M=
github.com/lukaszraczylo/oss-telemetry v0.0.0-20260521005811-e02d51419c52/go.mod h1:+Cn78qZo8rc3T9eZt0v3oICYRdd75wORtSidc8lNjDQ=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=