aws / aws/chalice

Enhance `chalice package` to support container-based lambdas

Open
#1,821 1 comment 20 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
11.1k
Forks
1k
Avg merge
1d 22h
Merged PRs (30d)
2

Description

related #1598

I would like to see an enhancement to the `chalice package` command which supports configuring image-based lambdas. Something like `chalice package --use-containers`.

I am aware that the `package` command supports `--merge-templates` which would allow us to override zip-based lambda fields with image-based lamda fields in the `AWS::Serverless::Function` section if you include the appropriate json snippet. But that still leaves creating the Dockerfile for the build/testing process. So ideally the `--use-containers` command would write out an image-based SAM template and a Dockerfile to build, test, and deploy the packaged lambda.

The logic for writing out the sam template could have logic similar to this comment I made to demo POC https://github.com/aws/chalice/issues/1598#issuecomment-917511355

Note that I am trying to limit the scope of this feature request to just the packaging command so that SAM can be leveraged for resource management (ECR, build/test, etc). Other work could handle implementation for a similar `chalice deploy --use-containers` command.

Contributor guide

Open the contributing guide

Research direction

Start with the `chalice package` command and the related proof of concept in issue #1598. Define how `--use-containers` should generate an image-based SAM template and a Dockerfile for building and testing the packaged Lambda, while keeping deployment and resource management in SAM. Done means the packaging command produces those artifacts without expanding into `chalice deploy` behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, docker, python
Domain
build-system, cli, cloud
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.