Skip to content

Releases: zakame/k3s-prometheus-metrics

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 04 Oct 07:09

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 -ipv6 once 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/standard adds 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

Choose a tag to compare

@github-actions github-actions released this 03 Sep 10:46

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

Choose a tag to compare

@github-actions github-actions released this 31 Aug 10:29

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

Choose a tag to compare

@github-actions github-actions released this 28 Aug 10:38

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

Choose a tag to compare

@github-actions github-actions released this 26 Aug 09:08

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.