* chore(go): upgrade to go1.26
* chore: use the new new() capability
* chore(lint): update golanci-lint
* chore(endpoint): add EndpointKey.String() test
* refactor(registry): introduce factory with uniform New constructors
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* refactor(registry): introduce factory with uniform New constructors
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* refactor(registry): introduce factory with uniform New constructors
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* refactor(registry): introduce factory with uniform New constructors
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* refactor(registry): introduce factory with uniform New constructors
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
---------
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* linter(goimports): Mixed import groups (internal before external)
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* inter(goimports): Mixed import groups (internal before external)
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
---------
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* chore(registry): move registries to folders
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* chore(registry): move registries to its own packages
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* chore(registry): move registries to its own packages
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* chore(registry): move registries to packages
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* chore(registry): move registries to packages
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* chore(registry): move registries to folders
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* chore(registry): move registries to folders
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* chore(registry): move registries to folders
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* chore(registry): move registries to folders
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* Apply suggestions from code review
Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>
* chore(registry): move registries to packages
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* chore(registry): move registries to packages
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>
* feat(registry/txt): enable support for SRV and NAPTR
This enables support for SRV and NAPTR in the TXT registry.
* doc(crd): add example DNSEndpoint for SRV and NAPTR
* fix(txt-register): reset existingTXTs even when ApplyChanges is skipped to avoid stale TXT records
* test(txt-registry): add regression test to ensure TXT records are recreated after deletion
* chore: remove unintended blank line
* Reintroduce base config for txt owner migration
# Conflicts:
# controller/execute.go
# registry/txt.go
# Conflicts:
# pkg/apis/externaldns/types.go
* Added label update logic and fixed existing tests
* Fixed existing declaration in tests, re introduced tests for new flag, regened flags.md from make
* Fixed tests logic and target expression evaluation, fixed update of label in the TXT registry process
* Set Old owner id var down the plan to calculate changes correctly
* Lint fixes
* (wip) Code cleaning and test coverage
* Simplified label overwriting on migration and implem tests for coverage
* Fix tests
* Update txt registry doc
* Fix rebase issues in txt test
* Update docs/registry/txt.md
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
* Update docs/registry/txt.md
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
* Update docs/registry/txt.md
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
* Fix label overriding in TXT record generation when migration is enabled
* Make linter happy
* Regen flags, fix types tests after types updates
* Removed boolean flag that enabled migration, evaluate only against old owner flag instead
---------
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
* fix(txt-registry): skip creation of already-existing TXT records (#4914)
* refactor(registry): store existing TXT records temporarily between Records and ApplyChanges
* refactor: apply review suggestion for code cleanup
* test: add coverage for recreating A/CNAME records when TXT exists
* refactor: extract generateTXTRecordWithFilter to avoid redundant filtering
* test: add comprehensive test cases and isolate test data for t.Parallel
* docs: clarify comment for isNotManaged to reflect actual behavior
* fix: apply SetIdentifier before filtering TXT records, add regression test
* chore: fix lint warnings
* refactor: use key struct instead of concatenated string for map keys to reduce memory usage
* fix txt_test.go
* fix txt_test.go dependency
* refactor(registry/txt): rename to isAbsent
* feat(source/istio): support version 1.22
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* feat(source/istio): support version 1.22
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* feat(source/istio): support version 1.22
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* feat(source/istio): support version 1.22
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* feat(source/istio): support version 1.22
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* feat(source/istio): support version 1.22
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* feat(source/istio): support version 1.22
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* feat(source/istio): support version 1.25+
Co-authored-by: mthemis-provenir <168411899+mthemis-provenir@users.noreply.github.com>
---------
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: mthemis-provenir <168411899+mthemis-provenir@users.noreply.github.com>
* feat(cloudflare): add support for MX records
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* test(txt): add additional TXT and MX record test cases
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* feat(endpoint): implement parsing for MX and SRV records with structured targets
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* fix(txt): remove TXT record type from supported types in NewTXTRegistry
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* refactor(digitalocean): streamline MX record handling
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* refactor(cloudflare): improve error handling in change creation
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* fix(endpoint): return all parsed SRV targets instead of a single target
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* test(endpoint): add parsing tests for MX and SRV records
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* fix(endpoint): streamline MX and SRV record validation and parsing
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* fix(digital_ocean): simplify MX record parsing
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* fix(docs): update link to CRD source in MX record documentation
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* fix(cloudflare): improve error handling for MX record parsing
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* fix(cloudflare): improve error message formatting for MX record parsing
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* refactor(endpoint): rename ParseMXRecord to NewMXTarget and update references
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* fix(endpoint): update NewMXTarget to return pointer and adjust tests accordingly
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* refactor(cloudflare): consolidate proxyEnabled and proxyDisabled variable declarations
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* fix(endpoint): update TestNewMXTarget to reflect changes in MXTarget struct fields and add missing test case for host validation
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* fix(digitalocean): improve MX record handling by adjusting error handling and ensuring proper priority and host retrieval
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* refactor(endpoint): change MXTarget fields to unexported and update NewMXTarget to use them
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* refactor(cloudflare): update groupByNameAndTypeWithCustomHostnames to use provider methods and enhance MX record handling in tests
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* test(cloudflare): enhance test cover
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* refactor(endpoint): remove unused SRVTarget struct from endpoint.go
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* refactor(endpoint): rename NewMXTarget to NewMXRecord for clarity and update references
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* Update docs/sources/mx-record.md
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
---------
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
* feat: add option to use only new format TXT records
* add flag and docs
* refine documentation on how to use the flag
* add section regarding manual migration
* update documentation to be same as in types.go
* fix compile issue
* add tests for new flag
* update flags documentation correctly
* add new option to helm chart
* run helm-docs
* remove unessery newline
* add entry to unreleased chart items
* Revert "run helm-docs"
This reverts commit a1d64bd3e82a170e7d78dd8772fc9004b4173a31.
* Revert "add new option to helm chart"
This reverts commit 299d087917ead3d306d163bd1c67e710cd35f398.
* Revert "add entry to unreleased chart items"
This reverts commit 0bcd0e3612e4e4fd4b0cea8b1f0e0d78c9754cf3.
* fix test cases that have changed