Show HN: Claudia.js – deploy Node.js microservices to AWS more easily
github.com
github.com
Most of my efforts went into integrating Amazon's Key Management Service into the local development and S3 deployment process. (One of the first Lambda functions I wanted needed to talk with GitHub, Slack and some other APIs, so encryption of access tokens seemed a given.) I'd be curious if the author has run into this situation or already had thoughts about how to approach this.
For access keys, so far I stored them as stage variables in the API Gateway config. Claudia adds all stage variables to the env key of the request passed to the Node.js handler. That way, they are instantly available to your function, but never shared with Web clients.
I'm not entirely sure how secure this is, but the use cases I used it for are not highly risky. This is, I imagine, equivalent to storing them in the ENV variables for heroku services. (what I migrated from)
one additional benefit of stage vars is that you can use different values for production, dev and testing, and it all works out of the box.
One thing I've been trying to figure out is how to inject secrets into my lambda packages so I don't have to have them checked into Git, but also using the right secrets based on an application environment.
Although once they make Lambdas available inside of VPCs I'd be able to do away with a lot of it by a using roles.
At the very least I wish AWS would update the version of Node.js that Lambda uses and maybe provide the "request" NPM package by default (yes, I'd like my HTTP requests to follow redirects automatically thank you).
It aims to be simpler than Serverless, but still maintain great integration with API Gateway.
Lots of cool project in the space right now! Check em all out. I'll be sure to add yours to Shepherd's "Other Project" section.
It's also oriented around single-purpose (single-function) microservices, but pure HTTP.