Skip to content

Releases: containeroo/cloudflare-operator

v1.10.0

10 May 16:03
913bdc2

Choose a tag to compare

Changelog

  • 913bdc2 feat: support gateway api grpc routes

v1.9.1

10 May 08:52
539ea69

Choose a tag to compare

Summary

This patch release fixes the release container build so the operator binary receives the tagged version at link time.

Fixes

  • Docker builds now consume the LDFLAGS build argument passed by GoReleaser, so startup logs report the release tag instead of dev.

Full Changelog: v1.9.0...v1.9.1

v1.9.0

10 May 07:38
3fd9b72

Choose a tag to compare

Summary

  • Adds Gateway API TLSRoute support for generating Cloudflare DNSRecords from TLSRoute hostnames.
  • Keeps TLSRoute controlled by the existing --enable-gateway-api flag and starts Gateway API route controllers based on installed CRDs.
  • Includes reconcile stability/account routing work, CI/config maintenance, and dependency/tooling updates since v1.8.0.

Features

  • TLSRoute reconciliation for Gateway API TLSRoute resources, using the same Cloudflare DNS annotations as Ingress and HTTPRoute.
  • Explicit account references for DNSRecords and related reconcile behavior hardening.

Improvements

  • Gateway API controller startup now skips unsupported route CRDs when at least one supported Gateway route kind is installed.
  • Expanded Gateway API samples, RBAC, and e2e coverage for TLSRoute.
  • CI, Renovate, Go, and release tooling maintenance.

Dependencies

  • Gateway API to v1.5.1.
  • controller-runtime to v0.24.0 and Kubernetes packages to v0.35.4.
  • fluxcd runtime to v0.106.0.
  • ginkgo to v2.28.3 and gomega to v1.40.0.

