Skip to content
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

Lambda modules organization? #57

Closed
armanbilge opened this issue Nov 19, 2021 · 5 comments
Closed

Lambda modules organization? #57

armanbilge opened this issue Nov 19, 2021 · 5 comments
Labels
lambda question Further information is requested
Milestone

Comments

@armanbilge
Copy link
Member

This keeps coming up, e.g. #2, #6 (comment), #48, #50 (comment). So at some point we should decide what we want to do :)

Just some assorted thoughts, all IMHO:

  • One reason to keep lambda-events separate from lambda is b/c a shapeless dependency (historically) was a big deal. Not sure if that's true anymore, and irrelevant to Scala 3 or if we hand-write our encoders/decoders.
  • It's a bit weird if some events are in lambda-events and others are with specialized lambdas. But also, these models aren't really shared interfaces, just kind of helpers ... if e.g. the CloudFormation lambda wants to define its own version of its events and eschew this dependency, I think that could be fine.
  • Besides defining events, it could be nice to define aliases for Lambda that pair events with results. This idea makes me consider if we should just merge lambda-events with lambda.
  • I'm open to merging lambda-natchez into lambda so we can offer tracing middleware out-of-the-box. natchez-core is lightweight.
  • I still don't think we need a specific XRay integration, but could totally be wrong.
@armanbilge armanbilge added the question Further information is requested label Nov 19, 2021
@armanbilge
Copy link
Member Author

@bpholt and I chatted on Discord. Here's what we've decided for now:

  1. Include the natchez integration in the core lambda module. "Tracing is the future, let’s bake it in." - @bpholt
  2. Merge the events module into the core lambda module as well. This is more likely to be temporary, just to make it easier to try out feral without needing to add multiple dependencies. Some more wise words from @bpholt:

I prefer keeping the models with the specializations because I’ve been frustrated digging thru the dozens of AWS models when using other libraries, looking for the specific ones that were applicable to my use case. Since theoretically people will already be pulling in a specific artifact for the specialized lambda, IMO they might as well get the specialized model too.

@kubukoz
Copy link
Member

kubukoz commented Dec 13, 2021

IMO: natchez in core is fine, events in core is fine as long as there are no extra dependencies.

@armanbilge
Copy link
Member Author

Yep, I'll make sure to drop circe-generic.

@kubukoz
Copy link
Member

kubukoz commented Dec 13, 2021

covered in #77

This was referenced Dec 13, 2021
@armanbilge armanbilge added this to the 0.1.0 milestone Dec 18, 2021
@armanbilge
Copy link
Member Author

I think the current organization is good.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lambda question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants