Add proxy_log_destination ABI - #38

Closed
vikaschoudhary16 wants to merge 1 commit into
proxy-wasm:masterfrom
vikaschoudhary16:add-log-destination-abi
Closed

Add proxy_log_destination ABI#38
vikaschoudhary16 wants to merge 1 commit into
proxy-wasm:masterfrom
vikaschoudhary16:add-log-destination-abi

Conversation

@vikaschoudhary16

Copy link
Copy Markdown

This new ABI will help in usecase where it is intended to separate logs from the plugins based on the domain for example audit logs.
xref: envoyproxy/envoy#22669

Signed-off-by: Vikas Choudhary <choudharyvikas16@gmail.com>
@kyessenov

Copy link
Copy Markdown

Doesn't this need a new ABI version?
@mpwarres

@mathetake

mathetake commented May 4, 2023

Copy link
Copy Markdown
Contributor

We have also a lot of issues in the current ABI (e.g. #32) which I definitely hope we could solve.

So if you are up for it, @mpwarres, let's just do the ABI version bump and let's resume the iterative improvement of Proxy-Wasm overall. (I could spare a portion of my time into Proxy-Wasm project again).

@mathetake

Copy link
Copy Markdown
Contributor

At least the current project status is not healthy at all, and we definitely should communicate that we will resume the dev or the project is in maintenance mode.

@kyessenov

kyessenov commented May 4, 2023

Copy link
Copy Markdown

I think ABI stability is actually one of the most important things for Wasm, so doing incremental ABI changes is not ideal. There's a backdoor foreign function call to unblock changes without ABI breakage.

@mathetake

Copy link
Copy Markdown
Contributor

yeah I understand that, sorry I just meant the incremental dev with the stability in mind.

@PiotrSikora

Copy link
Copy Markdown
Member

Yes, this would need a new ABI version.

(FWIW, I'm working on the existing & "the minimal bugfix" ABI specs right now. I'll have them out later this month.)

@mathetake

Copy link
Copy Markdown
Contributor

@PiotrSikora sounds good, thank you so much.

@vikaschoudhary16 so let's wait for @PiotrSikora to finish the existing and minimal bugfix spec, and then let's get back to the discussion of the ABI proposed here. sg?

@vikaschoudhary16

Copy link
Copy Markdown
Author

sounds good. Thanks a lot @kyessenov@mathetake and @PiotrSikora for bringing clarity on path forward.

While waiting for new spec in the meantime I would update implementation PR to address Piotr's comments and get more early feedback.

@mathetake

Copy link
Copy Markdown
Contributor

@PiotrSikora could you share the status of the spec doc work?

@mathetake

Copy link
Copy Markdown
Contributor

ping @PiotrSikora

@vikaschoudhary16

Copy link
Copy Markdown
Author

Hi @PiotrSikora, addressed your feedback on implementation PRs at proxy_wasm_cpp_host and at envoy. Though tested manually, waiting for new spec and your go-ahead to start working on ci and tests.

@mathetake

mathetake commented Jun 4, 2023

Copy link
Copy Markdown
Contributor

@mpwarres I thought you are taking over the responsibility on the Google side from @PiotrSikora on Proxy-Wasm. What do you think is the best course of action we could take here? The current state is undeniably unhealthy as a project especially because the specification hasn't been appropriately documented (IIRC, more than approx. 2yrs have passed since @PiotrSikora said they would update the doc for the first time), and that's the only reason why we cannot resolve the issues which have existed in the first place.

@mpwarres

Copy link
Copy Markdown
Contributor

From offline discussion with @PiotrSikora and @martijneken , the plan WRT ABI is to:

  1. Remove the vNEXT ABI documentation, which was never implemented.
  2. Properly document the current 0.2.1 ABI. I believe Piotr was planning to do this, but if other work has gotten in the way, someone on my team can create a first draft for review.
  3. Create a new minor version of the ABI with incremental improvements / bugfixes (including this PR).

My team will aim to step up support for proxy-wasm-cpp-host, C++ SDK, and Envoy Wasm filter, though the ABI is shared surface that it would be good to get Piotr's input on.

WRT project health, we'd also like to start having a periodic meeting where contributors can discuss project direction and technical issues.

@vikaschoudhary16

Copy link
Copy Markdown
Author

thanks a lot @mpwarres and @mathetake !!!!

@mathetake

Copy link
Copy Markdown
Contributor

From offline discussion with @PiotrSikora and @martijneken , the plan WRT ABI is to:

  1. Remove the vNEXT ABI documentation, which was never implemented.
  2. Properly document the current 0.2.1 ABI. I believe Piotr was planning to do this, but if other work has gotten in the way, someone on my team can create a first draft for review.
  3. Create a new minor version of the ABI with incremental improvements / bugfixes (including this PR).

sounds awesome and agreed. I will take care of 1. shortly.

As for 2., how long do you think your team would take to make it up? let us know if you think it could take more than a month or so since in that case, my team (me or whoever it is) might be able to help.

WRT project health, we'd also like to start having a periodic meeting where contributors can discuss project direction and technical issues.

I would prefer having an async rather than a sync meeting for various reasons especially because me and my team members are all in different time zones. But anyway it's good to have a general sync (regardless meeting is sync or not) among contributors on the project direction, which I believe will be good for anyone involved vs before. Can we discuss this topic on a separate issue in this repository so that we could hear opinions from other people since this issue is off-topic? If you are ok with it, I will create the issue in this repo and ask for comments in various channels.

@mathetake

Copy link
Copy Markdown
Contributor

#40

@vikaschoudhary16

Copy link
Copy Markdown
Author

closing it since vNext is being deleted.

@jcchavezs

Copy link
Copy Markdown

I hope we can bring in other implementors besides envoy. I know Kong is working on support this and I believe mosn already supports proxy wasm. From my experience, there are a couple of things in the flow that could be improved to reflect more the http lifecycle, hence it is also important to bring those writing filters to give input. Personally I am in charge of coraza-proxy-wasm, a Web Application Firewall which uses many of the functions of the spec.

Sign up for freeto 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.

6 participants

@vikaschoudhary16@kyessenov@mathetake@PiotrSikora@mpwarres@jcchavezs
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Add proxy_log_destination ABI - #38

Closed
vikaschoudhary16 wants to merge 1 commit into
proxy-wasm:masterfrom
vikaschoudhary16:add-log-destination-abi
Closed

Add proxy_log_destination ABI#38
vikaschoudhary16 wants to merge 1 commit into
proxy-wasm:masterfrom
vikaschoudhary16:add-log-destination-abi

Conversation

@vikaschoudhary16

Copy link
Copy Markdown

This new ABI will help in usecase where it is intended to separate logs from the plugins based on the domain for example audit logs.
xref: envoyproxy/envoy#22669

Signed-off-by: Vikas Choudhary <choudharyvikas16@gmail.com>
@kyessenov

Copy link
Copy Markdown

Doesn't this need a new ABI version?
@mpwarres

@mathetake

mathetake commented May 4, 2023

Copy link
Copy Markdown
Contributor

We have also a lot of issues in the current ABI (e.g. #32) which I definitely hope we could solve.

So if you are up for it, @mpwarres, let's just do the ABI version bump and let's resume the iterative improvement of Proxy-Wasm overall. (I could spare a portion of my time into Proxy-Wasm project again).

@mathetake

Copy link
Copy Markdown
Contributor

At least the current project status is not healthy at all, and we definitely should communicate that we will resume the dev or the project is in maintenance mode.

@kyessenov

kyessenov commented May 4, 2023

Copy link
Copy Markdown

I think ABI stability is actually one of the most important things for Wasm, so doing incremental ABI changes is not ideal. There's a backdoor foreign function call to unblock changes without ABI breakage.

@mathetake

Copy link
Copy Markdown
Contributor

yeah I understand that, sorry I just meant the incremental dev with the stability in mind.

@PiotrSikora

Copy link
Copy Markdown
Member

Yes, this would need a new ABI version.

(FWIW, I'm working on the existing & "the minimal bugfix" ABI specs right now. I'll have them out later this month.)

@mathetake

Copy link
Copy Markdown
Contributor

@PiotrSikora sounds good, thank you so much.

@vikaschoudhary16 so let's wait for @PiotrSikora to finish the existing and minimal bugfix spec, and then let's get back to the discussion of the ABI proposed here. sg?

@vikaschoudhary16

Copy link
Copy Markdown
Author

sounds good. Thanks a lot @kyessenov@mathetake and @PiotrSikora for bringing clarity on path forward.

While waiting for new spec in the meantime I would update implementation PR to address Piotr's comments and get more early feedback.

@mathetake

Copy link
Copy Markdown
Contributor

@PiotrSikora could you share the status of the spec doc work?

@mathetake

Copy link
Copy Markdown
Contributor

ping @PiotrSikora

@vikaschoudhary16

Copy link
Copy Markdown
Author

Hi @PiotrSikora, addressed your feedback on implementation PRs at proxy_wasm_cpp_host and at envoy. Though tested manually, waiting for new spec and your go-ahead to start working on ci and tests.

@mathetake

mathetake commented Jun 4, 2023

Copy link
Copy Markdown
Contributor

@mpwarres I thought you are taking over the responsibility on the Google side from @PiotrSikora on Proxy-Wasm. What do you think is the best course of action we could take here? The current state is undeniably unhealthy as a project especially because the specification hasn't been appropriately documented (IIRC, more than approx. 2yrs have passed since @PiotrSikora said they would update the doc for the first time), and that's the only reason why we cannot resolve the issues which have existed in the first place.

@mpwarres

Copy link
Copy Markdown
Contributor

From offline discussion with @PiotrSikora and @martijneken , the plan WRT ABI is to:

  1. Remove the vNEXT ABI documentation, which was never implemented.
  2. Properly document the current 0.2.1 ABI. I believe Piotr was planning to do this, but if other work has gotten in the way, someone on my team can create a first draft for review.
  3. Create a new minor version of the ABI with incremental improvements / bugfixes (including this PR).

My team will aim to step up support for proxy-wasm-cpp-host, C++ SDK, and Envoy Wasm filter, though the ABI is shared surface that it would be good to get Piotr's input on.

WRT project health, we'd also like to start having a periodic meeting where contributors can discuss project direction and technical issues.

@vikaschoudhary16

Copy link
Copy Markdown
Author

thanks a lot @mpwarres and @mathetake !!!!

@mathetake

Copy link
Copy Markdown
Contributor

From offline discussion with @PiotrSikora and @martijneken , the plan WRT ABI is to:

  1. Remove the vNEXT ABI documentation, which was never implemented.
  2. Properly document the current 0.2.1 ABI. I believe Piotr was planning to do this, but if other work has gotten in the way, someone on my team can create a first draft for review.
  3. Create a new minor version of the ABI with incremental improvements / bugfixes (including this PR).

sounds awesome and agreed. I will take care of 1. shortly.

As for 2., how long do you think your team would take to make it up? let us know if you think it could take more than a month or so since in that case, my team (me or whoever it is) might be able to help.

WRT project health, we'd also like to start having a periodic meeting where contributors can discuss project direction and technical issues.

I would prefer having an async rather than a sync meeting for various reasons especially because me and my team members are all in different time zones. But anyway it's good to have a general sync (regardless meeting is sync or not) among contributors on the project direction, which I believe will be good for anyone involved vs before. Can we discuss this topic on a separate issue in this repository so that we could hear opinions from other people since this issue is off-topic? If you are ok with it, I will create the issue in this repo and ask for comments in various channels.

@mathetake

Copy link
Copy Markdown
Contributor

#40

@vikaschoudhary16

Copy link
Copy Markdown
Author

closing it since vNext is being deleted.

@jcchavezs

Copy link
Copy Markdown

I hope we can bring in other implementors besides envoy. I know Kong is working on support this and I believe mosn already supports proxy wasm. From my experience, there are a couple of things in the flow that could be improved to reflect more the http lifecycle, hence it is also important to bring those writing filters to give input. Personally I am in charge of coraza-proxy-wasm, a Web Application Firewall which uses many of the functions of the spec.

Sign up for freeto 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.

6 participants

@vikaschoudhary16@kyessenov@mathetake@PiotrSikora@mpwarres@jcchavezs
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Add proxy_log_destination ABI - #38

Closed
vikaschoudhary16 wants to merge 1 commit into
proxy-wasm:masterfrom
vikaschoudhary16:add-log-destination-abi
Closed

Add proxy_log_destination ABI#38
vikaschoudhary16 wants to merge 1 commit into
proxy-wasm:masterfrom
vikaschoudhary16:add-log-destination-abi

Conversation

@vikaschoudhary16

Copy link
Copy Markdown

This new ABI will help in usecase where it is intended to separate logs from the plugins based on the domain for example audit logs.
xref: envoyproxy/envoy#22669

Signed-off-by: Vikas Choudhary <choudharyvikas16@gmail.com>
@kyessenov

Copy link
Copy Markdown

Doesn't this need a new ABI version?
@mpwarres

@mathetake

mathetake commented May 4, 2023

Copy link
Copy Markdown
Contributor

We have also a lot of issues in the current ABI (e.g. #32) which I definitely hope we could solve.

So if you are up for it, @mpwarres, let's just do the ABI version bump and let's resume the iterative improvement of Proxy-Wasm overall. (I could spare a portion of my time into Proxy-Wasm project again).

@mathetake

Copy link
Copy Markdown
Contributor

At least the current project status is not healthy at all, and we definitely should communicate that we will resume the dev or the project is in maintenance mode.

@kyessenov

kyessenov commented May 4, 2023

Copy link
Copy Markdown

I think ABI stability is actually one of the most important things for Wasm, so doing incremental ABI changes is not ideal. There's a backdoor foreign function call to unblock changes without ABI breakage.

@mathetake

Copy link
Copy Markdown
Contributor

yeah I understand that, sorry I just meant the incremental dev with the stability in mind.

@PiotrSikora

Copy link
Copy Markdown
Member

Yes, this would need a new ABI version.

(FWIW, I'm working on the existing & "the minimal bugfix" ABI specs right now. I'll have them out later this month.)

@mathetake

Copy link
Copy Markdown
Contributor

@PiotrSikora sounds good, thank you so much.

@vikaschoudhary16 so let's wait for @PiotrSikora to finish the existing and minimal bugfix spec, and then let's get back to the discussion of the ABI proposed here. sg?

@vikaschoudhary16

Copy link
Copy Markdown
Author

sounds good. Thanks a lot @kyessenov@mathetake and @PiotrSikora for bringing clarity on path forward.

While waiting for new spec in the meantime I would update implementation PR to address Piotr's comments and get more early feedback.

@mathetake

Copy link
Copy Markdown
Contributor

@PiotrSikora could you share the status of the spec doc work?

@mathetake

Copy link
Copy Markdown
Contributor

ping @PiotrSikora

@vikaschoudhary16

Copy link
Copy Markdown
Author

Hi @PiotrSikora, addressed your feedback on implementation PRs at proxy_wasm_cpp_host and at envoy. Though tested manually, waiting for new spec and your go-ahead to start working on ci and tests.

@mathetake

mathetake commented Jun 4, 2023

Copy link
Copy Markdown
Contributor

@mpwarres I thought you are taking over the responsibility on the Google side from @PiotrSikora on Proxy-Wasm. What do you think is the best course of action we could take here? The current state is undeniably unhealthy as a project especially because the specification hasn't been appropriately documented (IIRC, more than approx. 2yrs have passed since @PiotrSikora said they would update the doc for the first time), and that's the only reason why we cannot resolve the issues which have existed in the first place.

@mpwarres

Copy link
Copy Markdown
Contributor

From offline discussion with @PiotrSikora and @martijneken , the plan WRT ABI is to:

  1. Remove the vNEXT ABI documentation, which was never implemented.
  2. Properly document the current 0.2.1 ABI. I believe Piotr was planning to do this, but if other work has gotten in the way, someone on my team can create a first draft for review.
  3. Create a new minor version of the ABI with incremental improvements / bugfixes (including this PR).

My team will aim to step up support for proxy-wasm-cpp-host, C++ SDK, and Envoy Wasm filter, though the ABI is shared surface that it would be good to get Piotr's input on.

WRT project health, we'd also like to start having a periodic meeting where contributors can discuss project direction and technical issues.

@vikaschoudhary16

Copy link
Copy Markdown
Author

thanks a lot @mpwarres and @mathetake !!!!

@mathetake

Copy link
Copy Markdown
Contributor

From offline discussion with @PiotrSikora and @martijneken , the plan WRT ABI is to:

  1. Remove the vNEXT ABI documentation, which was never implemented.
  2. Properly document the current 0.2.1 ABI. I believe Piotr was planning to do this, but if other work has gotten in the way, someone on my team can create a first draft for review.
  3. Create a new minor version of the ABI with incremental improvements / bugfixes (including this PR).

sounds awesome and agreed. I will take care of 1. shortly.

As for 2., how long do you think your team would take to make it up? let us know if you think it could take more than a month or so since in that case, my team (me or whoever it is) might be able to help.

WRT project health, we'd also like to start having a periodic meeting where contributors can discuss project direction and technical issues.

I would prefer having an async rather than a sync meeting for various reasons especially because me and my team members are all in different time zones. But anyway it's good to have a general sync (regardless meeting is sync or not) among contributors on the project direction, which I believe will be good for anyone involved vs before. Can we discuss this topic on a separate issue in this repository so that we could hear opinions from other people since this issue is off-topic? If you are ok with it, I will create the issue in this repo and ask for comments in various channels.

@mathetake

Copy link
Copy Markdown
Contributor

#40

@vikaschoudhary16

Copy link
Copy Markdown
Author

closing it since vNext is being deleted.

@jcchavezs

Copy link
Copy Markdown

I hope we can bring in other implementors besides envoy. I know Kong is working on support this and I believe mosn already supports proxy wasm. From my experience, there are a couple of things in the flow that could be improved to reflect more the http lifecycle, hence it is also important to bring those writing filters to give input. Personally I am in charge of coraza-proxy-wasm, a Web Application Firewall which uses many of the functions of the spec.

Sign up for freeto 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.

6 participants

@vikaschoudhary16@kyessenov@mathetake@PiotrSikora@mpwarres@jcchavezs
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Add proxy_log_destination ABI - #38

Closed
vikaschoudhary16 wants to merge 1 commit into
proxy-wasm:masterfrom
vikaschoudhary16:add-log-destination-abi
Closed

Add proxy_log_destination ABI#38
vikaschoudhary16 wants to merge 1 commit into
proxy-wasm:masterfrom
vikaschoudhary16:add-log-destination-abi

Conversation

@vikaschoudhary16

Copy link
Copy Markdown

This new ABI will help in usecase where it is intended to separate logs from the plugins based on the domain for example audit logs.
xref: envoyproxy/envoy#22669

Signed-off-by: Vikas Choudhary <choudharyvikas16@gmail.com>
@kyessenov

Copy link
Copy Markdown

Doesn't this need a new ABI version?
@mpwarres

@mathetake

mathetake commented May 4, 2023

Copy link
Copy Markdown
Contributor

We have also a lot of issues in the current ABI (e.g. #32) which I definitely hope we could solve.

So if you are up for it, @mpwarres, let's just do the ABI version bump and let's resume the iterative improvement of Proxy-Wasm overall. (I could spare a portion of my time into Proxy-Wasm project again).

@mathetake

Copy link
Copy Markdown
Contributor

At least the current project status is not healthy at all, and we definitely should communicate that we will resume the dev or the project is in maintenance mode.

@kyessenov

kyessenov commented May 4, 2023

Copy link
Copy Markdown

I think ABI stability is actually one of the most important things for Wasm, so doing incremental ABI changes is not ideal. There's a backdoor foreign function call to unblock changes without ABI breakage.

@mathetake

Copy link
Copy Markdown
Contributor

yeah I understand that, sorry I just meant the incremental dev with the stability in mind.

@PiotrSikora

Copy link
Copy Markdown
Member

Yes, this would need a new ABI version.

(FWIW, I'm working on the existing & "the minimal bugfix" ABI specs right now. I'll have them out later this month.)

@mathetake

Copy link
Copy Markdown
Contributor

@PiotrSikora sounds good, thank you so much.

@vikaschoudhary16 so let's wait for @PiotrSikora to finish the existing and minimal bugfix spec, and then let's get back to the discussion of the ABI proposed here. sg?

@vikaschoudhary16

Copy link
Copy Markdown
Author

sounds good. Thanks a lot @kyessenov@mathetake and @PiotrSikora for bringing clarity on path forward.

While waiting for new spec in the meantime I would update implementation PR to address Piotr's comments and get more early feedback.

@mathetake

Copy link
Copy Markdown
Contributor

@PiotrSikora could you share the status of the spec doc work?

@mathetake

Copy link
Copy Markdown
Contributor

ping @PiotrSikora

@vikaschoudhary16

Copy link
Copy Markdown
Author

Hi @PiotrSikora, addressed your feedback on implementation PRs at proxy_wasm_cpp_host and at envoy. Though tested manually, waiting for new spec and your go-ahead to start working on ci and tests.

@mathetake

mathetake commented Jun 4, 2023

Copy link
Copy Markdown
Contributor

@mpwarres I thought you are taking over the responsibility on the Google side from @PiotrSikora on Proxy-Wasm. What do you think is the best course of action we could take here? The current state is undeniably unhealthy as a project especially because the specification hasn't been appropriately documented (IIRC, more than approx. 2yrs have passed since @PiotrSikora said they would update the doc for the first time), and that's the only reason why we cannot resolve the issues which have existed in the first place.

@mpwarres

Copy link
Copy Markdown
Contributor

From offline discussion with @PiotrSikora and @martijneken , the plan WRT ABI is to:

  1. Remove the vNEXT ABI documentation, which was never implemented.
  2. Properly document the current 0.2.1 ABI. I believe Piotr was planning to do this, but if other work has gotten in the way, someone on my team can create a first draft for review.
  3. Create a new minor version of the ABI with incremental improvements / bugfixes (including this PR).

My team will aim to step up support for proxy-wasm-cpp-host, C++ SDK, and Envoy Wasm filter, though the ABI is shared surface that it would be good to get Piotr's input on.

WRT project health, we'd also like to start having a periodic meeting where contributors can discuss project direction and technical issues.

@vikaschoudhary16

Copy link
Copy Markdown
Author

thanks a lot @mpwarres and @mathetake !!!!

@mathetake

Copy link
Copy Markdown
Contributor

From offline discussion with @PiotrSikora and @martijneken , the plan WRT ABI is to:

  1. Remove the vNEXT ABI documentation, which was never implemented.
  2. Properly document the current 0.2.1 ABI. I believe Piotr was planning to do this, but if other work has gotten in the way, someone on my team can create a first draft for review.
  3. Create a new minor version of the ABI with incremental improvements / bugfixes (including this PR).

sounds awesome and agreed. I will take care of 1. shortly.

As for 2., how long do you think your team would take to make it up? let us know if you think it could take more than a month or so since in that case, my team (me or whoever it is) might be able to help.

WRT project health, we'd also like to start having a periodic meeting where contributors can discuss project direction and technical issues.

I would prefer having an async rather than a sync meeting for various reasons especially because me and my team members are all in different time zones. But anyway it's good to have a general sync (regardless meeting is sync or not) among contributors on the project direction, which I believe will be good for anyone involved vs before. Can we discuss this topic on a separate issue in this repository so that we could hear opinions from other people since this issue is off-topic? If you are ok with it, I will create the issue in this repo and ask for comments in various channels.

@mathetake

Copy link
Copy Markdown
Contributor

#40

@vikaschoudhary16

Copy link
Copy Markdown
Author

closing it since vNext is being deleted.

@jcchavezs

Copy link
Copy Markdown

I hope we can bring in other implementors besides envoy. I know Kong is working on support this and I believe mosn already supports proxy wasm. From my experience, there are a couple of things in the flow that could be improved to reflect more the http lifecycle, hence it is also important to bring those writing filters to give input. Personally I am in charge of coraza-proxy-wasm, a Web Application Firewall which uses many of the functions of the spec.

Sign up for freeto 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.

6 participants

@vikaschoudhary16@kyessenov@mathetake@PiotrSikora@mpwarres@jcchavezs
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Add proxy_log_destination ABI - #38

Closed
vikaschoudhary16 wants to merge 1 commit into
proxy-wasm:masterfrom
vikaschoudhary16:add-log-destination-abi
Closed

Add proxy_log_destination ABI#38
vikaschoudhary16 wants to merge 1 commit into
proxy-wasm:masterfrom
vikaschoudhary16:add-log-destination-abi

Conversation

@vikaschoudhary16

Copy link
Copy Markdown

This new ABI will help in usecase where it is intended to separate logs from the plugins based on the domain for example audit logs.
xref: envoyproxy/envoy#22669

Signed-off-by: Vikas Choudhary <choudharyvikas16@gmail.com>
@kyessenov

Copy link
Copy Markdown

Doesn't this need a new ABI version?
@mpwarres

@mathetake

mathetake commented May 4, 2023

Copy link
Copy Markdown
Contributor

We have also a lot of issues in the current ABI (e.g. #32) which I definitely hope we could solve.

So if you are up for it, @mpwarres, let's just do the ABI version bump and let's resume the iterative improvement of Proxy-Wasm overall. (I could spare a portion of my time into Proxy-Wasm project again).

@mathetake

Copy link
Copy Markdown
Contributor

At least the current project status is not healthy at all, and we definitely should communicate that we will resume the dev or the project is in maintenance mode.

@kyessenov

kyessenov commented May 4, 2023

Copy link
Copy Markdown

I think ABI stability is actually one of the most important things for Wasm, so doing incremental ABI changes is not ideal. There's a backdoor foreign function call to unblock changes without ABI breakage.

@mathetake

Copy link
Copy Markdown
Contributor

yeah I understand that, sorry I just meant the incremental dev with the stability in mind.

@PiotrSikora

Copy link
Copy Markdown
Member

Yes, this would need a new ABI version.

(FWIW, I'm working on the existing & "the minimal bugfix" ABI specs right now. I'll have them out later this month.)

@mathetake

Copy link
Copy Markdown
Contributor

@PiotrSikora sounds good, thank you so much.

@vikaschoudhary16 so let's wait for @PiotrSikora to finish the existing and minimal bugfix spec, and then let's get back to the discussion of the ABI proposed here. sg?

@vikaschoudhary16

Copy link
Copy Markdown
Author

sounds good. Thanks a lot @kyessenov@mathetake and @PiotrSikora for bringing clarity on path forward.

While waiting for new spec in the meantime I would update implementation PR to address Piotr's comments and get more early feedback.

@mathetake

Copy link
Copy Markdown
Contributor

@PiotrSikora could you share the status of the spec doc work?

@mathetake

Copy link
Copy Markdown
Contributor

ping @PiotrSikora

@vikaschoudhary16

Copy link
Copy Markdown
Author

Hi @PiotrSikora, addressed your feedback on implementation PRs at proxy_wasm_cpp_host and at envoy. Though tested manually, waiting for new spec and your go-ahead to start working on ci and tests.

@mathetake

mathetake commented Jun 4, 2023

Copy link
Copy Markdown
Contributor

@mpwarres I thought you are taking over the responsibility on the Google side from @PiotrSikora on Proxy-Wasm. What do you think is the best course of action we could take here? The current state is undeniably unhealthy as a project especially because the specification hasn't been appropriately documented (IIRC, more than approx. 2yrs have passed since @PiotrSikora said they would update the doc for the first time), and that's the only reason why we cannot resolve the issues which have existed in the first place.

@mpwarres

Copy link
Copy Markdown
Contributor

From offline discussion with @PiotrSikora and @martijneken , the plan WRT ABI is to:

  1. Remove the vNEXT ABI documentation, which was never implemented.
  2. Properly document the current 0.2.1 ABI. I believe Piotr was planning to do this, but if other work has gotten in the way, someone on my team can create a first draft for review.
  3. Create a new minor version of the ABI with incremental improvements / bugfixes (including this PR).

My team will aim to step up support for proxy-wasm-cpp-host, C++ SDK, and Envoy Wasm filter, though the ABI is shared surface that it would be good to get Piotr's input on.

WRT project health, we'd also like to start having a periodic meeting where contributors can discuss project direction and technical issues.

@vikaschoudhary16

Copy link
Copy Markdown
Author

thanks a lot @mpwarres and @mathetake !!!!

@mathetake

Copy link
Copy Markdown
Contributor

From offline discussion with @PiotrSikora and @martijneken , the plan WRT ABI is to:

  1. Remove the vNEXT ABI documentation, which was never implemented.
  2. Properly document the current 0.2.1 ABI. I believe Piotr was planning to do this, but if other work has gotten in the way, someone on my team can create a first draft for review.
  3. Create a new minor version of the ABI with incremental improvements / bugfixes (including this PR).

sounds awesome and agreed. I will take care of 1. shortly.

As for 2., how long do you think your team would take to make it up? let us know if you think it could take more than a month or so since in that case, my team (me or whoever it is) might be able to help.

WRT project health, we'd also like to start having a periodic meeting where contributors can discuss project direction and technical issues.

I would prefer having an async rather than a sync meeting for various reasons especially because me and my team members are all in different time zones. But anyway it's good to have a general sync (regardless meeting is sync or not) among contributors on the project direction, which I believe will be good for anyone involved vs before. Can we discuss this topic on a separate issue in this repository so that we could hear opinions from other people since this issue is off-topic? If you are ok with it, I will create the issue in this repo and ask for comments in various channels.

@mathetake

Copy link
Copy Markdown
Contributor

#40

@vikaschoudhary16

Copy link
Copy Markdown
Author

closing it since vNext is being deleted.

@jcchavezs

Copy link
Copy Markdown

I hope we can bring in other implementors besides envoy. I know Kong is working on support this and I believe mosn already supports proxy wasm. From my experience, there are a couple of things in the flow that could be improved to reflect more the http lifecycle, hence it is also important to bring those writing filters to give input. Personally I am in charge of coraza-proxy-wasm, a Web Application Firewall which uses many of the functions of the spec.

Sign up for freeto 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.

6 participants

@vikaschoudhary16@kyessenov@mathetake@PiotrSikora@mpwarres@jcchavezs
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Add proxy_log_destination ABI - #38

Closed
vikaschoudhary16 wants to merge 1 commit into
proxy-wasm:masterfrom
vikaschoudhary16:add-log-destination-abi
Closed

Add proxy_log_destination ABI#38
vikaschoudhary16 wants to merge 1 commit into
proxy-wasm:masterfrom
vikaschoudhary16:add-log-destination-abi

Conversation

@vikaschoudhary16

Copy link
Copy Markdown

This new ABI will help in usecase where it is intended to separate logs from the plugins based on the domain for example audit logs.
xref: envoyproxy/envoy#22669

Signed-off-by: Vikas Choudhary <choudharyvikas16@gmail.com>
@kyessenov

Copy link
Copy Markdown

Doesn't this need a new ABI version?
@mpwarres

@mathetake

mathetake commented May 4, 2023

Copy link
Copy Markdown
Contributor

We have also a lot of issues in the current ABI (e.g. #32) which I definitely hope we could solve.

So if you are up for it, @mpwarres, let's just do the ABI version bump and let's resume the iterative improvement of Proxy-Wasm overall. (I could spare a portion of my time into Proxy-Wasm project again).

@mathetake

Copy link
Copy Markdown
Contributor

At least the current project status is not healthy at all, and we definitely should communicate that we will resume the dev or the project is in maintenance mode.

@kyessenov

kyessenov commented May 4, 2023

Copy link
Copy Markdown

I think ABI stability is actually one of the most important things for Wasm, so doing incremental ABI changes is not ideal. There's a backdoor foreign function call to unblock changes without ABI breakage.

@mathetake

Copy link
Copy Markdown
Contributor

yeah I understand that, sorry I just meant the incremental dev with the stability in mind.

@PiotrSikora

Copy link
Copy Markdown
Member

Yes, this would need a new ABI version.

(FWIW, I'm working on the existing & "the minimal bugfix" ABI specs right now. I'll have them out later this month.)

@mathetake

Copy link
Copy Markdown
Contributor

@PiotrSikora sounds good, thank you so much.

@vikaschoudhary16 so let's wait for @PiotrSikora to finish the existing and minimal bugfix spec, and then let's get back to the discussion of the ABI proposed here. sg?

@vikaschoudhary16

Copy link
Copy Markdown
Author

sounds good. Thanks a lot @kyessenov@mathetake and @PiotrSikora for bringing clarity on path forward.

While waiting for new spec in the meantime I would update implementation PR to address Piotr's comments and get more early feedback.

@mathetake

Copy link
Copy Markdown
Contributor

@PiotrSikora could you share the status of the spec doc work?

@mathetake

Copy link
Copy Markdown
Contributor

ping @PiotrSikora

@vikaschoudhary16

Copy link
Copy Markdown
Author

Hi @PiotrSikora, addressed your feedback on implementation PRs at proxy_wasm_cpp_host and at envoy. Though tested manually, waiting for new spec and your go-ahead to start working on ci and tests.

@mathetake

mathetake commented Jun 4, 2023

Copy link
Copy Markdown
Contributor

@mpwarres I thought you are taking over the responsibility on the Google side from @PiotrSikora on Proxy-Wasm. What do you think is the best course of action we could take here? The current state is undeniably unhealthy as a project especially because the specification hasn't been appropriately documented (IIRC, more than approx. 2yrs have passed since @PiotrSikora said they would update the doc for the first time), and that's the only reason why we cannot resolve the issues which have existed in the first place.

@mpwarres

Copy link
Copy Markdown
Contributor

From offline discussion with @PiotrSikora and @martijneken , the plan WRT ABI is to:

  1. Remove the vNEXT ABI documentation, which was never implemented.
  2. Properly document the current 0.2.1 ABI. I believe Piotr was planning to do this, but if other work has gotten in the way, someone on my team can create a first draft for review.
  3. Create a new minor version of the ABI with incremental improvements / bugfixes (including this PR).

My team will aim to step up support for proxy-wasm-cpp-host, C++ SDK, and Envoy Wasm filter, though the ABI is shared surface that it would be good to get Piotr's input on.

WRT project health, we'd also like to start having a periodic meeting where contributors can discuss project direction and technical issues.

@vikaschoudhary16

Copy link
Copy Markdown
Author

thanks a lot @mpwarres and @mathetake !!!!

@mathetake

Copy link
Copy Markdown
Contributor

From offline discussion with @PiotrSikora and @martijneken , the plan WRT ABI is to:

  1. Remove the vNEXT ABI documentation, which was never implemented.
  2. Properly document the current 0.2.1 ABI. I believe Piotr was planning to do this, but if other work has gotten in the way, someone on my team can create a first draft for review.
  3. Create a new minor version of the ABI with incremental improvements / bugfixes (including this PR).

sounds awesome and agreed. I will take care of 1. shortly.

As for 2., how long do you think your team would take to make it up? let us know if you think it could take more than a month or so since in that case, my team (me or whoever it is) might be able to help.

WRT project health, we'd also like to start having a periodic meeting where contributors can discuss project direction and technical issues.

I would prefer having an async rather than a sync meeting for various reasons especially because me and my team members are all in different time zones. But anyway it's good to have a general sync (regardless meeting is sync or not) among contributors on the project direction, which I believe will be good for anyone involved vs before. Can we discuss this topic on a separate issue in this repository so that we could hear opinions from other people since this issue is off-topic? If you are ok with it, I will create the issue in this repo and ask for comments in various channels.

@mathetake

Copy link
Copy Markdown
Contributor

#40

@vikaschoudhary16

Copy link
Copy Markdown
Author

closing it since vNext is being deleted.

@jcchavezs

Copy link
Copy Markdown

I hope we can bring in other implementors besides envoy. I know Kong is working on support this and I believe mosn already supports proxy wasm. From my experience, there are a couple of things in the flow that could be improved to reflect more the http lifecycle, hence it is also important to bring those writing filters to give input. Personally I am in charge of coraza-proxy-wasm, a Web Application Firewall which uses many of the functions of the spec.

Sign up for freeto 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.

6 participants

@vikaschoudhary16@kyessenov@mathetake@PiotrSikora@mpwarres@jcchavezs
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Add proxy_log_destination ABI - #38

Closed
vikaschoudhary16 wants to merge 1 commit into
proxy-wasm:masterfrom
vikaschoudhary16:add-log-destination-abi
Closed

Add proxy_log_destination ABI#38
vikaschoudhary16 wants to merge 1 commit into
proxy-wasm:masterfrom
vikaschoudhary16:add-log-destination-abi

Conversation

@vikaschoudhary16

Copy link
Copy Markdown

This new ABI will help in usecase where it is intended to separate logs from the plugins based on the domain for example audit logs.
xref: envoyproxy/envoy#22669

Signed-off-by: Vikas Choudhary <choudharyvikas16@gmail.com>
@kyessenov

Copy link
Copy Markdown

Doesn't this need a new ABI version?
@mpwarres

@mathetake

mathetake commented May 4, 2023

Copy link
Copy Markdown
Contributor

We have also a lot of issues in the current ABI (e.g. #32) which I definitely hope we could solve.

So if you are up for it, @mpwarres, let's just do the ABI version bump and let's resume the iterative improvement of Proxy-Wasm overall. (I could spare a portion of my time into Proxy-Wasm project again).

@mathetake

Copy link
Copy Markdown
Contributor

At least the current project status is not healthy at all, and we definitely should communicate that we will resume the dev or the project is in maintenance mode.

@kyessenov

kyessenov commented May 4, 2023

Copy link
Copy Markdown

I think ABI stability is actually one of the most important things for Wasm, so doing incremental ABI changes is not ideal. There's a backdoor foreign function call to unblock changes without ABI breakage.

@mathetake

Copy link
Copy Markdown
Contributor

yeah I understand that, sorry I just meant the incremental dev with the stability in mind.

@PiotrSikora

Copy link
Copy Markdown
Member

Yes, this would need a new ABI version.

(FWIW, I'm working on the existing & "the minimal bugfix" ABI specs right now. I'll have them out later this month.)

@mathetake

Copy link
Copy Markdown
Contributor

@PiotrSikora sounds good, thank you so much.

@vikaschoudhary16 so let's wait for @PiotrSikora to finish the existing and minimal bugfix spec, and then let's get back to the discussion of the ABI proposed here. sg?

@vikaschoudhary16

Copy link
Copy Markdown
Author

sounds good. Thanks a lot @kyessenov@mathetake and @PiotrSikora for bringing clarity on path forward.

While waiting for new spec in the meantime I would update implementation PR to address Piotr's comments and get more early feedback.

@mathetake

Copy link
Copy Markdown
Contributor

@PiotrSikora could you share the status of the spec doc work?

@mathetake

Copy link
Copy Markdown
Contributor

ping @PiotrSikora

@vikaschoudhary16

Copy link
Copy Markdown
Author

Hi @PiotrSikora, addressed your feedback on implementation PRs at proxy_wasm_cpp_host and at envoy. Though tested manually, waiting for new spec and your go-ahead to start working on ci and tests.

@mathetake

mathetake commented Jun 4, 2023

Copy link
Copy Markdown
Contributor

@mpwarres I thought you are taking over the responsibility on the Google side from @PiotrSikora on Proxy-Wasm. What do you think is the best course of action we could take here? The current state is undeniably unhealthy as a project especially because the specification hasn't been appropriately documented (IIRC, more than approx. 2yrs have passed since @PiotrSikora said they would update the doc for the first time), and that's the only reason why we cannot resolve the issues which have existed in the first place.

@mpwarres

Copy link
Copy Markdown
Contributor

From offline discussion with @PiotrSikora and @martijneken , the plan WRT ABI is to:

  1. Remove the vNEXT ABI documentation, which was never implemented.
  2. Properly document the current 0.2.1 ABI. I believe Piotr was planning to do this, but if other work has gotten in the way, someone on my team can create a first draft for review.
  3. Create a new minor version of the ABI with incremental improvements / bugfixes (including this PR).

My team will aim to step up support for proxy-wasm-cpp-host, C++ SDK, and Envoy Wasm filter, though the ABI is shared surface that it would be good to get Piotr's input on.

WRT project health, we'd also like to start having a periodic meeting where contributors can discuss project direction and technical issues.

@vikaschoudhary16

Copy link
Copy Markdown
Author

thanks a lot @mpwarres and @mathetake !!!!

@mathetake

Copy link
Copy Markdown
Contributor

From offline discussion with @PiotrSikora and @martijneken , the plan WRT ABI is to:

  1. Remove the vNEXT ABI documentation, which was never implemented.
  2. Properly document the current 0.2.1 ABI. I believe Piotr was planning to do this, but if other work has gotten in the way, someone on my team can create a first draft for review.
  3. Create a new minor version of the ABI with incremental improvements / bugfixes (including this PR).

sounds awesome and agreed. I will take care of 1. shortly.

As for 2., how long do you think your team would take to make it up? let us know if you think it could take more than a month or so since in that case, my team (me or whoever it is) might be able to help.

WRT project health, we'd also like to start having a periodic meeting where contributors can discuss project direction and technical issues.

I would prefer having an async rather than a sync meeting for various reasons especially because me and my team members are all in different time zones. But anyway it's good to have a general sync (regardless meeting is sync or not) among contributors on the project direction, which I believe will be good for anyone involved vs before. Can we discuss this topic on a separate issue in this repository so that we could hear opinions from other people since this issue is off-topic? If you are ok with it, I will create the issue in this repo and ask for comments in various channels.

@mathetake

Copy link
Copy Markdown
Contributor

#40

@vikaschoudhary16

Copy link
Copy Markdown
Author

closing it since vNext is being deleted.

@jcchavezs

Copy link
Copy Markdown

I hope we can bring in other implementors besides envoy. I know Kong is working on support this and I believe mosn already supports proxy wasm. From my experience, there are a couple of things in the flow that could be improved to reflect more the http lifecycle, hence it is also important to bring those writing filters to give input. Personally I am in charge of coraza-proxy-wasm, a Web Application Firewall which uses many of the functions of the spec.

Sign up for freeto 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.

6 participants

@vikaschoudhary16@kyessenov@mathetake@PiotrSikora@mpwarres@jcchavezs
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Add proxy_log_destination ABI - #38

Closed
vikaschoudhary16 wants to merge 1 commit into
proxy-wasm:masterfrom
vikaschoudhary16:add-log-destination-abi
Closed

Add proxy_log_destination ABI#38
vikaschoudhary16 wants to merge 1 commit into
proxy-wasm:masterfrom
vikaschoudhary16:add-log-destination-abi

Conversation

@vikaschoudhary16

Copy link
Copy Markdown

This new ABI will help in usecase where it is intended to separate logs from the plugins based on the domain for example audit logs.
xref: envoyproxy/envoy#22669

Signed-off-by: Vikas Choudhary <choudharyvikas16@gmail.com>
@kyessenov

Copy link
Copy Markdown

Doesn't this need a new ABI version?
@mpwarres

@mathetake

mathetake commented May 4, 2023

Copy link
Copy Markdown
Contributor

We have also a lot of issues in the current ABI (e.g. #32) which I definitely hope we could solve.

So if you are up for it, @mpwarres, let's just do the ABI version bump and let's resume the iterative improvement of Proxy-Wasm overall. (I could spare a portion of my time into Proxy-Wasm project again).

@mathetake

Copy link
Copy Markdown
Contributor

At least the current project status is not healthy at all, and we definitely should communicate that we will resume the dev or the project is in maintenance mode.

@kyessenov

kyessenov commented May 4, 2023

Copy link
Copy Markdown

I think ABI stability is actually one of the most important things for Wasm, so doing incremental ABI changes is not ideal. There's a backdoor foreign function call to unblock changes without ABI breakage.

@mathetake

Copy link
Copy Markdown
Contributor

yeah I understand that, sorry I just meant the incremental dev with the stability in mind.

@PiotrSikora

Copy link
Copy Markdown
Member

Yes, this would need a new ABI version.

(FWIW, I'm working on the existing & "the minimal bugfix" ABI specs right now. I'll have them out later this month.)

@mathetake

Copy link
Copy Markdown
Contributor

@PiotrSikora sounds good, thank you so much.

@vikaschoudhary16 so let's wait for @PiotrSikora to finish the existing and minimal bugfix spec, and then let's get back to the discussion of the ABI proposed here. sg?

@vikaschoudhary16

Copy link
Copy Markdown
Author

sounds good. Thanks a lot @kyessenov@mathetake and @PiotrSikora for bringing clarity on path forward.

While waiting for new spec in the meantime I would update implementation PR to address Piotr's comments and get more early feedback.

@mathetake

Copy link
Copy Markdown
Contributor

@PiotrSikora could you share the status of the spec doc work?

@mathetake

Copy link
Copy Markdown
Contributor

ping @PiotrSikora

@vikaschoudhary16

Copy link
Copy Markdown
Author

Hi @PiotrSikora, addressed your feedback on implementation PRs at proxy_wasm_cpp_host and at envoy. Though tested manually, waiting for new spec and your go-ahead to start working on ci and tests.

@mathetake

mathetake commented Jun 4, 2023

Copy link
Copy Markdown
Contributor

@mpwarres I thought you are taking over the responsibility on the Google side from @PiotrSikora on Proxy-Wasm. What do you think is the best course of action we could take here? The current state is undeniably unhealthy as a project especially because the specification hasn't been appropriately documented (IIRC, more than approx. 2yrs have passed since @PiotrSikora said they would update the doc for the first time), and that's the only reason why we cannot resolve the issues which have existed in the first place.

@mpwarres

Copy link
Copy Markdown
Contributor

From offline discussion with @PiotrSikora and @martijneken , the plan WRT ABI is to:

  1. Remove the vNEXT ABI documentation, which was never implemented.
  2. Properly document the current 0.2.1 ABI. I believe Piotr was planning to do this, but if other work has gotten in the way, someone on my team can create a first draft for review.
  3. Create a new minor version of the ABI with incremental improvements / bugfixes (including this PR).

My team will aim to step up support for proxy-wasm-cpp-host, C++ SDK, and Envoy Wasm filter, though the ABI is shared surface that it would be good to get Piotr's input on.

WRT project health, we'd also like to start having a periodic meeting where contributors can discuss project direction and technical issues.

@vikaschoudhary16

Copy link
Copy Markdown
Author

thanks a lot @mpwarres and @mathetake !!!!

@mathetake

Copy link
Copy Markdown
Contributor

From offline discussion with @PiotrSikora and @martijneken , the plan WRT ABI is to:

  1. Remove the vNEXT ABI documentation, which was never implemented.
  2. Properly document the current 0.2.1 ABI. I believe Piotr was planning to do this, but if other work has gotten in the way, someone on my team can create a first draft for review.
  3. Create a new minor version of the ABI with incremental improvements / bugfixes (including this PR).

sounds awesome and agreed. I will take care of 1. shortly.

As for 2., how long do you think your team would take to make it up? let us know if you think it could take more than a month or so since in that case, my team (me or whoever it is) might be able to help.

WRT project health, we'd also like to start having a periodic meeting where contributors can discuss project direction and technical issues.

I would prefer having an async rather than a sync meeting for various reasons especially because me and my team members are all in different time zones. But anyway it's good to have a general sync (regardless meeting is sync or not) among contributors on the project direction, which I believe will be good for anyone involved vs before. Can we discuss this topic on a separate issue in this repository so that we could hear opinions from other people since this issue is off-topic? If you are ok with it, I will create the issue in this repo and ask for comments in various channels.

@mathetake

Copy link
Copy Markdown
Contributor

#40

@vikaschoudhary16

Copy link
Copy Markdown
Author

closing it since vNext is being deleted.

@jcchavezs

Copy link
Copy Markdown

I hope we can bring in other implementors besides envoy. I know Kong is working on support this and I believe mosn already supports proxy wasm. From my experience, there are a couple of things in the flow that could be improved to reflect more the http lifecycle, hence it is also important to bring those writing filters to give input. Personally I am in charge of coraza-proxy-wasm, a Web Application Firewall which uses many of the functions of the spec.

Sign up for freeto 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.

6 participants

@vikaschoudhary16@kyessenov@mathetake@PiotrSikora@mpwarres@jcchavezs