What's Changed

  • fix(deps): update module github.com/fluxcd/pkg/runtime to v0.92.0 by @renovate[bot] in #465
  • fix(deps): update module sigs.k8s.io/gateway-api to v1.4.1 by @renovate[bot] in #464
  • fix(deps): update module github.com/itchyny/gojq to v0.12.18 by @renovate[bot] in #463
  • chore(deps): update actions/cache action to v5 by @renovate[bot] in #471
  • fix(deps): update module github.com/onsi/ginkgo/v2 to v2.27.5 by @renovate[bot] in #466
  • fix(deps): update kubernetes packages to v0.35.0 by @renovate[bot] in #467
  • fix(deps): update module github.com/onsi/gomega to v1.39.0 by @renovate[bot] in #469
  • fix(deps): update module github.com/fluxcd/pkg/runtime to v0.96.0 by @renovate[bot] in #468
  • fix(deps): update module sigs.k8s.io/controller-runtime to v0.23.0 - autoclosed by @renovate[bot] in #470
  • chore(config): migrate Renovate config by @renovate[bot] in #477
  • chore(deps): update dependency operator-framework/operator-sdk to v1.42.0 by @renovate[bot] in #476
  • chore(deps): update dependency operator-framework/operator-registry to v1.62.0 by @renovate[bot] in #475
  • chore(deps): update dependency kubernetes-sigs/kind to v0.31.0 by @renovate[bot] in #474
  • chore(deps): update dependency kubernetes-sigs/controller-tools to v0.20.0 by @renovate[bot] in #473
  • chore(deps): update dependency golangci/golangci-lint to v2.8.0 by @renovate[bot] in #472
  • fix(deps): update module sigs.k8s.io/controller-runtime to v0.23.1 by @renovate[bot] in #478
  • fix(deps): update module github.com/fluxcd/pkg/runtime to v0.97.0 by @renovate[bot] in #479
  • fix(deps): update module github.com/onsi/gomega to v1.39.1 by @renovate[bot] in #480
  • chore(deps): update dependency operator-framework/operator-registry to v1.63.0 by @renovate[bot] in #482
  • fix(deps): update module github.com/fluxcd/pkg/runtime to v0.101.0 by @renovate[bot] in #483
  • fix(deps): update kubernetes packages to v0.35.1 by @renovate[bot] in #484
  • chore(deps): update dependency golangci/golangci-lint to v2.9.0 by @renovate[bot] in #485
  • chore(deps): update golang docker tag to v1.26 by @renovate[bot] in #486
  • chore(deps): update dependency kubernetes-sigs/controller-tools to v0.20.1 by @renovate[bot] in #487
  • fix(deps): update module github.com/onsi/ginkgo/v2 to v2.28.1 - autoclosed by @renovate[bot] in #481
  • chore(deps): update dependency golangci/golangci-lint to v2.10.1 by @renovate[bot] in #489
  • fix(deps): update module github.com/fluxcd/pkg/runtime to v0.102.0 by @renovate[bot] in #490
  • chore(deps): update goreleaser/goreleaser-action action to v7 by @renovate[bot] in #491
  • fix(deps): update module sigs.k8s.io/gateway-api to v1.5.0 by @renovate[bot] in #492
  • fix(deps): update kubernetes packages to v0.35.2 by @renovate[bot] in #493
  • chore(deps): update dependency operator-framework/operator-registry to v1.64.0 by @renovate[bot] in #494
  • chore(deps): update docker/setup-qemu-action action to v4 by @renovate[bot] in #495
  • chore(deps): update docker/login-action action to v4 by @renovate[bot] in #496
  • fix(deps): update module sigs.k8s.io/controller-runtime to v0.23.3 by @renovate[bot] in #498
  • chore(deps): update docker/setup-buildx-action action to v4 - autoclosed by @renovate[bot] in #497
  • chore(deps): update dependency golangci/golangci-lint to v2.11.1 by @renovate[bot] in #499
  • chore(deps): update dependency golangci/golangci-lint to v2.11.2 by @renovate[bot] in #500
  • chore(deps): update dependency operator-framework/operator-sdk to v1.42.1 by @renovate[bot] in #501
  • chore(deps): update dependency golangci/golangci-lint to v2.11.3 by @renovate[bot] in #502
  • fix(deps): update module github.com/fluxcd/pkg/runtime to v0.103.0 by @renovate[bot] in #503
  • fix(deps): update module sigs.k8s.io/gateway-api to v1.5.1 by @renovate[bot] in #504
  • chore(deps): update dependency operator-framework/operator-sdk to v1.42.2 by @renovate[bot] in #506
  • fix(deps): update kubernetes monorepo to v0.35.3 by @renovate[bot] in #505
  • chore(deps): update dependency golangci/golangci-lint to v2.11.4 by @renovate[bot] in #507
  • chore(deps): update dependency operator-framework/operator-registry to v1.65.0 by @renovate[bot] in #508
  • fix(deps): update module github.com/itchyny/gojq to v0.12.19 by @renovate[bot] in #509
  • [codex] Stabilize reconcile behavior and add account routing by @rxbn in #510
  • fix(deps): update kubernetes monorepo to v0.35.4 by @renovate[bot] in #511
  • fix(deps): update module github.com/fluxcd/pkg/runtime to v0.104.0 by @renovate[bot] in #512
  • fix(deps): update module github.com/fluxcd/pkg/runtime to v0.105.0 by @renovate[bot] in #514
  • fix(deps): update module github.com/onsi/ginkgo/v2 to v2.28.2 - autoclosed by @renovate[bot] in #515
  • chore(deps): update dependency operator-framework/operator-registry to v1.66.0 by @renovate[bot] in #516
  • chore(deps): update dependency golangci/golangci-lint to v2.12.1 by @renovate[bot] in #520
  • chore(deps): update dependency operator-framework/operator-registry to v1.67.0 by @renovate[bot] in #521
  • fix(deps): update module sigs.k8s.io/controller-runtime to v0.24.0 by @renovate[bot] in #519
  • fix(deps): update module github.com/onsi/gomega to v1.40.0 by @renovate[bot] in #518
  • fix(deps): update module github.com/onsi/ginkgo/v2 to v2.28.3 by @renovate[bot] in #517
  • chore(deps): update dependency kubernetes-sigs/controller-tools to v0.21.0 by @renovate[bot] in #525
  • chore(deps): update dependency golangci/golangci-lint to v2.12.2 by @renovate[bot] in #524
  • fix(deps): update module github.com/fluxcd/pkg/runtime to v0.106.0 by @renovate[bot] in #526
  • [codex] Add Gateway API TLSRoute support by @rxbn in https://github...
