Skip to content

feat: Add resource requirements support to ACME HTTP01 solver pod templates#7972

Merged
cert-manager-prow[bot] merged 2 commits intocert-manager:masterfrom
lunarwhite:pod-template-res
Sep 17, 2025
Merged

feat: Add resource requirements support to ACME HTTP01 solver pod templates#7972
cert-manager-prow[bot] merged 2 commits intocert-manager:masterfrom
lunarwhite:pod-template-res

Conversation

@lunarwhite
Copy link
Copy Markdown
Member

@lunarwhite lunarwhite commented Aug 18, 2025

This PR enables users to specify custom resource requirements for ACME HTTP01 solver pods through the issuer configuration. It provides granular per-issuer/solver resource settings and allows users to override global --acme-http01-solver-resource-* controller flags.

  • Adds Resources field to ACMEChallengeSolverHTTP01IngressPodSpec in both internal and public APIs.
  • Updates CRDs and generates corresponding client code, etc.
  • Updates ACME HTTP01 pod mergePodObjectMetaWithPodTemplate logic to use issuer-specific resource values when available, falling back to ACMEOptions values derived from global flags.
  • Adds unit tests to verify the precedence is correctly handled in common and edge situations.

Pull Request Motivation

Closes #7825

E2E Verification

pod template with non-default resource requirements set
$ k create -f - << EOF
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: letsencrypt-http01-resources
spec:
  acme:
    server: https://acme-staging-v02.api.letsencrypt.org/directory
    privateKeySecretRef:
      name: letsencrypt-http01-resources
    solvers:
    - http01:
        ingress:
          ingressClassName: nginx
          podTemplate:
            spec:
              resources:
                requests:
                  cpu: "50m"
                  memory: "32Mi"
                limits:
                  cpu: "150m"
                  memory: "128Mi"
EOF

$ k get clusterissuer
NAME                           READY   AGE
letsencrypt-http01-resources   True    9s

$ k apply -f - << EOF
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt-http01-resources
  name: pebble
  namespace: pebble
spec:
  ingressClassName: nginx
  rules:
  - host: pebble.com
    http:
      paths:
      - pathType: Prefix
        path: /
        backend:
          service:
            name: pebble
            port:
              number: 443
  tls:
  - hosts:
    - pebble.com
    secretName: pebble-cert
EOF

$ k get pod -l acme.cert-manager.io/http01-solver -n pebble
NAME                        READY   STATUS    RESTARTS   AGE
cm-acme-http-solver-pbtc9   1/1     Running   0          2m15s

# values should completely match what are defined in 'http01.podTemplate.spec.resources'
$ k get pod -l acme.cert-manager.io/http01-solver -n pebble -o jsonpath='{range .items[*]}{.metadata.name}{": CPU Limits="}{.spec.containers[0].resources.limits.cpu}{", Memory Limits="}{.spec.containers[0].resources.limits.memory}{", CPU Requests="}{.spec.containers[0].resources.requests.cpu}{", Memory Requests="}{.spec.containers[0].resources.requests.memory}{"\n"}{end}'
cm-acme-http-solver-pbtc9: CPU Limits=150m, Memory Limits=128Mi, CPU Requests=50m, Memory Requests=32Mi

$ k delete ingress pebble -n pebble
pod template with partial resource requirements set
$ k apply -f - << EOF
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
  name: letsencrypt-http01-partial-resources
  namespace: pebble
spec:
  acme:
    server: https://acme-staging-v02.api.letsencrypt.org/directory
    privateKeySecretRef:
      name: letsencrypt-http01-partial-resources
    solvers:
    - http01:
        ingress:
          ingressClassName: nginx
          podTemplate:
            spec:
              resources:
                requests:
                  cpu: "30m"
EOF

$ k get issuer -n pebble
NAME                                   READY   AGE
letsencrypt-http01-partial-resources   True    14s

