Google, OpenWhisk or Azure support?
Jonovono opened this issue ยท 22 comments
Wondering if support for Google Cloud Functions is on the horizon?
Since this plugin is designed to work with serverless
, which supports Google Cloud functions, I think this plugin supports Google Functions.
Let us know if that is not the case, and why.
Has anyone tested this plugin with IBM OpenWhisk, Google Cloud Functions, and Azure Functions?
@alexcasalboni Do you have the opportunity to test it with a test project for one of the providers? We also use only AWS at work, so I cannot make any valid statement on the issue.
Just renamed the issue. We should gather feedback from users that tried the plugin with other providers than AWS here.
@HyperBrain I just reached out to the main vendor-plugins maintainers, so maybe we'll find out faster :)
I've been testing the OpenWhisk provider with this plugin. I can successfully deploy functions bundled with webpack. ๐ช
The examples I've tested from the samples
folder work without modification.
There is an issue with the invoke
plugin that is bound to AWS Lambda's function interface.
https://github.com/elastic-coders/serverless-webpack/blob/master/lib/run.js#L93-L104
Is it possible to just fire the native invoke
plugin for the provider rather than triggering this manually?
Could we also add a section to the README highlighting support for the other providers with details on which features work? Maybe a table?
@jthomas Big ๐ for the evaluation and testing. It is good to hear that at least the basic functionality works as expected.
Could we also add a section to the README highlighting support for the other providers with details on which features work? Maybe a table?
Good idea! Feel free to add a PR for the README changes (and add the OpenWhisk results there). The section could imo be named "Provider support" with a table as you proposed.
Is it possible to just fire the native invoke plugin for the provider rather than triggering this manually?
I like this idea. Maybe the plugin could just hook into serverless invoke local
, so that it is provider independent and will run through all initializations done there, but adds the compile step. Then we could remove the invoke/run command completely and the user would use one well-known function, regardless if the plugin is enabled or not. The plugin should not replicate functionality that is offered by Serverless or other plugins that are specialized for these tasks.
I will create a separate issue/task for the use of serverless invoke local
and the corresponding hooks and link it here.
More testing has revealed that watch
works but serve
doesn't.
The serve plugin also uses a provider dependent interface to execute the handler.
https://github.com/elastic-coders/serverless-webpack/blob/master/lib/serve.js#L119-L129
Serve will be abandoned and removed (see #135) in version 3.0.0 in favor of the serverless-offline
plugin which works better.
If the invoke is switched to the standard implementation too, it would leave no unsupported functions at all in the compatibility table ๐
The invoke local integration I mentioned above (#128 (comment)) is handled in #151 . As soon as the PR ( #153 ) is finalized we should test it with the different providers and adjust the provider support table accordingly.
@jthomas The V3 version in the v3.0.0
branch should now fully support invoke local. Can you try it with OpenWhisk and complete the provider support table again in that branch? Thank you ๐
@HyperBrain invoke local
works ๐ but --watch
does not ๐. It just returns after invoking the function. Is this currently working?
@jthomas Yes, --watch
works for me. I tested it with the example @cwaltken-edrans mentioned in #180.
My test system was Windows 10, Git Bash and Node 6.10.x. I posted my results in the forementioned issue (see here #180 (comment)).
Technically the watch waits for file change callbacks from webpack's watch and retriggers the invoke local
.
IMO there are multiple possibilities to cause the issue for you:
- You're using a Mac and somehow we need fsevents as optional package in serverless-webpack
- The OpenWhisk plugin somehow terminates the invoke local after running and prevents the wait to happen
However it is worth further investigation. The invoke local support (including watch) should be provider agnostic as it only uses framework and Webpack functions.
@jthomas I just released v3. Can you check with the OpenWhisk plugin again and fill the compatibility table? Thanks.
I've just checked this and all commands are now working!
That's good news ๐ Thanks for testing.
Hey guys, I'm a Google Cloud Functions type of guy (https://github.com/serverless/serverless-google-cloudfunctions), and I could not get it working. After further investigation, it seems like serverless-google-cloudfunctions
does not support package.individually: true
. Anyone else struggling with this?
UPDATE: #199 is exactly the error I'm getting. Weird since it seems to have been resolved!
Closing this as it was only a summary to get info about other providers