Read more

v1.8.0

21 Nov 14:31
0c2c793

Choose a tag to compare

Summary

  • Adds opt-in Gateway API HTTPRoute support for generating Cloudflare DNSRecords, sharing the same annotations and logic as Ingress.
  • Updates Helm chart, RBAC, samples, docs, and tests to enable Gateway API via a dedicated flag/value.

Features

  • HTTPRoute reconciliation enabled with "--enable-gateway-api" (requires Gateway API CRDs), using a shared DNS host reconciler.
  • Helm value "gatewayAPI.enabled" to append the flag and include HTTPRoute RBAC; sample manifests and docs for Gateway API.

Improvements

  • DRYed DNS host reconciliation shared between Ingress and HTTPRoute controllers.
  • Gateway API quickstart docs and sample HTTPRoute manifest added; e2e coverage for HTTPRoute flows.

Dependencies

  • github.com/fluxcd/pkg/runtime to v0.91.0.
  • actions/checkout to v6.
  • golangci/golangci-lint-action to v9.

What's Changed

  • feat: add support for http routes by @rxbn in #461
  • chore(deps): update golangci/golangci-lint-action action to v9 by @app/renovate in #454
  • fix(deps): update module github.com/fluxcd/pkg/runtime to v0.91.0 by @app/renovate in #457
  • chore(deps): update actions/checkout action to v6 by @app/renovate in #459

Full Changelog: v1.7.1...v1.8.0

v1.7.1

21 Nov 07:26
a1c1617

Choose a tag to compare

Summary

This patch release fixes zone detection for DNSRecords so nested sub-zones resolve correctly and includes dependency updates.