$ k apply -f - << EOF
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    cert-manager.io/issuer: letsencrypt-http01-partial-resources
  name: pebble
  namespace: pebble
spec:
  ingressClassName: nginx
  rules:
  - host: pebble.com
    http:
      paths:
      - pathType: Prefix
        path: /
        backend:
          service:
            name: pebble
            port:
              number: 443
  tls:
  - hosts:
    - pebble.com
    secretName: pebble-cert
EOF

$ k get pod -l acme.cert-manager.io/http01-solver -n pebble
NAME                        READY   STATUS    RESTARTS   AGE
cm-acme-http-solver-gkz4r   1/1     Running   0          11s

# value should match what is defined in 'http01.podTemplate.spec.resources.requests.cpu', rest of them should still match the values from the flags (default or customized)
$ k get pod -l acme.cert-manager.io/http01-solver -n pebble -o jsonpath='{range .items[*]}{.metadata.name}{": CPU Limits="}{.spec.containers[0].resources.limits.cpu}{", Memory Limits="}{.spec.containers[0].resources.limits.memory}{", CPU Requests="}{.spec.containers[0].resources.requests.cpu}{", Memory Requests="}{.spec.containers[0].resources.requests.memory}{"\n"}{end}'
cm-acme-http-solver-gkz4r: CPU Limits=100m, Memory Limits=64Mi, CPU Requests=30m, Memory Requests=64Mi

$ k delete ingress pebble -n pebble
pod template with empty resource requirements set
$ k create -f - << EOF
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: letsencrypt-http01-empty-resources
spec:
  acme:
    server: https://acme-staging-v02.api.letsencrypt.org/directory
    privateKeySecretRef:
      name: letsencrypt-http01-empty-resources
    solvers:
    - http01:
        ingress:
          ingressClassName: nginx
          podTemplate:
            spec:
              resources: {}
EOF

$ k get clusterissuer
NAME                                 READY   AGE
letsencrypt-http01-empty-resources   True    18s

$ k apply -f - << EOF
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt-http01-empty-resources
  name: pebble
  namespace: pebble
spec:
  ingressClassName: nginx
  rules:
  - host: pebble.com
    http:
      paths:
      - pathType: Prefix
        path: /
        backend:
          service:
            name: pebble
            port:
              number: 443
  tls:
  - hosts:
    - pebble.com
    secretName: pebble-cert
EOF

$ k get pod -l acme.cert-manager.io/http01-solver -n pebble
NAME                        READY   STATUS    RESTARTS   AGE
cm-acme-http-solver-6rvwx   1/1     Running   0          4s

# value should match the values from the flags (default or customized), rather than empty
$ k get pod -l acme.cert-manager.io/http01-solver -n pebble -o jsonpath='{range .items[*]}{.metadata.name}{": CPU Limits="}{.spec.containers[0].resources.limits.cpu}{", Memory Limits="}{.spec.containers[0].resources.limits.memory}{", CPU Requests="}{.spec.containers[0].resources.requests.cpu}{", Memory Requests="}{.spec.containers[0].resources.requests.memory}{"\n"}{end}'
cm-acme-http-solver-6rvwx: CPU Limits=100m, Memory Limits=64Mi, CPU Requests=10m, Memory Requests=64Mi

$ k delete ingress pebble -n pebble

Same tests were conducted with relevant flags configured explicitly:

--set "extraArgs={--acme-http01-solver-resource-limits-cpu=200m,--acme-http01-solver-resource-limits-memory=512Mi,--acme-http01-solver-resource-request-cpu=180m,--acme-http01-solver-resource-request-memory=256Mi}" \

Kind

/kind feature

Release Note

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.

@cert-manager-prow cert-manager-prow bot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. release-note Denotes a PR that will be considered when it comes time to generate release notes. kind/feature Categorizes issue or PR as related to a new feature. 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/http01 Indicates a PR modifies ACME HTTP01 provider code needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. area/api Indicates a PR directly modifies the 'pkg/apis' directory labels Aug 18, 2025
@cert-manager-prow
Copy link
Copy Markdown
Contributor

