Skip to content

Replace ingress-nginx with Traefik as recommended ingress controller#413

Open
welteki wants to merge 1 commit intoopenfaas:masterfrom
welteki:traefik-ingress
Open

Replace ingress-nginx with Traefik as recommended ingress controller#413
welteki wants to merge 1 commit intoopenfaas:masterfrom
welteki:traefik-ingress

Conversation

@welteki
Copy link
Copy Markdown
Member

@welteki welteki commented Feb 11, 2026

Description

Replace all ingress-nginx references with Traefik across the documentation:

  • Update recommended ingress controller from ingress-nginx to Traefik
  • Switch installation commands to arkade install traefik2
  • Replace nginx-specific annotations and configuration with Traefik equivalents
  • Update ingressClassName from nginx to traefik
  • Add a Traefik timeout configuration guide

Motivation and Context

The Ingress Nginx project will be retired in March 2026. This change updates the documentation to recommend Traefik as the default ingress controller going forward.

  • I have raised an issue to propose this change (required)

How Has This Been Tested?

Documentation changes reviewed for correctness of Traefik configuration, service names, and command references.

Testing of updated examples is in progress.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I've read the CONTRIBUTION guide
  • I have signed-off my commits with git commit -s

@reviewfn

This comment has been minimized.

@reviewfn

This comment has been minimized.

@alexellis
Copy link
Copy Markdown
Member

arkade install traefik2

I feel like we should switch completely to fully formed helm commands and maintain this ourselves.

An AI agent could probably do this for you quickly.

@reviewfn

This comment has been minimized.

@welteki welteki marked this pull request as ready for review February 16, 2026 11:22
@reviewfn

This comment has been minimized.

@reviewfn

This comment has been minimized.

Update documentation across multiple pages to recommend Traefik
as the default ingress controller instead of ingress-nginx:

- Switch ingress controller references from nginx to Traefik
- Update installation commands to use arkade install traefik2
- Replace nginx-specific annotations with Traefik equivalents
- Update ingressClassName from nginx to traefik
- Add Traefik timeout configuration guide

Signed-off-by: Han Verstraete (OpenFaaS Ltd) <han@openfaas.com>
@reviewfn
Copy link
Copy Markdown

reviewfn bot commented Apr 2, 2026

AI Pull Request Overview

Summary

  • Replaced all ingress-nginx references with Traefik across documentation
  • Updated FunctionIngress examples to use "traefik" ingressType instead of "nginx"
  • Changed ingress controller service references from nginx-specific names to Traefik
  • Removed references to the retired ingress-nginx project
  • Updated ingressClassName references from "nginx" to "traefik" where applicable
  • Added comprehensive Traefik timeout configuration guide
  • Updated installation commands to recommend arkade install traefik2

Approval rating (1-10)

9/10 - Thorough update replacing retired ingress controller with recommended Traefik, ensuring documentation accuracy and future-proofing user setups.

Summary per file

Summary per file
File path Summary
docs/reference/tls-functions.md Updated FunctionIngress YAML examples to use Traefik ingressType and service references
docs/reference/tls-openfaas.md Removed nginx-specific timeout annotation guidance for retired project
docs/tutorials/expanded-timeouts.md Added detailed Traefik timeout configuration section with EntryPoint and ServersTransport settings
docs/deployment/kubernetes.md Updated ingress controller recommendations and installation instructions

Overall Assessment

The pull request comprehensively updates the OpenFaaS documentation to replace references to the retiring ingress-nginx project with Traefik as the recommended ingress controller. This change is timely given ingress-nginx's announced retirement in March 2026 and ensures users are directed toward supported, actively maintained software. The updates maintain consistency across documentation files and provide clear, actionable guidance for Traefik configuration including timeouts. No technical issues or risks identified in the Kubernetes configurations presented.

Detailed Review

Detailed Review

docs/reference/tls-functions.md

  • ingressType updates: All FunctionIngress YAML examples correctly changed ingressType: "nginx" to ingressType: "traefik". This aligns with the new recommendation and ensures generated Ingress resources will use the proper ingress class.
  • Service reference: Updated the public IP discovery command from kubectl get svc/nginxingress-nginx-ingress-controller to kubectl get svc/traefik -n traefik. This accurately reflects Traefik's service naming convention and namespace.
  • Conditional logic removal: Removed the note about changing spec.ingressType when not using ingress-nginx, as Traefik is now the standard recommendation. This simplifies the documentation and reduces decision complexity for users.
  • Technical accuracy: The YAML structures remain valid Kubernetes manifests. No syntax errors or incorrect field usage introduced.

docs/reference/tls-openfaas.md

  • Nginx reference removal: Eliminated the paragraph explaining nginx-specific nginx.ingress.kubernetes.io/proxy-read-timeout annotation usage. This is appropriate as ingress-nginx is retiring and should not be documented for new installations.
  • Traefik focus: The document now maintains its existing Traefik-centric approach without legacy nginx guidance, improving clarity for current users.
  • No functional impact: Removal of deprecated information doesn't affect existing functionality but prevents user confusion.

docs/tutorials/expanded-timeouts.md

  • Timeout configuration addition: Added comprehensive Traefik timeout guidance covering:
    • EntryPoint timeouts (readTimeout: 60s, writeTimeout: 0s, idleTimeout: 180s)
    • ServersTransport responseHeaderTimeout configuration
    • Proper annotation usage for function-specific timeouts
  • Kubernetes CRD usage: Correctly references ServersTransport CRD for backend timeout configuration, which is the proper way to configure Traefik timeouts in Kubernetes.
  • Practical guidance: Provides specific values and examples that users can directly apply to their configurations.

docs/deployment/kubernetes.md

  • Installation recommendations: Updated to emphasize Traefik as the recommended ingress controller alongside existing arkade installation methods.
  • Consistency: Maintains alignment with other documentation files in promoting Traefik over retired alternatives.

Risk Assessment: No security, performance, or compatibility risks identified. The changes are purely documentation updates that improve accuracy without introducing breaking changes for existing deployments.

Testing Considerations: While documentation changes don't require runtime testing, the configurations provided should be validated against current Traefik and Kubernetes versions to ensure continued accuracy.

AI agent details.

Agent processing time: 48.729s
Environment preparation time: 4.178s
Total time from webhook: 56.759s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants