Skip to content

Set up CI/CD with Chalice for AWS Lambda functions #271

@sgbaird

Description

@sgbaird

Copying over the discussion from #231 (comment)


Difficult to share Lambda function directly on AWS, so instead long-term we may switch to having the lambda function on GitHub and automatically deploy to cloud via AWS Chalice for example, per comment in:

https://stackoverflow.com/questions/58441717/how-to-share-lambda-function-with-another-user-in-organization

If I understand correctly:

  • Create a new repo for the Lambda function in GH
  • Edit Lambda scripts in this repo
  • Set up AWS account credentials on GH secrets
  • Commit to trigger GH action using Chalice to deploy new scripts on Lambda(?)

The only thing I need help would be the AWS credentials? I think I need an IAM user credentials within the AC organization?

BTW:
https://stackoverflow.com/questions/58441717/how-to-share-lambda-function-with-another-user-in-organization#comment103249681_58441810

It's atypical to create an account per developer, in my experience (if by developer, you mean a single person). It's common to see prod, dev, and test accounts (possibly one set dedicated to a product, if it's large enough, but often shared). Have added to original answer.


I'm ok with either option - pursue Chalice now (the steps you described are what I was thinking of too), or create a shared account like what was mentioned in that issue. I'll double check on AWS credentials. Not sure if I gave you admin permissions.


I thought the IAM user credentials is something other than our personal accounts, like an IAM user for the Lambda deployment with Chalice.


@Neil-YL - started the process. Looks like AWSLambda_FullAccess might be the necessary policy to attach.

This is where I went for creating an IAM user: https://us-east-1.console.aws.amazon.com/iam/home?region=us-east-2#/users based on instructions in https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html.

Going with access key so it doesn't expire.

Image

Shared the credentials with you privately.


Not sure if the IAM user also needs the permit to visit S3 (for the pickle token) or there is a better practice. I will look into this while preparing the other setup for the shared managed Lambda.


Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions