-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(wasmx): DB entities and admin API #10317
Conversation
b12368f
to
3e7e877
Compare
Were we not going for a single plugin that takes in the lists of filters to execute (and their configurations) to start small? |
@hbagdi No, we ultimately reversed on that decision because the execution flow between Lua plugins and Wasm filters (each happening on their own Nginx module) imposes some constraints that wouldn't be correctly represented if Wasm filters were encapsulated by a plugin. |
That was the 2022 Tech Preview model. The product decision we made was to not depend on a Lua Plugin, but incorporate wasm filters as part of the core. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM so far.
I've been banging my head on the wall about filter config schema validation for a minute now and still don't have it fully functional and sane, so I'm punting on that for the moment. I'd rather we just get this PR merged as-is so that everyone is unblocked. |
This is still WIP and not ready for a final review, but feel free to share feedback in the meantime.
For the sake of simplicity, this implementation bundles the entire filter chain array into a JSON-serialized array. We can break filter entities off into their own table/entity with a FK relationship if need be (should decide on this before release).
changes
wasm_filter_chains
entitytodo
filter registration/metadata/schema integrationvalidatewasm_filter_chains.filters[].name
against known filtersvalidatewasm_filter_chains.filters[].config