I just finished working on a Google Cloud Functions plugin.
The plugin would work for most use cases and I just used it today to deploy several of my functions in production .
I would love to get your feedback.
Here are some of the questions I encountered:
The plugin doesn’t support staging deployments before releasing them to general traffic, this is mainly because I haven’t found a way to support this using Cloud Functions. This means that the plugin does almost nothing in the
releasestage expect set the IAM policy for unauthenticated functions. Would it be better in this case to do the real deployment in the
releasestage of Waypoint and do nothing during
deployso that users who don’t want traffic to reach their app before the
releasestage aren’t misguided ?
Destroyis not supported for
releasefor the same reason mentioned above. The only way I was able to implement this was by deleting the function, which is not what most people would want I think. I was surprised to see that Waypoint deletes old releases and deployments after a successful
upcommand. What kind of work should be done during destroy ? Because for most of the platforms I have used (Heroku, App Engine, Cloud Functions, …) deleting a deployment means there is no way to rollback.
It would be amazing if the plugin executable can print it’s documentation when executed, this way I can easily auto generate the documentation in Markdown on the CI without having to install Waypoint as well. If it is relatively easy to implement, I would love to contribute working on this.
Thank you everyone at Hashicorp for a great project. I am really happy to use it so far.