From 161b0fd612411fa3358c1c2718c5ad7774455207 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 23 Mar 2026 07:32:07 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=8C=B1=20Add=20envoy:=20Feature=20Request?= =?UTF-8?q?:=20In=20lua=20http=20filter=20add=20ability=20to=20set=20the?= =?UTF-8?q?=20mission?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- ...er-add-ability-to-set-the-contents-of.json | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 solutions/cncf-generated/envoy/envoy-5998-feature-request-in-lua-http-filter-add-ability-to-set-the-contents-of.json diff --git a/solutions/cncf-generated/envoy/envoy-5998-feature-request-in-lua-http-filter-add-ability-to-set-the-contents-of.json b/solutions/cncf-generated/envoy/envoy-5998-feature-request-in-lua-http-filter-add-ability-to-set-the-contents-of.json new file mode 100644 index 00000000..81b90236 --- /dev/null +++ b/solutions/cncf-generated/envoy/envoy-5998-feature-request-in-lua-http-filter-add-ability-to-set-the-contents-of.json @@ -0,0 +1,77 @@ +{ + "version": "kc-mission-v1", + "name": "envoy-5998-feature-request-in-lua-http-filter-add-ability-to-set-the-contents-of", + "missionClass": "solution", + "author": "KubeStellar Bot", + "authorGithub": "kubestellar", + "mission": { + "title": "envoy: Feature Request: In lua http filter add ability to set the contents of the body", + "description": "Feature Request: In lua http filter add ability to set the contents of the body. Requested by 18+ users.", + "type": "feature", + "status": "completed", + "steps": [ + { + "title": "Check current envoy deployment", + "description": "Verify your envoy version and configuration:\n```bash\nkubectl get pods -n envoy -l app.kubernetes.io/name=envoy\nhelm list -n envoy 2>/dev/null || echo \"Not installed via Helm\"\n```\nThis feature requires a working envoy installation." + }, + { + "title": "Review envoy configuration", + "description": "Inspect the relevant envoy configuration:\n```bash\nkubectl get all -n envoy -l app.kubernetes.io/name=envoy\nkubectl get configmap -n envoy -l app.kubernetes.io/part-of=envoy\n```\n_Feature Request_: **In lua http filter add ability to set the contents of the body**\n\n```yaml\nfilter_chains:\n- filters:\n - name: envoy.http_connection_manager\n config:\n http_filters:\n - name: envoy.lua\n config:\n " + }, + { + "title": "Apply the fix for Feature Request: In lua http filter add ability to set the…", + "description": "Commit Message: This patch adds `setBytes()` API to the buffer wrapper by making the wrapped buffer to be mutable. This allows rewriting upstream data in the response path.\n\nRisk Level: Low\nTesting: Added unit and integration tests.\nDocs Changes: Added\nRelease Notes: Added\n```yaml\nfilter_chains:\n- filters:\n - name: envoy.http_connection_manager\n config:\n http_filters:\n - name: envoy.lua\n config:\n inline_code: |\n function envoy_on_response(response_handle)\n if response_handle:headers():get(\":status\") != \"200\" then\n response_handle:body():set('[]')\n end\n end\n```" + }, + { + "title": "Verify the feature works", + "description": "Test that the new capability is working as expected:\n```bash\nkubectl get pods -n envoy -l app.kubernetes.io/name=envoy\nkubectl get events -n envoy --sort-by='.lastTimestamp' | tail -10\n```\nConfirm the feature described in \"Feature Request: In lua http filter add ability to set the…\" is functioning correctly." + } + ], + "resolution": { + "summary": "Commit Message: This patch adds `setBytes()` API to the buffer wrapper by making the wrapped buffer to be mutable. This allows rewriting upstream data in the response path.\n\nRisk Level: Low\nTesting: Added unit and integration tests.\nDocs Changes: Added\nRelease Notes: Added", + "codeSnippets": [ + "filter_chains:\n- filters:\n - name: envoy.http_connection_manager\n config:\n http_filters:\n - name: envoy.lua\n config:\n inline_code: |\n function envoy_on_response(response_handle)\n if response_handle:headers():get(\":status\") != \"200\" then\n response_handle:body():set('[]')\n end\n end", + "- name: envoy.filters.http.lua\n typed_config:\n \"@type\": type.googleapis.com/envoy.config.filter.http.lua.v2.Lua\n inline_code: |\n function envoy_on_request(request_handle)\n end\n function envoy_on_response(response_handle)\n response_handle:headers():replace(\"content-length\", 6)\n response_handle:body():set(\"hello\\n\")\n end", + "content_length = response_handle:body():set(\"hello\\n\")\nresponse_handle:headers():replace(\"content-length\", content_length)" + ] + } + }, + "metadata": { + "tags": [ + "envoy", + "graduated", + "networking", + "feature" + ], + "cncfProjects": [ + "envoy" + ], + "targetResourceKinds": [], + "difficulty": "beginner", + "issueTypes": [ + "feature" + ], + "maturity": "graduated", + "sourceUrls": { + "issue": "https://github.com/envoyproxy/envoy/issues/5998", + "repo": "https://github.com/envoyproxy/envoy", + "pr": "https://github.com/envoyproxy/envoy/pull/13172" + }, + "reactions": 18, + "comments": 11, + "synthesizedBy": "copilot" + }, + "prerequisites": { + "kubernetes": ">=1.24", + "tools": [ + "kubectl" + ], + "description": "A running Kubernetes cluster with envoy installed or the issue environment reproducible." + }, + "security": { + "scannedAt": "2026-03-23T06:32:07.626Z", + "scannerVersion": "cncf-gen-3.0.0", + "sanitized": true, + "findings": [] + } +}