Skip to content

fix(deps): major upgrade of Akamai SDK#8003

Merged
cert-manager-prow[bot] merged 1 commit intocert-manager:masterfrom
hjoshi123:fix/akamai-upgrade-sdk
Aug 29, 2025
Merged

fix(deps): major upgrade of Akamai SDK#8003
cert-manager-prow[bot] merged 1 commit intocert-manager:masterfrom
hjoshi123:fix/akamai-upgrade-sdk

Conversation

@hjoshi123
Copy link
Copy Markdown
Collaborator

@hjoshi123 hjoshi123 commented Aug 24, 2025

Pull Request Motivation

This PR addresses sdk related changes for akamai dns provider. Akamai has changed their sdk and v1 is no longer backwards compatible.

Kind

/kind cleanup

Release Note

Major upgrade of Akamai SDK. NOTE: The new version has not been fully tested end-to-end due to the lack of cloud infrastructure.

@cert-manager-prow cert-manager-prow bot added kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. release-note-none Denotes a PR that doesn't merit a release note. dco-signoff: yes Indicates that all commits in the pull request have the valid DCO sign-off message. area/acme Indicates a PR directly modifies the ACME Issuer code area/acme/dns01 Indicates a PR modifies ACME DNS01 provider code size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Aug 24, 2025
@hjoshi123 hjoshi123 force-pushed the fix/akamai-upgrade-sdk branch from 81aece0 to 0048873 Compare August 24, 2025 20:25
@erikgb erikgb force-pushed the fix/akamai-upgrade-sdk branch from 0048873 to c6fbdba Compare August 24, 2025 21:47
@hjoshi123 hjoshi123 force-pushed the fix/akamai-upgrade-sdk branch from c6fbdba to 2675c23 Compare August 24, 2025 21:59
@hjoshi123 hjoshi123 changed the title WIP fix(dns): upgrading akamai provider fix(dns): upgrading akamai provider Aug 24, 2025
@cert-manager-prow cert-manager-prow bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Aug 24, 2025
@hjoshi123 hjoshi123 force-pushed the fix/akamai-upgrade-sdk branch from 2675c23 to 8f2df05 Compare August 24, 2025 23:47
@hjoshi123 hjoshi123 requested a review from erikgb August 24, 2025 23:48
@inteon
Copy link
Copy Markdown
Member

inteon commented Aug 25, 2025

/approve
Need someone else to lgtm when they think this will work as expected.

@cert-manager-prow
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: inteon

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

The pull request process is described here

Details 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

@cert-manager-prow cert-manager-prow bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 25, 2025
@erikgb
Copy link
Copy Markdown
Member

erikgb commented Aug 25, 2025

Maybe we should ask on #cert-manager Slack if any users are using Akamai DNS and could help us verify this upgrade? @hjoshi123, WDYT, and do you want to follow up on this?

@hjoshi123
Copy link
Copy Markdown
Collaborator Author

Yes @erikgb I can do a follow up on the cert-mgr channel.. since the tests we wrote are stubbed clients it would be nice to get someone to test it out

@hjoshi123 hjoshi123 force-pushed the fix/akamai-upgrade-sdk branch 2 times, most recently from 015e210 to 638f2bc Compare August 25, 2025 17:15
Copy link
Copy Markdown
Member

@erikgb erikgb left a comment

Choose a reason for hiding this comment

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

Some minor nits from me remaining now. Soft LGTM! Great work!

@erikgb
Copy link
Copy Markdown
Member

erikgb commented Aug 25, 2025

/hold

Until we can get a user of Akamai DNS for ACME to end-to-end test this.

@cert-manager-prow cert-manager-prow bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Aug 25, 2025
@hjoshi123 hjoshi123 force-pushed the fix/akamai-upgrade-sdk branch from c93886e to 6bc75b7 Compare August 25, 2025 18:43
Signed-off-by: hjoshi123 <mail@hjoshi.me>

Update pkg/issuer/acme/dns/akamai/akamai.go

