Repository navigation
Releases: zakame/k3s-prometheus-metrics
Releases · zakame/k3s-prometheus-metrics
Release list
v0.3.0
Upgrading
Re-apply deploy/standard, not just the image: the endpoints Role now needs delete on endpointslices. Without it, any reconcile with a stale slice to prune fails and retries.
The standard install (one Deployment in monitoring, writing to kube-system) needs nothing else. If you run more than one instance, give each its own --namespace: pruning deletes managed EndpointSlices its own configuration doesn't produce, so two instances sharing one would delete each other's.
Changes
- Stale endpoints are cleared: a service with no usable nodes gets an empty EndpointSlice and Endpoints, and stale managed slices (such as
-ipv6once no IPv6-primary node remains) are deleted. - Managed Services and EndpointSlices that are deleted or edited by hand are repaired without waiting for a Node event, and everything is resynced every 10 minutes. InternalIP changes now trigger a reconcile.
- One Service failing to apply no longer blocks the others.
- Nodes are advertised at their first valid InternalIP, in canonical form; addresses EndpointSlice validation rejects are skipped instead of failing the whole slice. A dual-stack node appears once.
- Services are no longer rewritten on every pass, and nothing is rewritten when the node list comes back in a different order.
deploy/standardadds a PodMonitor and PrometheusRule for the controller's own metrics.
Changelog
Deployment
- 4901368 deploy/dev,deploy/e2e: drop the PodMonitor and PrometheusRule too
- 33bad44 deploy/standard: add PodMonitor and PrometheusRule for the controller's own metrics
- 20506ec deploy/standard: grant delete on endpointslices for pruning
- e6a1c98 deploy/standard: refer to IPv6-primary nodes in the endpoints Role comment
Changes
- 985b8d7 cmd,test/integration: set controller-runtime logger before envtest
- 3cc75e4 cmd/k3s-prometheus-metrics,internal/controller,test/integration: rename mixed-family tests
- 7f53f77 cmd/k3s-prometheus-metrics: build the test binary once, not per test
- bc18b2d cmd/k3s-prometheus-metrics: log manifests kubeconfig errors
- 5847b31 cmd/k3s-prometheus-metrics: test kubeconfig flag and precedence
- bf56500 go.mod: bump github.com/go-logr/logr from 1.4.3 to 1.4.4
- 74cacd6 go.mod: bump k8s.io/api from 0.37.0 to 0.37.1
- e9a1174 go.mod: bump k8s.io/client-go from 0.36.4 to 0.37.0
- 1bc773d go.mod: bump k8s.io/client-go from 0.37.0 to 0.37.1
- 723cb6a go.mod: bump sigs.k8s.io/controller-runtime from 0.24.1 to 0.25.0
- eee9837 go.mod: bump sigs.k8s.io/controller-runtime from 0.25.0 to 0.25.1
- c01e541 internal/controller: cover partial apply failures and endpoint filtering
- 407a0f5 internal/controller: cover reordered node Lists making no writes
- eb11671 internal/controller: keep reconciling the other Services when one fails to apply
- 1349087 internal/controller: prune stale slices, watch managed objects, requeue periodically
- 42ac7a9 internal/controller: refer to IPv6-primary nodes and the first valid InternalIP
- a6ea38a internal/endpoints,cmd/k3s-prometheus-metrics: always emit the IPv4 slice and Endpoints, empty when no nodes
- c572c80 internal/endpoints: canonicalize InternalIPs and sort nodes by name
Released by GoReleaser.
v0.2.0
Changelog
Changes
- 1dc233c Makefile,.github/workflows: add 'fix' target and CI check to catch missed go fix
- 58bbd12 cmd/k3s-prometheus-metrics: add --kubeconfig and env-var fallback
- 36ac6b1 cmd/k3s-prometheus-metrics: add manifests subcommand
- b7ab479 cmd/k3s-prometheus-metrics: cover invalid --node-selector through both entrypoints
- 9ef4c11 cmd/k3s-prometheus-metrics: cover kubeconfig flag and env-var fallback
- 6e7b4ae cmd/k3s-prometheus-metrics: cover manifests against envtest
- 3077d0e cmd/k3s-prometheus-metrics: cover more env-var fallback cases
- abca236 cmd/k3s-prometheus-metrics: fix errcheck lint failure in flag.Usage
- 22a451c cmd/k3s-prometheus-metrics: mention manifests in top-level -h
- 221b02b cmd/k3s-prometheus-metrics: share flag parsing between the two entrypoints
- ee1f88d cmd/k3s-prometheus-metrics: test -h output mentions manifests subcommand
- d306e5d internal/config: cover DefaultServices name uniqueness
- dea7667 internal/controller: collapse apply/own methods onto shared generic helpers
- c29d436 internal/controller: cover applyAll/ownAll generic helpers directly
- d0e6106 internal/controller: export ListNodesByService for reuse
- a64cae7 internal/manifest: add TypeMeta-stamping YAML renderer
- ef4b6c6 internal/manifest: document that Render mutates its inputs
- b3f39be internal/manifest: modernize to strings.SplitSeq via go fix
- 9ff15a1 test: cover dual-stack ordering, not-ready nodes, custom NodeSelector
Released by GoReleaser.
v0.1.2
Changelog
Deployment
- 92b7fb0 deploy/standard: drop v prefix from example image tag
Changes
- 4d2bd78 cmd/k3s-prometheus-metrics: apply go fix modernizations
- 8c4d53e cmd/k3s-prometheus-metrics: cover newLegacyEndpointsClient's warning suppression
- 861208f go.mod: add golangci/misspell tool dependency
- daabe3d goreleaser: exclude docs/ commits from changelog
- b02b058 internal/controller: apply go fix modernizations
- 7f2a4d3 internal/controller: cover ownEndpoints's missing-service branch
- b9e8599 internal/controller: cover owner-conflict error paths in ownEndpointSlices/ownEndpoints
- a005e34 internal/controller: pin down duplicate config.Service name behavior
- 1bd39e2 internal/controller: remove duplicate-Service-name test
- 21f47fe internal/endpoints: apply go fix modernizations
- dccf709 internal/endpoints: document why BuildEndpoints doesn't split by address family
- 0b22cf9 internal/endpoints: pin down BuildEndpoints's dual-stack behavior
Released by GoReleaser.
v0.1.1
Changelog
Deployment
- 81ff20b deploy/e2e-legacy: add overlay enabling --write-legacy-endpoints
- ee4ac62 deploy/e2e: add kustomize overlay for e2e testing
Changes
- 0e623e5 cmd/k3s-prometheus-metrics: note --node-selector skips kube-proxy
- 2a06ef1 go.mod: bump k8s.io/api from 0.36.0 to 0.36.4
- 0a0d5b0 go.mod: bump k8s.io/apimachinery from 0.36.0 to 0.36.4
- 6d3a00b go.mod: bump k8s.io/client-go from 0.36.0 to 0.36.4
- 57aad15 go.mod: track dev tool versions via tool directives
- 8f3f523 internal/config: add per-service NodeSelector for kube-proxy
- a3087df internal/controller: list nodes once per distinct selector
- fd11026 internal/controller: test node-listing dedupe and write count
- ed57c49 internal/endpoints: build per-service node sets
- c0025cd internal/endpoints: test per-service node scoping
Released by GoReleaser.
v0.1.0
Changelog
- 43a74ee .github/workflows: add ci, master, release, and report pipelines
- 95a2eab .github/workflows: add integration job for envtest-backed suite
- c93d7d2 .github/workflows: add manifests job validating deploy/standard
- 64b2095 .github/workflows: check role.yaml stays in sync with RBAC markers
- e27567b .github/workflows: run go build/vet/fmt in the lint job
- 18d0d6a .github/workflows: validate deploy/dev manifests in CI
- e9984fb .gitignore: add Go build artifacts and kind/kubeconfig entries
- 2629388 .goreleaser: add release and master-snapshot configs
- 8e19392 Dockerfile: add minimal distroless image for local dev builds
- 4454ca2 LICENSE: add MIT license
- 7020b3c Makefile: add build/test/lint/manifests/docker-build targets
- 9dd74f0 Makefile: add dev-image target for deploy/dev
- ebff52b Makefile: add test-integration target for envtest-backed suite
- cf46805 README: document Service management, deploy/dev, test-integration
- 0f1ea47 cmd/k3s-prometheus-metrics: add manager entrypoint and CLI flags
- e81425a cmd/k3s-prometheus-metrics: add parseSelector test coverage
- 26bc382 cmd/k3s-prometheus-metrics: scope Service in the manager cache
- cb29e38 deploy/dev: add Kustomize overlay for private-registry, no-CRD testing
- 4964f75 deploy/dev: drop stale Service patches, formalize imagePullPolicy: Always
- 56c72cd deploy/standard: add RBAC, deployment, and service manifests for the monitoring namespace
- 0ea5f67 deploy/standard: drop unused patch verb from Role rules
- e76dc11 deploy/standard: grant services RBAC, remove control-plane-services.yaml
- 04e9198 deploy/standard: scope RBAC to least privilege, add leader-election Role, fix image tag
- d98bd3e go.mod: initialize module and add controller-runtime/client-go dependencies
- 4117276 internal/config: add control-plane service table and runtime config
- deea2ba internal/controller: add node reconciler
- 2842843 internal/controller: add node watch predicate unit tests
- c28daac internal/controller: also trigger reconcile on Node label changes
- 8496aa1 internal/controller: create/own Services, set EndpointSlice/Endpoints ownerReferences
- b03bd03 internal/controller: filter Node watch to relevant field changes
- 83ca2e9 internal/endpoints: add EndpointSlice and legacy Endpoints builders
- d0af1df internal/endpoints: add Service builder
- 7386b7c internal/endpoints: add Service builder unit tests
- 1f838ab internal/endpoints: add builder unit tests
- 362223b internal/endpoints: derive EndpointSlice AddressType from actual address family
- 85f9504 internal/endpoints: set skip-mirror label on legacy Endpoints objects
- e99305c test/integration: add Service management and ownerReference tests
- ae42dad test/integration: add envtest-based reconciler and RBAC tests
Released by GoReleaser.