5534 Commits

Author SHA1 Message Date
Eric Raymond
6e99b2cb02
feat(source/gateway-api): migrate TLSRoute to v1 (#6367) 2026-04-18 00:31:04 +05:30
Raffaele Di Fazio
43cc1f9d06
ci: replace pre-commit with file-hygiene script (#6374)
The pre-commit/action@v3 used actions/cache@v4 internally, which the
repository's security policy forbids because it is not SHA-pinned.
Remove the pre-commit dependency entirely by:

* deleting .pre-commit-config.yaml
* replacing the pre-commit CI step with a new scripts/file-hygiene.sh
  that implements the equivalent checks (trailing whitespace, EOF
  newline, BOM, CR, merge markers, large files, case collisions,
  broken symlinks, shebang/executable consistency, submodule ban)
* removing the pre-commit Makefile targets and adding a file-hygiene
  target
* removing pre-commit from the renovate configuration

Markdown linting is already handled by the dedicated markdownlint step
in the lint workflow, so no replacement is needed for that hook.
2026-04-17 15:33:14 +05:30
dependabot[bot]
dc28c3e499
chore(deps): bump the dev-dependencies group with 4 updates (#6362)
Bumps the dev-dependencies group with 4 updates: [github.com/oracle/oci-go-sdk/v65](https://github.com/oracle/oci-go-sdk), [golang.org/x/net](https://github.com/golang/net), [golang.org/x/text](https://github.com/golang/text) and [google.golang.org/api](https://github.com/googleapis/google-api-go-client).


Updates `github.com/oracle/oci-go-sdk/v65` from 65.110.0 to 65.111.0
- [Release notes](https://github.com/oracle/oci-go-sdk/releases)
- [Changelog](https://github.com/oracle/oci-go-sdk/blob/master/CHANGELOG.md)
- [Commits](https://github.com/oracle/oci-go-sdk/compare/v65.110.0...v65.111.0)

Updates `golang.org/x/net` from 0.52.0 to 0.53.0
- [Commits](https://github.com/golang/net/compare/v0.52.0...v0.53.0)

Updates `golang.org/x/text` from 0.35.0 to 0.36.0
- [Release notes](https://github.com/golang/text/releases)
- [Commits](https://github.com/golang/text/compare/v0.35.0...v0.36.0)

Updates `google.golang.org/api` from 0.274.0 to 0.275.0
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md)
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.274.0...v0.275.0)

---
updated-dependencies:
- dependency-name: github.com/oracle/oci-go-sdk/v65
  dependency-version: 65.111.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: golang.org/x/net
  dependency-version: 0.53.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: golang.org/x/text
  dependency-version: 0.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: google.golang.org/api
  dependency-version: 0.275.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-10 12:32:18 +05:30
Michel Loiseleur
a770f18841
ci(docs): use latest as alias (#6352) 2026-04-07 00:15:30 +05:30
Ivan Ka
1ef8ccf768
docs(ci): validate docs build on PRs targeting master (#6351)
* ci: validate docs build on PRs targeting master

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* ci: validate docs build on PRs targeting master

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* ci: validate docs build on PRs targeting master

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* ci: validate docs build on PRs targeting master

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* ci: validate docs build on PRs targeting master

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* ci: validate docs build on PRs targeting master

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* ci: validate docs build on PRs targeting master

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-04-06 20:29:33 +05:30
Michel Loiseleur
e1817f2cdc
docs: fix deps, build & links warning (#6350)
* docs: fix deps, build & links warning

* fix ci

* add doc for local build
2026-04-06 18:45:29 +05:30
Michel Loiseleur
c832a23a73
chore(release): updates kustomize & docs with v0.21.0 (#6349)
Signed-off-by: Michel Loiseleur <michel.loiseleur@traefik.io>
2026-04-06 18:21:30 +05:30
System-Arch
066a11e215
feat(source/gateway-api)!: migrate Gateway and HTTPRoute to v1 (#6291)
* source/gateway-api: Migrate Gateway and HTTPRoute from v1beta1 to v1

This migrates the Kubernetes API interactions for Gateway and HTTPRoute
objects from v1beta1 to v1.

The v1beta1 revert was originally made in PR #4610 (July 2024) because
GKE clusters were not yet serving v1 CRDs. That is no longer the case:
v1 Gateway and HTTPRoute have been available since Gateway API v1.0.0
(October 2023) and all major managed Kubernetes providers now serve them.

This change does NOT modify TLSRoute, TCPRoute, or UDPRoute, which
remain at v1alpha2. TLSRoute's migration to v1 depends on Gateway API
v1.5.0+ and is tracked separately in #6247.

* Updated Gateway API "Supported API Versions" section.

* Document minimum supported Gateway API CRD version

Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>

* Merge branch 'master' into gateway-api-v1

* Revised "Supported API Versions" Gateway API doc.

Incorporated review suggestions from @mloiseleur

* Removed extraneous empty links in import blocks

---------

Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
v0.21.0
2026-04-06 17:47:30 +05:30
Ivan Ka
8f024f0d30
ci: fix revision label (#6332)
* fix(ci): fix revision label

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* fix(ci): set OCI revision label and binary git commit in Cloud Build

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-04-06 17:23:31 +05:30
Ivan Ka
a3a692aa97
ci: read golangci-lint version from scripts/install-tools.sh in lint workflow (#6347)
* chore(ci): read golangci-lint version from scripts/install-tools.sh in lint workflow

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(ci): read golangci-lint version from scripts/install-tools.sh in lint workflow

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-04-06 14:01:30 +05:30
dependabot[bot]
3a30b7e2a4
chore(deps): bump the dev-dependencies group with 9 updates (#6343)
Bumps the dev-dependencies group with 9 updates:

| Package | From | To |
| --- | --- | --- |
| [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) | `1.32.13` | `1.32.14` |
| [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) | `1.19.13` | `1.19.14` |
| [github.com/aws/smithy-go](https://github.com/aws/smithy-go) | `1.24.2` | `1.24.3` |
| [github.com/linode/linodego](https://github.com/linode/linodego) | `1.66.0` | `1.67.0` |
| [github.com/oracle/oci-go-sdk/v65](https://github.com/oracle/oci-go-sdk) | `65.109.3` | `65.110.0` |
| [github.com/transip/gotransip/v6](https://github.com/transip/gotransip) | `6.26.1` | `6.26.2` |
| [go.etcd.io/etcd/api/v3](https://github.com/etcd-io/etcd) | `3.6.9` | `3.6.10` |
| [go.etcd.io/etcd/client/v3](https://github.com/etcd-io/etcd) | `3.6.9` | `3.6.10` |
| [google.golang.org/api](https://github.com/googleapis/google-api-go-client) | `0.273.0` | `0.274.0` |


Updates `github.com/aws/aws-sdk-go-v2/config` from 1.32.13 to 1.32.14
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.32.13...config/v1.32.14)

Updates `github.com/aws/aws-sdk-go-v2/credentials` from 1.19.13 to 1.19.14
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.19.13...credentials/v1.19.14)

Updates `github.com/aws/smithy-go` from 1.24.2 to 1.24.3
- [Release notes](https://github.com/aws/smithy-go/releases)
- [Changelog](https://github.com/aws/smithy-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/smithy-go/compare/v1.24.2...v1.24.3)

Updates `github.com/linode/linodego` from 1.66.0 to 1.67.0
- [Release notes](https://github.com/linode/linodego/releases)
- [Commits](https://github.com/linode/linodego/compare/v1.66.0...v1.67.0)

Updates `github.com/oracle/oci-go-sdk/v65` from 65.109.3 to 65.110.0
- [Release notes](https://github.com/oracle/oci-go-sdk/releases)
- [Changelog](https://github.com/oracle/oci-go-sdk/blob/master/CHANGELOG.md)
- [Commits](https://github.com/oracle/oci-go-sdk/compare/v65.109.3...v65.110.0)

Updates `github.com/transip/gotransip/v6` from 6.26.1 to 6.26.2
- [Release notes](https://github.com/transip/gotransip/releases)
- [Commits](https://github.com/transip/gotransip/compare/v6.26.1...v6.26.2)

Updates `go.etcd.io/etcd/api/v3` from 3.6.9 to 3.6.10
- [Release notes](https://github.com/etcd-io/etcd/releases)
- [Commits](https://github.com/etcd-io/etcd/compare/v3.6.9...v3.6.10)

Updates `go.etcd.io/etcd/client/v3` from 3.6.9 to 3.6.10
- [Release notes](https://github.com/etcd-io/etcd/releases)
- [Commits](https://github.com/etcd-io/etcd/compare/v3.6.9...v3.6.10)

Updates `google.golang.org/api` from 0.273.0 to 0.274.0
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md)
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.273.0...v0.274.0)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-version: 1.32.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
  dependency-version: 1.19.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/aws/smithy-go
  dependency-version: 1.24.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/linode/linodego
  dependency-version: 1.67.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/oracle/oci-go-sdk/v65
  dependency-version: 65.110.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/transip/gotransip/v6
  dependency-version: 6.26.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: go.etcd.io/etcd/api/v3
  dependency-version: 3.6.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: go.etcd.io/etcd/client/v3
  dependency-version: 3.6.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: google.golang.org/api
  dependency-version: 0.274.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-03 14:09:10 +05:30
Ivan Ka
4abf696258
chore: cloudbild instance type bump (#6340)
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-04-02 19:23:07 +05:30
Ivan Ka
e1ef0bee6b
Revert "chore(deps): bump github.com/cloudflare/cloudflare-go from v5 to v6 (…" (#6338)
This reverts commit 29c35d75a711d3c0838fecaf03b330bd649bd73b.
2026-04-02 18:35:04 +05:30
Isaac Wilson
e33ab8d46b
feat(gateway): add gateway-api listenerset support (#6254)
* Add listenerset support

Signed-off-by: jukie <10012479+Jukie@users.noreply.github.com>
Signed-off-by: jukie <isaac.wilson514@gmail.com>

* Add cross-namespace test

Signed-off-by: jukie <isaac.wilson514@gmail.com>

* lint

Signed-off-by: jukie <10012479+jukie@users.noreply.github.com>

* lint

Signed-off-by: jukie <10012479+jukie@users.noreply.github.com>

* Add flag to gate listenerset informer

Signed-off-by: jukie <10012479+jukie@users.noreply.github.com>

* generate docs

Signed-off-by: jukie <10012479+jukie@users.noreply.github.com>

* Include default behavior

Signed-off-by: jukie <10012479+jukie@users.noreply.github.com>

* Support listenerset target annotation

Signed-off-by: jukie <10012479+jukie@users.noreply.github.com>

* docs

Signed-off-by: jukie <10012479+jukie@users.noreply.github.com>

* feedback

Signed-off-by: jukie <10012479+Jukie@users.noreply.github.com>

* Update source/gateway_listenerset_test.go

Co-authored-by: Ivan Ka <5395690+ivankatliarchuk@users.noreply.github.com>

* Fix gateway labelFilter

Signed-off-by: jukie <10012479+Jukie@users.noreply.github.com>

* lint

Signed-off-by: jukie <10012479+Jukie@users.noreply.github.com>

* test case

Signed-off-by: jukie <10012479+Jukie@users.noreply.github.com>

* feedback

Signed-off-by: jukie <10012479+Jukie@users.noreply.github.com>

* lint

Signed-off-by: jukie <10012479+Jukie@users.noreply.github.com>

---------

Signed-off-by: jukie <10012479+Jukie@users.noreply.github.com>
Signed-off-by: jukie <isaac.wilson514@gmail.com>
Signed-off-by: jukie <10012479+jukie@users.noreply.github.com>
Co-authored-by: Ivan Ka <5395690+ivankatliarchuk@users.noreply.github.com>
2026-04-02 17:23:04 +05:30
Basil Pozdeev
e3d8983ed4
feat(azure): dns metadata (tags) support (#5984)
* feat: Add Azure DNS metadata (tags) support

* fix: address PR review comments for Azure metadata support

* test: add Azure metadata annotation test cases and fix prefix initialization

* Replace azure-metadata-* annotations with azure-tags

* refactor: move Azure tags parsing to provider package

Move provider-specific Azure tags annotation parsing from
source/annotations to provider/azure, following the same
pattern as Cloudflare tags handling.

* fix: use GetProviderSpecificProperty and handle duplicate tags

* fix: align with upstream Go 1.26 migration and short-form property names
2026-04-02 13:11:04 +05:30
dependabot[bot]
5211020450
chore(deps): bump the mkdocs-deps group in /docs/scripts with 3 updates (#6331)
Bumps the mkdocs-deps group in /docs/scripts with 3 updates: [mkdocs-material](https://github.com/squidfunk/mkdocs-material), [mkdocs-literate-nav](https://github.com/oprypin/mkdocs-literate-nav) and [mkdocs-same-dir](https://github.com/oprypin/mkdocs-same-dir).


Updates `mkdocs-material` from 9.7.5 to 9.7.6
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.7.5...9.7.6)

Updates `mkdocs-literate-nav` from 0.6.2 to 0.6.3
- [Release notes](https://github.com/oprypin/mkdocs-literate-nav/releases)
- [Commits](https://github.com/oprypin/mkdocs-literate-nav/compare/v0.6.2...v0.6.3)

Updates `mkdocs-same-dir` from 0.1.3 to 0.1.4
- [Release notes](https://github.com/oprypin/mkdocs-same-dir/releases)
- [Commits](https://github.com/oprypin/mkdocs-same-dir/compare/v0.1.3...v0.1.4)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-version: 9.7.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mkdocs-deps
- dependency-name: mkdocs-literate-nav
  dependency-version: 0.6.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mkdocs-deps
- dependency-name: mkdocs-same-dir
  dependency-version: 0.1.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mkdocs-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-01 13:52:22 +05:30
dependabot[bot]
e8479db7f9
chore(deps): bump the dev-dependencies group with 5 updates (#6330)
Bumps the dev-dependencies group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `6.0.1` | `6.0.2` |
| [actions/setup-go](https://github.com/actions/setup-go) | `6.3.0` | `6.4.0` |
| [renovatebot/github-action](https://github.com/renovatebot/github-action) | `46.1.4` | `46.1.7` |
| [actions/setup-python](https://github.com/actions/setup-python) | `6.0.0` | `6.2.0` |
| [azure/setup-helm](https://github.com/azure/setup-helm) | `4.3.1` | `5.0.0` |


Updates `actions/checkout` from 6.0.1 to 6.0.2
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6.0.1...de0fac2e4500dabe0009e67214ff5f5447ce83dd)

Updates `actions/setup-go` from 6.3.0 to 6.4.0
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v6.3.0...v6.4.0)

Updates `renovatebot/github-action` from 46.1.4 to 46.1.7
- [Release notes](https://github.com/renovatebot/github-action/releases)
- [Changelog](https://github.com/renovatebot/github-action/blob/main/CHANGELOG.md)
- [Commits](0b17c4eb90...3633cede7d)

Updates `actions/setup-python` from 6.0.0 to 6.2.0
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v6...a309ff8b426b58ec0e2a45f0f869d46889d02405)

Updates `azure/setup-helm` from 4.3.1 to 5.0.0
- [Release notes](https://github.com/azure/setup-helm/releases)
- [Changelog](https://github.com/Azure/setup-helm/blob/main/CHANGELOG.md)
- [Commits](1a275c3b69...dda3372f75)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: actions/setup-go
  dependency-version: 6.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: renovatebot/github-action
  dependency-version: 46.1.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: actions/setup-python
  dependency-version: 6.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: azure/setup-helm
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-01 12:54:14 +05:30
Seena Fallah
736a2d58ae
feat!: generalize PTR record support from rfc2136 to all providers (#6232)
* feat(metrics): add source wrapper metrics for invalid and deduplicated endpoints

Add GaugeVecMetric.Reset() to clear stale label combinations between cycles.

Introduce invalidEndpoints and deduplicatedEndpoints gauge vectors in the
source wrappers package, partitioned by record_type and source_type. The
dedup source wrapper now tracks rejected (invalid) and de-duplicated
endpoints per collection cycle.

Update the metrics documentation and bump the known metrics count.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>

* feat(source): add PTR source wrapper for automatic reverse DNS

Implement ptrSource, a source wrapper that generates PTR endpoints from
A/AAAA records. The wrapper supports:

- Global default via WithCreatePTR (maps to --create-ptr flag)
- Per-endpoint override via record-type provider-specific property
- Grouping multiple hostnames sharing an IP into a single PTR endpoint
- Skipping wildcard DNS names

Add WithPTRSupported and WithCreatePTR options to the wrapper Config
and wire the PTR wrapper into the WrapSources chain when PTR is in
managed-record-types.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>

* feat(config): add --create-ptr flag and deprecate --rfc2136-create-ptr

Add the generic --create-ptr boolean flag to Config, enabling automatic
PTR record creation for any provider. Add IsPTRSupported() helper that
checks whether PTR is included in --managed-record-types.

Add validation: --create-ptr (or legacy --rfc2136-create-ptr) now
requires PTR in --managed-record-types, preventing misconfiguration.

Mark --rfc2136-create-ptr as deprecated in the flag description.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>

* refactor(rfc2136): remove inline PTR logic in favor of PTR source wrapper

Remove the createPTR field, AddReverseRecord, RemoveReverseRecord, and
GenerateReverseRecord methods from the rfc2136 provider. PTR record
generation is now handled generically by the PTR source wrapper before
records reach the provider.

Update the PTR creation test to supply pre-generated PTR endpoints
(simulating what the source wrapper produces) instead of relying on
the provider to create them internally.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>

* feat(controller): wire PTR source wrapper into buildSource

Pass the top-level Config to buildSource so it can read IsPTRSupported()
and the CreatePTR / RFC2136CreatePTR flags. When PTR is in
managed-record-types, the PTR source wrapper is installed in the
wrapper chain with the combined create-ptr default.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>

* chore(pdns): remove stale comment and fix whitespace

Remove an outdated comment about a single-target-per-tuple assumption
that no longer applies.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>

* docs: add PTR records documentation and update existing guides

Add docs/advanced/ptr-records.md covering the --create-ptr flag,
per-resource annotation overrides, prerequisites, and usage examples.

Update:
- annotations.md: document record-type annotation
- flags.md: add --create-ptr, mark --rfc2136-create-ptr as deprecated
- tutorials/rfc2136.md: point to generic --create-ptr flag
- contributing/source-wrappers.md: add PTR wrapper to the chain
- mkdocs.yml: add PTR Records navigation entry

Signed-off-by: Seena Fallah <seenafallah@gmail.com>

* feat(rfc2136)!: remove rfc2136-create-ptr in favor of create-ptr

Signed-off-by: Seena Fallah <seenafallah@gmail.com>

---------

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2026-03-30 13:36:16 +05:30
Michel Loiseleur
d9f2e95076
ci: finish gha pinning (#6327) 2026-03-30 12:38:14 +05:30
vflaux
29c35d75a7
chore(deps): bump github.com/cloudflare/cloudflare-go from v5 to v6 (#6324) 2026-03-30 12:14:14 +05:30
Ivan Ka
f1d771815f
feat(client): add --kube-api-qps and --kube-api-burst flags for Kubernetes client rate limiting (#6322)
* feat(client): add --kube-api-qps and --kube-api-burst flags for Kubernetes client rate limiting

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(client): add --kube-api-qps and --kube-api-burst flags for Kubernetes client rate limiting

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(client): add --kube-api-qps and --kube-api-burst flags for Kubernetes client rate limiting

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(client): add --kube-api-qps and --kube-api-burst flags for Kubernetes client rate limiting

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(client): add --kube-api-qps and --kube-api-burst flags for Kubernetes client rate limiting

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(client): add --kube-api-qps and --kube-api-burst flags for Kubernetes client rate limiting

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(client): add --kube-api-qps and --kube-api-burst flags for Kubernetes client rate limiting

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-30 02:40:12 +05:30
Ivan Ka
5dd8369d29
ci: validate Go version consistency across cloudbuild.yaml, go.mod, and go.tool.mod (#6323)
* ci: validate Go version consistency across cloudbuild.yaml, go.mod, and go.tool.mod

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* ci: validate Go version consistency across cloudbuild.yaml, go.mod, and go.tool.mod

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* ci: validate Go version consistency across cloudbuild.yaml, go.mod, and go.tool.mod

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-30 02:10:12 +05:30
Ivan Ka
eb40149b99
test: improve code coverage (#6321)
* test: improve code coverage

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* test: improve code coverage

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-29 23:46:12 +05:30
vflaux
c745bb044a
chore(go): upgrade to go1.26 (#6314)
* chore(go): upgrade to go1.26

* chore: use the new new() capability

* chore(lint): update golanci-lint

* chore(endpoint): add EndpointKey.String() test
2026-03-29 23:12:12 +05:30
Ivan Ka
ea4d2d1681
refactor(source/crd): migrate CRD source to controller-runtime cache (#6312)
* refactor(source/crd): migrate CRD source to controller-runtime cache

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source/crd): migrate CRD source to controller-runtime cache

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source/crd): migrate CRD source to controller-runtime cache

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source/crd): migrate CRD source to controller-runtime cache

Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>

* refactor(source/crd): migrate CRD source to controller-runtime cache

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source/crd): migrate CRD source to controller-runtime cache

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source/crd): migrate CRD source to controller-runtime cache

Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>

* refactor(source/crd): migrate CRD source to controller-runtime cache

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source/crd): migrate CRD source to controller-runtime cache

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source/crd): migrate CRD source to controller-runtime cache

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source/crd): migrate CRD source to controller-runtime cache

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source/crd): migrate CRD source to controller-runtime cache

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source/crd): migrate CRD source to controller-runtime cache

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source/crd): migrate CRD source to controller-runtime cache

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source/crd): migrate CRD source to controller-runtime cache

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source/crd): migrate CRD source to controller-runtime cache

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source/crd): migrate CRD source to controller-runtime cache

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source/crd): migrate CRD source to controller-runtime cache

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>
2026-03-29 00:14:12 +05:30
vflaux
84198f906c
chore(lint): update golanci-lint (#6320)
* chore(lint): update golangci-lint

* fix(lint): make golangci-lint happy
2026-03-28 19:00:11 +05:30
Ivan Ka
f73e4fb88b
feat(webhook): instrument HTTP client with request duration metrics (#6307)
* feat(webhook): instrument HTTP client with request duration metrics

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(webhook): instrument HTTP client with request duration metrics

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(webhook): instrument HTTP client with request duration metrics

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(webhook): instrument HTTP client with request duration metrics

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(webhook): instrument HTTP client with request duration metrics

Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>

* feat(webhook): instrument HTTP client with request duration metrics

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>
2026-03-28 18:02:12 +05:30
Ivan Ka
56e00e6667
perf(source/istio): replace API calls with indexed informer cache for gateway and virtualservice sources (#6303)
* perf(source/istio): replace API calls with indexed informer cache for gateway and virtualservice sources

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* perf(source/istio): replace API calls with indexed informer cache for gateway and virtualservice sources

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-28 14:04:13 +05:30
Raffaele Di Fazio
a6266dd5ff
Minimize GitHub Actions workflow permissions (#6319)
Apply principle of least privilege across all workflows:

- end-to-end-tests.yml: add missing permissions (contents: read)
- dependency-update.yaml: add missing permissions (contents: read)
- lint-test-chart.yaml: replace top-level read-all with permissions: {}
- release-chart.yaml: replace top-level read-all with permissions: {}
- codeql-analysis.yaml: remove unused actions: read
- lint.yaml: remove unused pull-requests: read
- staging-image-tester.yaml: remove unused checks: write (no goveralls step)
2026-03-27 23:22:47 +05:30
Raffaele Di Fazio
109fd6559f
Pin all GitHub Actions to commit SHAs per Kubernetes policy (#6316)
Pin all uses: references in workflow files to 40-character commit
SHA hashes instead of mutable tags, as required by the Kubernetes
GitHub Actions security policy.

Actions pinned:
- actions/setup-go v6.3.0
- actions/setup-python v6
- actions/checkout v6
- coverallsapp/github-action v2
- github/codeql-action v4
- golangci/golangci-lint-action v9
- GrantBirki/json-yaml-validate v4.0.0
- nosborn/github-action-markdown-cli v3.5.0
- pre-commit/action v3.0.1
- renovatebot/github-action v46.1.4
2026-03-27 20:14:47 +05:30
vflaux
fd89065e0a
fix(lint): remove govet exclusion from tests (#6315) 2026-03-27 20:00:49 +05:30
vflaux
7882822f40
chore: modernize code (#6313) 2026-03-27 18:06:48 +05:30
dependabot[bot]
573a54d406
chore(deps): bump the dev-dependencies group with 13 updates (#6311)
Bumps the dev-dependencies group with 13 updates:

| Package | From | To |
| --- | --- | --- |
| [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) | `1.41.4` | `1.41.5` |
| [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) | `1.32.12` | `1.32.13` |
| [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) | `1.19.12` | `1.19.13` |
| [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) | `1.20.35` | `1.20.37` |
| [github.com/aws/aws-sdk-go-v2/service/dynamodb](https://github.com/aws/aws-sdk-go-v2) | `1.56.2` | `1.57.1` |
| [github.com/aws/aws-sdk-go-v2/service/route53](https://github.com/aws/aws-sdk-go-v2) | `1.62.4` | `1.62.5` |
| [github.com/aws/aws-sdk-go-v2/service/servicediscovery](https://github.com/aws/aws-sdk-go-v2) | `1.39.25` | `1.39.26` |
| [github.com/aws/aws-sdk-go-v2/service/sts](https://github.com/aws/aws-sdk-go-v2) | `1.41.9` | `1.41.10` |
| [github.com/oracle/oci-go-sdk/v65](https://github.com/oracle/oci-go-sdk) | `65.109.2` | `65.109.3` |
| [github.com/projectcontour/contour](https://github.com/projectcontour/contour) | `1.33.2` | `1.33.3` |
| [go.etcd.io/etcd/api/v3](https://github.com/etcd-io/etcd) | `3.6.8` | `3.6.9` |
| [go.etcd.io/etcd/client/v3](https://github.com/etcd-io/etcd) | `3.6.8` | `3.6.9` |
| [google.golang.org/api](https://github.com/googleapis/google-api-go-client) | `0.272.0` | `0.273.0` |


Updates `github.com/aws/aws-sdk-go-v2` from 1.41.4 to 1.41.5
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.41.4...v1.41.5)

Updates `github.com/aws/aws-sdk-go-v2/config` from 1.32.12 to 1.32.13
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.32.12...config/v1.32.13)

Updates `github.com/aws/aws-sdk-go-v2/credentials` from 1.19.12 to 1.19.13
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/sqs/v1.19.12...credentials/v1.19.13)

Updates `github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue` from 1.20.35 to 1.20.37
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/dynamodb/attributevalue/v1.20.35...feature/dynamodb/attributevalue/v1.20.37)

Updates `github.com/aws/aws-sdk-go-v2/service/dynamodb` from 1.56.2 to 1.57.1
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ssm/v1.56.2...service/s3/v1.57.1)

Updates `github.com/aws/aws-sdk-go-v2/service/route53` from 1.62.4 to 1.62.5
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/fsx/v1.62.4...service/iot/v1.62.5)

Updates `github.com/aws/aws-sdk-go-v2/service/servicediscovery` from 1.39.25 to 1.39.26
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/servicediscovery/v1.39.25...service/servicediscovery/v1.39.26)

Updates `github.com/aws/aws-sdk-go-v2/service/sts` from 1.41.9 to 1.41.10
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ecs/v1.41.9...service/ecs/v1.41.10)

Updates `github.com/oracle/oci-go-sdk/v65` from 65.109.2 to 65.109.3
- [Release notes](https://github.com/oracle/oci-go-sdk/releases)
- [Changelog](https://github.com/oracle/oci-go-sdk/blob/master/CHANGELOG.md)
- [Commits](https://github.com/oracle/oci-go-sdk/compare/v65.109.2...v65.109.3)

Updates `github.com/projectcontour/contour` from 1.33.2 to 1.33.3
- [Release notes](https://github.com/projectcontour/contour/releases)
- [Changelog](https://github.com/projectcontour/contour/blob/main/RELEASES.md)
- [Commits](https://github.com/projectcontour/contour/compare/v1.33.2...v1.33.3)

Updates `go.etcd.io/etcd/api/v3` from 3.6.8 to 3.6.9
- [Release notes](https://github.com/etcd-io/etcd/releases)
- [Commits](https://github.com/etcd-io/etcd/compare/v3.6.8...v3.6.9)

Updates `go.etcd.io/etcd/client/v3` from 3.6.8 to 3.6.9
- [Release notes](https://github.com/etcd-io/etcd/releases)
- [Commits](https://github.com/etcd-io/etcd/compare/v3.6.8...v3.6.9)

Updates `google.golang.org/api` from 0.272.0 to 0.273.0
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md)
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.272.0...v0.273.0)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2
  dependency-version: 1.41.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-version: 1.32.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
  dependency-version: 1.19.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
  dependency-version: 1.20.37
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/dynamodb
  dependency-version: 1.57.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/route53
  dependency-version: 1.62.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/servicediscovery
  dependency-version: 1.39.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/sts
  dependency-version: 1.41.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/oracle/oci-go-sdk/v65
  dependency-version: 65.109.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/projectcontour/contour
  dependency-version: 1.33.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: go.etcd.io/etcd/api/v3
  dependency-version: 3.6.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: go.etcd.io/etcd/client/v3
  dependency-version: 3.6.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: google.golang.org/api
  dependency-version: 0.273.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-27 13:16:45 +05:30
Ivan Ka
83e1bcf39d
refactor(source): inline label selector matching, remove MatchesServiceSelector (#6304)
* refactor(source): inline label selector matching, remove MatchesServiceSelector

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source): inline label selector matching, remove MatchesServiceSelector

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-26 05:00:16 +05:30
Ivan Ka
aeb22d042b
fix(webhook): increase test client timeouts to prevent flaky tests (#6310)
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-26 04:42:15 +05:30
Ivan Ka
2c46340270
docs(aws): tutorial with kind and localstack (#6048)
* docs(aws): tutorial with kind and localstack

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* remove dependencies

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* docs(aws): tutorial with kind and localstack

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* docs(aws): tutorial with kind and localstack

Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>

* docs(aws): tutorial with kind and localstack

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* docs(aws): tutorial with kind and localstack

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* docs(aws): tutorial with kind and localstack

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* docs(aws): tutorial with kind and localstack

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
2026-03-24 14:12:15 +05:30
Ivan Ka
8533f19606
docs(metrics): add Labels column to metrics documentation table (#6306)
* docs(metrics): add Labels column to metrics documentation table

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* docs(metrics): add Labels column to metrics documentation table

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* docs(metrics): add Labels column to metrics documentation table

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-24 05:04:17 +05:30
Arthur Baars
38630ce4db
deps(go): bump go from 1.25.7 -> 1.25.8 (#6305) 2026-03-23 20:44:19 +05:30
Ivan Ka
d217706973
refactor(fqdn): encapsulate FQDN template logic into TemplateEngine (#6292)
* refactor(source): extract FQDN template logic into fqdn.TemplateEngine

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source): extract FQDN template logic into fqdn.TemplateEngine

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source): extract FQDN template logic into fqdn.TemplateEngine

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source): extract FQDN template logic into fqdn.TemplateEngine

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source): extract FQDN template logic into fqdn.TemplateEngine

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source): extract FQDN template logic into fqdn.TemplateEngine

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source): extract FQDN template logic into fqdn.TemplateEngine

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source): extract FQDN template logic into fqdn.TemplateEngine

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source): extract FQDN template logic into fqdn.TemplateEngine

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source): extract FQDN template logic into fqdn.TemplateEngine

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source): extract FQDN template logic into fqdn.TemplateEngine

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(source): extract FQDN template logic into fqdn.TemplateEngine

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(fqdn): encapsulate FQDN template logic into TemplateEngine

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(fqdn): encapsulate FQDN template logic into TemplateEngine

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* efactor(fqdn): encapsulate FQDN template logic into TemplateEngine

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(fqdn): encapsulate FQDN template logic into TemplateEngine

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(fqdn): encapsulate FQDN template logic into TemplateEngine

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(fqdn): encapsulate FQDN template logic into TemplateEngine

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(fqdn): encapsulate FQDN template logic into TemplateEngine

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(fqdn): encapsulate FQDN template logic into TemplateEngine

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(fqdn): encapsulate FQDN template logic into TemplateEngine

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(fqdn): encapsulate FQDN template logic into TemplateEngine

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-23 19:40:19 +05:30
Seena Fallah
ba0baebade
docs: add BIND9 on Kubernetes with Kind tutorial for rfc2136 provider (#6295)
* docs: add BIND9 on Kubernetes with Kind tutorial for rfc2136 provider

Add a step-by-step guide for deploying BIND9 and ExternalDNS inside
a local Kind cluster, covering forward (A) and reverse (PTR) DNS
zones with TSIG authentication.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>

* docs: apply suggestions for bind9 tutorial

Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>

---------

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
2026-03-22 16:16:13 +05:30
Ivan Ka
e1aee5dc00
refactor(wrappers): introduce wrapper.Build as single entry point for source pipeline (#6300)
* refactor(wrappers): introduce BuildWrappedSource as single entry point for source pipeline

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(wrappers): introduce BuildWrappedSource as single entry point for source pipeline

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(wrappers): introduce BuildWrappedSource as single entry point for source pipeline

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(wrappers): introduce wrapper.Build as single entry point for source pipeline

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-22 15:58:13 +05:30
Ivan Ka
2c8b57eea4
refactor(test): deduplicate endpoint assertion helpers across source (#6299)
* refactor(test): deduplicate endpoint assertion helpers across source and integration tests

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(test): deduplicate endpoint assertion helpers across source

Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
2026-03-22 00:56:13 +05:30
Ivan Ka
177a4db07b
feat(source/istio)!: migrate gateway and virtualservice sources to networking.istio.io/v1 (#6302)
* feat(source/istio): migrate gateway and virtualservice sources to networking.istio.io/v1

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(source/istio): migrate gateway and virtualservice sources to networking.istio.io/v1

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(source/istio): migrate gateway and virtualservice sources to networking.istio.io/v1

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(source/istio): migrate gateway and virtualservice sources to networking.istio.io/v1

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(source/istio): migrate gateway and virtualservice sources to networking.istio.io/v1

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(source/istio): migrate gateway and virtualservice sources to networking.istio.io/v1

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-22 00:44:14 +05:30
Ivan Ka
475cb2dd8b
feat(informers): reduce informer cache memory footprint via object transformers (#6240)
* feat(informers): reduce informer cache memory footprint via object transformers

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(informers): reduce informer cache memory footprint via object transformers

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(informers): reduce informer cache memory footprint via object transformers

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(informers): reduce informer cache memory footprint via object transformers

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(informers): reduce informer cache memory footprint via object transformers

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(informers): reduce informer cache memory footprint via object transformers

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(informers): reduce informer cache memory footprint via object transformers

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(informers): reduce informer cache memory footprint via object transformers

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(informers): reduce informer cache memory footprint via object transformers

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(informers): reduce informer cache memory footprint via object transformers

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(informers): reduce informer cache memory footprint via object transformers

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(informers): reduce informer cache memory footprint via object transformers

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(informers): reduce informer cache memory footprint via object transformers

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(informers): reduce informer cache memory footprint via object transformers

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(informers): reduce informer cache memory footprint via object transfomers

Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>

* feat(informers): reduce informer cache memory footprint via object transfomers

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(informers): reduce informer cache memory footprint via object transformers

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(informers): reduce informer cache memory footprint via object transformers

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
2026-03-21 20:26:13 +05:30
Ivan Ka
1c9913bbdb
chore(deps): tools bump and process in contributor docs (#6118)
* chore(deps): tools bump

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(deps): tools bump

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(deps): tools bump

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(deps): tools bump

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(deps): tools bump

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(deps): tools bump

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(deps): tools bump

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-20 22:20:14 +05:30
dependabot[bot]
e815ee2efe
chore(deps): bump google.golang.org/grpc from 1.79.2 to 1.79.3 (#6296)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.79.2 to 1.79.3.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.79.2...v1.79.3)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-version: 1.79.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-20 20:50:14 +05:30
Ivan Ka
19263ee9f0
fix(webhook): connection pool leaks, stuck goroutines on server hang, and retry correctness (#6279)
* fix(webhook): connection leaks, goroutine leaks, and retry correctness

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* fix(webhook): connection leaks, goroutine leaks, and retry correctness

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* fix(webhook): connection leaks, goroutine leaks, and retry correctness

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* fix(webhook): connection leaks, goroutine leaks, and retry correctness

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* fix(webhook): connection leaks, goroutine leaks, and retry correctness

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* fix(webhook): connection leaks, goroutine leaks, and retry correctness

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* fix(webhook): connection leaks, goroutine leaks, and retry correctness

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* fix(webhook): connection leaks, goroutine leaks, and retry correctness

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* fix(webhook): connection leaks, goroutine leaks, and retry correctness

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-20 16:04:14 +05:30
Ivan Ka
eeb72d62e5
refactor(docs): documentation generators (#6221)
* refactore(gen): shared functions

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactore(gen): shared functions. simplify metrics

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactore(gen): shared functions. comments

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactore(gen): shared functions. comments

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactore(gen): shared functions. file writes

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactore(gen): shared functions. file writes

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(docs): documentation generators

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(docs): documentation generators

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(docs): documentation generators

* refactor(docs): documentation generators

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(docs): documentation generators

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(docs): documentation generators

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* refactor(docs): documentation generators

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-20 14:26:13 +05:30
dependabot[bot]
47c65e8a3a
chore(deps): bump the dev-dependencies group with 5 updates (#6298)
Bumps the dev-dependencies group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [github.com/oracle/oci-go-sdk/v65](https://github.com/oracle/oci-go-sdk) | `65.109.1` | `65.109.2` |
| [google.golang.org/api](https://github.com/googleapis/google-api-go-client) | `0.271.0` | `0.272.0` |
| [k8s.io/api](https://github.com/kubernetes/api) | `0.35.2` | `0.35.3` |
| [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) | `0.35.2` | `0.35.3` |
| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.35.2` | `0.35.3` |


Updates `github.com/oracle/oci-go-sdk/v65` from 65.109.1 to 65.109.2
- [Release notes](https://github.com/oracle/oci-go-sdk/releases)
- [Changelog](https://github.com/oracle/oci-go-sdk/blob/master/CHANGELOG.md)
- [Commits](https://github.com/oracle/oci-go-sdk/compare/v65.109.1...v65.109.2)

Updates `google.golang.org/api` from 0.271.0 to 0.272.0
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md)
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.271.0...v0.272.0)

Updates `k8s.io/api` from 0.35.2 to 0.35.3
- [Commits](https://github.com/kubernetes/api/compare/v0.35.2...v0.35.3)

Updates `k8s.io/apimachinery` from 0.35.2 to 0.35.3
- [Commits](https://github.com/kubernetes/apimachinery/compare/v0.35.2...v0.35.3)

Updates `k8s.io/client-go` from 0.35.2 to 0.35.3
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.35.2...v0.35.3)

---
updated-dependencies:
- dependency-name: github.com/oracle/oci-go-sdk/v65
  dependency-version: 65.109.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: google.golang.org/api
  dependency-version: 0.272.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: k8s.io/api
  dependency-version: 0.35.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: k8s.io/apimachinery
  dependency-version: 0.35.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: k8s.io/client-go
  dependency-version: 0.35.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-20 13:02:15 +05:30
Ivan Ka
083b6e9a12
docs(sources): surface provider-specific annotations support in documentation (#6231)
* docs(sources): surface provider-specific annotations support it in source documentation

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* docs(sources): surface provider-specific annotations support it in source documentation

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* docs(sources): surface provider-specific annotations support it in source documentation

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* docs(sources): surface provider-specific annotations support it in source documentation

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* docs(sources): surface provider-specific annotations support it in source documentation

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* docs(sources): surface provider-specific annotations support it in source documentation

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* docs(sources): surface provider-specific annotations support in documentation

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* docs(sources): surface provider-specific annotations support in documentation

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* docs(sources): surface provider-specific annotations support in documentation

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* docs(sources): surface provider-specific annotations support in documentation

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-19 19:04:31 +05:30