Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
{
"version": "kc-mission-v1",
"name": "contour-5822-add-per-httpproxy-http-version-support-to-address-http2-coalescing-",
"missionClass": "solution",
"author": "KubeStellar Bot",
"authorGithub": "kubestellar",
"mission": {
"title": "contour: Add Per-HTTPProxy HTTP-Version Support to Address HTTP2 Coalescing Issues with Wildcards",
"description": "Add Per-HTTPProxy HTTP-Version Support to Address HTTP2 Coalescing Issues with Wildcards. Requested by 11+ users.",
"type": "feature",
"status": "completed",
"steps": [
{
"title": "Check current contour deployment",
"description": "Verify your contour version and configuration:\n```bash\nkubectl get pods -n projectcontour -l app.kubernetes.io/name=contour\nhelm list -n projectcontour 2>/dev/null || echo \"Not installed via Helm\"\n```\nThis feature requires a working contour installation."
},
{
"title": "Review contour configuration",
"description": "Inspect the relevant contour configuration:\n```bash\nkubectl get all -n projectcontour -l app.kubernetes.io/name=contour\nkubectl get configmap -n projectcontour -l app.kubernetes.io/part-of=contour\n```\n### Description:\n\nWith the emergence of the `HTTP2 Coalescing` issue, where using a wildcard can result in complications in SNI-based routing (as fully discussed in multiple issues including https://github.com/projectcontour/contour/issues/1493),"
},
{
"title": "Apply the fix for Add Per-HTTPProxy HTTP-Version Support to Address HTTP2…",
"description": "This PR adds a new field to HTTPProxy spec which specifies the HTTP versions to offer for that HTTPProxy. It's used only when `spec.tls` is set and `spec.tcpproxy` is not.\n\nA critical use case for the field is when we're serving multiple HTTPProxies where a subset of them use the same wildcard certificate. We can disable http/2 for those utilizing this field while keeping it enabled for others.\n\nSee the source issue for community-verified solutions."
},
{
"title": "Upgrade contour to include the fix",
"description": "If the fix is included in a newer release, upgrade contour:\n```bash\nhelm repo update\nhelm upgrade contour contour/contour --namespace contour\n```\nVerify the upgrade:\n```bash\nkubectl get pods -n projectcontour\nhelm list -n projectcontour\n```"
},
{
"title": "Verify the feature works",
"description": "Test that the new capability is working as expected:\n```bash\nkubectl get pods -n projectcontour -l app.kubernetes.io/name=contour\nkubectl get events -n projectcontour --sort-by='.lastTimestamp' | tail -10\n```\nConfirm the feature described in \"Add Per-HTTPProxy HTTP-Version Support to Address HTTP2…\" is functioning correctly."
}
],
"resolution": {
"summary": "This PR adds a new field to HTTPProxy spec which specifies the HTTP versions to offer for that HTTPProxy. It's used only when `spec.tls` is set and `spec.tcpproxy` is not.\n\nA critical use case for the field is when we're serving multiple HTTPProxies where a subset of them use the same wildcard certificate. We can disable http/2 for those utilizing this field while keeping it enabled for others.",
"codeSnippets": []
}
},
"metadata": {
"tags": [
"contour",
"incubating",
"networking",
"feature"
],
"cncfProjects": [
"contour"
],
"targetResourceKinds": [],
"difficulty": "beginner",
"issueTypes": [
"feature"
],
"maturity": "incubating",
"sourceUrls": {
"issue": "https://github.com/projectcontour/contour/issues/5822",
"repo": "https://github.com/projectcontour/contour",
"pr": "https://github.com/projectcontour/contour/pull/5802"
},
"reactions": 11,
"comments": 3,
"synthesizedBy": "copilot"
},
"prerequisites": {
"kubernetes": ">=1.24",
"tools": [
"kubectl"
],
"description": "A running Kubernetes cluster with contour installed or the issue environment reproducible."
},
"security": {
"scannedAt": "2026-03-16T06:38:00.690Z",
"scannerVersion": "cncf-gen-3.0.0",
"sanitized": true,
"findings": []
}
}
Loading