83 Commits

Author SHA1 Message Date
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
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
Ivan Ka
8bea2e4127
chore(deps): bump pre-commit and fix markdown docs (#6241)
* deps(pre-commit): bump pre-commit

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

* deps(pre-commit): bump pre-commit, fix linter markdown issues

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

* deps(pre-commit): bump pre-commit, fix linter markdown issues

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

* deps(pre-commit): bump pre-commit, fix linter markdown violations

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

* deps(pre-commit): bump pre-commit, fix linter markdown violations

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

* deps(pre-commit): bump pre-commit, fix linter markdown violations

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

* deps(pre-commit): bump pre-commit, fix linter markdown violations

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

* deps(pre-commit): bump pre-commit, fix linter markdown violations

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-17 02:07:39 +05:30
Ivan Ka
3f42ce9716
chore(tests): Add YAML-driven integration test framework for sources (#6158)
* chore(tests): added cross source tests

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

* chore(tests): added cross source tests

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

* chore(tests): added cross source tests

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

* chore(tests): added cross source tests

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

* chore(tests): Add YAML-driven integration test framework for sources

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

* chore(tests): Add YAML-driven integration test framework for sources

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

* chore(tests): Add YAML-driven integration test framework for sources

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

* chore(tests): Add YAML-driven integration test framework for sources

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

* chore(tests): Add YAML-driven integration test framework for sources

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-16 15:19:38 +05:30
Ivan Ka
45b4aa2d83
fix(source): filter provider-specific properties to configured provider (#6220)
* fix(source): filter provider-specific properties to configured provider

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

* fix(source): filter provider-specific properties to configured provider

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

* fix(source): filter provider-specific properties to configured provider

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

* fix(source): filter provider-specific properties to configured provider

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

* fix(source): filter provider-specific properties to configured provider

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

* fix(source): filter provider-specific properties to configured provider

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

* fix(source): filter provider-specific properties to configured provider

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

* fix(source): filter provider-specific properties to configured provider

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

* fix(source): filter provider-specific properties to configured provider

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

* Apply suggestions from code review

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

* fix(source): filter provider-specific properties to configured provider

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-16 00:01:36 +05:30
Ivan Ka
6186987d33
docs(contributor): GetDomainFilter contract and ZoneCache blueprint for provider contributors (#6249)
* docs(contributor): GetDomainFilter contract and ZoneCache blueprint for provider contributors

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

* docs(contributor): GetDomainFilter contract and ZoneCache blueprint for provider contributors

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

* docs(contributor): GetDomainFilter contract and ZoneCache blueprint for provider contributors

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

* docs(contributor): GetDomainFilter contract and ZoneCache blueprint for provider contributors

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

* docs(contributor): GetDomainFilter contract and ZoneCache blueprint for provider contributors

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

* docs(contributor): GetDomainFilter contract and ZoneCache blueprint for provider contributors

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

* docs(contributor): GetDomainFilter contract and ZoneCache blueprint for provider contributors

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

* docs(contributor): GetDomainFilter contract and ZoneCache blueprint for provider contributors

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

* docs(contributor): GetDomainFilter contract and ZoneCache blueprint for provider contributors

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-15 04:25:42 +05:30
Ivan Ka
5f81c5bc97
docs: add bug report guide and improve issue template (#6272)
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-14 21:43:35 +05:30
Ivan Ka
a174cc03d4
docs(source): autogenerate docs for events (#6119)
* docs(source): autogenerate docs for events

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

* docs(source): autogenerate docs for events

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

* docs(source): autogenerate docs for events

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

* docs(source): autogenerate docs for events

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

* docs(source): autogenerate docs for events

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

* docs(source): autogenerate docs for events

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

* docs(source): autogenerate docs for events

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

* docs(source): autogenerate docs for events

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-01-21 16:37:28 +05:30
Ivan Ka
97af77f5af
docs(source): autogenerate docs for sources with go-doc like style (#6075)
* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>
2026-01-07 02:59:38 +05:30
Michel Loiseleur
71c64e528c
docs: add instructions for local testing (#5887)
* docs: add instructions for local testing

* review
2025-12-07 08:26:56 -08:00
Till Hoffmann
222b95fdca
fix(docs): Fixing typos in docs and comments (#5995) 2025-12-05 11:16:57 -08:00
Michel Loiseleur
7dba745835
chore: upgrade ExternalDNS to go v1.25 and golangci-lint v2.5 (#5869)
* chore: upgrade ExternalDNS to go v1.25 and golangci-lint v2.5

* fix go.sum
2025-09-25 11:44:15 -07:00
Ivan Ka
7792e78eba
feat(source): add min-ttl support (#5641)
* feat(source/min-ttl): added min-ttl support

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

* feat(source/min-ttl): added min-ttl support

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

* feat(source/min-ttl): added min-ttl support

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

* feat(source/min-ttl): added min-ttl support

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

* feat(source/min-ttl): added min-ttl support

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

* feat(source/min-ttl): added min-ttl support

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

* feat(source/min-ttl): added min-ttl support

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

* feat(source/min-ttl): added min-ttl support

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

* feat(source/min-ttl): added min-ttl support

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

* feat(source/min-ttl): added min-ttl support

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

* feat(source/min-ttl): added min-ttl support

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

* feat(source/min-ttl): added min-ttl support

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

* feat(source): add min-ttl support

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

* feat(source): add min-ttl support

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

* feat(source/min-ttl): added min-ttl support

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

* feat(source): add min-ttl support

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>
2025-09-10 02:28:00 -07:00
Ivan Ka
b31afb430d
fix(source/wrappers/events): events not triggered (#5687)
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2025-08-16 02:49:07 -07:00
Matt Mix
663d10c06e
fix(docs): Fixing some errors in the dev-guide example. (#5662) 2025-07-19 04:32:26 -07:00
Ivan Ka
84a0c6409f
chore(docs): add mkdocs-macros plugin (#5412)
* chore(docs): add mkdocs-macros plugin

* chore(docs): add mkdocs-macros plugin

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

* chore(docs): add mkdocs-macros plugin

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>
2025-05-19 01:33:15 -07:00
Lino Layani
2a1ab538b8
fix(docs): resove broken links, add source description (#5413) 2025-05-19 00:43:23 -07:00
Ivan Ka
de6fb9d385
fix(log testing): re-use logger library testing functionality (#5368)
* fix(log testing): re-use logger library testing functionality

* fix(log testing): re-use logger library testing functionality

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

* fix(log testing): re-use logger library testing functionality

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2025-05-12 01:49:15 -07:00
Ivan Ka
1e8e5e06c5
chore(docs): generate docs/monitoring/metrics.md file (#5117)
* chore(docs): generate docs/monitoring/metrics.md file

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

* chore(docs): generate docs/monitoring/metrics.md file

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

* chore(docs): generate docs/monitoring/metrics.md file

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

* chore(docs): generate docs/monitoring/metrics.md file

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

* chore(docs): generate docs/monitoring/metrics.md file

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

* chore(docs): generate docs/monitoring/metrics.md file

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

* chore(docs): generate docs/monitoring/metrics.md file

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

* chore(docs): generate docs/monitoring/metrics.md file

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

* chore(docs): generate docs/monitoring/metrics.md file

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

* chore(docs): generate docs/monitoring/metrics.md file

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

* chore(docs): generate docs/monitoring/metrics.md file

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

* chore(docs): generate docs/monitoring/metrics.md file

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

* chore(docs): generate docs/monitoring/metrics.md file

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

* chore(docs): generate docs/monitoring/metrics.md file

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

* chore(docs): generate docs/monitoring/metrics.md file

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

* chore(docs): generate docs/monitoring/metrics.md file

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

* chore(docs): generate docs/monitoring/metrics.md file

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

* chore(docs): generate docs/monitoring/metrics.md file

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

* chore(docs): generate docs/monitoring/metrics.md file

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>
2025-03-04 05:05:44 -08:00
Ivan Ka
5f26223b6c
feat(chart): add helm-unittest framework (#5137)
* feat(chart): add helm-unittest framework

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

* feat(chart): add helm-unittest framework

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

* feat(chart): add helm-unittest framework

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

* feat(chart): add helm-unittest framework

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

* feat(chart): add helm-unittest framework

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

* feat(chart): add helm-unittest framework

* feat(chart): add helm-unittest framework

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

* feat(chart): add helm-unittest framework

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

* feat(chart): add helm-unittest framework

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

* feat(chart): add helm-unittest framework

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

* feat(chart): add helm-unittest framework

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

* feat(chart): add helm-unittest framework

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

* feat(chart): add helm-unittest framework

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2025-03-04 02:27:43 -08:00
Kubernetes Prow Robot
f09124c952
Merge pull request #5106 from mloiseleur/chore/go-1.24
chore: upgrade ExternalDNS to go 1.24
2025-02-20 03:46:27 -08:00
Michel Loiseleur
959651c336 chore: upgrade ExternalDNS to go 1.24 2025-02-19 14:54:44 +01:00
Ivan Ka
99b9d0d3db
chore(formatting): fix infected files with correct formatting (#5099)
* chore(format): fix go formatting

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

* chore(format): linter check configuration

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

* chore(formatting): fix infected files with correct formatting

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

* chore(formatting): fix infected files with correct formatting

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

* chore(formatting): fix infected files with correct formatting

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

* chore(formatting): fix infected files with correct formatting

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

* chore(formatting): fix infected files with correct formatting

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2025-02-18 01:40:12 -08:00
Ivan Ka
9251e558a0
feat(chart): automate helm json schema (#5075)
* helm(json-schema): simplified schema validation

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

* helm(json-schema): simplified schema validation and documentation generation

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

* helm(json-schema): simplified schema validation and documentation generation

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

* helm(json-schema): simplified schema validation and documentation generation

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

* helm(json-schema): simplified schema validation and documentation generation

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

* helm(json-schema): simplified schema validation and documentation generation

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

* helm(json-schema): simplified schema validation and documentation generation

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

* helm(json-schema): simplified schema validation and documentation generation

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

* helm(json-schema): simplified schema validation and documentation generation

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

* helm(json-schema): simplified schema validation and documentation generation

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

* helm(json-schema): simplified schema validation and documentation generation

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

* helm(json-schema): simplified schema validation and documentation generation

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

* helm(json-schema): simplified schema validation and documentation generation

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

* helm(json-schema): simplified schema validation and documentation generation

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

* feat(chart): automate helm json schema

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

* feat(chart): automate helm json schema

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

* feat(chart): automate helm json schema

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

* feat(chart): automate helm json schema

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

* feat(chart): automate helm json schema

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

* feat(chart): automate helm json schema

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

* feat(chart): automate helm json schema

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

* feat(chart): automate helm json schema

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

* feat(chart): automate helm json schema

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

* feat(chart): automate helm json schema

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

* feat(chart): automate helm json schema

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

* Apply suggestions from code review

Co-authored-by: Steve Hipwell <steve.hipwell@gmail.com>

* Apply suggestions from code review

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: Steve Hipwell <steve.hipwell@gmail.com>
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
2025-02-15 06:14:22 -08:00
Michel Loiseleur
ac4049bf03
ci(docs): add markdown linters and editorconfig (#5055)
* ci(docs): add markdown linters

* fixes issues in md detected by the linter

* fix workflow

* pre commit

* add editor config

* fix test

* review
2025-02-09 14:07:56 -08:00
Ivan Ka
e7ff1c9c44
docs: update and refactor contribution part (#5073)
* docs: added contribution docs

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

* docs: added contribution docs

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

* docs: added contribution docs

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

* docs: added contribution docs

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

* Apply suggestions from code review

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

* docs: added contribution docs

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>
2025-02-08 08:35:56 -08:00
juan-vg
cc937a36aa Move CRD-source doc to sources
* Also move example to CRD-source doc
2024-11-26 09:43:55 +01:00
Michel Loiseleur
50672d66b9
chore: upgrade ExternalDNS to go 1.23 2024-08-22 09:10:10 +02:00
Michel Loiseleur
3773411a5a docs: upgrade mkdocs and fix warnings 2024-06-07 08:15:44 +02:00
Morre
c0a183b006
fix: re-add api-approved.kubernetes.io annotation 2024-05-21 09:27:03 +02:00
dongjiang1989
4e6dd80301
update controller-tools version
Signed-off-by: dongjiang1989 <dongjiang1989@126.com>
2024-04-22 16:16:49 +08:00
Michel Loiseleur
251d579d2e chore: upgrade ExternalDNS to go 1.22 2024-03-14 08:34:57 +01:00
Michel Loiseleur
d68fd0217b feat: upgrade ExternalDNS to go 1.21 2023-09-08 10:57:23 +02:00
John Gardiner Myers
07b1f81c14 Build image with ko 2023-08-10 07:45:45 -07:00
Kubernetes Prow Robot
e62d2f3ac5
Merge pull request #3673 from mloiseleur/golang-1.20
Upgrade ExternalDNS to go 1.20
2023-06-12 07:51:48 -07:00
Kubernetes Prow Robot
ab11b2e688
Merge pull request #3456 from aruneshpa/patch-1
Define Labels type and JSON tags for ProviderSpecific fields
2023-06-09 03:34:13 -07:00
Michel Loiseleur
93e7fcdb64 update go 1.20 on go.mod, docs & on ci 2023-06-09 11:46:55 +02:00
Kubernetes Prow Robot
9877b8fef9
Merge pull request #3525 from morremeyer/docs/crd-source
docs: add example for provider specific config
2023-05-08 04:45:17 -07:00
Kubernetes Prow Robot
bf055a1736
Merge pull request #2661 from servicelayers/crd-aws-example
[AWS] Include DnsEndpoint example with AWS provider specifics
2023-04-13 11:48:39 -07:00
Maurice Meyer
4c546fb73a docs: add example for provider specific config 2023-03-31 17:34:20 +02:00
Arunesh Pandey
b2eebecd68 Define Labels type and JSON tags for ProviderSpecific fields
The current example of CRD source is missing the `Labels` type
definition.  It also does not have the JSON tag for the `Name` and
`Value` fields of the `ProviderSpecificProperty` type.  As such,
creating a CRD from these types will result in errors.

This change fixes the two issues highlighted above.
2023-03-06 14:19:58 -08:00
Hyeonmin Park
c5824ae5d7 Merge branch 'master' into fix-typo-kvu-clusterip 2022-12-01 00:17:38 +09:00
Raffaele Di Fazio
cfce744c75
Upgrade ExternalDNS to go 1.19 (#3152)
* upgrades ExternalDNS to go 1.19

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* fixes testutil comparison

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* disable golint

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* bump golangici-lint

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* remove deprecated linters and revive

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* remove other linters to make it pass

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* remove gosimple

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>
2022-11-30 00:24:54 -08:00
Hyeonmin Park
8fd846593f Fix typo: service type ClusterIP capitalization 2022-11-24 17:59:54 +09:00
Will Hegedus
316345731c Bump to go 1.18
Required for net/netip package
2022-04-20 13:35:34 -04:00
Francisco Robles Martín
27aa444b9d [AWS] Include DnsEndpoint example with AWS provider specifics
Signed-off-by: Francisco Robles Martín <f.robles.martin@pm.me>
2022-03-22 11:17:32 +01:00
Steve Hipwell
a3a0f6d7bb feat[chart]: Release v1.8.0
Signed-off-by: Steve Hipwell <steve.hipwell@gmail.com>
2022-02-17 17:24:14 +00:00
Sean Malloy
bcc60e8531 Bump To Go 1.17 2022-01-21 14:23:58 -06:00
Steve Hipwell
c5259353fc feat(chart): update chart process
Signed-off-by: Steve Hipwell <steve.hipwell@gmail.com>
2021-11-11 16:46:38 +00:00