-
Notifications
You must be signed in to change notification settings - Fork 330
feat(lambda-function-url): URL releaser component #3187
Conversation
1608219
to
935e48d
Compare
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.
Looking good Kevin. I know this is still in draft, and it looks like there's some todos, but figured I'd drop a few comments as you work on it. Excited to see this land! 🎉
de8dce4
to
5e4d743
Compare
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.
Overall looks pretty great! Just a few comments and requests from me 👍🏻
builtin/aws/lambda/releaser.go
Outdated
|
||
// check the function url status | ||
log.Info("Checking function url status...", "url", release.Url) | ||
if resp, err := http.Get(release.Url); err != nil { |
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.
Is there an AWS SDK function here we could use instead to validate the creation/existence of a lamba url instead of http.Get?
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.
I don't think there's a healthcheck-like API for Lambda 🤔. (Makes sense the its ephemeral nature)
- lambda - available commands
- (looking for something like elbv2::describe-target-health)
- I'm now realizing that
AWS_IAM
auth type would cause this unsigned http.Get to be return a503
Maybe - Maybe
wait
orinvoke
are viable options...
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.
Does the lambda
get-function
help at all? I don't know if it has any kind of health or status in the return response. Otherwise yeah maybe the way to go is an http.Get
. Might be another good question to ask the team this week and see what they say.
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.
get-function
doesn't return any useful status information. I'll shoot a message to the Waypoint team slack for some opinions!
74995be
to
a059506
Compare
- run `make gen/website-mdx`; remove diff from autoformatting
- update docs - update proto
a059506
to
d4e09ab
Compare
@evanphx Moved the releaser into a new plugin folder, and the usage is now as you suggested:
|
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.
A couple minor things!
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.
Thank you Kevin!! This looks great ✨
! 1 error occurred:
* plugin "lambda-function-url" not found ...only to realize that this PR's changes weren't in the in the Update: I think I figured out how to update my server & runner with the latest code from waypoint server upgrade \
-auto-approve \
-k8s-server-image=ghcr.io/hashicorp/waypoint/alpha:02952e297 \
-k8s-odr-image=ghcr.io/hashicorp/waypoint/alpha-odr:02952e297 |
@thiskevinwang - looks like this pull request wasn't backported, so it didn't make it into the 0.8.2 release. We can post backport this PR now and it will go out in the next release. Sorry about that! |
Description
This is adds a
lambda-function-url
plugin (with Releaser component only) that leverages the new Lambda Function URLs.This approach only releases a function URL for the unpublished Lambda function, and does not leverage URLs for aliases of specific function versions
This leaves the CORs configuration as a TODO for the near future.
Closes #3184
Usage
Screenshots
Waypoint UI