Skip to content

feat(pihole): add optional support for v6 #5226

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
Apr 2, 2025

Conversation

tJouve
Copy link
Contributor

@tJouve tJouve commented Mar 26, 2025

Description

Implementation for the PiHole provider to be compatible qith the PiHole V6 version.
This version change the API of PiHole. This PR implement the new one.

Fixes #5113

Original PR #5203

Checklist

  • Unit tests updated
  • End user documentation updated

Sorry, something went wrong.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Mar 26, 2025
@k8s-ci-robot
Copy link
Contributor

Hi @tJouve. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-ci-robot k8s-ci-robot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Mar 26, 2025
@tJouve tJouve mentioned this pull request Mar 26, 2025
2 tasks
@ivankatliarchuk
Copy link
Contributor

/ok-to-test
/label tide/merge-method-squash

@k8s-ci-robot k8s-ci-robot added tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Mar 26, 2025
@ivankatliarchuk
Copy link
Contributor

Fixtures for end-2-end #5203 (comment)

Copy link

@divStar divStar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If v5 - albeit deprecated - is to be considered the default, the PR looks good to me from what I can tell (except for that blank I guess).

My golang knowledge isn't particularly good though so I don't know about best practices etc. The last PR still works on my staging local cluster though.

Once the blank is fixed, I'll approve.

Copy link
Contributor

@ivankatliarchuk ivankatliarchuk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we improve code coverage. Any chance to increase it to 85-90% coverage to ease the support? Most of errors cases not covered, some functions have no coverage.

please run make cover-html
Screenshot 2025-03-26 at 21 05 37
Screenshot 2025-03-26 at 21 05 45
Screenshot 2025-03-26 at 21 06 00
Screenshot 2025-03-26 at 21 06 06
Screenshot 2025-03-26 at 21 06 14
Screenshot 2025-03-26 at 21 06 20

tJouve added 4 commits March 30, 2025 22:38

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
@tJouve
Copy link
Contributor Author

tJouve commented Mar 30, 2025

/retest

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Apr 1, 2025
tJouve and others added 2 commits April 2, 2025 01:17
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Apr 1, 2025
@tJouve
Copy link
Contributor Author

tJouve commented Apr 1, 2025

Fix coverage

/retest

Could we improve code coverage. Any chance to increase it to 85-90% coverage to ease the support? Most of errors cases not covered, some functions have no coverage.

please run make cover-html

Copy link
Contributor

@ivankatliarchuk ivankatliarchuk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 2, 2025
@ivankatliarchuk
Copy link
Contributor

/assign @mloiseleur

@mloiseleur
Copy link
Collaborator

/retitle feat(pihole): add optional support for v6

@k8s-ci-robot k8s-ci-robot changed the title fix(pihole): support v5 and v6 feat(pihole): add optional support for v6 Apr 2, 2025
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ivankatliarchuk, mloiseleur

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 2, 2025
@k8s-ci-robot k8s-ci-robot merged commit 1efdf41 into kubernetes-sigs:master Apr 2, 2025
13 checks passed
@samerziade
Copy link

Thanks for taking doing this @tJouve !!

@divStar
Copy link

divStar commented Apr 2, 2025

Many thanks from me, too, and I apologize for not having been of more help.

@xorinzor
Copy link

xorinzor commented Apr 2, 2025

Highly appreciated!

@QuadmanSWE
Copy link

Awesome, well done @tJouve.

@mloiseleur
Copy link
Collaborator

@QuadmanSWE @xorinzor @divStar @samerziade May I invite you to confirm it works as expected with latest build from master ?

docker run gcr.io/k8s-staging-external-dns/external-dns:v20250402-v0.16.1-48-g1efdf416

@QuadmanSWE
Copy link

@QuadmanSWE @xorinzor @divStar @samerziade May I invite you to confirm it works as expected with latest build from master ?

docker run gcr.io/k8s-staging-external-dns/external-dns:v20250402-v0.16.1-48-g1efdf416

Looks good to me

argocd app logs external-dns-pihole

time="2025-04-03T07:17:35Z" level=info msg="config: {APIServerURL: KubeConfig: RequestTimeout:30s DefaultTargets:[] GlooNamespaces:[gloo-system] SkipperRouteGroupVersion:zalando.org/v1 Sources:[istio-gateway service] Namespace: AnnotationFilter: LabelFilter: IngressClassNames:[] FQDNTemplate: CombineFQDNAndAnnotation:false IgnoreHostnameAnnotation:false IgnoreNonHostNetworkPods:false IgnoreIngressTLSSpec:false IgnoreIngressRulesSpec:false ListenEndpointEvents:false ExposeInternalIPV6:false GatewayName: GatewayNamespace: GatewayLabelFilter: Compatibility: PodSourceDomain: PublishInternal:false PublishHostIP:false AlwaysPublishNotReadyAddresses:false ConnectorSourceServer:localhost:8080 Provider:pihole ProviderCacheTime:0s GoogleProject: GoogleBatchChangeSize:1000 GoogleBatchChangeInterval:1s GoogleZoneVisibility: DomainFilter:[mgmt.dsoderlund.consulting] ExcludeDomains:[] RegexDomainFilter: RegexDomainExclusion: ZoneNameFilter:[] ZoneIDFilter:[] TargetNetFilter:[] ExcludeTargetNets:[] AlibabaCloudConfigFile:/etc/kubernetes/alibaba-cloud.json AlibabaCloudZoneType: AWSZoneType: AWSZoneTagFilter:[] AWSAssumeRole: AWSProfiles:[] AWSAssumeRoleExternalID: AWSBatchChangeSize:1000 AWSBatchChangeSizeBytes:32000 AWSBatchChangeSizeValues:1000 AWSBatchChangeInterval:1s AWSEvaluateTargetHealth:true AWSAPIRetries:3 AWSPreferCNAME:false AWSZoneCacheDuration:0s AWSSDServiceCleanup:false AWSSDCreateTag:map[] AWSZoneMatchParent:false AWSDynamoDBRegion: AWSDynamoDBTable:external-dns AzureConfigFile:/etc/kubernetes/azure.json AzureResourceGroup: AzureSubscriptionID: AzureUserAssignedIdentityClientID: AzureActiveDirectoryAuthorityHost: AzureZonesCacheDuration:0s CloudflareProxied:false CloudflareCustomHostnames:false CloudflareCustomHostnamesMinTLSVersion:1.0 CloudflareCustomHostnamesCertificateAuthority:google CloudflareDNSRecordsPerPage:100 CloudflareRegionKey: CoreDNSPrefix:/skydns/ AkamaiServiceConsumerDomain: AkamaiClientToken: AkamaiClientSecret: AkamaiAccessToken: AkamaiEdgercPath: AkamaiEdgercSection: OCIConfigFile:/etc/kubernetes/oci.yaml OCICompartmentOCID: OCIAuthInstancePrincipal:false OCIZoneScope:GLOBAL OCIZoneCacheDuration:0s InMemoryZones:[] OVHEndpoint:ovh-eu OVHApiRateLimit:20 OVHEnableCNAMERelative:false PDNSServer:http://localhost:8081 PDNSServerID:localhost PDNSAPIKey: PDNSSkipTLSVerify:false TLSCA: TLSClientCert: TLSClientCertKey: Policy:upsert-only Registry:noop TXTOwnerID:default TXTPrefix: TXTSuffix: TXTEncryptEnabled:false TXTEncryptAESKey: TXTNewFormatOnly:false Interval:1m0s MinEventSyncInterval:5s Once:false DryRun:false UpdateEvents:false LogFormat:text MetricsAddress::7979 LogLevel:info TXTCacheInterval:0s TXTWildcardReplacement: ExoscaleEndpoint: ExoscaleAPIKey: ExoscaleAPISecret: ExoscaleAPIEnvironment:api ExoscaleAPIZone:ch-gva-2 CRDSourceAPIVersion:externaldns.k8s.io/v1alpha1 CRDSourceKind:DNSEndpoint ServiceTypeFilter:[] CFAPIEndpoint: CFUsername: CFPassword: ResolveServiceLoadBalancerHostname:false RFC2136Host:[] RFC2136Port:0 RFC2136Zone:[] RFC2136Insecure:false RFC2136GSSTSIG:false RFC2136CreatePTR:false RFC2136KerberosRealm: RFC2136KerberosUsername: RFC2136KerberosPassword: RFC2136TSIGKeyName: RFC2136TSIGSecret: RFC2136TSIGSecretAlg: RFC2136TAXFR:false RFC2136MinTTL:0s RFC2136LoadBalancingStrategy:disabled RFC2136BatchChangeSize:50 RFC2136UseTLS:false RFC2136SkipTLSVerify:false NS1Endpoint: NS1IgnoreSSL:false NS1MinTTLSeconds:0 TransIPAccountName: TransIPPrivateKeyFile: DigitalOceanAPIPageSize:50 ManagedDNSRecordTypes:[A AAAA CNAME] ExcludeDNSRecordTypes:[] GoDaddyAPIKey: GoDaddySecretKey: GoDaddyTTL:0 GoDaddyOTE:false OCPRouterName: IBMCloudProxied:false IBMCloudConfigFile:/etc/kubernetes/ibmcloud.json TencentCloudConfigFile:/etc/kubernetes/tencent-cloud.json TencentCloudZoneType: PiholeServer:https://pihole.office.dsoderlund.consulting PiholePassword:****** PiholeTLSInsecureSkipVerify:false PiholeApiVersion:6 PluralCluster: PluralProvider: WebhookProviderURL:http://localhost:8888 WebhookProviderReadTimeout:5s WebhookProviderWriteTimeout:10s WebhookServer:false TraefikDisableLegacy:false TraefikDisableNew:false NAT64Networks:[]}"
time="2025-04-03T07:17:35Z" level=info msg="GitCommitShort=unknown, GoVersion=go1.24.2, Platform=linux/amd64, UserAgent=ExternalDNS/v20250402-v0.16.1-48-g1efdf416"
time="2025-04-03T07:17:35Z" level=info msg="Instantiating new Kubernetes client"
time="2025-04-03T07:17:35Z" level=info msg="Using inCluster-config based on serviceaccount-token"
time="2025-04-03T07:17:35Z" level=info msg="Created Kubernetes client https://10.96.0.1:443"
time="2025-04-03T07:17:35Z" level=info msg="All records are already up to date"
time="2025-04-03T07:18:36Z" level=info msg="All records are already up to date"
time="2025-04-03T07:19:37Z" level=info msg="All records are already up to date"
time="2025-04-03T07:20:37Z" level=info msg="All records are already up to date"

@xorinzor
Copy link

xorinzor commented Apr 3, 2025

Can confirm it works for me!

@tholinka
Copy link

tholinka commented Apr 4, 2025

It seems to me there is a bug with the support for AAAA records that causes a fatal error every run after the first one. AAAA records also never get deleted when using sync, unlike A and CNAME records.

I can create a separate issue if anyone wants me to, but I thought I'd put it as a comment first since this hasn't been officially released yet.


Using the staging image v20250403-v0.16.1-70-gc5af75e3

I get the following error when I have the sources set to service (I get the same fatal error for both both upsert-only and sync, I'm using sync here when writing it up):

(No records at all in the Pi-Hole UI when I startup external-dns)

time="2025-04-03T21:41:04-05:00" level=debug msg="Endpoints generated from service: kube-system/cilium-gateway-internal: [internal.domain.name 0 IN A  192.168.20.3 [] internal.domain.name 0 IN AAAA  ::ffff:192.168.20.3 []]"
...
time="2025-04-03T21:41:04-05:00" level=info msg="PUT internal.domain.name IN AAAA -> ::ffff:192.168.20.3"
time="2025-04-03T21:41:04-05:00" level=info msg="PUT internal.domain.name IN A -> 192.168.20.3"
...
time="2025-04-03T21:41:09-05:00" level=debug msg="Endpoints generated from service: kube-system/cilium-gateway-internal: [internal.domain.name 0 IN A  192.168.20.3 [] internal.domain.name 0 IN AAAA  ::ffff:192.168.20.3 []]"
...
time="2025-04-03T21:41:09-05:00" level=info msg="PUT internal.domain.name IN AAAA -> ::ffff:192.168.20.3"
time="2025-04-03T21:41:09-05:00" level=debug msg="Error on request %!s(<nil>)"
time="2025-04-03T21:41:09-05:00" level=fatal msg="Failed to do run once: received 400 status code from request: [bad_request] Item already present (Uniqueness of items is enforced) - 0.000316s"

(These are the only logs with debug enabled that include 192.168.20.3)

This causes the pod to enter CrashLoopBackOff.

When the pod retries, it shows instead:

time="2025-04-03T21:48:40-05:00" level=debug msg="Endpoints generated from service: kube-system/cilium-gateway-external: [internal.domain.name 0 IN A  192.168.20.3 [] internal.domain.name 0 IN AAAA  ::ffff:192.1
68.20.3 []]"
...
time="2025-04-03T21:48:40-05:00" level=info msg="PUT internal.domain.name IN AAAA -> ::ffff:192.168.20.3"
time="2025-04-03T21:48:40-05:00" level=debug msg="Error on request %!s(<nil>)"
time="2025-04-03T21:48:40-05:00" level=fatal msg="Failed to do run once: received 400 status code from request: [bad_request] Item already present (Uniqueness of items is enforced) - 0.000280s"

(So only the one, instead of showing it twice)

If I switch from service as the source to gateway-httproute, the A record get deleted and my CNAME records get created as expected, but the AAAA records do not get deleted, I still see them in the Pi-Hole UI. (And I see the All records are already up to date, the pod does not crash)

If I then switch back again from gateway-httproute to service, all the CNAME records get deleted, but I get the fatal error before the A record even get created, since it fails to re-create the AAAA record first.

Adding --exclude-record-types=AAAA fixes the crash, but obviously the AAAA records do not get created.

tholinka added a commit to tholinka/home-ops that referenced this pull request Apr 4, 2025
@xorinzor
Copy link

xorinzor commented Apr 4, 2025

I don't use AAAA records so I'm unable to test that unfortunately.

I do however see these warnings quite often, seems something is not properly handled or closed yet

time="2025-04-04T07:58:51Z" level=info msg="All records are already up to date"
W0404 07:58:59.452115       1 transport.go:356] Unable to cancel request for *instrumented_http.Transport
W0404 07:58:59.452188       1 transport.go:356] Unable to cancel request for *instrumented_http.Transport
W0404 07:58:59.455798       1 transport.go:356] Unable to cancel request for *instrumented_http.Transport
W0404 07:58:59.524257       1 transport.go:356] Unable to cancel request for *instrumented_http.Transport
W0404 07:58:59.607966       1 transport.go:356] Unable to cancel request for *instrumented_http.Transport
W0404 07:58:59.607998       1 transport.go:356] Unable to cancel request for *instrumented_http.Transport