Fixes

  • DNSRecords now pick the longest matching Cloudflare zone, resolving nested domains like tst.example.com (Fixes #458).

Improvements

  • Updated controller-runtime, fluxcd runtime, ginkgo, golang.org/x/net, and GitHub CodeQL action to the latest patch levels.

What's Changed

  • fix(zone): fix zone matching for nested domains by @rxbn in #460
  • fix(deps): update module github.com/fluxcd/pkg/runtime to v0.89.0 by @app/renovate in #449
  • fix(deps): update module sigs.k8s.io/controller-runtime to v0.22.3 by @app/renovate in #448
  • fix(deps): update module golang.org/x/net to v0.46.0 by @app/renovate in #450
  • fix(deps): update module github.com/onsi/ginkgo/v2 to v2.27.2 by @app/renovate in #452
  • fix(deps): update module github.com/onsi/ginkgo/v2 to v2.26.0 by @app/renovate in #447
  • chore(deps): update github/codeql-action action to v4 by @app/renovate in #451

Full Changelog: v1.7.0...v1.7.1

v1.7.0

17 Sep 17:06
5cbcc1d

Choose a tag to compare

Summary

This release of cloudflare-operator introduces a new field for Zones to allow setting ignored DNS records.

Important Upgrade Note: To ensure that the default values for ignoredRecords are applied correctly, please first apply the latest CRDs and only then update cloudflare-operator.

New features

  • New field ignoredRecords is now available in Zones to allow you to ignore certain DNS records from being pruned

Improvements

  • Updated Go module dependencies for improved security and compatibility.

If you have any questions, feel free to reach out via GitHub Discussions.
If you encounter any issues, please open an issue!

What's Changed

  • fix(deps): update module github.com/fluxcd/pkg/runtime to v0.85.0 by @renovate[bot] in #440
  • feat(zone): implement dynamic ignored records by @rxbn in #442
  • fix(deps): update module github.com/fluxcd/pkg/runtime to v0.86.0 by @renovate[bot] in #441

Full Changelog: v1.6.1...v1.7.0

v1.6.1

13 Sep 07:44
08b2ffd

Choose a tag to compare

Summary

This release of cloudflare-operator fixes an oversight, where DNSRecord comments were not supported by Ingress annotations.

Bug fixes

  • Added missing cloudflare-operator.io/comment Ingress annotation for DNSRecord comment support.

If you have any questions, feel free to reach out via GitHub Discussions.
If you encounter any issues, please open an issue!

What's Changed

  • fix(ingress): add missing comment annotation support by @rxbn in #438

Full Changelog: v1.6.0...v1.6.1

v1.6.0

12 Sep 12:56
45b7aca

Choose a tag to compare

Summary

This release of cloudflare-operator introduces a new field for DNSRecords to allow setting comments on DNS records.

New features

  • New field comment is now available in DNSRecords to support Cloudflares DNS record comment feature

Improvements

  • Updated Go module dependencies for improved security and compatibility.

If you have any questions, feel free to reach out via GitHub Discussions.
If you encounter any issues, please open an issue!

What's Changed

  • fix(deps): update kubernetes packages to v0.33.4 by @renovate[bot] in #412
  • fix(deps): update module github.com/fluxcd/pkg/runtime to v0.80.0 by @renovate[bot] in #413
  • chore(deps): update golangci/golangci-lint-action action to v8 by @renovate[bot] in #417
  • fix(deps): update module golang.org/x/net to v0.43.0 by @renovate[bot] in #418
  • fix(deps): update module github.com/prometheus/client_golang to v1.23.0 by @renovate[bot] in #421
  • fix(deps): update module github.com/onsi/ginkgo/v2 to v2.25.1 by @renovate[bot] in #425
  • fix(deps): update module github.com/onsi/gomega to v1.38.1 by @renovate[bot] in #420
  • chore(deps): update actions/checkout action to v5 by @renovate[bot] in #423
  • feat(dns): add support for dns record comments by @rxbn in #435
  • chore(deps): update golang docker tag to v1.25 by @renovate[bot] in #424
  • fix(deps): update module sigs.k8s.io/controller-runtime to v0.22.1 by @renovate[bot] in #419
  • fix(deps): update module github.com/onsi/gomega to v1.38.2 by @renovate[bot] in #426
  • fix(deps): update module github.com/fluxcd/pkg/runtime to v0.84.0 by @renovate[bot] in #429
  • chore(deps): update actions/setup-go action to v6 by @renovate[bot] in #431
  • fix(deps): update module golang.org/x/net to v0.44.0 by @renovate[bot] in #436
  • fix(deps): update module github.com/cloudflare/cloudflare-go to v0.116.0 by @renovate[bot] in #433
  • fix(deps): update module github.com/onsi/ginkgo/v2 to v2.25.3 by @renovate[bot] in #428

Full Changelog: v1.5.1...v1.6.0

v1.5.1

01 May 13:01
10b78fb

Choose a tag to compare

This is a re-release of v1.5.0 to address an oversight where the version displayed at operator startup was not updated.

Summary

This release of cloudflare-operator introduces new flags for enhanced configuration, improves reliability, and addresses several issues related to DNS record management and controller behavior.

New features

  • New flag ip-reconciler-http-client-timeout to configure the HTTP client timeout for dynamic IPs (default: 10 seconds)
  • New flag retry-interval to configure the interval at which failed operations are retried (default: 10 seconds)
  • New flag default-reconcile-interval to configure the default interval for reconciling resources (default: 5 minutes)
  • The operator now automatically deletes DNSRecord resources when Ingress annotations are removed, ensuring proper cleanup.
  • Zone pruning now ignores certain TXT records (e.g., Let's Encrypt and Cloudflare Email Routing DKIM) to prevent accidental deletion of important records.

Bug Fixes

  • Fixed Zone failures when Cloudflare Email Routing is enabled by ignoring DKIM TXT records during pruning.
  • Fixed an issue where Zone objects could become stuck in a "NotReady" state unless the operator was restarted.
  • Fixed Ingress-to-DNSRecord reconciliation to ensure DNSRecords are deleted when annotations are removed.

Improvements

  • Improved self-healing by retrying reconciliation after transient or expected errors, reducing the need for manual intervention.
  • Enhanced status condition handling for more accurate reporting of resource readiness.
  • Updated Go module dependencies for improved security and compatibility.
  • Refactored code for better maintainability and consistency.

If you have any questions, feel free to reach out via GitHub Discussions.
If you encounter any issues, please open an issue!

What's Changed

  • fix(zone): ignore cloudflare email routing dkim txt record by @rxbn in #405
  • refactor: rename variables by @rxbn in #406
  • fix(deps): update module github.com/onsi/gomega to v1.36.3 by @renovate in #404
  • fix(deps): update module sigs.k8s.io/controller-runtime to v0.20.4 by @renovate in #401
  • fix(deps): update kubernetes packages to v0.32.3 by @renovate in #402
  • fix(deps): update module github.com/prometheus/client_golang to v1.21.1 by @renovate in #398
  • fix(deps): update module github.com/fluxcd/pkg/runtime to v0.58.0 by @renovate in #396
  • fix(deps): update module golang.org/x/net to v0.38.0 by @renovate in #399
  • chore(deps): update golangci/golangci-lint-action action to v7 by @renovate in #407
  • fix(deps): update module github.com/prometheus/client_golang to v1.22.0 by @renovate in #411
  • fix(deps): update module github.com/onsi/ginkgo/v2 to v2.23.4 by @renovate in #409
  • fix(deps): update module golang.org/x/net to v0.39.0 by @renovate in #410
  • fix(deps): update module github.com/onsi/gomega to v1.37.0 by @renovate in #408
  • fix(ingress): delete orphaned dns records by @rxbn in #414
  • fix: retry failures by @rxbn in #397

Full Changelog: v1.4.3...v1.5.1

v1.5.0

01 May 12:35
bf34cfe

Choose a tag to compare

Summary

This release of cloudflare-operator introduces new flags for enhanced configuration, improves reliability, and addresses several issues related to DNS record management and controller behavior.

New features

  • New flag ip-reconciler-http-client-timeout to configure the HTTP client timeout for dynamic IPs (default: 10 seconds)
  • New flag retry-interval to configure the interval at which failed operations are retried (default: 10 seconds)
  • New flag default-reconcile-interval to configure the default interval for reconciling resources (default: 5 minutes)
  • The operator now automatically deletes DNSRecord resources when Ingress annotations are removed, ensuring proper cleanup.
  • Zone pruning now ignores certain TXT records (e.g., Let's Encrypt and Cloudflare Email Routing DKIM) to prevent accidental deletion of important records.

Bug Fixes

  • Fixed Zone failures when Cloudflare Email Routing is enabled by ignoring DKIM TXT records during pruning.
  • Fixed an issue where Zone objects could become stuck in a "NotReady" state unless the operator was restarted.
  • Fixed Ingress-to-DNSRecord reconciliation to ensure DNSRecords are deleted when annotations are removed.

Improvements

  • Improved self-healing by retrying reconciliation after transient or expected errors, reducing the need for manual intervention.
  • Enhanced status condition handling for more accurate reporting of resource readiness.
  • Updated Go module dependencies for improved security and compatibility.
  • Refactored code for better maintainability and consistency.

If you have any questions, feel free to reach out via GitHub Discussions.
If you encounter any issues, please open an issue!

What's Changed

  • fix(zone): ignore cloudflare email routing dkim txt record by @rxbn in #405
  • refactor: rename variables by @rxbn in #406
  • fix(deps): update module github.com/onsi/gomega to v1.36.3 by @renovate in #404
  • fix(deps): update module sigs.k8s.io/controller-runtime to v0.20.4 by @renovate in #401
  • fix(deps): update kubernetes packages to v0.32.3 by @renovate in #402
  • fix(deps): update module github.com/prometheus/client_golang to v1.21.1 by @renovate in #398
  • fix(deps): update module github.com/fluxcd/pkg/runtime to v0.58.0 by @renovate in #396
  • fix(deps): update module golang.org/x/net to v0.38.0 by @renovate in #399
  • chore(deps): update golangci/golangci-lint-action action to v7 by @renovate in #407
  • fix(deps): update module github.com/prometheus/client_golang to v1.22.0 by @renovate in #411
  • fix(deps): update module github.com/onsi/ginkgo/v2 to v2.23.4 by @renovate in #409
  • fix(deps): update module golang.org/x/net to v0.39.0 by @renovate in #410
  • fix(deps): update module github.com/onsi/gomega to v1.37.0 by @renovate in #408
  • fix(ingress): delete orphaned dns records by @rxbn in #414
  • fix: retry failures by @rxbn in #397

Full Changelog: v1.4.3...v1.5.0