Co-authored-by: Erik Godding Boye <egboye@gmail.com>
Signed-off-by: Hemant Joshi <mail2hemantjoshi@pm.me>

Update pkg/issuer/acme/dns/akamai/akamai.go

Co-authored-by: Erik Godding Boye <egboye@gmail.com>
Signed-off-by: Hemant Joshi <mail2hemantjoshi@pm.me>

Update pkg/issuer/acme/dns/akamai/akamai.go

Co-authored-by: Erik Godding Boye <egboye@gmail.com>
Signed-off-by: Hemant Joshi <mail2hemantjoshi@pm.me>

Update pkg/issuer/acme/dns/akamai/akamai.go

Co-authored-by: Erik Godding Boye <egboye@gmail.com>
Signed-off-by: Hemant Joshi <mail2hemantjoshi@pm.me>

Update pkg/issuer/acme/dns/akamai/akamai.go

Co-authored-by: Erik Godding Boye <egboye@gmail.com>
Signed-off-by: Hemant Joshi <mail2hemantjoshi@pm.me>

Update pkg/issuer/acme/dns/akamai/akamai.go

Co-authored-by: Erik Godding Boye <egboye@gmail.com>
Signed-off-by: Hemant Joshi <mail2hemantjoshi@pm.me>

changed references to opendnsclient

Signed-off-by: hjoshi123 <mail@hjoshi.me>

Use edgegrid.New options

Signed-off-by: Erik Godding Boye <egboye@gmail.com>

Update pkg/issuer/acme/dns/akamai/akamai.go

Co-authored-by: Erik Godding Boye <egboye@gmail.com>
Signed-off-by: Hemant Joshi <mail2hemantjoshi@pm.me>

Update pkg/issuer/acme/dns/akamai/akamai.go

Co-authored-by: Erik Godding Boye <egboye@gmail.com>
Signed-off-by: Hemant Joshi <mail2hemantjoshi@pm.me>

Update pkg/issuer/acme/dns/akamai/akamai.go

Co-authored-by: Erik Godding Boye <egboye@gmail.com>
Signed-off-by: Hemant Joshi <mail2hemantjoshi@pm.me>

Update pkg/issuer/acme/dns/akamai/akamai.go

Co-authored-by: Erik Godding Boye <egboye@gmail.com>
Signed-off-by: Hemant Joshi <mail2hemantjoshi@pm.me>

Update pkg/issuer/acme/dns/akamai/akamai.go

Co-authored-by: Erik Godding Boye <egboye@gmail.com>
Signed-off-by: Hemant Joshi <mail2hemantjoshi@pm.me>
@hjoshi123 hjoshi123 force-pushed the fix/akamai-upgrade-sdk branch from 6b540aa to b01fc30 Compare August 25, 2025 18:59
Copy link
Copy Markdown
Member

@erikgb erikgb left a comment

Choose a reason for hiding this comment

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

/lgtm

But let's hold this for a couple of days to see if any Akamai DNS user can help us test this end-to-end.

@cert-manager-prow cert-manager-prow bot added the lgtm Indicates that a PR is ready to be merged. label Aug 25, 2025
}

_, ok := err.(*dns.RecordError)
_, ok := err.(*dns.Error)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should we use errors.Is instead of a type cast? It handles error wrapping.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Good point, but my idea was to make this major upgrade PR as minimal as possible.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

But I agree this could be fixed here also.

@erikgb
Copy link
Copy Markdown
Member

erikgb commented Aug 28, 2025

@inteon, we didn't get any response on our attempt to get someone to test this. Should we just merge this and ensure we add a note about this in the release notes.

@hjoshi123 Can you please fill in a release note entry (in the PR description).

@hjoshi123
Copy link
Copy Markdown
Collaborator Author

/release-note-edit

Major upgrade of Akamai SDK. NOTE that this version is not end-to-end tested