@tholinka
Copy link

tholinka commented Apr 4, 2025

There seems to be some issues when using sync in general. It works fine for a little while, but eventually Pi-Hole quits responding to dns queries until I restart it. It seems like Pi-Hole doesn't like the entries continuously being deleted and created? upsert-only doesn't seem to have the same issue so far.

@tJouve
Copy link
Contributor Author

tJouve commented Apr 5, 2025

It seems to me there is a bug with the support for AAAA records that causes a fatal error every run after the first one. AAAA records also never get deleted when using sync, unlike A and CNAME records.

I can create a separate issue if anyone wants me to, but I thought I'd put it as a comment first since this hasn't been officially released yet.

Using the staging image v20250403-v0.16.1-70-gc5af75e3

I get the following error when I have the sources set to service (I get the same fatal error for both both upsert-only and sync, I'm using sync here when writing it up):

(No records at all in the Pi-Hole UI when I startup external-dns)

time="2025-04-03T21:41:04-05:00" level=debug msg="Endpoints generated from service: kube-system/cilium-gateway-internal: [internal.domain.name 0 IN A  192.168.20.3 [] internal.domain.name 0 IN AAAA  ::ffff:192.168.20.3 []]"
...
time="2025-04-03T21:41:04-05:00" level=info msg="PUT internal.domain.name IN AAAA -> ::ffff:192.168.20.3"
time="2025-04-03T21:41:04-05:00" level=info msg="PUT internal.domain.name IN A -> 192.168.20.3"
...
time="2025-04-03T21:41:09-05:00" level=debug msg="Endpoints generated from service: kube-system/cilium-gateway-internal: [internal.domain.name 0 IN A  192.168.20.3 [] internal.domain.name 0 IN AAAA  ::ffff:192.168.20.3 []]"
...
time="2025-04-03T21:41:09-05:00" level=info msg="PUT internal.domain.name IN AAAA -> ::ffff:192.168.20.3"
time="2025-04-03T21:41:09-05:00" level=debug msg="Error on request %!s(<nil>)"
time="2025-04-03T21:41:09-05:00" level=fatal msg="Failed to do run once: received 400 status code from request: [bad_request] Item already present (Uniqueness of items is enforced) - 0.000316s"

(These are the only logs with debug enabled that include 192.168.20.3)

This causes the pod to enter CrashLoopBackOff.

When the pod retries, it shows instead:

time="2025-04-03T21:48:40-05:00" level=debug msg="Endpoints generated from service: kube-system/cilium-gateway-external: [internal.domain.name 0 IN A  192.168.20.3 [] internal.domain.name 0 IN AAAA  ::ffff:192.1
68.20.3 []]"
...
time="2025-04-03T21:48:40-05:00" level=info msg="PUT internal.domain.name IN AAAA -> ::ffff:192.168.20.3"
time="2025-04-03T21:48:40-05:00" level=debug msg="Error on request %!s(<nil>)"
time="2025-04-03T21:48:40-05:00" level=fatal msg="Failed to do run once: received 400 status code from request: [bad_request] Item already present (Uniqueness of items is enforced) - 0.000280s"

(So only the one, instead of showing it twice)

If I switch from service as the source to gateway-httproute, the A record get deleted and my CNAME records get created as expected, but the AAAA records do not get deleted, I still see them in the Pi-Hole UI. (And I see the All records are already up to date, the pod does not crash)

If I then switch back again from gateway-httproute to service, all the CNAME records get deleted, but I get the fatal error before the A record even get created, since it fails to re-create the AAAA record first.

Adding --exclude-record-types=AAAA fixes the crash, but obviously the AAAA records do not get created.

Can you provide PiHole logs ? You can do that in System > Settings > All settings > Debug > debug.api.

For sure the part of the solution is here :

