From ceeaef9ff5889613d44d9a81fef932fe3b2c80d9 Mon Sep 17 00:00:00 2001 From: Brandon Palm Date: Fri, 17 Jul 2026 15:59:13 -0500 Subject: [PATCH 1/3] CNF-18992: HTTP01 Challenge Proxy for cert-manager-operator Update the enhancement to reflect the MachineConfig-based DNAT+SNAT implementation, replacing the previous DaemonSet + reverse proxy design. The operator now creates a MachineConfig that deploys nftables DNAT rules and a systemd oneshot service on master nodes. Traffic to API_VIP:80 is forwarded at the kernel level to INGRESS_VIP:80 via DNAT+MASQUERADE, eliminating the need for a userspace proxy, container image, DaemonSet, RBAC, SCC, or NetworkPolicies. The superseded DaemonSet approach is documented in the Alternatives section. --- .../cert-manager/http01_challenge.png | Bin 0 -> 184329 bytes .../cert-manager/http01_challenge_proxy.md | 479 ++++++++++++++++++ 2 files changed, 479 insertions(+) create mode 100644 enhancements/cert-manager/http01_challenge.png create mode 100644 enhancements/cert-manager/http01_challenge_proxy.md diff --git a/enhancements/cert-manager/http01_challenge.png b/enhancements/cert-manager/http01_challenge.png new file mode 100644 index 0000000000000000000000000000000000000000..73cc26a376ff7e5e4185c761cc0ce84a2804d6a9 GIT binary patch literal 184329 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

M4*AuqO@ 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

Om`zE*AD`yteO)- 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�&-)%mmB)c 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

    5J53;gn^99?HQC z;)%HoW?sse*QH;S)yb?t@@d3|E=)xrVPO=F=Ehz}NnT7k^{{)Q>!iIW_rnj7{i!Z1BYbX z=))qN%(vSx2d5-Rf0ZSBn+eR#r}?hyVj3$8rYMJU8p247)z0>7pdkaa5={lf1a!wP z$pZM2hW#zke}=kWT}&e&ImWE&}=m2^{`tC4=w5+r+M*7by$hx4v* zE=x3^`NUF1=K+Cza1)FnT~)5%PluVSn$I#|b_QSe8+EBg*~8};sOY7P|1M-H50^rH!jt(+!s0LRW0Yc|(2EWJ{0%eSF(!2jsCF$3 zT~kEGUcCegzfKgQv1^oDCp@e#eaj#@LBke+@Kt}EyocOO{K09Xpk{&yiCYaNr!fW& zr!>B0gj1xSK8=MIX~@`k@)+>S$=^_RC)SLCT@`~%&)oON@Bb{7 zKC~ctON=V6wi0B74(C>E$mea9KnioL=I-@rz$5xB1`qYAWHrkX-YLpflED}yGI6+P zI^_{*wR>&HK-JKUyHxVIobQal1wtJ6_1pdaXw#8%u=V3{vF|{RHB1od1|E;YDpizp z&EF5gI#k*#S)*8l^+CBX#mgkJ_Q)k4`a9J4C0?&nDSJ`!o%(R@GkEXtFd}i9Fq*uB zVzxx8sDwS&_aspt9_O+xKS}L7Uhm-)fDf<};=%@NjY#qd@q`ECM#szxF12@-Wp#EkY5<-OX}1H&na!9G(`QERTd! z0K&IPZp9oY+79V1oN-!y$kai<68`_lBO&09|&gZ@C&LSW^MG zByE~9zWrO&%z4)Wm29wjA$%B~(++PV^H91L^!Z){FsP1_s3XU9cUQL)U78w;zEqa^ z>K>WKKK2K_hMtOgtk@{(NL7=}@;1JhrPWN4wz%k9QAV-@PMboReBR!!*QhPgd)H0I ze3jyM+2H-9<%Jsj#^HWl?^;&hXUh@kC$A&dNr(WMf;i3B=9zEk-9(S&OfBN6x^#Wl z#CmBK6|nx^Zgm5P*n6VA)Aco*$v9duQm9!Hy^H1^9{d(u(3YPGpu=GKiS^$Y+*8ZTLBsmcza|Z&1JXj+2_q1oJdZ$aG{mYNtPO zx<`MqIjBcG0uk^jvzjqS%9U<0aLB)%r?wJV-!2pPO3qP!C_j(Jn5D53;WZ zB#6KBO6%l#7LJrFqtWz8ZEZ6b15li`15%-N!4uFQ5Qg>y@VLxWj=oh1q7h;IEhf>_Wqq>;Uuu%q+HCCy?w%F5l_v~9&V|3#zcnu?N zwkLq7JK10Et2?<^RhHacc|F0K#27KUO6lunBt>Foh0is)9HD89G5v{d#Hr_a8sg)# z`1vS_Kc1dIeJn1xwfMH50dD|4Ya(wcpbLdSn7xvaQEE)5cZo$H8Sm7wKeaEwGxh4> z%`k^!G%|tEXZ_Nx*ze2(oa^4BXagj{mc6jBP^3;_di6^SYQ|9=(Whgy^l~WRF2&2H zI*p5zSi(nuE4s`8Wo-A$H6nkPrn9lq@t6B)YS3F!Mu9@1+L_5)6573}il0oKowxNQZ!rs7D0;>!ZZGl^ zDu?8{vj7%vHuE`TC+PwC0EYfd`g@@L6?|TBer&kcom1TYou_s(#WbnL>qxQ4NtdJc z1(o_os!mt0ATCj(d}@;ei27H%oyY(WCJ}>`K)~&u?*4&|KEhL#9%R55e7c{!Ma)J=)Wx-$FK?C z=4uG2`IF9|veZe(W`|=LMBAl;Sn6U2V%>_$Q20T7cBZc+}sL z{kJ*(=Lin1v{V2rB7S?${3YSM(+qPONt);vKj_kbV-O6Y&ExXz^_&uF64;pj>(K)i>xQWY@NZN?Y|aTjv#&&uX-cUI{vSlqd%vvs|3LE zkAK9S#P1U&^yFDje&7_3{wHIn6o8?&uB9zM9l`m(iaHQ!Yr6VpEeCBwcvW#kbfD)4cKzj zyU+Wc?ytCmd(5HLb|2v%BGdoo<O_4^+#Fql&kx0CD}rlHN)68@$R| W*SH`1uc>kYe tcp dport 80 dnat ip to :80 + } + chain postrouting { + type nat hook postrouting priority 100; + ip daddr tcp dport 80 masquerade + } + } + ``` + +2. **Systemd oneshot service** (`crtmgr-http01-dnat.service`): + - At startup: enables `net.ipv4.ip_forward` via sysctl, loads the nftables config, and inserts iptables FORWARD rules (idempotent via `-C` check before `-I` insert) + - At stop: deletes the nftables table and removes the iptables FORWARD rules + - Uses `RemainAfterExit=yes` to keep the rules active + +**Why iptables FORWARD rules alongside nftables NAT:** OpenShift's FORWARD chain uses iptables-nft with `policy DROP`. The kernel evaluates both iptables-nft and native nftables hooks, so both must ACCEPT for forwarded packets to pass. Two FORWARD rules are added: + - `-p tcp -d /32 --dport 80 -j ACCEPT` — allows new TCP connections to port 80 on the Ingress VIP + - `-m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT` — allows return traffic for established connections + +**MachineConfig Rollout:** The MCO (Machine Config Operator) handles rolling out the MachineConfig to master nodes. This involves a rolling reboot of master nodes, managed by the MCO with proper drain/cordon to maintain cluster availability. + +#### nftables Presence and Management + +- `nftables` is always present as part of the RHCOS payload. Baremetal and AWS (at least) OCP clusters install `nftables` tables, chains, and rules by default. +- The `nftables` systemd unit is disabled by default, but the netfilter subsystem is active and can be configured via the `nft` CLI/API without enabling the systemd unit. +- OVN-Kubernetes relies on netfilter (iptables/nftables) for features like UDN, Egress, and Services. +- If a user disables or removes `nftables`, this is considered an explicit user-driven action and is not managed or expected by OpenShift. +- If `nftables` is not present or is disabled, the DNAT rules will not function as intended. The systemd service will fail to load the nftables config, and the operator should surface a `Degraded` status condition on the HTTP01Proxy CR. +- Based on current RHCOS and OCP design, it is not possible to remove the underlying netfilter subsystem, so the feature can reliably depend on its presence unless a user takes explicit unsupported action. + +### Design Details + +**Scope**: The DNAT rules **only** affect external HTTP traffic (port 80) directed to the API VIP that resolves `api.cluster.example.com`. Internal cluster communication, service discovery, and HTTPS traffic (port 443) are completely unaffected. + +- **Operator Integration**: The cert-manager-operator will manage the complete lifecycle of the HTTP01 DNAT MachineConfig, including creation, updates, and removal, following the same pattern as the istio-csr-controller. +- **MachineConfig Deployment**: The operator creates a MachineConfig that configures nftables DNAT rules on master nodes. The MCO handles rolling out the configuration with node reboots. +- **Traffic Redirection**: nftables PREROUTING DNAT forwards all TCP port 80 traffic destined for the API VIP to the Ingress VIP. POSTROUTING MASQUERADE handles return traffic routing. +- **Security**: All HTTP traffic (port 80) to the API VIP is forwarded to the Ingress VIP. This is acceptable because nothing else listens on the API VIP on port 80 in a standard OpenShift deployment. + - **ACME Traffic**: HTTP01 challenge requests arriving at `:80` are forwarded to the Ingress VIP, where the OpenShift Router serves the challenge response from the cert-manager challenge pod. + - **Non-ACME Traffic**: Any other HTTP traffic to the API VIP on port 80 is also forwarded. In standard OpenShift deployments, no services listen on API VIP port 80, so this has no practical impact. + - **HTTPS Traffic**: All HTTPS traffic (port 443) to the API endpoint continues to function normally and is completely unaffected by the DNAT rules. +- **Monitoring**: The controller logs reconciliation events. On the nodes, `journalctl -u crtmgr-http01-dnat.service` shows nftables rule loading status. The nftables table can be inspected with `nft list table inet crtmgr_http01_dnat`. +- **Configuration Management**: The operator watches the HTTP01Proxy CR for configuration changes and reconciles the MachineConfig state accordingly. It also watches `infrastructure/cluster` for VIP changes, invalidating its platform cache and re-rendering the MachineConfig if VIPs change. + +### Drawbacks + +1. **Dependency on nftables**: The solution relies on `nftables`, which may not be available or enabled on all environments. +2. **Node Reboot Required**: MachineConfig rollout requires MCO-managed node reboots. Applying or removing the MachineConfig will cause master nodes to be rebooted, which introduces temporary disruption during rollout. +3. **Node-Level Network Modification**: The solution modifies node-level network configuration via MachineConfig, adding nftables rules and a systemd service. While lightweight, this introduces kernel-level packet forwarding that must be coordinated with other networking components. +4. **No Path-Based Filtering**: Unlike a reverse proxy approach, the DNAT rules forward all port 80 traffic to the API VIP, not just ACME challenge paths. This is acceptable in standard deployments where nothing else listens on API VIP port 80. + +## Alternatives + +### DaemonSet + Reverse Proxy (Superseded) + +The original implementation design used a DaemonSet running a Go reverse proxy binary on control plane nodes. The proxy listened on port 8888 with `hostNetwork: true`, and nftables `redirect` rules sent API_VIP:80 traffic to localhost:8888. The proxy performed path-based filtering, only forwarding requests matching `/.well-known/acme-challenge/*` to the Ingress VIP, and returning 400 Bad Request for all other paths. + +This approach was superseded by the MachineConfig-based DNAT approach because: +1. **Operational simplicity**: No container image, DaemonSet, ServiceAccount, ClusterRole, ClusterRoleBinding, SCC RoleBinding, or NetworkPolicies to manage +2. **Smaller attack surface**: No pods running with hostNetwork and privileged SCC +3. **Reliability**: Kernel-level packet forwarding is more robust than a userspace proxy +4. **Maintenance burden**: Eliminates a separate container image build and lifecycle +5. **Resource efficiency**: No additional pods consuming CPU/memory on control plane nodes + +The tradeoff is that the MachineConfig approach does not perform path-based filtering (all port 80 traffic to API VIP is forwarded) and requires node reboots for deployment/removal. Both tradeoffs were deemed acceptable for the target use case. + +- [Original Proxy Code Repository](https://github.com/mvazquezc/cert-mgr-http01-proxy/tree/main) +- [Original Deployment Manifest](https://github.com/mvazquezc/cert-mgr-http01-proxy/blob/main/manifests/deploy-in-ocp.yaml) + +### Other Alternatives (Not Implemented) + +**Important Note**: The alternatives listed below address **certificate management at scale** (how to deploy and manage cert-manager across multiple clusters), which is a different problem than what this enhancement solves. + +**All of these alternatives would still encounter the same fundamental gap** that the HTTP01 Challenge Proxy addresses: **the inability to complete HTTP01 challenges for API endpoints that are not exposed via OpenShift Ingress.** + +Regardless of which certificate management approach is chosen (centralized, distributed, hub-and-spoke, etc.), the underlying HTTP01 challenge mechanism for API endpoints would still fail without the traffic redirection solution provided by this enhancement. **The HTTP01 proxy is complementary to these approaches, not competing with them.** + +The alternatives were actually implemented if you look through the presentation [slides](https://docs.google.com/presentation/d/1mJ1pnsPiEwb-U5lHwhM2UkyRmkkLeYxj3cfE4F7dOx0/edit#slide=id.g547716335e_0_260) but the approaches are all listed below. + +1. **RHACM Manages Cert Manager Deployment**: RHACM (Red Hat Advanced Cluster Management) manages the deployment of Cert Manager and certificates on the spokes using Policies. Each managed cluster runs its own Cert Manager instance. This approach decentralizes certificate management but requires Cert Manager to be deployed and maintained on each spoke cluster. + +2. **Single Addon on the Hub**: A single addon runs on the hub and watches the spoke clusters' APIs for `Certificate` and `CertificateRequest` related events. When these APIs are created, updated, or deleted in the spoke, the addon syncs the contents back and forth between the hub and the spokes. This approach centralizes management but introduces additional complexity in syncing data. + +3. **Cert Manager Controller per Spoke**: A Cert Manager controller is configured for each spoke cluster on the hub. These controllers run in the spoke cluster namespace and are configured to use the spoke's `system:admin` kubeconfig. This approach allows centralized control but requires managing multiple controllers on the hub. + +4. **Single Cert Manager Controller on the Hub**: A single Cert Manager controller runs on the hub. Certificates and `CertificateRequests` for each spoke cluster are created with data known beforehand (e.g., API, Ingress, CNFs). The resulting secrets are synced to the spokes via RHACM Policies. This approach simplifies the deployment but requires pre-configured data for each spoke. + +More information about the investigation can be found in the [certificate management investigation slides](https://docs.google.com/presentation/d/1mJ1pnsPiEwb-U5lHwhM2UkyRmkkLeYxj3cfE4F7dOx0/edit#slide=id.g547716335e_0_260). + +### Risks and Mitigations + +1. **MachineConfig Failure or Removal**: If the MachineConfig is removed or fails to apply, the nftables DNAT rules will not be present on the master nodes, and HTTP01 challenges for the API endpoint will fail. This does **not** prevent users from accessing their cluster, but may result in the API certificate expiring if not renewed. + - **User Impact**: + - End-users and system components can still access the API endpoint, but may encounter certificate warnings or errors if the certificate is expired or invalid. + - Users may need to accept insecure connections (e.g., use `--insecure-skip-tls-verify` with `oc` or `kubectl`) until the certificate is renewed. + - Automated systems or integrations that require valid certificates may fail or refuse to connect. + - **Remediation/Workaround**: + - Re-create the `HTTP01Proxy` CR, which will trigger the controller to re-create the MachineConfig. The MCO will roll the configuration out to master nodes (requires reboot). + - If the API certificate has expired, use insecure connection flags to access the cluster and perform remediation. + - Monitor for certificate expiry and configure alerts to notify administrators before expiry occurs. + - **Detection**: Configure alerts for expiring certificates. Warning alerts should be triggered when certificates are close to expiry, and critical alerts when certificates have expired. This allows administrators to take action before cluster API access is impacted. + +2. **Traffic Interference**: The DNAT rules forward all TCP port 80 traffic destined for the API VIP. In standard OpenShift deployments, nothing listens on API VIP port 80, so this is not a concern. However, if custom services are configured to listen on API VIP port 80, they would be affected. **Mitigation**: The API VIP port 80 is not used by any standard OpenShift component. Users should verify no custom services use this port before enabling the feature. + +3. **Node Reboot Impact**: Deploying or removing the MachineConfig requires MCO-managed node reboots. On a 3-node control plane, this results in rolling reboots of all master nodes. **Mitigation**: MCO handles rolling reboots with proper drain/cordon, ensuring cluster availability during rollout. + +4. **Dual iptables/nftables Coordination**: The solution requires iptables FORWARD rules alongside nftables NAT rules because OpenShift's FORWARD chain uses iptables-nft with DROP policy. Changes to OpenShift's networking stack could affect this. **Mitigation**: The iptables FORWARD rules are narrowly scoped and the systemd service includes proper cleanup on stop. + +**General Mitigation**: For all risks above, administrators can disable the HTTP01 challenge feature entirely by deleting the `HTTP01Proxy` CR. The controller's finalizer will delete the MachineConfig, and the MCO will remove the nftables rules and systemd service from master nodes (requires reboot). HTTP01 challenges for the API endpoint will no longer be possible until re-enabled. + +### Implementation History + +- **2025-03-28**: Enhancement proposal created. +- **2026-01-26**: Updated to use cert-manager-operator CRD approach following istio-csr-controller pattern. +- **2026-07-17**: Updated to MachineConfig-based DNAT approach, replacing DaemonSet + reverse proxy design. Implementation in [openshift/cert-manager-operator#459](https://github.com/openshift/cert-manager-operator/pull/459). + +### References + +- [Cert Manager Expansion JIRA Epic](https://issues.redhat.com/browse/CNF-18992) +- [ACME HTTP01 Challenge](https://letsencrypt.org/docs/challenge-types/#http-01-challenge) +- [HTTP01 Proxy MachineConfig Implementation (PR #459)](https://github.com/openshift/cert-manager-operator/pull/459) +- [Istio-CSR Controller Enhancement](istio-csr-controller.md) +- [OpenShift MachineConfig Documentation](https://docs.openshift.com/container-platform/latest/post_installation_configuration/machine-configuration-tasks.html) + +### Workflow Description + +1. Cert Manager initiates an HTTP01 challenge for the API endpoint (`api.cluster.example.com`). +2. The ACME CA sends an HTTP request to `http://api.cluster.example.com:80/.well-known/acme-challenge/`. DNS resolves this to the API VIP. +3. **DNAT Redirection**: The packet arrives at a master node (where the API VIP is hosted by keepalived). nftables PREROUTING rules rewrite the packet destination from API VIP to Ingress VIP. POSTROUTING MASQUERADE rules rewrite the source address for return traffic. iptables FORWARD rules allow the forwarded packets through the kernel's FORWARD chain. +4. The traffic arrives at the OpenShift Ingress Router on the Ingress VIP, which serves the challenge response from the cert-manager challenge pod. +5. The ACME CA validates the challenge and issues the certificate for the API endpoint. + +### Topology Considerations + +- **Standard Clusters**: The API VIP is hosted on control plane nodes. The DNAT rules ensure that HTTP01 challenges are forwarded to the Ingress VIP and served by the OpenShift Ingress Routers. +- **Compact Clusters**: The DNAT rules handle scenarios where the API VIP node may or may not host an OpenShift Router, ensuring consistent challenge redirection. +- **SNO (Single Node OpenShift)**: The DNAT rules are not strictly required in this topology, as the API and wildcard FQDNs resolve to the same IP. However, the feature can still be deployed for consistency. + +#### Hypershift / Hosted Control Planes + +This enhancement does not directly apply to Hypershift deployments, as the API endpoint management in Hypershift differs from baremetal environments. However, the DNAT approach could be adapted for similar use cases in Hypershift if needed. + +#### Standalone Clusters + +For standalone clusters, the DNAT rules ensure that HTTP01 challenges for the API endpoint are forwarded to the Ingress VIP and served by the OpenShift Ingress Routers, regardless of whether the API VIP node hosts a router. + +#### Single-node Deployments or MicroShift + +In SNO or MicroShift deployments, the DNAT rules are not strictly required, as the API and wildcard FQDNs resolve to the same IP. The controller handles MicroShift gracefully — if the `Infrastructure` or `MachineConfig` CRDs are not available, the controller sets a `Degraded` status condition with an informational message rather than failing. + +#### OpenShift Kubernetes Engine + +OKE clusters will have full support for the HTTP01 challenge DNAT feature. + +## Test Plan + +1. **Unit Tests**: Validate MachineConfig rendering, platform discovery, and controller reconciliation logic. The implementation includes unit tests covering MachineConfig template rendering with various VIP combinations, platform validation (BareMetal-only, distinct VIPs required), and controller lifecycle (create, update, delete, finalizer cleanup). +2. **Integration Tests**: Deploy the `HTTP01Proxy` CR on a baremetal test cluster, verify the MachineConfig is created with correct nftables rules, and confirm HTTP01 challenges for the API endpoint succeed end-to-end. +3. **Performance Tests**: Verify minimal performance impact; the solution operates at the kernel level with no userspace proxy overhead. +4. **Topology Tests**: Verify platform validation rejects non-BareMetal clusters with appropriate `Degraded` status condition. Test on Standard Clusters, Compact Clusters, and SNO environments. +5. **Cleanup Tests**: Verify MachineConfig cleanup on CR deletion (finalizer-based cleanup removes MachineConfig). +6. **MicroShift Compatibility**: Verify the controller handles missing `Infrastructure` and `MachineConfig` CRDs gracefully with appropriate status conditions. + +## Graduation Criteria + +### Dev Preview -> Tech Preview + +- The feature is implemented and tested in development environments. +- Documentation is available for deploying and configuring the HTTP01Proxy CR. + +### Tech Preview -> GA + +- The feature is deployed in production environments and successfully handles HTTP01 challenges for various OCP topologies. +- Performance and reliability meet production-grade requirements. + +### Removing a deprecated feature + +This enhancement does not deprecate any existing features. + +## Upgrade / Downgrade Strategy + +- The MachineConfig is managed declaratively by the controller. On operator upgrade, the controller re-renders the MachineConfig template and compares the spec with the existing MachineConfig. If changes are detected (e.g., VIP changes, template updates), the MachineConfig is updated and the MCO will perform a rolling reboot of master nodes. +- If no changes are detected, the MachineConfig is left unchanged and no reboots occur. +- **Downgrade**: If the operator is downgraded to a version that does not include the HTTP01Proxy controller, the MachineConfig will remain on the cluster. Administrators should delete the `HTTP01Proxy` CR before downgrading to trigger finalizer-based cleanup of the MachineConfig. +- The nftables rules and systemd service templates should maintain backwards compatibility to minimize upgrade risks. + +## Version Skew Strategy + +The MachineConfig rendered by the controller is self-contained (nftables config and systemd unit). Version skew between the operator and the MCO is handled by the MCO's standard reconciliation. Any changes to the DNAT rules or systemd service template will be documented to ensure compatibility with older cluster versions. + +## Operational Aspects of API Extensions + +- **Monitoring**: The controller logs reconciliation events (MachineConfig creation, updates, deletion). On master nodes, `journalctl -u crtmgr-http01-dnat.service` shows nftables rule loading status. The nftables table can be inspected with `nft list table inet crtmgr_http01_dnat`. +- **Resource Usage**: Minimal. The solution uses kernel-level nftables rules with no userspace proxy process consuming ongoing CPU or memory. +- **Failure Recovery**: The controller monitors the MachineConfig existence and spec. The MCO reports MachineConfig rollout status via MachineConfigPool conditions. + +### Recovery Procedures + +If the MachineConfig fails to apply (e.g., MCO degraded or MachineConfigPool stuck), HTTP01 challenges for the API endpoint will fail, and certificate renewal will not complete. This may result in the API certificate expiring, which could impact cluster operations. + +**Recovery steps:** +- Check MachineConfigPool status: `oc get machineconfigpool master` for degraded conditions. +- Cluster administrators can disable the feature by deleting the `HTTP01Proxy` CR. The controller's finalizer will delete the MachineConfig, and the MCO will remove the nftables rules and systemd service from master nodes. +- If the API certificate has expired, recovery may require connecting to the cluster's API server while ignoring certificate validation errors (e.g., using `--insecure-skip-tls-verify` with `oc` or `kubectl`). +- After resolving the underlying MCO or node issue, re-create the `HTTP01Proxy` CR to restore HTTP01 challenge functionality. +- The HTTP01Proxy CR status conditions surface clear error messages to help identify degraded states. + +## Support Procedures + +### Detecting Failure Modes + +- **Symptoms**: + - Cert Manager HTTP01 challenges for the API endpoint (`api.cluster.example.com`) fail to complete. + - Certificates for the API endpoint are not issued or renewed. + - MachineConfig `98-nftables-crtmgr-http01-dnat` is missing or the MachineConfigPool reports degraded. + - The HTTP01Proxy CR status shows `Degraded` condition. + - On master nodes, the systemd service `crtmgr-http01-dnat.service` is not active (check via `systemctl status crtmgr-http01-dnat.service`). + - The nftables table `crtmgr_http01_dnat` is not present on master nodes (check via `nft list tables`). + - The API server logs may show failed ACME challenge requests or timeouts. + +- **Metrics/Alerts**: + - MachineConfigPool conditions and MCO alerts indicate MachineConfig deployment status. + - Certificate expiry alerts (standard cert-manager) indicate challenge failures. + - Alerts can be configured for MachineConfigPool degradation. + +### Disabling the API Extension + +- **How to disable**: + - Delete the `HTTP01Proxy` CR from the cert-manager-operator namespace. + - The controller's finalizer will delete the MachineConfig. The MCO will remove the nftables rules and systemd service from master nodes (requires reboot). +- **Consequences**: + - HTTP01 challenges for the API endpoint will not be possible. + - Certificates for the API endpoint will not be issued or renewed. + - If the API certificate expires, cluster API access may be impacted until a valid certificate is restored. + +### Impact on Existing, Running Workloads + +**Important**: The DNAT rules only affect external HTTP access (port 80) via the API VIP that resolves `api.cluster.example.com`. Internal cluster communication (e.g., operator pods, system components, pod-to-API server communication via `kubernetes.default.svc.cluster.local` or internal service IPs) is completely unaffected. + +- Existing workloads and API traffic will continue to function as long as the API certificate is valid. +- If the external API certificate expires and is not renewed, external clients may fail to connect to the API server due to certificate errors. +- No direct impact on running pods or services, as they typically use internal DNS endpoints and service discovery. +- Internal cluster operations (operators, controllers, etc.) continue to function normally as they do not use the external API endpoint. + +### Impact on Newly Created Workloads + +- New certificate requests for the external API endpoint (`api.cluster.example.com`) will fail. +- External tools or workloads that specifically require a valid external API certificate for integration may fail to initialize. +- Internal cluster operations and pod scheduling continue normally as they use internal service discovery. + +### Graceful Failure and Recovery + +- The DNAT rules are not on the critical path for existing API traffic; they only affect HTTP01 challenge completion on port 80. +- When the MachineConfig is re-applied, Cert Manager can retry failed HTTP01 challenges and resume certificate issuance/renewal. +- No risk of data loss or cluster inconsistency; functionality resumes when the MachineConfig is re-deployed and active. +- If the API certificate has expired, recovery may require connecting with `--insecure-skip-tls-verify` until a new certificate is issued. + +### Listing Resources + +To list all resources created for the HTTP01 proxy deployment: +```bash +oc get http01proxy default -n cert-manager-operator +oc get machineconfig 98-nftables-crtmgr-http01-dnat +oc get machineconfigpool master +``` From ceecbeeb0974676d9589794b1fcb5dda87e7556b Mon Sep 17 00:00:00 2001 From: Brandon Palm Date: Fri, 24 Jul 2026 10:46:50 -0500 Subject: [PATCH 2/3] Fix markdownlint violations in HTTP01 challenge proxy enhancement - Break 3 lines exceeding 400-char limit into shorter lines - Add language specifier to fenced code block (text) - Fix unordered list indentation (2 items) --- .../cert-manager/http01_challenge_proxy.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/enhancements/cert-manager/http01_challenge_proxy.md b/enhancements/cert-manager/http01_challenge_proxy.md index 2a49c61bca..7c628b4308 100644 --- a/enhancements/cert-manager/http01_challenge_proxy.md +++ b/enhancements/cert-manager/http01_challenge_proxy.md @@ -42,7 +42,8 @@ The gap arises due to how the ACME HTTP01 challenge works. The following scenari 2. **Compact Clusters**: The node hosting the API VIP may also host an OpenShift Router. If no router is present on the node hosting the VIP, the challenge will fail. 3. **SNO (Single Node OpenShift)**: The same nodes host both the ingress and API components. Both FQDNs (`api` and wildcard) resolve to the same IP, making the challenge feasible. -To address this gap, a MachineConfig-based solution was developed. The cert-manager-operator creates a MachineConfig that deploys nftables DNAT rules and a systemd oneshot service on control plane master nodes. These rules use DNAT (Destination Network Address Translation) to forward TCP port 80 traffic arriving at the API VIP directly to the Ingress VIP, allowing the OpenShift Router to serve the ACME HTTP01 challenge response. MASQUERADE (SNAT) rules handle return traffic routing. +To address this gap, a MachineConfig-based solution was developed. The cert-manager-operator creates a MachineConfig that deploys nftables DNAT rules and a systemd oneshot service on control plane master nodes. +These rules use DNAT (Destination Network Address Translation) to forward TCP port 80 traffic arriving at the API VIP directly to the Ingress VIP, allowing the OpenShift Router to serve the ACME HTTP01 challenge response. MASQUERADE (SNAT) rules handle return traffic routing. This enhancement aims to provide a robust solution for managing certificates for the API endpoint, particularly for baremetal customers using non cloud-ready DNS servers. Cloud providers typically offer cloud provider DNS services that integrate directly with cert-manager for DNS01 challenges, but baremetal environments often lack these integrations and rely on HTTP01 challenges instead. @@ -207,7 +208,7 @@ This design ensures that: The MachineConfig delivers two components to master nodes via Ignition: 1. **nftables config file** at `/etc/sysconfig/nftables-crtmgr-http01.conf`: - ``` + ```text table inet crtmgr_http01_dnat delete table inet crtmgr_http01_dnat table inet crtmgr_http01_dnat { @@ -228,8 +229,8 @@ The MachineConfig delivers two components to master nodes via Ignition: - Uses `RemainAfterExit=yes` to keep the rules active **Why iptables FORWARD rules alongside nftables NAT:** OpenShift's FORWARD chain uses iptables-nft with `policy DROP`. The kernel evaluates both iptables-nft and native nftables hooks, so both must ACCEPT for forwarded packets to pass. Two FORWARD rules are added: - - `-p tcp -d /32 --dport 80 -j ACCEPT` — allows new TCP connections to port 80 on the Ingress VIP - - `-m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT` — allows return traffic for established connections +- `-p tcp -d /32 --dport 80 -j ACCEPT` — allows new TCP connections to port 80 on the Ingress VIP +- `-m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT` — allows return traffic for established connections **MachineConfig Rollout:** The MCO (Machine Config Operator) handles rolling out the MachineConfig to master nodes. This involves a rolling reboot of master nodes, managed by the MCO with proper drain/cordon to maintain cluster availability. @@ -267,7 +268,8 @@ The MachineConfig delivers two components to master nodes via Ignition: ### DaemonSet + Reverse Proxy (Superseded) -The original implementation design used a DaemonSet running a Go reverse proxy binary on control plane nodes. The proxy listened on port 8888 with `hostNetwork: true`, and nftables `redirect` rules sent API_VIP:80 traffic to localhost:8888. The proxy performed path-based filtering, only forwarding requests matching `/.well-known/acme-challenge/*` to the Ingress VIP, and returning 400 Bad Request for all other paths. +The original implementation design used a DaemonSet running a Go reverse proxy binary on control plane nodes. The proxy listened on port 8888 with `hostNetwork: true`, and nftables `redirect` rules sent API_VIP:80 traffic to localhost:8888. +The proxy performed path-based filtering, only forwarding requests matching `/.well-known/acme-challenge/*` to the Ingress VIP, and returning 400 Bad Request for all other paths. This approach was superseded by the MachineConfig-based DNAT approach because: 1. **Operational simplicity**: No container image, DaemonSet, ServiceAccount, ClusterRole, ClusterRoleBinding, SCC RoleBinding, or NetworkPolicies to manage @@ -314,7 +316,8 @@ More information about the investigation can be found in the [certificate manage - Monitor for certificate expiry and configure alerts to notify administrators before expiry occurs. - **Detection**: Configure alerts for expiring certificates. Warning alerts should be triggered when certificates are close to expiry, and critical alerts when certificates have expired. This allows administrators to take action before cluster API access is impacted. -2. **Traffic Interference**: The DNAT rules forward all TCP port 80 traffic destined for the API VIP. In standard OpenShift deployments, nothing listens on API VIP port 80, so this is not a concern. However, if custom services are configured to listen on API VIP port 80, they would be affected. **Mitigation**: The API VIP port 80 is not used by any standard OpenShift component. Users should verify no custom services use this port before enabling the feature. +2. **Traffic Interference**: The DNAT rules forward all TCP port 80 traffic destined for the API VIP. In standard OpenShift deployments, nothing listens on API VIP port 80, so this is not a concern. However, if custom services are configured to listen on API VIP port 80, they would be affected. + **Mitigation**: The API VIP port 80 is not used by any standard OpenShift component. Users should verify no custom services use this port before enabling the feature. 3. **Node Reboot Impact**: Deploying or removing the MachineConfig requires MCO-managed node reboots. On a 3-node control plane, this results in rolling reboots of all master nodes. **Mitigation**: MCO handles rolling reboots with proper drain/cordon, ensuring cluster availability during rollout. From 30c5685112f9130ebdf4e63d5233584038cfb7a6 Mon Sep 17 00:00:00 2001 From: Brandon Palm Date: Fri, 24 Jul 2026 11:07:44 -0500 Subject: [PATCH 3/3] Fix template lint: rename Alternatives heading to match required template The template-lint check requires the exact heading "## Alternatives (Not Implemented)". --- enhancements/cert-manager/http01_challenge_proxy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enhancements/cert-manager/http01_challenge_proxy.md b/enhancements/cert-manager/http01_challenge_proxy.md index 7c628b4308..870ebb2e50 100644 --- a/enhancements/cert-manager/http01_challenge_proxy.md +++ b/enhancements/cert-manager/http01_challenge_proxy.md @@ -264,7 +264,7 @@ The MachineConfig delivers two components to master nodes via Ignition: 3. **Node-Level Network Modification**: The solution modifies node-level network configuration via MachineConfig, adding nftables rules and a systemd service. While lightweight, this introduces kernel-level packet forwarding that must be coordinated with other networking components. 4. **No Path-Based Filtering**: Unlike a reverse proxy approach, the DNAT rules forward all port 80 traffic to the API VIP, not just ACME challenge paths. This is acceptable in standard deployments where nothing else listens on API VIP port 80. -## Alternatives +## Alternatives (Not Implemented) ### DaemonSet + Reverse Proxy (Superseded)