Hi @lunarwhite. Thanks for your PR.

I'm waiting for a cert-manager 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.

Details

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.

@cert-manager-prow cert-manager-prow bot added area/deploy Indicates a PR modifies deployment configuration size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Aug 18, 2025
@cert-manager-prow cert-manager-prow bot added dco-signoff: no Indicates that at least one commit in this pull request is missing the DCO sign-off message. and removed dco-signoff: yes Indicates that all commits in the pull request have the valid DCO sign-off message. labels Aug 18, 2025
@cert-manager-prow cert-manager-prow bot added dco-signoff: yes Indicates that all commits in the pull request have the valid DCO sign-off message. and removed dco-signoff: no Indicates that at least one commit in this pull request is missing the DCO sign-off message. labels Aug 18, 2025
@lunarwhite lunarwhite marked this pull request as ready for review August 18, 2025 09:13
@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 18, 2025
@erikgb
Copy link
Copy Markdown
Member

erikgb commented Aug 18, 2025

Why do we need API support for this? Wouldn't the requirements be the same for all solvers pods?

@lunarwhite
Copy link
Copy Markdown
Member Author

@erikgb Thanks for looking into this. I think you are sharing the same concern with @SgtCoDFish: https://kubernetes.slack.com/archives/CDEQJ0Q8M/p1754994793323799?thread_ts=1754971216.744569&cid=CDEQJ0Q8M.

I still believe it's a good-to-have capability that brings more flexibility.

Apart from what I documented in #7825, here are other points that I can think of:

  • Although in most cases setting global values works pretty well, some organizations still have more fine-grained resource sizing requirements, especially in multi-tenant environments
  • Setting it through a pod template will not cause controller restarts

I understand it may seem overkill, but other common pod template fields (nodeSelector, tolerations, etc) are already configurable per-issuer/solver. I'm also open to any feedback

@lunarwhite lunarwhite force-pushed the pod-template-res branch 2 times, most recently from e94e8bc to 45f5ad5 Compare August 24, 2025 08:10
@erikgb
Copy link
Copy Markdown
Member

erikgb commented Sep 8, 2025

/ok-to-test

@cert-manager-prow cert-manager-prow bot added ok-to-test and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Sep 8, 2025
This enables users to specify custom resource requirements for ACME HTTP01 solver pods through the issuer configuration. It provides granular per-issuer/solver resource settings and allows users to override global `--acme-http01-solver-resource-*` controller flags.

Signed-off-by: Yuedong Wu <dwcn22@outlook.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR enables users to specify custom resource requirements for ACME HTTP01 solver pods through the issuer configuration. It provides granular per-issuer/solver resource settings and allows users to override global --acme-http01-solver-resource-* controller flags.

  • Adds a new Resources field to ACMEChallengeSolverHTTP01IngressPodSpec API structures
  • Updates resource merging logic to prioritize issuer-specific values over global defaults
  • Includes comprehensive unit tests to verify precedence handling

Reviewed Changes

Copilot reviewed 15 out of 16 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pkg/apis/acme/v1/types_issuer.go Adds Resources field to public API spec
internal/apis/acme/types_issuer.go Adds Resources field to internal API spec and updates documentation
pkg/issuer/acme/http/pod.go Implements resource merging logic with precedence handling
pkg/issuer/acme/http/pod_test.go Adds comprehensive unit tests for resource precedence scenarios
Multiple CRD files Updates CRDs to include the new resources field schema
Generated files Auto-generated deepcopy, conversion, and client code updates

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

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.

This looks really good! I am just not sure if I understand the rationale for having this as part of the API. Shouldn't the solver pod have the same resource requirements for any issuer? The change increases the API surface considerably, which scares me a bit. I will discuss this with others joining our stand-up today. Feel free to join if you can, @lunarwhite!

/lgtm

@cert-manager-prow cert-manager-prow bot added the lgtm Indicates that a PR is ready to be merged. label Sep 9, 2025
@cert-manager-prow cert-manager-prow bot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed lgtm Indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Sep 15, 2025
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.

I still think this feature makes sense. 🚀 I've added some serialization nit comments.

@erikgb erikgb requested a review from Copilot September 16, 2025 10:49
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Copilot reviewed 17 out of 18 changed files in this pull request and generated 1 comment.


Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

…and Limits fields, rather than fully importing `ResourceRequirements` type from k8s.io/api/core/v1, in order to maintain only essential API surfaces

Signed-off-by: Yuedong Wu <dwcn22@outlook.com>
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 I still need support from at least one other maintainer to merge this.

@cert-manager-prow cert-manager-prow bot added lgtm Indicates that a PR is ready to be merged. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Sep 17, 2025
@erikgb
Copy link
Copy Markdown
Member

erikgb commented Sep 17, 2025

/hold

@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 Sep 17, 2025
Comment on lines +323 to +326
// Note that when only specifying resource limits, ensure they are greater than or equal
// to the corresponding global resource requests configured via controller flags
// (--acme-http01-solver-resource-request-cpu, --acme-http01-solver-resource-request-memory).
// Kubernetes will reject pod creation if limits are lower than requests, causing challenge failures.
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Re: @erikgb As per your suggestion here.

This is a valid scenario exactly (e.g. the resource limit of 32Mi set in the pod template is lower than the request value of 64Mi set in the global flag, which would result in a solver pod creation failure). IIUC, you are suggesting adding validations to detect such invalid combinations during the Issuer/ClusterIssuer creation phase, correct?

I tried to implement this with minimal changes, but I found that we cannot avoid duplicating what the K8s native API validation already handles. A more complex issue is that the cert-manager webhook validation framework does not have access to the controller config (global defaults) as per current design. We may also not really want to introduce any non-trivial arch changes to pass the config context through the validation chain.

So I end up making this trade-off - just added above "Note that ..." in the API fields, to guide users to configure carefully and avoid conflicts or violations in such scenarios. What do you think?

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.

I think this is good for the initial PR. We probably have more potential "footgun" solutions hiding in dark corners. Can be improved later on, and is a known issue with resource requirements in general.

Copy link
Copy Markdown
Member

@wallrj-cyberark wallrj-cyberark left a comment

Choose a reason for hiding this comment

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

Thanks @lunarwhite for persevering with this.
And thanks for taking the time to show how you've tested this E2E.

@wallrj
Copy link
Copy Markdown
Member

wallrj commented Sep 17, 2025

/approve
/lgtm

@cert-manager-prow
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: erikgb, wallrj, wallrj-cyberark

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

@erikgb
Copy link
Copy Markdown
Member

erikgb commented Sep 17, 2025

/unhold

Since @wallrj has also reviewed this now.

@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 Sep 17, 2025
@cert-manager-prow cert-manager-prow bot merged commit d9d55d7 into cert-manager:master Sep 17, 2025
6 checks passed
@lunarwhite lunarwhite deleted the pod-template-res branch September 17, 2025 10:38
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

@lunarwhite 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/http01 Indicates a PR modifies ACME HTTP01 provider code area/acme Indicates a PR directly modifies the ACME Issuer code area/api Indicates a PR directly modifies the 'pkg/apis' directory area/deploy Indicates a PR modifies deployment configuration dco-signoff: yes Indicates that all commits in the pull request have the valid DCO sign-off message. kind/feature Categorizes issue or PR as related to a new feature. lgtm Indicates that a PR is ready to be merged. ok-to-test release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support setting resources limit/request for ACME HTTP01 solver pod via podTemplate

7 participants