case endpoint.RecordTypeAAAA:
if strings.Contains(Target, ".") {
continue

If the AAAA record contain a '.' it is skip when EXT DNS try to retrieve the list of records. Should add a log here (and fix)
In the end PiHole Client did not return the record, so Ext DNS decide to create it. Then PiHole return an error because the record exist (filtered on the get fct) . Resulting in creating the record multiple times the Item already present (Uniqueness of items is enforced) message is correct.

The same code is present in V5 client. Did you have the same issue with pihole v5 ?

Not Sure IPV6 dual => y:y:y:y:y:y:x.x.x.x. is supported by pihole

Also :

log.Debugf("Error on request %s", req.Body)
If the body is nil the log is useless - should display the query (here the query is a GET request so .. no body)

Finally : The 400 is not handle. causing the error

return nil, fmt.Errorf("received %d status code from request: [%s] %s (%s) - %fs", res.StatusCode, apiError.Error.Key, apiError.Error.Message, apiError.Error.Hint, apiError.Took)

Record is not managed in the end, Should we display a error or a fatal error ?

@tholinka please create an issue i will provide a fix

@tJouve
Copy link
Contributor Author

tJouve commented Apr 5, 2025

Unable to cancel request for *instrumented_http.Transport

Looks like => #2348

But in the end we do not need instrumented_http.Transport here :

cl := instrumented_http.NewClient(httpClient, &instrumented_http.Callbacks{})
p := &piholeClientV6{
cfg: cfg,
httpClient: cl,
}

As we do not specify any callbacks

Can be replaced by :

 p := &piholeClientV6{ 
 	cfg:        cfg, 
 	httpClient: httpClient, 
 } 

ivankatliarchuk added a commit to gofogo/k8s-sigs-external-dns-fork that referenced this pull request Apr 16, 2025
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

chore(deps): bump renovatebot/github-action

Bumps the dev-dependencies group with 1 update: [renovatebot/github-action](https://github.com/renovatebot/github-action).

Updates `renovatebot/github-action` from 41.0.14 to 41.0.16
- [Release notes](https://github.com/renovatebot/github-action/releases)
- [Changelog](https://github.com/renovatebot/github-action/blob/main/CHANGELOG.md)
- [Commits](renovatebot/github-action@v41.0.14...v41.0.16)

---
updated-dependencies:
- dependency-name: renovatebot/github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

feat(chart): Update image to v0.16.1

Signed-off-by: Steve Hipwell <steve.hipwell@gmail.com>

chore(deps): bump renovatebot/github-action

Bumps the dev-dependencies group with 1 update: [renovatebot/github-action](https://github.com/renovatebot/github-action).

Updates `renovatebot/github-action` from 41.0.16 to 41.0.17
- [Release notes](https://github.com/renovatebot/github-action/releases)
- [Changelog](https://github.com/renovatebot/github-action/blob/main/CHANGELOG.md)
- [Commits](renovatebot/github-action@v41.0.16...v41.0.17)

---
updated-dependencies:
- dependency-name: renovatebot/github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

feat: IDNA awareness in the zone finder (kubernetes-sigs#5147)

* feat: IDNA awareness in the zone finder

* feat: update zonefinder unit tests

* chore: add warning log and respective test

feat(banner): standardize user agent and output (kubernetes-sigs#5154)

* chore(banner): add banner

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

* chore(banner): add banner

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

* chore(banner): add banner

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

* chore(banner): add banner

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

* feat(banner): standartise user agent and output banner

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

---------

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

fix(cloudflare): custom hostnames edge-cases causing duplicates (kubernetes-sigs#5183)

* fix(cloudflare): custom hostnames edge-cases causing duplicates

* syntax/style

* Use %q log fmt for cloudflare provider code

* move custom hostnames related submitChanges() implementation to a separate method submitCustomHostnameChanges(); extend truncated logging

* use maps for DNS records getRecordID() and custom hostnames getCustomHostname() for faster lookups

* types for records/custom hostnames maps

* tidy up using underlying maps for dns records and custom hostnames

* style/naming

* fix private names

* combine unnecessarily separated conditions

fix: correct route53 iam

chore(deps): bump the dev-dependencies group across 1 directory with 20 updates

Bumps the dev-dependencies group with 16 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [github.com/Azure/azure-sdk-for-go/sdk/azcore](https://github.com/Azure/azure-sdk-for-go) | `1.17.0` | `1.17.1` |
| [github.com/IBM-Cloud/ibm-cloud-cli-sdk](https://github.com/IBM-Cloud/ibm-cloud-cli-sdk) | `1.6.2` | `1.7.0` |
| [github.com/IBM/go-sdk-core/v5](https://github.com/IBM/go-sdk-core) | `5.18.5` | `5.19.0` |
| [github.com/aliyun/alibaba-cloud-sdk-go](https://github.com/aliyun/alibaba-cloud-sdk-go) | `1.63.92` | `1.63.100` |
| [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) | `1.18.7` | `1.18.8` |
| [github.com/aws/aws-sdk-go-v2/service/route53](https://github.com/aws/aws-sdk-go-v2) | `1.49.1` | `1.50.0` |
| [github.com/civo/civogo](https://github.com/civo/civogo) | `0.3.94` | `0.3.95` |
| [github.com/digitalocean/godo](https://github.com/digitalocean/godo) | `1.138.0` | `1.141.0` |
| [github.com/miekg/dns](https://github.com/miekg/dns) | `1.1.63` | `1.1.64` |
| [github.com/oracle/oci-go-sdk/v65](https://github.com/oracle/oci-go-sdk) | `65.85.0` | `65.87.0` |
| [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common](https://github.com/tencentcloud/tencentcloud-sdk-go) | `1.0.1115` | `1.0.1129` |
| [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod](https://github.com/tencentcloud/tencentcloud-sdk-go) | `1.0.1115` | `1.0.1128` |
| [go.etcd.io/etcd/client/v3](https://github.com/etcd-io/etcd) | `3.5.19` | `3.5.20` |
| [google.golang.org/api](https://github.com/googleapis/google-api-go-client) | `0.223.0` | `0.227.0` |
| [k8s.io/api](https://github.com/kubernetes/api) | `0.32.2` | `0.32.3` |
| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.32.2` | `0.32.3` |

Updates `github.com/Azure/azure-sdk-for-go/sdk/azcore` from 1.17.0 to 1.17.1
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md)
- [Commits](Azure/azure-sdk-for-go@sdk/azcore/v1.17.0...sdk/azcore/v1.17.1)

Updates `github.com/IBM-Cloud/ibm-cloud-cli-sdk` from 1.6.2 to 1.7.0
- [Release notes](https://github.com/IBM-Cloud/ibm-cloud-cli-sdk/releases)
- [Commits](IBM-Cloud/ibm-cloud-cli-sdk@v1.6.2...v1.7.0)

Updates `github.com/IBM/go-sdk-core/v5` from 5.18.5 to 5.19.0
- [Release notes](https://github.com/IBM/go-sdk-core/releases)
- [Changelog](https://github.com/IBM/go-sdk-core/blob/main/CHANGELOG.md)
- [Commits](IBM/go-sdk-core@v5.18.5...v5.19.0)

Updates `github.com/aliyun/alibaba-cloud-sdk-go` from 1.63.92 to 1.63.100
- [Release notes](https://github.com/aliyun/alibaba-cloud-sdk-go/releases)
- [Changelog](https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/ChangeLog.txt)
- [Commits](aliyun/alibaba-cloud-sdk-go@v1.63.92...v1.63.100)

Updates `github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue` from 1.18.7 to 1.18.8
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@config/v1.18.7...config/v1.18.8)

Updates `github.com/aws/aws-sdk-go-v2/service/dynamodb` from 1.41.1 to 1.42.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/ecr/v1.41.1...service/s3/v1.42.0)

Updates `github.com/aws/aws-sdk-go-v2/service/route53` from 1.49.1 to 1.50.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/ssm/v1.49.1...service/s3/v1.50.0)

Updates `github.com/civo/civogo` from 0.3.94 to 0.3.95
- [Release notes](https://github.com/civo/civogo/releases)
- [Changelog](https://github.com/civo/civogo/blob/master/changelog.yml)
- [Commits](civo/civogo@v0.3.94...v0.3.95)

Updates `github.com/digitalocean/godo` from 1.138.0 to 1.141.0
- [Release notes](https://github.com/digitalocean/godo/releases)
- [Changelog](https://github.com/digitalocean/godo/blob/main/CHANGELOG.md)
- [Commits](digitalocean/godo@v1.138.0...v1.141.0)

Updates `github.com/miekg/dns` from 1.1.63 to 1.1.64
- [Changelog](https://github.com/miekg/dns/blob/master/Makefile.release)
- [Commits](miekg/dns@v1.1.63...v1.1.64)

Updates `github.com/oracle/oci-go-sdk/v65` from 65.85.0 to 65.87.0
- [Release notes](https://github.com/oracle/oci-go-sdk/releases)
- [Changelog](https://github.com/oracle/oci-go-sdk/blob/master/CHANGELOG.md)
- [Commits](oracle/oci-go-sdk@v65.85.0...v65.87.0)

Updates `github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common` from 1.0.1115 to 1.0.1129
- [Commits](TencentCloud/tencentcloud-sdk-go@v1.0.1115...v1.0.1129)

Updates `github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod` from 1.0.1115 to 1.0.1128
- [Commits](TencentCloud/tencentcloud-sdk-go@v1.0.1115...v1.0.1128)

Updates `go.etcd.io/etcd/client/v3` from 3.5.19 to 3.5.20
- [Release notes](https://github.com/etcd-io/etcd/releases)
- [Commits](etcd-io/etcd@v3.5.19...v3.5.20)

Updates `golang.org/x/net` from 0.36.0 to 0.37.0
- [Commits](golang/net@v0.36.0...v0.37.0)

Updates `golang.org/x/text` from 0.22.0 to 0.23.0
- [Release notes](https://github.com/golang/text/releases)
- [Commits](golang/text@v0.22.0...v0.23.0)

Updates `google.golang.org/api` from 0.223.0 to 0.227.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](googleapis/google-api-go-client@v0.223.0...v0.227.0)

Updates `k8s.io/api` from 0.32.2 to 0.32.3
- [Commits](kubernetes/api@v0.32.2...v0.32.3)

Updates `k8s.io/apimachinery` from 0.32.2 to 0.32.3
- [Commits](kubernetes/apimachinery@v0.32.2...v0.32.3)

Updates `k8s.io/client-go` from 0.32.2 to 0.32.3
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](kubernetes/client-go@v0.32.2...v0.32.3)

---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azcore
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/IBM-Cloud/ibm-cloud-cli-sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/IBM/go-sdk-core/v5
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/aliyun/alibaba-cloud-sdk-go
  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-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-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-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/civo/civogo
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/digitalocean/godo
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/miekg/dns
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/oracle/oci-go-sdk/v65
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: go.etcd.io/etcd/client/v3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: golang.org/x/text
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: google.golang.org/api
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: k8s.io/api
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: k8s.io/apimachinery
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: k8s.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

feat: added expose internal ipv6 flag

fix: removing fmt.Printf

fix: fixing ci lint

docs: added documentation in node source

edited docs and made new test

added warn log

detailed documentation with no-expose

added new tests to handle edge case

renaming variable

removing reduntant code

fix(chart): add missing types for empty values (kubernetes-sigs#5207)

* fix(chart): add missing types for empty values

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

* fix(chart): add one more space before comment

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

* chore: add changelog entry

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

* fix: use default value for service account token

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

* fix: tests for new default values

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

* chore: add one more changelog entry

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

---------

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

fix(node): logger test fixed (kubernetes-sigs#5232)

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

docs: Fix typo: grcp → grpc.

chore(deps): bump the dev-dependencies group across 1 directory with 17 updates

Bumps the dev-dependencies group with 15 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [github.com/IBM/networking-go-sdk](https://github.com/IBM/networking-go-sdk) | `0.51.2` | `0.51.3` |
| [github.com/aliyun/alibaba-cloud-sdk-go](https://github.com/aliyun/alibaba-cloud-sdk-go) | `1.63.100` | `1.63.103` |
| [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) | `1.29.9` | `1.29.12` |
| [github.com/civo/civogo](https://github.com/civo/civogo) | `0.3.95` | `0.3.96` |
| [github.com/digitalocean/godo](https://github.com/digitalocean/godo) | `1.141.0` | `1.142.0` |
| [github.com/oracle/oci-go-sdk/v65](https://github.com/oracle/oci-go-sdk) | `65.87.0` | `65.88.0` |
| [github.com/projectcontour/contour](https://github.com/projectcontour/contour) | `1.30.2` | `1.30.3` |
| [github.com/scaleway/scaleway-sdk-go](https://github.com/scaleway/scaleway-sdk-go) | `1.0.0-beta.32` | `1.0.0-beta.33` |
| [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common](https://github.com/tencentcloud/tencentcloud-sdk-go) | `1.0.1129` | `1.0.1134` |
| [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod](https://github.com/tencentcloud/tencentcloud-sdk-go) | `1.0.1128` | `1.0.1134` |
| [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns](https://github.com/tencentcloud/tencentcloud-sdk-go) | `1.0.1115` | `1.0.1132` |
| [go.etcd.io/etcd/client/v3](https://github.com/etcd-io/etcd) | `3.5.20` | `3.5.21` |
| [google.golang.org/api](https://github.com/googleapis/google-api-go-client) | `0.227.0` | `0.228.0` |
| [istio.io/api](https://github.com/istio/api) | `1.25.0` | `1.25.1` |
| [istio.io/client-go](https://github.com/istio/client-go) | `1.25.0` | `1.25.1` |

Updates `github.com/IBM/networking-go-sdk` from 0.51.2 to 0.51.3
- [Release notes](https://github.com/IBM/networking-go-sdk/releases)
- [Changelog](https://github.com/IBM/networking-go-sdk/blob/master/CHANGELOG.md)
- [Commits](IBM/networking-go-sdk@v0.51.2...v0.51.3)

Updates `github.com/aliyun/alibaba-cloud-sdk-go` from 1.63.100 to 1.63.103
- [Release notes](https://github.com/aliyun/alibaba-cloud-sdk-go/releases)
- [Changelog](https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/ChangeLog.txt)
- [Commits](aliyun/alibaba-cloud-sdk-go@v1.63.100...v1.63.103)

Updates `github.com/aws/aws-sdk-go-v2/config` from 1.29.9 to 1.29.12
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@config/v1.29.9...config/v1.29.12)

Updates `github.com/aws/aws-sdk-go-v2/credentials` from 1.17.62 to 1.17.65
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@credentials/v1.17.62...credentials/v1.17.65)

Updates `github.com/civo/civogo` from 0.3.95 to 0.3.96
- [Release notes](https://github.com/civo/civogo/releases)
- [Changelog](https://github.com/civo/civogo/blob/master/changelog.yml)
- [Commits](civo/civogo@v0.3.95...v0.3.96)

Updates `github.com/digitalocean/godo` from 1.141.0 to 1.142.0
- [Release notes](https://github.com/digitalocean/godo/releases)
- [Changelog](https://github.com/digitalocean/godo/blob/main/CHANGELOG.md)
- [Commits](digitalocean/godo@v1.141.0...v1.142.0)

Updates `github.com/oracle/oci-go-sdk/v65` from 65.87.0 to 65.88.0
- [Release notes](https://github.com/oracle/oci-go-sdk/releases)
- [Changelog](https://github.com/oracle/oci-go-sdk/blob/master/CHANGELOG.md)
- [Commits](oracle/oci-go-sdk@v65.87.0...v65.88.0)

Updates `github.com/projectcontour/contour` from 1.30.2 to 1.30.3
- [Release notes](https://github.com/projectcontour/contour/releases)
- [Changelog](https://github.com/projectcontour/contour/blob/main/RELEASES.md)
- [Commits](projectcontour/contour@v1.30.2...v1.30.3)

Updates `github.com/scaleway/scaleway-sdk-go` from 1.0.0-beta.32 to 1.0.0-beta.33
- [Release notes](https://github.com/scaleway/scaleway-sdk-go/releases)
- [Changelog](https://github.com/scaleway/scaleway-sdk-go/blob/master/CHANGELOG.md)
- [Commits](scaleway/scaleway-sdk-go@v1.0.0-beta.32...v1.0.0-beta.33)

Updates `github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common` from 1.0.1129 to 1.0.1134
- [Commits](TencentCloud/tencentcloud-sdk-go@v1.0.1129...v1.0.1134)

Updates `github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod` from 1.0.1128 to 1.0.1134
- [Commits](TencentCloud/tencentcloud-sdk-go@v1.0.1128...v1.0.1134)

Updates `github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns` from 1.0.1115 to 1.0.1132
- [Commits](TencentCloud/tencentcloud-sdk-go@v1.0.1115...v1.0.1132)

Updates `go.etcd.io/etcd/client/v3` from 3.5.20 to 3.5.21
- [Release notes](https://github.com/etcd-io/etcd/releases)
- [Commits](etcd-io/etcd@v3.5.20...v3.5.21)

Updates `golang.org/x/net` from 0.37.0 to 0.38.0
- [Commits](golang/net@v0.37.0...v0.38.0)

Updates `google.golang.org/api` from 0.227.0 to 0.228.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](googleapis/google-api-go-client@v0.227.0...v0.228.0)

Updates `istio.io/api` from 1.25.0 to 1.25.1
- [Commits](istio/api@1.25.0...1.25.1)

Updates `istio.io/client-go` from 1.25.0 to 1.25.1
- [Commits](istio/client-go@1.25.0...1.25.1)

---
updated-dependencies:
- dependency-name: github.com/IBM/networking-go-sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/aliyun/alibaba-cloud-sdk-go
  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-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/civo/civogo
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/digitalocean/godo
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/oracle/oci-go-sdk/v65
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/projectcontour/contour
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/scaleway/scaleway-sdk-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: go.etcd.io/etcd/client/v3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: google.golang.org/api
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: istio.io/api
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: istio.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

chore: add se for nlb, alb in thailand region

chore(code-cleanup): move logic away from main.go add tests (kubernetes-sigs#5222)

* feat(code cleanup): remove from main.go

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

* chore(code-cleanup): move logic from main.go add tests

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

* chore(code-cleanup): move logic from main.go add tests

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

* chore(code-cleanup): move logic from main.go add tests

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

* chore(code-cleanup): move logic from main.go add tests

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

* chore(code-cleanup): move logic away from main.go add tests

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

* chore(code-cleanup): move logic away from main.go add tests

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

* chore(code-cleanup): move logic away from main.go add tests

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

* chore(code-cleanup): move logic away from main.go add tests

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

* chore(code-cleanup): move logic away from main.go add tests

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>

docs(proposal): externaldns api graduation to beta (kubernetes-sigs#5079)

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

fix(helm): added missing schema values (kubernetes-sigs#5228)

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

---------

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

chore(ci): update linter to v2.0.2

feat(pihole): add optional support for v6 (kubernetes-sigs#5226)

* Pi hole V6 impl

* Code Review Part One

* Fix Go Lint

* Regenerate Flags file

* Increase code coverage 1/2

* Increase code coverage 2/2

* Fix merge conflict => Provider init move from main.go to execute.go

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

fix(cloudflare): custom hostnames edge-cases causing duplicates

syntax/style

Use %q log fmt for cloudflare provider code
ivankatliarchuk added a commit to gofogo/k8s-sigs-external-dns-fork that referenced this pull request Apr 16, 2025
# This is the 1st commit message:

chore(source): code cleanup

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

chore(deps): bump renovatebot/github-action

Bumps the dev-dependencies group with 1 update: [renovatebot/github-action](https://github.com/renovatebot/github-action).

Updates `renovatebot/github-action` from 41.0.14 to 41.0.16
- [Release notes](https://github.com/renovatebot/github-action/releases)
- [Changelog](https://github.com/renovatebot/github-action/blob/main/CHANGELOG.md)
- [Commits](renovatebot/github-action@v41.0.14...v41.0.16)

---
updated-dependencies:
- dependency-name: renovatebot/github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

feat(chart): Update image to v0.16.1

Signed-off-by: Steve Hipwell <steve.hipwell@gmail.com>

chore(deps): bump renovatebot/github-action

Bumps the dev-dependencies group with 1 update: [renovatebot/github-action](https://github.com/renovatebot/github-action).

Updates `renovatebot/github-action` from 41.0.16 to 41.0.17
- [Release notes](https://github.com/renovatebot/github-action/releases)
- [Changelog](https://github.com/renovatebot/github-action/blob/main/CHANGELOG.md)
- [Commits](renovatebot/github-action@v41.0.16...v41.0.17)

---
updated-dependencies:
- dependency-name: renovatebot/github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

feat: IDNA awareness in the zone finder (kubernetes-sigs#5147)

* feat: IDNA awareness in the zone finder

* feat: update zonefinder unit tests

* chore: add warning log and respective test

feat(banner): standardize user agent and output (kubernetes-sigs#5154)

* chore(banner): add banner

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

* chore(banner): add banner

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

* chore(banner): add banner

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

* chore(banner): add banner

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

* feat(banner): standartise user agent and output banner

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

---------

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

fix(cloudflare): custom hostnames edge-cases causing duplicates (kubernetes-sigs#5183)

* fix(cloudflare): custom hostnames edge-cases causing duplicates

* syntax/style

* Use %q log fmt for cloudflare provider code

* move custom hostnames related submitChanges() implementation to a separate method submitCustomHostnameChanges(); extend truncated logging

* use maps for DNS records getRecordID() and custom hostnames getCustomHostname() for faster lookups

* types for records/custom hostnames maps

* tidy up using underlying maps for dns records and custom hostnames

* style/naming

* fix private names

* combine unnecessarily separated conditions

fix: correct route53 iam

chore(deps): bump the dev-dependencies group across 1 directory with 20 updates

Bumps the dev-dependencies group with 16 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [github.com/Azure/azure-sdk-for-go/sdk/azcore](https://github.com/Azure/azure-sdk-for-go) | `1.17.0` | `1.17.1` |
| [github.com/IBM-Cloud/ibm-cloud-cli-sdk](https://github.com/IBM-Cloud/ibm-cloud-cli-sdk) | `1.6.2` | `1.7.0` |
| [github.com/IBM/go-sdk-core/v5](https://github.com/IBM/go-sdk-core) | `5.18.5` | `5.19.0` |
| [github.com/aliyun/alibaba-cloud-sdk-go](https://github.com/aliyun/alibaba-cloud-sdk-go) | `1.63.92` | `1.63.100` |
| [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) | `1.18.7` | `1.18.8` |
| [github.com/aws/aws-sdk-go-v2/service/route53](https://github.com/aws/aws-sdk-go-v2) | `1.49.1` | `1.50.0` |
| [github.com/civo/civogo](https://github.com/civo/civogo) | `0.3.94` | `0.3.95` |
| [github.com/digitalocean/godo](https://github.com/digitalocean/godo) | `1.138.0` | `1.141.0` |
| [github.com/miekg/dns](https://github.com/miekg/dns) | `1.1.63` | `1.1.64` |
| [github.com/oracle/oci-go-sdk/v65](https://github.com/oracle/oci-go-sdk) | `65.85.0` | `65.87.0` |
| [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common](https://github.com/tencentcloud/tencentcloud-sdk-go) | `1.0.1115` | `1.0.1129` |
| [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod](https://github.com/tencentcloud/tencentcloud-sdk-go) | `1.0.1115` | `1.0.1128` |
| [go.etcd.io/etcd/client/v3](https://github.com/etcd-io/etcd) | `3.5.19` | `3.5.20` |
| [google.golang.org/api](https://github.com/googleapis/google-api-go-client) | `0.223.0` | `0.227.0` |
| [k8s.io/api](https://github.com/kubernetes/api) | `0.32.2` | `0.32.3` |
| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.32.2` | `0.32.3` |

Updates `github.com/Azure/azure-sdk-for-go/sdk/azcore` from 1.17.0 to 1.17.1
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md)
- [Commits](Azure/azure-sdk-for-go@sdk/azcore/v1.17.0...sdk/azcore/v1.17.1)

Updates `github.com/IBM-Cloud/ibm-cloud-cli-sdk` from 1.6.2 to 1.7.0
- [Release notes](https://github.com/IBM-Cloud/ibm-cloud-cli-sdk/releases)
- [Commits](IBM-Cloud/ibm-cloud-cli-sdk@v1.6.2...v1.7.0)

Updates `github.com/IBM/go-sdk-core/v5` from 5.18.5 to 5.19.0
- [Release notes](https://github.com/IBM/go-sdk-core/releases)
- [Changelog](https://github.com/IBM/go-sdk-core/blob/main/CHANGELOG.md)
- [Commits](IBM/go-sdk-core@v5.18.5...v5.19.0)

Updates `github.com/aliyun/alibaba-cloud-sdk-go` from 1.63.92 to 1.63.100
- [Release notes](https://github.com/aliyun/alibaba-cloud-sdk-go/releases)
- [Changelog](https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/ChangeLog.txt)
- [Commits](aliyun/alibaba-cloud-sdk-go@v1.63.92...v1.63.100)

Updates `github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue` from 1.18.7 to 1.18.8
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@config/v1.18.7...config/v1.18.8)

Updates `github.com/aws/aws-sdk-go-v2/service/dynamodb` from 1.41.1 to 1.42.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/ecr/v1.41.1...service/s3/v1.42.0)

Updates `github.com/aws/aws-sdk-go-v2/service/route53` from 1.49.1 to 1.50.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/ssm/v1.49.1...service/s3/v1.50.0)

Updates `github.com/civo/civogo` from 0.3.94 to 0.3.95
- [Release notes](https://github.com/civo/civogo/releases)
- [Changelog](https://github.com/civo/civogo/blob/master/changelog.yml)
- [Commits](civo/civogo@v0.3.94...v0.3.95)

Updates `github.com/digitalocean/godo` from 1.138.0 to 1.141.0
- [Release notes](https://github.com/digitalocean/godo/releases)
- [Changelog](https://github.com/digitalocean/godo/blob/main/CHANGELOG.md)
- [Commits](digitalocean/godo@v1.138.0...v1.141.0)

Updates `github.com/miekg/dns` from 1.1.63 to 1.1.64
- [Changelog](https://github.com/miekg/dns/blob/master/Makefile.release)
- [Commits](miekg/dns@v1.1.63...v1.1.64)

Updates `github.com/oracle/oci-go-sdk/v65` from 65.85.0 to 65.87.0
- [Release notes](https://github.com/oracle/oci-go-sdk/releases)
- [Changelog](https://github.com/oracle/oci-go-sdk/blob/master/CHANGELOG.md)
- [Commits](oracle/oci-go-sdk@v65.85.0...v65.87.0)

Updates `github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common` from 1.0.1115 to 1.0.1129
- [Commits](TencentCloud/tencentcloud-sdk-go@v1.0.1115...v1.0.1129)

Updates `github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod` from 1.0.1115 to 1.0.1128
- [Commits](TencentCloud/tencentcloud-sdk-go@v1.0.1115...v1.0.1128)

Updates `go.etcd.io/etcd/client/v3` from 3.5.19 to 3.5.20
- [Release notes](https://github.com/etcd-io/etcd/releases)
- [Commits](etcd-io/etcd@v3.5.19...v3.5.20)

Updates `golang.org/x/net` from 0.36.0 to 0.37.0
- [Commits](golang/net@v0.36.0...v0.37.0)

Updates `golang.org/x/text` from 0.22.0 to 0.23.0
- [Release notes](https://github.com/golang/text/releases)
- [Commits](golang/text@v0.22.0...v0.23.0)

Updates `google.golang.org/api` from 0.223.0 to 0.227.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](googleapis/google-api-go-client@v0.223.0...v0.227.0)

Updates `k8s.io/api` from 0.32.2 to 0.32.3
- [Commits](kubernetes/api@v0.32.2...v0.32.3)

Updates `k8s.io/apimachinery` from 0.32.2 to 0.32.3
- [Commits](kubernetes/apimachinery@v0.32.2...v0.32.3)

Updates `k8s.io/client-go` from 0.32.2 to 0.32.3
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](kubernetes/client-go@v0.32.2...v0.32.3)

---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azcore
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/IBM-Cloud/ibm-cloud-cli-sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/IBM/go-sdk-core/v5
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/aliyun/alibaba-cloud-sdk-go
  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-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-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-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/civo/civogo
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/digitalocean/godo
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/miekg/dns
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/oracle/oci-go-sdk/v65
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: go.etcd.io/etcd/client/v3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: golang.org/x/text
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: google.golang.org/api
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: k8s.io/api
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: k8s.io/apimachinery
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: k8s.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

feat: added expose internal ipv6 flag

fix: removing fmt.Printf

fix: fixing ci lint

docs: added documentation in node source

edited docs and made new test

added warn log

detailed documentation with no-expose

added new tests to handle edge case

renaming variable

removing reduntant code

fix(chart): add missing types for empty values (kubernetes-sigs#5207)

* fix(chart): add missing types for empty values

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

* fix(chart): add one more space before comment

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

* chore: add changelog entry

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

* fix: use default value for service account token

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

* fix: tests for new default values

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

* chore: add one more changelog entry

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

---------

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

fix(node): logger test fixed (kubernetes-sigs#5232)

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

docs: Fix typo: grcp → grpc.

chore(deps): bump the dev-dependencies group across 1 directory with 17 updates

Bumps the dev-dependencies group with 15 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [github.com/IBM/networking-go-sdk](https://github.com/IBM/networking-go-sdk) | `0.51.2` | `0.51.3` |
| [github.com/aliyun/alibaba-cloud-sdk-go](https://github.com/aliyun/alibaba-cloud-sdk-go) | `1.63.100` | `1.63.103` |
| [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) | `1.29.9` | `1.29.12` |
| [github.com/civo/civogo](https://github.com/civo/civogo) | `0.3.95` | `0.3.96` |
| [github.com/digitalocean/godo](https://github.com/digitalocean/godo) | `1.141.0` | `1.142.0` |
| [github.com/oracle/oci-go-sdk/v65](https://github.com/oracle/oci-go-sdk) | `65.87.0` | `65.88.0` |
| [github.com/projectcontour/contour](https://github.com/projectcontour/contour) | `1.30.2` | `1.30.3` |
| [github.com/scaleway/scaleway-sdk-go](https://github.com/scaleway/scaleway-sdk-go) | `1.0.0-beta.32` | `1.0.0-beta.33` |
| [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common](https://github.com/tencentcloud/tencentcloud-sdk-go) | `1.0.1129` | `1.0.1134` |
| [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod](https://github.com/tencentcloud/tencentcloud-sdk-go) | `1.0.1128` | `1.0.1134` |
| [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns](https://github.com/tencentcloud/tencentcloud-sdk-go) | `1.0.1115` | `1.0.1132` |
| [go.etcd.io/etcd/client/v3](https://github.com/etcd-io/etcd) | `3.5.20` | `3.5.21` |
| [google.golang.org/api](https://github.com/googleapis/google-api-go-client) | `0.227.0` | `0.228.0` |
| [istio.io/api](https://github.com/istio/api) | `1.25.0` | `1.25.1` |
| [istio.io/client-go](https://github.com/istio/client-go) | `1.25.0` | `1.25.1` |

Updates `github.com/IBM/networking-go-sdk` from 0.51.2 to 0.51.3
- [Release notes](https://github.com/IBM/networking-go-sdk/releases)
- [Changelog](https://github.com/IBM/networking-go-sdk/blob/master/CHANGELOG.md)
- [Commits](IBM/networking-go-sdk@v0.51.2...v0.51.3)

Updates `github.com/aliyun/alibaba-cloud-sdk-go` from 1.63.100 to 1.63.103
- [Release notes](https://github.com/aliyun/alibaba-cloud-sdk-go/releases)
- [Changelog](https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/ChangeLog.txt)
- [Commits](aliyun/alibaba-cloud-sdk-go@v1.63.100...v1.63.103)

Updates `github.com/aws/aws-sdk-go-v2/config` from 1.29.9 to 1.29.12
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@config/v1.29.9...config/v1.29.12)

Updates `github.com/aws/aws-sdk-go-v2/credentials` from 1.17.62 to 1.17.65
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@credentials/v1.17.62...credentials/v1.17.65)

Updates `github.com/civo/civogo` from 0.3.95 to 0.3.96
- [Release notes](https://github.com/civo/civogo/releases)
- [Changelog](https://github.com/civo/civogo/blob/master/changelog.yml)
- [Commits](civo/civogo@v0.3.95...v0.3.96)

Updates `github.com/digitalocean/godo` from 1.141.0 to 1.142.0
- [Release notes](https://github.com/digitalocean/godo/releases)
- [Changelog](https://github.com/digitalocean/godo/blob/main/CHANGELOG.md)
- [Commits](digitalocean/godo@v1.141.0...v1.142.0)

Updates `github.com/oracle/oci-go-sdk/v65` from 65.87.0 to 65.88.0
- [Release notes](https://github.com/oracle/oci-go-sdk/releases)
- [Changelog](https://github.com/oracle/oci-go-sdk/blob/master/CHANGELOG.md)
- [Commits](oracle/oci-go-sdk@v65.87.0...v65.88.0)

Updates `github.com/projectcontour/contour` from 1.30.2 to 1.30.3
- [Release notes](https://github.com/projectcontour/contour/releases)
- [Changelog](https://github.com/projectcontour/contour/blob/main/RELEASES.md)
- [Commits](projectcontour/contour@v1.30.2...v1.30.3)

Updates `github.com/scaleway/scaleway-sdk-go` from 1.0.0-beta.32 to 1.0.0-beta.33
- [Release notes](https://github.com/scaleway/scaleway-sdk-go/releases)
- [Changelog](https://github.com/scaleway/scaleway-sdk-go/blob/master/CHANGELOG.md)
- [Commits](scaleway/scaleway-sdk-go@v1.0.0-beta.32...v1.0.0-beta.33)

Updates `github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common` from 1.0.1129 to 1.0.1134
- [Commits](TencentCloud/tencentcloud-sdk-go@v1.0.1129...v1.0.1134)

Updates `github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod` from 1.0.1128 to 1.0.1134
- [Commits](TencentCloud/tencentcloud-sdk-go@v1.0.1128...v1.0.1134)

Updates `github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns` from 1.0.1115 to 1.0.1132
- [Commits](TencentCloud/tencentcloud-sdk-go@v1.0.1115...v1.0.1132)

Updates `go.etcd.io/etcd/client/v3` from 3.5.20 to 3.5.21
- [Release notes](https://github.com/etcd-io/etcd/releases)
- [Commits](etcd-io/etcd@v3.5.20...v3.5.21)

Updates `golang.org/x/net` from 0.37.0 to 0.38.0
- [Commits](golang/net@v0.37.0...v0.38.0)

Updates `google.golang.org/api` from 0.227.0 to 0.228.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](googleapis/google-api-go-client@v0.227.0...v0.228.0)

Updates `istio.io/api` from 1.25.0 to 1.25.1
- [Commits](istio/api@1.25.0...1.25.1)

Updates `istio.io/client-go` from 1.25.0 to 1.25.1
- [Commits](istio/client-go@1.25.0...1.25.1)

---
updated-dependencies:
- dependency-name: github.com/IBM/networking-go-sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/aliyun/alibaba-cloud-sdk-go
  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-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/civo/civogo
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/digitalocean/godo
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/oracle/oci-go-sdk/v65
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/projectcontour/contour
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/scaleway/scaleway-sdk-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: go.etcd.io/etcd/client/v3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: google.golang.org/api
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: istio.io/api
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: istio.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

chore: add se for nlb, alb in thailand region

chore(code-cleanup): move logic away from main.go add tests (kubernetes-sigs#5222)

* feat(code cleanup): remove from main.go

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

* chore(code-cleanup): move logic from main.go add tests

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

* chore(code-cleanup): move logic from main.go add tests

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

* chore(code-cleanup): move logic from main.go add tests

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

* chore(code-cleanup): move logic from main.go add tests

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

* chore(code-cleanup): move logic away from main.go add tests

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

* chore(code-cleanup): move logic away from main.go add tests

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

* chore(code-cleanup): move logic away from main.go add tests

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

* chore(code-cleanup): move logic away from main.go add tests

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

* chore(code-cleanup): move logic away from main.go add tests

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>

docs(proposal): externaldns api graduation to beta (kubernetes-sigs#5079)

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

fix(helm): added missing schema values (kubernetes-sigs#5228)

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

---------

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

chore(ci): update linter to v2.0.2

feat(pihole): add optional support for v6 (kubernetes-sigs#5226)

* Pi hole V6 impl

* Code Review Part One

* Fix Go Lint

* Regenerate Flags file

* Increase code coverage 1/2

* Increase code coverage 2/2

* Fix merge conflict => Provider init move from main.go to execute.go

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

fix(cloudflare): custom hostnames edge-cases causing duplicates

syntax/style

Use %q log fmt for cloudflare provider code

move custom hostnames related submitChanges() implementation to a separate method submitCustomHostnameChanges(); extend truncated logging

use maps for DNS records getRecordID() and custom hostnames getCustomHostname() for faster lookups

types for records/custom hostnames maps

tidy up using underlying maps for dns records and custom hostnames

style/naming

fix private names

combine unnecessarily separated conditions

feat(cloudflare): multiple custom hostnames support

remove redunaant custom hostnames sort

rename variables with ambiguous "endpoint" names

# This is the commit message #2:

Update cloudflare.md

split long lines
ivankatliarchuk added a commit to gofogo/k8s-sigs-external-dns-fork that referenced this pull request Apr 16, 2025
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

chore(deps): bump renovatebot/github-action

Bumps the dev-dependencies group with 1 update: [renovatebot/github-action](https://github.com/renovatebot/github-action).

Updates `renovatebot/github-action` from 41.0.14 to 41.0.16
- [Release notes](https://github.com/renovatebot/github-action/releases)
- [Changelog](https://github.com/renovatebot/github-action/blob/main/CHANGELOG.md)
- [Commits](renovatebot/github-action@v41.0.14...v41.0.16)

---
updated-dependencies:
- dependency-name: renovatebot/github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

feat(chart): Update image to v0.16.1

Signed-off-by: Steve Hipwell <steve.hipwell@gmail.com>

chore(deps): bump renovatebot/github-action

Bumps the dev-dependencies group with 1 update: [renovatebot/github-action](https://github.com/renovatebot/github-action).

Updates `renovatebot/github-action` from 41.0.16 to 41.0.17
- [Release notes](https://github.com/renovatebot/github-action/releases)
- [Changelog](https://github.com/renovatebot/github-action/blob/main/CHANGELOG.md)
- [Commits](renovatebot/github-action@v41.0.16...v41.0.17)

---
updated-dependencies:
- dependency-name: renovatebot/github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

feat: IDNA awareness in the zone finder (kubernetes-sigs#5147)

* feat: IDNA awareness in the zone finder

* feat: update zonefinder unit tests

* chore: add warning log and respective test

feat(banner): standardize user agent and output (kubernetes-sigs#5154)

* chore(banner): add banner

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

* chore(banner): add banner

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

* chore(banner): add banner

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

* chore(banner): add banner

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

* feat(banner): standartise user agent and output banner

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

---------

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

fix(cloudflare): custom hostnames edge-cases causing duplicates (kubernetes-sigs#5183)

* fix(cloudflare): custom hostnames edge-cases causing duplicates

* syntax/style

* Use %q log fmt for cloudflare provider code

* move custom hostnames related submitChanges() implementation to a separate method submitCustomHostnameChanges(); extend truncated logging

* use maps for DNS records getRecordID() and custom hostnames getCustomHostname() for faster lookups

* types for records/custom hostnames maps

* tidy up using underlying maps for dns records and custom hostnames

* style/naming

* fix private names

* combine unnecessarily separated conditions

fix: correct route53 iam

chore(deps): bump the dev-dependencies group across 1 directory with 20 updates

Bumps the dev-dependencies group with 16 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [github.com/Azure/azure-sdk-for-go/sdk/azcore](https://github.com/Azure/azure-sdk-for-go) | `1.17.0` | `1.17.1` |
| [github.com/IBM-Cloud/ibm-cloud-cli-sdk](https://github.com/IBM-Cloud/ibm-cloud-cli-sdk) | `1.6.2` | `1.7.0` |
| [github.com/IBM/go-sdk-core/v5](https://github.com/IBM/go-sdk-core) | `5.18.5` | `5.19.0` |
| [github.com/aliyun/alibaba-cloud-sdk-go](https://github.com/aliyun/alibaba-cloud-sdk-go) | `1.63.92` | `1.63.100` |
| [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) | `1.18.7` | `1.18.8` |
| [github.com/aws/aws-sdk-go-v2/service/route53](https://github.com/aws/aws-sdk-go-v2) | `1.49.1` | `1.50.0` |
| [github.com/civo/civogo](https://github.com/civo/civogo) | `0.3.94` | `0.3.95` |
| [github.com/digitalocean/godo](https://github.com/digitalocean/godo) | `1.138.0` | `1.141.0` |
| [github.com/miekg/dns](https://github.com/miekg/dns) | `1.1.63` | `1.1.64` |
| [github.com/oracle/oci-go-sdk/v65](https://github.com/oracle/oci-go-sdk) | `65.85.0` | `65.87.0` |
| [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common](https://github.com/tencentcloud/tencentcloud-sdk-go) | `1.0.1115` | `1.0.1129` |
| [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod](https://github.com/tencentcloud/tencentcloud-sdk-go) | `1.0.1115` | `1.0.1128` |
| [go.etcd.io/etcd/client/v3](https://github.com/etcd-io/etcd) | `3.5.19` | `3.5.20` |
| [google.golang.org/api](https://github.com/googleapis/google-api-go-client) | `0.223.0` | `0.227.0` |
| [k8s.io/api](https://github.com/kubernetes/api) | `0.32.2` | `0.32.3` |
| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.32.2` | `0.32.3` |

Updates `github.com/Azure/azure-sdk-for-go/sdk/azcore` from 1.17.0 to 1.17.1
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md)
- [Commits](Azure/azure-sdk-for-go@sdk/azcore/v1.17.0...sdk/azcore/v1.17.1)

Updates `github.com/IBM-Cloud/ibm-cloud-cli-sdk` from 1.6.2 to 1.7.0
- [Release notes](https://github.com/IBM-Cloud/ibm-cloud-cli-sdk/releases)
- [Commits](IBM-Cloud/ibm-cloud-cli-sdk@v1.6.2...v1.7.0)

Updates `github.com/IBM/go-sdk-core/v5` from 5.18.5 to 5.19.0
- [Release notes](https://github.com/IBM/go-sdk-core/releases)
- [Changelog](https://github.com/IBM/go-sdk-core/blob/main/CHANGELOG.md)
- [Commits](IBM/go-sdk-core@v5.18.5...v5.19.0)

Updates `github.com/aliyun/alibaba-cloud-sdk-go` from 1.63.92 to 1.63.100
- [Release notes](https://github.com/aliyun/alibaba-cloud-sdk-go/releases)
- [Changelog](https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/ChangeLog.txt)
- [Commits](aliyun/alibaba-cloud-sdk-go@v1.63.92...v1.63.100)

Updates `github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue` from 1.18.7 to 1.18.8
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@config/v1.18.7...config/v1.18.8)

Updates `github.com/aws/aws-sdk-go-v2/service/dynamodb` from 1.41.1 to 1.42.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/ecr/v1.41.1...service/s3/v1.42.0)

Updates `github.com/aws/aws-sdk-go-v2/service/route53` from 1.49.1 to 1.50.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/ssm/v1.49.1...service/s3/v1.50.0)

Updates `github.com/civo/civogo` from 0.3.94 to 0.3.95
- [Release notes](https://github.com/civo/civogo/releases)
- [Changelog](https://github.com/civo/civogo/blob/master/changelog.yml)
- [Commits](civo/civogo@v0.3.94...v0.3.95)

Updates `github.com/digitalocean/godo` from 1.138.0 to 1.141.0
- [Release notes](https://github.com/digitalocean/godo/releases)
- [Changelog](https://github.com/digitalocean/godo/blob/main/CHANGELOG.md)
- [Commits](digitalocean/godo@v1.138.0...v1.141.0)

Updates `github.com/miekg/dns` from 1.1.63 to 1.1.64
- [Changelog](https://github.com/miekg/dns/blob/master/Makefile.release)
- [Commits](miekg/dns@v1.1.63...v1.1.64)

Updates `github.com/oracle/oci-go-sdk/v65` from 65.85.0 to 65.87.0
- [Release notes](https://github.com/oracle/oci-go-sdk/releases)
- [Changelog](https://github.com/oracle/oci-go-sdk/blob/master/CHANGELOG.md)
- [Commits](oracle/oci-go-sdk@v65.85.0...v65.87.0)

Updates `github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common` from 1.0.1115 to 1.0.1129
- [Commits](TencentCloud/tencentcloud-sdk-go@v1.0.1115...v1.0.1129)

Updates `github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod` from 1.0.1115 to 1.0.1128
- [Commits](TencentCloud/tencentcloud-sdk-go@v1.0.1115...v1.0.1128)

Updates `go.etcd.io/etcd/client/v3` from 3.5.19 to 3.5.20
- [Release notes](https://github.com/etcd-io/etcd/releases)
- [Commits](etcd-io/etcd@v3.5.19...v3.5.20)

Updates `golang.org/x/net` from 0.36.0 to 0.37.0
- [Commits](golang/net@v0.36.0...v0.37.0)

Updates `golang.org/x/text` from 0.22.0 to 0.23.0
- [Release notes](https://github.com/golang/text/releases)
- [Commits](golang/text@v0.22.0...v0.23.0)

Updates `google.golang.org/api` from 0.223.0 to 0.227.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](googleapis/google-api-go-client@v0.223.0...v0.227.0)

Updates `k8s.io/api` from 0.32.2 to 0.32.3
- [Commits](kubernetes/api@v0.32.2...v0.32.3)

Updates `k8s.io/apimachinery` from 0.32.2 to 0.32.3
- [Commits](kubernetes/apimachinery@v0.32.2...v0.32.3)

Updates `k8s.io/client-go` from 0.32.2 to 0.32.3
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](kubernetes/client-go@v0.32.2...v0.32.3)

---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azcore
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/IBM-Cloud/ibm-cloud-cli-sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/IBM/go-sdk-core/v5
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/aliyun/alibaba-cloud-sdk-go
  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-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-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-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/civo/civogo
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/digitalocean/godo
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/miekg/dns
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/oracle/oci-go-sdk/v65
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: go.etcd.io/etcd/client/v3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: golang.org/x/text
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: google.golang.org/api
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: k8s.io/api
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: k8s.io/apimachinery
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: k8s.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

feat: added expose internal ipv6 flag

fix: removing fmt.Printf

fix: fixing ci lint

docs: added documentation in node source

edited docs and made new test

added warn log

detailed documentation with no-expose

added new tests to handle edge case

renaming variable

removing reduntant code

fix(chart): add missing types for empty values (kubernetes-sigs#5207)

* fix(chart): add missing types for empty values

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

* fix(chart): add one more space before comment

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

* chore: add changelog entry

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

* fix: use default value for service account token

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

* fix: tests for new default values

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

* chore: add one more changelog entry

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

---------

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

fix(node): logger test fixed (kubernetes-sigs#5232)

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

docs: Fix typo: grcp → grpc.

chore(deps): bump the dev-dependencies group across 1 directory with 17 updates

Bumps the dev-dependencies group with 15 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [github.com/IBM/networking-go-sdk](https://github.com/IBM/networking-go-sdk) | `0.51.2` | `0.51.3` |
| [github.com/aliyun/alibaba-cloud-sdk-go](https://github.com/aliyun/alibaba-cloud-sdk-go) | `1.63.100` | `1.63.103` |
| [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) | `1.29.9` | `1.29.12` |
| [github.com/civo/civogo](https://github.com/civo/civogo) | `0.3.95` | `0.3.96` |
| [github.com/digitalocean/godo](https://github.com/digitalocean/godo) | `1.141.0` | `1.142.0` |
| [github.com/oracle/oci-go-sdk/v65](https://github.com/oracle/oci-go-sdk) | `65.87.0` | `65.88.0` |
| [github.com/projectcontour/contour](https://github.com/projectcontour/contour) | `1.30.2` | `1.30.3` |
| [github.com/scaleway/scaleway-sdk-go](https://github.com/scaleway/scaleway-sdk-go) | `1.0.0-beta.32` | `1.0.0-beta.33` |
| [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common](https://github.com/tencentcloud/tencentcloud-sdk-go) | `1.0.1129` | `1.0.1134` |
| [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod](https://github.com/tencentcloud/tencentcloud-sdk-go) | `1.0.1128` | `1.0.1134` |
| [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns](https://github.com/tencentcloud/tencentcloud-sdk-go) | `1.0.1115` | `1.0.1132` |
| [go.etcd.io/etcd/client/v3](https://github.com/etcd-io/etcd) | `3.5.20` | `3.5.21` |
| [google.golang.org/api](https://github.com/googleapis/google-api-go-client) | `0.227.0` | `0.228.0` |
| [istio.io/api](https://github.com/istio/api) | `1.25.0` | `1.25.1` |
| [istio.io/client-go](https://github.com/istio/client-go) | `1.25.0` | `1.25.1` |

Updates `github.com/IBM/networking-go-sdk` from 0.51.2 to 0.51.3
- [Release notes](https://github.com/IBM/networking-go-sdk/releases)
- [Changelog](https://github.com/IBM/networking-go-sdk/blob/master/CHANGELOG.md)
- [Commits](IBM/networking-go-sdk@v0.51.2...v0.51.3)

Updates `github.com/aliyun/alibaba-cloud-sdk-go` from 1.63.100 to 1.63.103
- [Release notes](https://github.com/aliyun/alibaba-cloud-sdk-go/releases)
- [Changelog](https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/ChangeLog.txt)
- [Commits](aliyun/alibaba-cloud-sdk-go@v1.63.100...v1.63.103)

Updates `github.com/aws/aws-sdk-go-v2/config` from 1.29.9 to 1.29.12
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@config/v1.29.9...config/v1.29.12)

Updates `github.com/aws/aws-sdk-go-v2/credentials` from 1.17.62 to 1.17.65
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@credentials/v1.17.62...credentials/v1.17.65)

Updates `github.com/civo/civogo` from 0.3.95 to 0.3.96
- [Release notes](https://github.com/civo/civogo/releases)
- [Changelog](https://github.com/civo/civogo/blob/master/changelog.yml)
- [Commits](civo/civogo@v0.3.95...v0.3.96)

Updates `github.com/digitalocean/godo` from 1.141.0 to 1.142.0
- [Release notes](https://github.com/digitalocean/godo/releases)
- [Changelog](https://github.com/digitalocean/godo/blob/main/CHANGELOG.md)
- [Commits](digitalocean/godo@v1.141.0...v1.142.0)

Updates `github.com/oracle/oci-go-sdk/v65` from 65.87.0 to 65.88.0
- [Release notes](https://github.com/oracle/oci-go-sdk/releases)
- [Changelog](https://github.com/oracle/oci-go-sdk/blob/master/CHANGELOG.md)
- [Commits](oracle/oci-go-sdk@v65.87.0...v65.88.0)

Updates `github.com/projectcontour/contour` from 1.30.2 to 1.30.3
- [Release notes](https://github.com/projectcontour/contour/releases)
- [Changelog](https://github.com/projectcontour/contour/blob/main/RELEASES.md)
- [Commits](projectcontour/contour@v1.30.2...v1.30.3)

Updates `github.com/scaleway/scaleway-sdk-go` from 1.0.0-beta.32 to 1.0.0-beta.33
- [Release notes](https://github.com/scaleway/scaleway-sdk-go/releases)
- [Changelog](https://github.com/scaleway/scaleway-sdk-go/blob/master/CHANGELOG.md)
- [Commits](scaleway/scaleway-sdk-go@v1.0.0-beta.32...v1.0.0-beta.33)

Updates `github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common` from 1.0.1129 to 1.0.1134
- [Commits](TencentCloud/tencentcloud-sdk-go@v1.0.1129...v1.0.1134)

Updates `github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod` from 1.0.1128 to 1.0.1134
- [Commits](TencentCloud/tencentcloud-sdk-go@v1.0.1128...v1.0.1134)

Updates `github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns` from 1.0.1115 to 1.0.1132
- [Commits](TencentCloud/tencentcloud-sdk-go@v1.0.1115...v1.0.1132)

Updates `go.etcd.io/etcd/client/v3` from 3.5.20 to 3.5.21
- [Release notes](https://github.com/etcd-io/etcd/releases)
- [Commits](etcd-io/etcd@v3.5.20...v3.5.21)

Updates `golang.org/x/net` from 0.37.0 to 0.38.0
- [Commits](golang/net@v0.37.0...v0.38.0)

Updates `google.golang.org/api` from 0.227.0 to 0.228.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](googleapis/google-api-go-client@v0.227.0...v0.228.0)

Updates `istio.io/api` from 1.25.0 to 1.25.1
- [Commits](istio/api@1.25.0...1.25.1)

Updates `istio.io/client-go` from 1.25.0 to 1.25.1
- [Commits](istio/client-go@1.25.0...1.25.1)

---
updated-dependencies:
- dependency-name: github.com/IBM/networking-go-sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/aliyun/alibaba-cloud-sdk-go
  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-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/civo/civogo
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/digitalocean/godo
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/oracle/oci-go-sdk/v65
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/projectcontour/contour
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/scaleway/scaleway-sdk-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: go.etcd.io/etcd/client/v3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: google.golang.org/api
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: istio.io/api
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: istio.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

chore: add se for nlb, alb in thailand region

chore(code-cleanup): move logic away from main.go add tests (kubernetes-sigs#5222)

* feat(code cleanup): remove from main.go

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

* chore(code-cleanup): move logic from main.go add tests

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

* chore(code-cleanup): move logic from main.go add tests

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

* chore(code-cleanup): move logic from main.go add tests

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

* chore(code-cleanup): move logic from main.go add tests

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

* chore(code-cleanup): move logic away from main.go add tests

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

* chore(code-cleanup): move logic away from main.go add tests

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

* chore(code-cleanup): move logic away from main.go add tests

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

* chore(code-cleanup): move logic away from main.go add tests

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

* chore(code-cleanup): move logic away from main.go add tests

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>

docs(proposal): externaldns api graduation to beta (kubernetes-sigs#5079)

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

fix(helm): added missing schema values (kubernetes-sigs#5228)

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

---------

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

chore(ci): update linter to v2.0.2

feat(pihole): add optional support for v6 (kubernetes-sigs#5226)

* Pi hole V6 impl

* Code Review Part One

* Fix Go Lint

* Regenerate Flags file

* Increase code coverage 1/2

* Increase code coverage 2/2

* Fix merge conflict => Provider init move from main.go to execute.go

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

fix(cloudflare): custom hostnames edge-cases causing duplicates

syntax/style

Use %q log fmt for cloudflare provider code

move custom hostnames related submitChanges() implementation to a separate method submitCustomHostnameChanges(); extend truncated logging

use maps for DNS records getRecordID() and custom hostnames getCustomHostname() for faster lookups

types for records/custom hostnames maps

tidy up using underlying maps for dns records and custom hostnames

style/naming

fix private names

combine unnecessarily separated conditions

feat(cloudflare): multiple custom hostnames support

remove redunaant custom hostnames sort

rename variables with ambiguous "endpoint" names

Update cloudflare.md

split long lines

[attempt to] improve nested conditions readability for cloudflare tests failures scenarios

add test for logging error when creating endpoint and ignoring too long record name (shouldn't happen)

docs: update link to Anexia webhook provider

chore(deps): bump the dev-dependencies group across 1 directory with 2 updates

Bumps the dev-dependencies group with 2 updates in the / directory: [renovatebot/github-action](https://github.com/renovatebot/github-action) and [actions/setup-python](https://github.com/actions/setup-python).

Updates `renovatebot/github-action` from 41.0.17 to 41.0.18
- [Release notes](https://github.com/renovatebot/github-action/releases)
- [Changelog](https://github.com/renovatebot/github-action/blob/main/CHANGELOG.md)
- [Commits](renovatebot/github-action@v41.0.17...v41.0.18)

Updates `actions/setup-python` from 5.4.0 to 5.5.0
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](actions/setup-python@4237552...8d9ed9a)

---
updated-dependencies:
- dependency-name: renovatebot/github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

feat(source): optional exclusion of unschedulable nodes (kubernetes-sigs#5045)

* feat(source/node): Make exclusion of unschedulable Nodes configurable

This fixes a behavioral regression introduced in kubernetes-sigs#4761, where
nodes that were previously added to DNS are removed when they are considered
unschedulable, for example due to automated maintenance tasks.

This change will introduce a new flag called `exclude-unschedulable`, which
defaults to `true` in order to keep in line with the current behavior.
However, it would also be reasonable to restore the initial behavior before

* Allow testing for expected log entries in testNodeSourceEndpoints

This commit adds the required logic to be able to test for
the existence (and absence) of certain log messages
in testNodeSourceEndpoints. As an example, this is implemented
for the tests around excludeUnschedulable.

A side effect of using LogsToBuffer is that tests can't run in
parallel due to the log buffer being shared across all
parallel test cases. As such, these specific tests are now executed
one after another.

* Ensure logging is only hooked for tests that require it

* Document new exclude-unschedulable flag for nodes source

chore(deps): bump the dev-dependencies group across 1 directory with 19 updates

Bumps the dev-dependencies group with 14 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [github.com/Azure/azure-sdk-for-go/sdk/azcore](https://github.com/Azure/azure-sdk-for-go) | `1.17.1` | `1.18.0` |
| [github.com/aliyun/alibaba-cloud-sdk-go](https://github.com/aliyun/alibaba-cloud-sdk-go) | `1.63.103` | `1.63.104` |
| [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) | `1.29.12` | `1.29.13` |
| [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) | `1.18.8` | `1.18.9` |
| [github.com/aws/aws-sdk-go-v2/service/route53](https://github.com/aws/aws-sdk-go-v2) | `1.50.0` | `1.51.0` |
| [github.com/aws/aws-sdk-go-v2/service/servicediscovery](https://github.com/aws/aws-sdk-go-v2) | `1.35.1` | `1.35.2` |
| [github.com/linode/linodego](https://github.com/linode/linodego) | `1.48.1` | `1.49.0` |
| [github.com/miekg/dns](https://github.com/miekg/dns) | `1.1.64` | `1.1.65` |
| [github.com/oracle/oci-go-sdk/v65](https://github.com/oracle/oci-go-sdk) | `65.88.0` | `65.88.1` |
| [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common](https://github.com/tencentcloud/tencentcloud-sdk-go) | `1.0.1134` | `1.0.1140` |
| [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod](https://github.com/tencentcloud/tencentcloud-sdk-go) | `1.0.1134` | `1.0.1136` |
| [golang.org/x/net](https://github.com/golang/net) | `0.38.0` | `0.39.0` |
| [golang.org/x/oauth2](https://github.com/golang/oauth2) | `0.28.0` | `0.29.0` |
| gopkg.in/ns1/ns1-go.v2 | `2.13.0` | `2.14.1` |

Updates `github.com/Azure/azure-sdk-for-go/sdk/azcore` from 1.17.1 to 1.18.0
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md)
- [Commits](Azure/azure-sdk-for-go@sdk/azcore/v1.17.1...sdk/azcore/v1.18.0)

Updates `github.com/aliyun/alibaba-cloud-sdk-go` from 1.63.103 to 1.63.104
- [Release notes](https://github.com/aliyun/alibaba-cloud-sdk-go/releases)
- [Changelog](https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/ChangeLog.txt)
- [Commits](aliyun/alibaba-cloud-sdk-go@v1.63.103...v1.63.104)

Updates `github.com/aws/aws-sdk-go-v2/config` from 1.29.12 to 1.29.13
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@config/v1.29.12...config/v1.29.13)

Updates `github.com/aws/aws-sdk-go-v2/credentials` from 1.17.65 to 1.17.66
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@credentials/v1.17.65...credentials/v1.17.66)

Updates `github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue` from 1.18.8 to 1.18.9
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/config/v1.18.9/CHANGELOG.md)
- [Commits](aws/aws-sdk-go-v2@config/v1.18.8...config/v1.18.9)

Updates `github.com/aws/aws-sdk-go-v2/service/dynamodb` from 1.42.0 to 1.42.1
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/s3/v1.42.0...service/s3/v1.42.1)

Updates `github.com/aws/aws-sdk-go-v2/service/route53` from 1.50.0 to 1.51.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/s3/v1.50.0...service/s3/v1.51.0)

Updates `github.com/aws/aws-sdk-go-v2/service/servicediscovery` from 1.35.1 to 1.35.2
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/kms/v1.35.1...service/ecr/v1.35.2)

Updates `github.com/aws/aws-sdk-go-v2/service/sts` from 1.33.17 to 1.33.18
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/sns/v1.33.17...service/sns/v1.33.18)

Updates `github.com/linode/linodego` from 1.48.1 to 1.49.0
- [Release notes](https://github.com/linode/linodego/releases)
- [Commits](linode/linodego@v1.48.1...v1.49.0)

Updates `github.com/miekg/dns` from 1.1.64 to 1.1.65
- [Changelog](https://github.com/miekg/dns/blob/master/Makefile.release)
- [Commits](miekg/dns@v1.1.64...v1.1.65)

Updates `github.com/oracle/oci-go-sdk/v65` from 65.88.0 to 65.88.1
- [Release notes](https://github.com/oracle/oci-go-sdk/releases)
- [Changelog](https://github.com/oracle/oci-go-sdk/blob/master/CHANGELOG.md)
- [Commits](oracle/oci-go-sdk@v65.88.0...v65.88.1)

Updates `github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common` from 1.0.1134 to 1.0.1140
- [Commits](TencentCloud/tencentcloud-sdk-go@v1.0.1134...v1.0.1140)

Updates `github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod` from 1.0.1134 to 1.0.1136
- [Commits](TencentCloud/tencentcloud-sdk-go@v1.0.1134...v1.0.1136)

Updates `golang.org/x/net` from 0.38.0 to 0.39.0
- [Commits](golang/net@v0.38.0...v0.39.0)

Updates `golang.org/x/oauth2` from 0.28.0 to 0.29.0
- [Commits](golang/oauth2@v0.28.0...v0.29.0)

Updates `golang.org/x/sync` from 0.12.0 to 0.13.0
- [Commits](golang/sync@v0.12.0...v0.13.0)

Updates `golang.org/x/text` from 0.23.0 to 0.24.0
- [Release notes](https://github.com/golang/text/releases)
- [Commits](golang/text@v0.23.0...v0.24.0)

Updates `gopkg.in/ns1/ns1-go.v2` from 2.13.0 to 2.14.1

---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azcore
  dependency-version: 1.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/aliyun/alibaba-cloud-sdk-go
  dependency-version: 1.63.104
  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.29.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.17.66
  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.18.9
  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.42.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/route53
  dependency-version: 1.51.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/servicediscovery
  dependency-version: 1.35.2
  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.33.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/linode/linodego
  dependency-version: 1.49.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/miekg/dns
  dependency-version: 1.1.65
  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.88.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common
  dependency-version: 1.0.1140
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod
  dependency-version: 1.0.1136
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: golang.org/x/net
  dependency-version: 0.39.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: golang.org/x/oauth2
  dependency-version: 0.29.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: golang.org/x/sync
  dependency-version: 0.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: golang.org/x/text
  dependency-version: 0.24.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: gopkg.in/ns1/ns1-go.v2
  dependency-version: 2.14.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

chore(helm): add validation for prefix and suffix and capture regression (kubernetes-sigs#5250)

* chore(helm): add valiation.tpl and capture regression

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

* chore(helm): add valiation.tpl and capture regression

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

* chore(helm): add validation.tpl and capture regression

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

* chore(helm): add validation.tpl and capture regression

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

* chore(helm): add validation.tpl and capture regression

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

* chore(helm): add validation.tpl and capture regression

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

* chore(helm): add validation for prefix and suffix and capture regression

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

* chore(helm): add validation for prefix and suffix and capture regression

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

* chore(helm): add validation for prefix and suffix and capture regression

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

* chore(helm): add validation for prefix and suffix and capture regression

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
Co-authored-by: Steve Hipwell <steve.hipwell@gmail.com>

chore(ci): fix random data race failure on source/node test

only consider accepted gateway routes if the condition generation matches the current one

use route parentRef from spec instead of observedGeneration to select correct status conditions to evaluate

update all route tests to have a valid spec.parentRef entry

add missing lookup for TLSRoute

update gatewayRoute to contain spec.parentRefs instead of extracting that directly from each route during the resolve stage

update comment on gwRouteIsAccepted

validate group and kind on the spec.parentRef. Move check into gwRouteHasParentRef

remove unnecessary variable

chore: Release Helm chart v1.16.1

Signed-off-by: Steve Hipwell <steve.hipwell@gmail.com>

fix cloudflare regional hostnames

Implements create & delete of regional hostnames for A, AAAA & CNAME
records.
Implements "external-dns.alpha.kubernetes.io/cloudflare-region-key"
annotation.

add tests & fixes for dataLocalizationRegionalHostnamesChanges()

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

changes to goccy yaml

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

use json to unmarshal json

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

chore(dependencies): update toools versions (kubernetes-sigs#5252)

* chore(dependencies): update toools versions

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

* chore(dependencies): update toools versions

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

* chore(dependencies): update toools versions

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

* chore(dependencies): update toools versions

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

* chore(dependencies): update toools versions

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

* chore(dependencies): update toools versions

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

* chore(dependencies): update toools versions

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
ivankatliarchuk pushed a commit to gofogo/k8s-sigs-external-dns-fork that referenced this pull request Apr 16, 2025
fix(registry): improve logging for TXT records with empty targets and add unit test

test(registry): enhance logging for empty targets in TXT records test

Test author (#1)

* fix(aws-sd): service instances registration and deregistration (kubernetes-sigs#5135)

* Only de-register removed targets

* Use maps for current targets lookup.

* Use camelCase, not _

* fix(registry): handle empty targets in TXT records logging an error

* fix(registry): improve logging for TXT records with empty targets and add unit test

* test(registry): enhance logging for empty targets in TXT records test

fix: add mexico region to external dns supported load balancers (kubernetes-sigs#5157)

add: auto label source and providers

Signed-off-by: Sandor Szuecs <sandor.szuecs@zalando.de>

feat(source): fitler by gateway name (kubernetes-sigs#5160)

* feat: filter by gateway name

Signed-off-by: Steven Kreitzer <skre@skre.me>

* address comments

* address comments

* address comments

---------

Signed-off-by: Steven Kreitzer <skre@skre.me>

chore: update OWNERs with left required config file

cloudflare: bugfix - do not attempt to create unconfigured empty custom hostnames; improve tests; streamline logic (kubernetes-sigs#5146)

improve test coverage

test the edge case when the custom hostname has changed during the record deletion

don't use custom hostnames if Cloudflare for SaaS fails to authenticate

Use new --cloudflare-custom-hostnames flag to enable cloudflare custom hostnames support

custom hostnames flags --cloudflare-custom-hostnames-min-tls-version and --cloudflare-custom-hostnames-certificate-authority support

markdown lint

Update cloudflare.md

fix(source): config didnt set gatewayname

fix(cloudflare): infinite loop with more than 50 custom hostnames (kubernetes-sigs#5181)

* bugfix - do not reset the resultInfo var, causing infinite loop when number of custom hostnames more than 50

* support paging for custom hostnames tests; update doc

chore(release): updates kustomize & docs with v0.16.1

Signed-off-by: Michel Loiseleur <michel.loiseleur@traefik.io>

update release script

update release instructions

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(openstack designate)!: remove in-tree provider

Add Yandex Cloud Webhook

feat(ovh): major rewriting of the provider (kubernetes-sigs#5143)

* feat: ovh: improve cache invalidation on errors + dry-run mode + relative CNAME handling + optimization

Signed-off-by: Romain Beuque <556072+rbeuque74@users.noreply.github.com>

* chore: add more tests

Signed-off-by: Romain Beuque <556072+rbeuque74@users.noreply.github.com>

* fix: align cache expiration with Default value

* chore: address comments from review + updated documentation

* chore: address comments from review

---------

Signed-off-by: Romain Beuque <556072+rbeuque74@users.noreply.github.com>

chore(deps): bump renovatebot/github-action

Bumps the dev-dependencies group with 1 update: [renovatebot/github-action](https://github.com/renovatebot/github-action).

Updates `renovatebot/github-action` from 41.0.14 to 41.0.16
- [Release notes](https://github.com/renovatebot/github-action/releases)
- [Changelog](https://github.com/renovatebot/github-action/blob/main/CHANGELOG.md)
- [Commits](renovatebot/github-action@v41.0.14...v41.0.16)

---
updated-dependencies:
- dependency-name: renovatebot/github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

feat(chart): Update image to v0.16.1

Signed-off-by: Steve Hipwell <steve.hipwell@gmail.com>

chore(deps): bump renovatebot/github-action

Bumps the dev-dependencies group with 1 update: [renovatebot/github-action](https://github.com/renovatebot/github-action).

Updates `renovatebot/github-action` from 41.0.16 to 41.0.17
- [Release notes](https://github.com/renovatebot/github-action/releases)
- [Changelog](https://github.com/renovatebot/github-action/blob/main/CHANGELOG.md)
- [Commits](renovatebot/github-action@v41.0.16...v41.0.17)

---
updated-dependencies:
- dependency-name: renovatebot/github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

feat: IDNA awareness in the zone finder (kubernetes-sigs#5147)

* feat: IDNA awareness in the zone finder

* feat: update zonefinder unit tests

* chore: add warning log and respective test

feat(banner): standardize user agent and output (kubernetes-sigs#5154)

* chore(banner): add banner

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

* chore(banner): add banner

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

* chore(banner): add banner

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

* chore(banner): add banner

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

* feat(banner): standartise user agent and output banner

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

---------

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

fix(cloudflare): custom hostnames edge-cases causing duplicates (kubernetes-sigs#5183)

* fix(cloudflare): custom hostnames edge-cases causing duplicates

* syntax/style

* Use %q log fmt for cloudflare provider code

* move custom hostnames related submitChanges() implementation to a separate method submitCustomHostnameChanges(); extend truncated logging

* use maps for DNS records getRecordID() and custom hostnames getCustomHostname() for faster lookups

* types for records/custom hostnames maps

* tidy up using underlying maps for dns records and custom hostnames

* style/naming

* fix private names

* combine unnecessarily separated conditions

fix: correct route53 iam

chore(deps): bump the dev-dependencies group across 1 directory with 20 updates

Bumps the dev-dependencies group with 16 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [github.com/Azure/azure-sdk-for-go/sdk/azcore](https://github.com/Azure/azure-sdk-for-go) | `1.17.0` | `1.17.1` |
| [github.com/IBM-Cloud/ibm-cloud-cli-sdk](https://github.com/IBM-Cloud/ibm-cloud-cli-sdk) | `1.6.2` | `1.7.0` |
| [github.com/IBM/go-sdk-core/v5](https://github.com/IBM/go-sdk-core) | `5.18.5` | `5.19.0` |
| [github.com/aliyun/alibaba-cloud-sdk-go](https://github.com/aliyun/alibaba-cloud-sdk-go) | `1.63.92` | `1.63.100` |
| [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) | `1.18.7` | `1.18.8` |
| [github.com/aws/aws-sdk-go-v2/service/route53](https://github.com/aws/aws-sdk-go-v2) | `1.49.1` | `1.50.0` |
| [github.com/civo/civogo](https://github.com/civo/civogo) | `0.3.94` | `0.3.95` |
| [github.com/digitalocean/godo](https://github.com/digitalocean/godo) | `1.138.0` | `1.141.0` |
| [github.com/miekg/dns](https://github.com/miekg/dns) | `1.1.63` | `1.1.64` |
| [github.com/oracle/oci-go-sdk/v65](https://github.com/oracle/oci-go-sdk) | `65.85.0` | `65.87.0` |
| [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common](https://github.com/tencentcloud/tencentcloud-sdk-go) | `1.0.1115` | `1.0.1129` |
| [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod](https://github.com/tencentcloud/tencentcloud-sdk-go) | `1.0.1115` | `1.0.1128` |
| [go.etcd.io/etcd/client/v3](https://github.com/etcd-io/etcd) | `3.5.19` | `3.5.20` |
| [google.golang.org/api](https://github.com/googleapis/google-api-go-client) | `0.223.0` | `0.227.0` |
| [k8s.io/api](https://github.com/kubernetes/api) | `0.32.2` | `0.32.3` |
| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.32.2` | `0.32.3` |

Updates `github.com/Azure/azure-sdk-for-go/sdk/azcore` from 1.17.0 to 1.17.1
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md)
- [Commits](Azure/azure-sdk-for-go@sdk/azcore/v1.17.0...sdk/azcore/v1.17.1)

Updates `github.com/IBM-Cloud/ibm-cloud-cli-sdk` from 1.6.2 to 1.7.0
- [Release notes](https://github.com/IBM-Cloud/ibm-cloud-cli-sdk/releases)
- [Commits](IBM-Cloud/ibm-cloud-cli-sdk@v1.6.2...v1.7.0)

Updates `github.com/IBM/go-sdk-core/v5` from 5.18.5 to 5.19.0
- [Release notes](https://github.com/IBM/go-sdk-core/releases)
- [Changelog](https://github.com/IBM/go-sdk-core/blob/main/CHANGELOG.md)
- [Commits](IBM/go-sdk-core@v5.18.5...v5.19.0)

Updates `github.com/aliyun/alibaba-cloud-sdk-go` from 1.63.92 to 1.63.100
- [Release notes](https://github.com/aliyun/alibaba-cloud-sdk-go/releases)
- [Changelog](https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/ChangeLog.txt)
- [Commits](aliyun/alibaba-cloud-sdk-go@v1.63.92...v1.63.100)

Updates `github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue` from 1.18.7 to 1.18.8
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@config/v1.18.7...config/v1.18.8)

Updates `github.com/aws/aws-sdk-go-v2/service/dynamodb` from 1.41.1 to 1.42.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/ecr/v1.41.1...service/s3/v1.42.0)

Updates `github.com/aws/aws-sdk-go-v2/service/route53` from 1.49.1 to 1.50.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/ssm/v1.49.1...service/s3/v1.50.0)

Updates `github.com/civo/civogo` from 0.3.94 to 0.3.95
- [Release notes](https://github.com/civo/civogo/releases)
- [Changelog](https://github.com/civo/civogo/blob/master/changelog.yml)
- [Commits](civo/civogo@v0.3.94...v0.3.95)

Updates `github.com/digitalocean/godo` from 1.138.0 to 1.141.0
- [Release notes](https://github.com/digitalocean/godo/releases)
- [Changelog](https://github.com/digitalocean/godo/blob/main/CHANGELOG.md)
- [Commits](digitalocean/godo@v1.138.0...v1.141.0)

Updates `github.com/miekg/dns` from 1.1.63 to 1.1.64
- [Changelog](https://github.com/miekg/dns/blob/master/Makefile.release)
- [Commits](miekg/dns@v1.1.63...v1.1.64)

Updates `github.com/oracle/oci-go-sdk/v65` from 65.85.0 to 65.87.0
- [Release notes](https://github.com/oracle/oci-go-sdk/releases)
- [Changelog](https://github.com/oracle/oci-go-sdk/blob/master/CHANGELOG.md)
- [Commits](oracle/oci-go-sdk@v65.85.0...v65.87.0)

Updates `github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common` from 1.0.1115 to 1.0.1129
- [Commits](TencentCloud/tencentcloud-sdk-go@v1.0.1115...v1.0.1129)

Updates `github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod` from 1.0.1115 to 1.0.1128
- [Commits](TencentCloud/tencentcloud-sdk-go@v1.0.1115...v1.0.1128)

Updates `go.etcd.io/etcd/client/v3` from 3.5.19 to 3.5.20
- [Release notes](https://github.com/etcd-io/etcd/releases)
- [Commits](etcd-io/etcd@v3.5.19...v3.5.20)

Updates `golang.org/x/net` from 0.36.0 to 0.37.0
- [Commits](golang/net@v0.36.0...v0.37.0)

Updates `golang.org/x/text` from 0.22.0 to 0.23.0
- [Release notes](https://github.com/golang/text/releases)
- [Commits](golang/text@v0.22.0...v0.23.0)

Updates `google.golang.org/api` from 0.223.0 to 0.227.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](googleapis/google-api-go-client@v0.223.0...v0.227.0)

Updates `k8s.io/api` from 0.32.2 to 0.32.3
- [Commits](kubernetes/api@v0.32.2...v0.32.3)

Updates `k8s.io/apimachinery` from 0.32.2 to 0.32.3
- [Commits](kubernetes/apimachinery@v0.32.2...v0.32.3)

Updates `k8s.io/client-go` from 0.32.2 to 0.32.3
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](kubernetes/client-go@v0.32.2...v0.32.3)

---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azcore
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/IBM-Cloud/ibm-cloud-cli-sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/IBM/go-sdk-core/v5
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/aliyun/alibaba-cloud-sdk-go
  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-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-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-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/civo/civogo
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/digitalocean/godo
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/miekg/dns
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/oracle/oci-go-sdk/v65
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: go.etcd.io/etcd/client/v3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: golang.org/x/text
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: google.golang.org/api
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: k8s.io/api
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: k8s.io/apimachinery
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: k8s.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

feat: added expose internal ipv6 flag

fix: removing fmt.Printf

fix: fixing ci lint

docs: added documentation in node source

edited docs and made new test

added warn log

detailed documentation with no-expose

added new tests to handle edge case

renaming variable

removing reduntant code

fix(chart): add missing types for empty values (kubernetes-sigs#5207)

* fix(chart): add missing types for empty values

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

* fix(chart): add one more space before comment

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

* chore: add changelog entry

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

* fix: use default value for service account token

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

* fix: tests for new default values

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

* chore: add one more changelog entry

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

---------

Signed-off-by: t3mi <t3mi@users.noreply.github.com>

fix(node): logger test fixed (kubernetes-sigs#5232)

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

docs: Fix typo: grcp → grpc.

chore(deps): bump the dev-dependencies group across 1 directory with 17 updates

Bumps the dev-dependencies group with 15 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [github.com/IBM/networking-go-sdk](https://github.com/IBM/networking-go-sdk) | `0.51.2` | `0.51.3` |
| [github.com/aliyun/alibaba-cloud-sdk-go](https://github.com/aliyun/alibaba-cloud-sdk-go) | `1.63.100` | `1.63.103` |
| [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) | `1.29.9` | `1.29.12` |
| [github.com/civo/civogo](https://github.com/civo/civogo) | `0.3.95` | `0.3.96` |
| [github.com/digitalocean/godo](https://github.com/digitalocean/godo) | `1.141.0` | `1.142.0` |
| [github.com/oracle/oci-go-sdk/v65](https://github.com/oracle/oci-go-sdk) | `65.87.0` | `65.88.0` |
| [github.com/projectcontour/contour](https://github.com/projectcontour/contour) | `1.30.2` | `1.30.3` |
| [github.com/scaleway/scaleway-sdk-go](https://github.com/scaleway/scaleway-sdk-go) | `1.0.0-beta.32` | `1.0.0-beta.33` |
| [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common](https://github.com/tencentcloud/tencentcloud-sdk-go) | `1.0.1129` | `1.0.1134` |
| [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod](https://github.com/tencentcloud/tencentcloud-sdk-go) | `1.0.1128` | `1.0.1134` |
| [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns](https://github.com/tencentcloud/tencentcloud-sdk-go) | `1.0.1115` | `1.0.1132` |
| [go.etcd.io/etcd/client/v3](https://github.com/etcd-io/etcd) | `3.5.20` | `3.5.21` |
| [google.golang.org/api](https://github.com/googleapis/google-api-go-client) | `0.227.0` | `0.228.0` |
| [istio.io/api](https://github.com/istio/api) | `1.25.0` | `1.25.1` |
| [istio.io/client-go](https://github.com/istio/client-go) | `1.25.0` | `1.25.1` |

Updates `github.com/IBM/networking-go-sdk` from 0.51.2 to 0.51.3
- [Release notes](https://github.com/IBM/networking-go-sdk/releases)
- [Changelog](https://github.com/IBM/networking-go-sdk/blob/master/CHANGELOG.md)
- [Commits](IBM/networking-go-sdk@v0.51.2...v0.51.3)

Updates `github.com/aliyun/alibaba-cloud-sdk-go` from 1.63.100 to 1.63.103
- [Release notes](https://github.com/aliyun/alibaba-cloud-sdk-go/releases)
- [Changelog](https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/ChangeLog.txt)
- [Commits](aliyun/alibaba-cloud-sdk-go@v1.63.100...v1.63.103)

Updates `github.com/aws/aws-sdk-go-v2/config` from 1.29.9 to 1.29.12
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@config/v1.29.9...config/v1.29.12)

Updates `github.com/aws/aws-sdk-go-v2/credentials` from 1.17.62 to 1.17.65
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@credentials/v1.17.62...credentials/v1.17.65)

Updates `github.com/civo/civogo` from 0.3.95 to 0.3.96
- [Release notes](https://github.com/civo/civogo/releases)
- [Changelog](https://github.com/civo/civogo/blob/master/changelog.yml)
- [Commits](civo/civogo@v0.3.95...v0.3.96)

Updates `github.com/digitalocean/godo` from 1.141.0 to 1.142.0
- [Release notes](https://github.com/digitalocean/godo/releases)
- [Changelog](https://github.com/digitalocean/godo/blob/main/CHANGELOG.md)
- [Commits](digitalocean/godo@v1.141.0...v1.142.0)

Updates `github.com/oracle/oci-go-sdk/v65` from 65.87.0 to 65.88.0
- [Release notes](https://github.com/oracle/oci-go-sdk/releases)
- [Changelog](https://github.com/oracle/oci-go-sdk/blob/master/CHANGELOG.md)
- [Commits](oracle/oci-go-sdk@v65.87.0...v65.88.0)

Updates `github.com/projectcontour/contour` from 1.30.2 to 1.30.3
- [Release notes](https://github.com/projectcontour/contour/releases)
- [Changelog](https://github.com/projectcontour/contour/blob/main/RELEASES.md)
- [Commits](projectcontour/contour@v1.30.2...v1.30.3)

Updates `github.com/scaleway/scaleway-sdk-go` from 1.0.0-beta.32 to 1.0.0-beta.33
- [Release notes](https://github.com/scaleway/scaleway-sdk-go/releases)
- [Changelog](https://github.com/scaleway/scaleway-sdk-go/blob/master/CHANGELOG.md)
- [Commits](scaleway/scaleway-sdk-go@v1.0.0-beta.32...v1.0.0-beta.33)

Updates `github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common` from 1.0.1129 to 1.0.1134
- [Commits](TencentCloud/tencentcloud-sdk-go@v1.0.1129...v1.0.1134)

Updates `github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod` from 1.0.1128 to 1.0.1134
- [Commits](TencentCloud/tencentcloud-sdk-go@v1.0.1128...v1.0.1134)

Updates `github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns` from 1.0.1115 to 1.0.1132
- [Commits](TencentCloud/tencentcloud-sdk-go@v1.0.1115...v1.0.1132)

Updates `go.etcd.io/etcd/client/v3` from 3.5.20 to 3.5.21
- [Release notes](https://github.com/etcd-io/etcd/releases)
- [Commits](etcd-io/etcd@v3.5.20...v3.5.21)

Updates `golang.org/x/net` from 0.37.0 to 0.38.0
- [Commits](golang/net@v0.37.0...v0.38.0)

Updates `google.golang.org/api` from 0.227.0 to 0.228.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](googleapis/google-api-go-client@v0.227.0...v0.228.0)

Updates `istio.io/api` from 1.25.0 to 1.25.1
- [Commits](istio/api@1.25.0...1.25.1)

Updates `istio.io/client-go` from 1.25.0 to 1.25.1
- [Commits](istio/client-go@1.25.0...1.25.1)

---
updated-dependencies:
- dependency-name: github.com/IBM/networking-go-sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/aliyun/alibaba-cloud-sdk-go
  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-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/civo/civogo
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/digitalocean/godo
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/oracle/oci-go-sdk/v65
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/projectcontour/contour
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/scaleway/scaleway-sdk-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: go.etcd.io/etcd/client/v3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: google.golang.org/api
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: istio.io/api
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: istio.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

chore: add se for nlb, alb in thailand region

chore(code-cleanup): move logic away from main.go add tests (kubernetes-sigs#5222)

* feat(code cleanup): remove from main.go

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

* chore(code-cleanup): move logic from main.go add tests

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

* chore(code-cleanup): move logic from main.go add tests

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

* chore(code-cleanup): move logic from main.go add tests

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

* chore(code-cleanup): move logic from main.go add tests

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

* chore(code-cleanup): move logic away from main.go add tests

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

* chore(code-cleanup): move logic away from main.go add tests

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

* chore(code-cleanup): move logic away from main.go add tests

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

* chore(code-cleanup): move logic away from main.go add tests

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

* chore(code-cleanup): move logic away from main.go add tests

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>

docs(proposal): externaldns api graduation to beta (kubernetes-sigs#5079)

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

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

* docs(proposal): externaldns api graduation to beta

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

fix(helm): added missing schema values (kubernetes-sigs#5228)

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

* fix(helm): added missing schema values

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

---------

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

chore(ci): update linter to v2.0.2

feat(pihole): add optional support for v6 (kubernetes-sigs#5226)

* Pi hole V6 impl

* Code Review Part One

* Fix Go Lint

* Regenerate Flags file

* Increase code coverage 1/2

* Increase code coverage 2/2

* Fix merge conflict => Provider init move from main.go to execute.go

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

fix(cloudflare): custom hostnames edge-cases causing duplicates

syntax/style

Use %q log fmt for cloudflare provider code

move custom hostnames related submitChanges() implementation to a separate method submitCustomHostnameChanges(); extend truncated logging

use maps for DNS records getRecordID() and custom hostnames getCustomHostname() for faster lookups

types for records/custom hostnames maps

tidy up using underlying maps for dns records and custom hostnames

style/naming

fix private names

combine unnecessarily separated conditions

feat(cloudflare): multiple custom hostnames support

remove redunaant custom hostnames sort

rename variables with ambiguous "endpoint" names

Update cloudflare.md

split long lines

[attempt to] improve nested conditions readability for cloudflare tests failures scenarios

add test for logging error when creating endpoint and ignoring too long record name (shouldn't happen)

docs: update link to Anexia webhook provider

chore(deps): bump the dev-dependencies group across 1 directory with 2 updates

Bumps the dev-dependencies group with 2 updates in the / directory: [renovatebot/github-action](https://github.com/renovatebot/github-action) and [actions/setup-python](https://github.com/actions/setup-python).

Updates `renovatebot/github-action` from 41.0.17 to 41.0.18
- [Release notes](https://github.com/renovatebot/github-action/releases)
- [Changelog](https://github.com/renovatebot/github-action/blob/main/CHANGELOG.md)
- [Commits](renovatebot/github-action@v41.0.17...v41.0.18)

Updates `actions/setup-python` from 5.4.0 to 5.5.0
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](actions/setup-python@4237552...8d9ed9a)

---
updated-dependencies:
- dependency-name: renovatebot/github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

feat(source): optional exclusion of unschedulable nodes (kubernetes-sigs#5045)

* feat(source/node): Make exclusion of unschedulable Nodes configurable

This fixes a behavioral regression introduced in kubernetes-sigs#4761, where
nodes that were previously added to DNS are removed when they are considered
unschedulable, for example due to automated maintenance tasks.

This change will introduce a new flag called `exclude-unschedulable`, which
defaults to `true` in order to keep in line with the current behavior.
However, it would also be reasonable to restore the initial behavior before

* Allow testing for expected log entries in testNodeSourceEndpoints

This commit adds the required logic to be able to test for
the existence (and absence) of certain log messages
in testNodeSourceEndpoints. As an example, this is implemented
for the tests around excludeUnschedulable.

A side effect of using LogsToBuffer is that tests can't run in
parallel due to the log buffer being shared across all
parallel test cases. As such, these specific tests are now executed
one after another.

* Ensure logging is only hooked for tests that require it

* Document new exclude-unschedulable flag for nodes source

chore(deps): bump the dev-dependencies group across 1 directory with 19 updates

Bumps the dev-dependencies group with 14 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [github.com/Azure/azure-sdk-for-go/sdk/azcore](https://github.com/Azure/azure-sdk-for-go) | `1.17.1` | `1.18.0` |
| [github.com/aliyun/alibaba-cloud-sdk-go](https://github.com/aliyun/alibaba-cloud-sdk-go) | `1.63.103` | `1.63.104` |
| [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) | `1.29.12` | `1.29.13` |
| [github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue](https://github.com/aws/aws-sdk-go-v2) | `1.18.8` | `1.18.9` |
| [github.com/aws/aws-sdk-go-v2/service/route53](https://github.com/aws/aws-sdk-go-v2) | `1.50.0` | `1.51.0` |
| [github.com/aws/aws-sdk-go-v2/service/servicediscovery](https://github.com/aws/aws-sdk-go-v2) | `1.35.1` | `1.35.2` |
| [github.com/linode/linodego](https://github.com/linode/linodego) | `1.48.1` | `1.49.0` |
| [github.com/miekg/dns](https://github.com/miekg/dns) | `1.1.64` | `1.1.65` |
| [github.com/oracle/oci-go-sdk/v65](https://github.com/oracle/oci-go-sdk) | `65.88.0` | `65.88.1` |
| [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common](https://github.com/tencentcloud/tencentcloud-sdk-go) | `1.0.1134` | `1.0.1140` |
| [github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod](https://github.com/tencentcloud/tencentcloud-sdk-go) | `1.0.1134` | `1.0.1136` |
| [golang.org/x/net](https://github.com/golang/net) | `0.38.0` | `0.39.0` |
| [golang.org/x/oauth2](https://github.com/golang/oauth2) | `0.28.0` | `0.29.0` |
| gopkg.in/ns1/ns1-go.v2 | `2.13.0` | `2.14.1` |

Updates `github.com/Azure/azure-sdk-for-go/sdk/azcore` from 1.17.1 to 1.18.0
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md)
- [Commits](Azure/azure-sdk-for-go@sdk/azcore/v1.17.1...sdk/azcore/v1.18.0)

Updates `github.com/aliyun/alibaba-cloud-sdk-go` from 1.63.103 to 1.63.104
- [Release notes](https://github.com/aliyun/alibaba-cloud-sdk-go/releases)
- [Changelog](https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/ChangeLog.txt)
- [Commits](aliyun/alibaba-cloud-sdk-go@v1.63.103...v1.63.104)

Updates `github.com/aws/aws-sdk-go-v2/config` from 1.29.12 to 1.29.13
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@config/v1.29.12...config/v1.29.13)

Updates `github.com/aws/aws-sdk-go-v2/credentials` from 1.17.65 to 1.17.66
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@credentials/v1.17.65...credentials/v1.17.66)

Updates `github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue` from 1.18.8 to 1.18.9
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/config/v1.18.9/CHANGELOG.md)
- [Commits](aws/aws-sdk-go-v2@config/v1.18.8...config/v1.18.9)

Updates `github.com/aws/aws-sdk-go-v2/service/dynamodb` from 1.42.0 to 1.42.1
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/s3/v1.42.0...service/s3/v1.42.1)

Updates `github.com/aws/aws-sdk-go-v2/service/route53` from 1.50.0 to 1.51.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/s3/v1.50.0...service/s3/v1.51.0)

Updates `github.com/aws/aws-sdk-go-v2/service/servicediscovery` from 1.35.1 to 1.35.2
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/kms/v1.35.1...service/ecr/v1.35.2)

Updates `github.com/aws/aws-sdk-go-v2/service/sts` from 1.33.17 to 1.33.18
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/sns/v1.33.17...service/sns/v1.33.18)

Updates `github.com/linode/linodego` from 1.48.1 to 1.49.0
- [Release notes](https://github.com/linode/linodego/releases)
- [Commits](linode/linodego@v1.48.1...v1.49.0)

Updates `github.com/miekg/dns` from 1.1.64 to 1.1.65
- [Changelog](https://github.com/miekg/dns/blob/master/Makefile.release)
- [Commits](miekg/dns@v1.1.64...v1.1.65)

Updates `github.com/oracle/oci-go-sdk/v65` from 65.88.0 to 65.88.1
- [Release notes](https://github.com/oracle/oci-go-sdk/releases)
- [Changelog](https://github.com/oracle/oci-go-sdk/blob/master/CHANGELOG.md)
- [Commits](oracle/oci-go-sdk@v65.88.0...v65.88.1)

Updates `github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common` from 1.0.1134 to 1.0.1140
- [Commits](TencentCloud/tencentcloud-sdk-go@v1.0.1134...v1.0.1140)

Updates `github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod` from 1.0.1134 to 1.0.1136
- [Commits](TencentCloud/tencentcloud-sdk-go@v1.0.1134...v1.0.1136)

Updates `golang.org/x/net` from 0.38.0 to 0.39.0
- [Commits](golang/net@v0.38.0...v0.39.0)

Updates `golang.org/x/oauth2` from 0.28.0 to 0.29.0
- [Commits](golang/oauth2@v0.28.0...v0.29.0)

Updates `golang.org/x/sync` from 0.12.0 to 0.13.0
- [Commits](golang/sync@v0.12.0...v0.13.0)

Updates `golang.org/x/text` from 0.23.0 to 0.24.0
- [Release notes](https://github.com/golang/text/releases)
- [Commits](golang/text@v0.23.0...v0.24.0)

Updates `gopkg.in/ns1/ns1-go.v2` from 2.13.0 to 2.14.1

---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azcore
  dependency-version: 1.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/aliyun/alibaba-cloud-sdk-go
  dependency-version: 1.63.104
  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.29.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.17.66
  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.18.9
  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.42.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/route53
  dependency-version: 1.51.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/servicediscovery
  dependency-version: 1.35.2
  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.33.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/linode/linodego
  dependency-version: 1.49.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: github.com/miekg/dns
  dependency-version: 1.1.65
  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.88.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common
  dependency-version: 1.0.1140
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod
  dependency-version: 1.0.1136
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: golang.org/x/net
  dependency-version: 0.39.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: golang.org/x/oauth2
  dependency-version: 0.29.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: golang.org/x/sync
  dependency-version: 0.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: golang.org/x/text
  dependency-version: 0.24.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: gopkg.in/ns1/ns1-go.v2
  dependency-version: 2.14.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

chore(helm): add validation for prefix and suffix and capture regression (kubernetes-sigs#5250)

* chore(helm): add valiation.tpl and capture regression

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

* chore(helm): add valiation.tpl and capture regression

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

* chore(helm): add validation.tpl and capture regression

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

* chore(helm): add validation.tpl and capture regression

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

* chore(helm): add validation.tpl and capture regression

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

* chore(helm): add validation.tpl and capture regression

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

* chore(helm): add validation for prefix and suffix and capture regression

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

* chore(helm): add validation for prefix and suffix and capture regression

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

* chore(helm): add validation for prefix and suffix and capture regression

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

* chore(helm): add validation for prefix and suffix and capture regression

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
Co-authored-by: Steve Hipwell <steve.hipwell@gmail.com>

chore(ci): fix random data race failure on source/node test

only consider accepted gateway routes if the condition generation matches the current one

use route parentRef from spec instead of observedGeneration to select correct status conditions to evaluate

update all route tests to have a valid spec.parentRef entry

add missing lookup for TLSRoute

update gatewayRoute to contain spec.parentRefs instead of extracting that directly from each route during the resolve stage

update comment on gwRouteIsAccepted

validate group and kind on the spec.parentRef. Move check into gwRouteHasParentRef

remove unnecessary variable

chore: Release Helm chart v1.16.1

Signed-off-by: Steve Hipwell <steve.hipwell@gmail.com>

fix cloudflare regional hostnames

Implements create & delete of regional hostnames for A, AAAA & CNAME
records.
Implements "external-dns.alpha.kubernetes.io/cloudflare-region-key"
annotation.

add tests & fixes for dataLocalizationRegionalHostnamesChanges()

chore(source): code cleanup

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

chore(source): code cleanup

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

chore(source): code cleanup

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

changes to goccy yaml

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

use json to unmarshal json

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

chore(dependencies): update toools versions (kubernetes-sigs#5252)

* chore(dependencies): update toools versions

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

* chore(dependencies): update toools versions

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

* chore(dependencies): update toools versions

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

* chore(dependencies): update toools versions

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

* chore(dependencies): update toools versions

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

* chore(dependencies): update toools versions

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

* chore(dependencies): update toools versions

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

---------

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

chore(source): code cleanup

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

new pi-hole server v6 results in 404 error