@cert-manager-prow cert-manager-prow bot added release-note Denotes a PR that will be considered when it comes time to generate release notes. and removed release-note-none Denotes a PR that doesn't merit a release note. labels Aug 28, 2025
@erikgb erikgb changed the title fix(dns): upgrading akamai provider fix(deps): major upgrade of Akamai SDK Aug 29, 2025
@erikgb erikgb added the dependencies Pull requests that update a dependency file label Aug 29, 2025
@erikgb
Copy link
Copy Markdown
Member

erikgb commented Aug 29, 2025

/unhold

@cert-manager-prow cert-manager-prow bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Aug 29, 2025
@hjoshi123
Copy link
Copy Markdown
Collaborator Author

/retest

@cert-manager-prow cert-manager-prow bot merged commit eadb918 into cert-manager:master Aug 29, 2025
7 checks passed
alexlebens pushed a commit to alexlebens/infrastructure that referenced this pull request Oct 8, 2025
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [cert-manager](https://cert-manager.io) ([source](https://github.com/cert-manager/cert-manager)) | minor | `v1.18.2` -> `v1.19.0` |

---

### Release Notes

<details>
<summary>cert-manager/cert-manager (cert-manager)</summary>

### [`v1.19.0`](https://github.com/cert-manager/cert-manager/releases/tag/v1.19.0)

[Compare Source](cert-manager/cert-manager@v1.18.2...v1.19.0)

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

This release focuses on expanding platform compatibility, improving deployment flexibility, enhancing observability, and addressing key reliability issues.

> 📖  Read the full release notes at cert-manager.io: <https://cert-manager.io/docs/releases/release-notes/release-notes-1.19>

Changes since `v1.18.0`:

#### Feature

- Add IPv6 rules to the default network policy ([#&#8203;7726](cert-manager/cert-manager#7726), [@&#8203;jcpunk](https://github.com/jcpunk))
- Add `global.nodeSelector` to helm chart to allow for a single `nodeSelector` to be set across all services. ([#&#8203;7818](cert-manager/cert-manager#7818), [@&#8203;StingRayZA](https://github.com/StingRayZA))
- Add a feature gate to default to Ingress `pathType` `Exact` in ACME HTTP01 Ingress challenge solvers. ([#&#8203;7795](cert-manager/cert-manager#7795), [@&#8203;sspreitzer](https://github.com/sspreitzer))
- Add generated `applyconfigurations` allowing clients to make type-safe server-side apply requests for cert-manager resources. ([#&#8203;7866](cert-manager/cert-manager#7866), [@&#8203;erikgb](https://github.com/erikgb))
- Added API defaults to issuer references group (cert-manager.io) and kind (Issuer). ([#&#8203;7414](cert-manager/cert-manager#7414), [@&#8203;erikgb](https://github.com/erikgb))
- Added `certmanager_certificate_challenge_status` Prometheus metric. ([#&#8203;7736](cert-manager/cert-manager#7736), [@&#8203;hjoshi123](https://github.com/hjoshi123))
- Added `protocol` field for `rfc2136` DNS01 provider ([#&#8203;7881](cert-manager/cert-manager#7881), [@&#8203;hjoshi123](https://github.com/hjoshi123))
- Added experimental field `hostUsers` flag to all pods. Not set by default. ([#&#8203;7973](cert-manager/cert-manager#7973), [@&#8203;hjoshi123](https://github.com/hjoshi123))
- Support configurable resource requests and limits for ACME HTTP01 solver pods through ClusterIssuer and Issuer specifications, allowing granular resource management that overrides global `--acme-http01-solver-resource-*` settings. ([#&#8203;7972](cert-manager/cert-manager#7972), [@&#8203;lunarwhite](https://github.com/lunarwhite))
- The `CAInjectorMerging` feature has been promoted to BETA and is now enabled by default ([#&#8203;8017](cert-manager/cert-manager#8017), [@&#8203;ThatsMrTalbot](https://github.com/ThatsMrTalbot))
- The controller, webhook and ca-injector now log their version and git commit on startup for easier debugging and support. ([#&#8203;8072](cert-manager/cert-manager#8072), [@&#8203;prasad89](https://github.com/prasad89))
- Updated `certificate` metrics to the collector approach. ([#&#8203;7856](cert-manager/cert-manager#7856), [@&#8203;hjoshi123](https://github.com/hjoshi123))

#### Bug or Regression

- ACME: Increased challenge authorization timeout to 2 minutes to fix `error waiting for authorization` ([#&#8203;7796](cert-manager/cert-manager#7796), [@&#8203;hjoshi123](https://github.com/hjoshi123))
- BUGFIX: permitted URI domains were incorrectly used to set the excluded URI domains in the CSR's name constraints ([#&#8203;7816](cert-manager/cert-manager#7816), [@&#8203;kinolaev](https://github.com/kinolaev))
- Enforced ACME HTTP-01 solver validation to properly reject configurations when multiple ingress options (`class`, `ingressClassName`, `name`) are specified simultaneously ([#&#8203;8021](cert-manager/cert-manager#8021), [@&#8203;lunarwhite](https://github.com/lunarwhite))
- Increase maximum sizes of PEM certificates and chains which can be parsed in cert-manager, to handle leaf certificates with large numbers of DNS names or other identities ([#&#8203;7961](cert-manager/cert-manager#7961), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
- Reverted adding the `global.rbac.disableHTTPChallengesRole` Helm option. ([#&#8203;7836](cert-manager/cert-manager#7836), [@&#8203;inteon](https://github.com/inteon))
- This change removes the `path` label of core ACME client metrics and will require users to update their monitoring dashboards and alerting rules if using those metrics. ([#&#8203;8109](cert-manager/cert-manager#8109), [@&#8203;mladen-rusev-cyberark](https://github.com/mladen-rusev-cyberark))
- Use the latest version of `ingress-nginx` in E2E tests to ensure compatibility ([#&#8203;7792](cert-manager/cert-manager#7792), [@&#8203;wallrj](https://github.com/wallrj))

#### Other (Cleanup or Flake)

- Helm: Fix naming template of `tokenrequest` RoleBinding resource to improve consistency ([#&#8203;7761](cert-manager/cert-manager#7761), [@&#8203;lunarwhite](https://github.com/lunarwhite))
- Improve error messages when certificates, CRLs or private keys fail admission due to malformed or missing PEM data ([#&#8203;7928](cert-manager/cert-manager#7928), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
- Major upgrade of Akamai SDK. NOTE: The new version has not been fully tested end-to-end due to the lack of cloud infrastructure. ([#&#8203;8003](cert-manager/cert-manager#8003), [@&#8203;hjoshi123](https://github.com/hjoshi123))
- Update kind images to include the Kubernetes 1.33 node image ([#&#8203;7786](cert-manager/cert-manager#7786), [@&#8203;wallrj](https://github.com/wallrj))
- Use `maps.Copy` for cleaner map handling ([#&#8203;8092](cert-manager/cert-manager#8092), [@&#8203;quantpoet](https://github.com/quantpoet))
- Vault: Migrate Vault E2E add-on tests from deprecated `vault-client-go` to the new `vault/api` client. ([#&#8203;8059](cert-manager/cert-manager#8059), [@&#8203;armagankaratosun](https://github.com/armagankaratosun))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzUuNCIsInVwZGF0ZWRJblZlciI6IjQxLjEzNS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJjaGFydCJdfQ==-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/1711
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
@wallrj-cyberark
Copy link
Copy Markdown
Member

@hjoshi123 We have released this. Please test and feedback: https://github.com/cert-manager/cert-manager/releases/tag/v1.19.1

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. area/acme/dns01 Indicates a PR modifies ACME DNS01 provider code area/acme Indicates a PR directly modifies the ACME Issuer code dco-signoff: yes Indicates that all commits in the pull request have the valid DCO sign-off message. dependencies Pull requests that update a dependency file kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. lgtm Indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants