developmentseed / developmentseed/eoapi-cdk

Break out STAC Ingestor codebase into separate repo

Open
#4 5 comments 1 reaction 1 assignee Assigned to @vincentsarago View on GitHub
enhancement help wanted
Dominant language
Python
Stars
29
Forks
6
Avg merge
1d 2h
Merged PRs (30d)
7

Description

Currently, we store the STAC Ingestor codebase alongside the STAC Ingestor CDK construct. This means that if a user wants to customize the STAC Ingestor, they need to copy/replicate the STAC Ingestor codebase into a separate repo, customize it, and then recreate the logic around the StacIngestor construct. A better scenario would be to be able to provide the construct an argument that represents a pip-friendly location the codebase can be installed from. I am not certain of the best way to do this.

## First pass at a solution

Currently, we are using the [`PythonFunction` construct](https://docs.aws.amazon.com/cdk/api/v2/docs/@aws-cdk_aws-lambda-python-alpha.PythonFunction.html) which requires that a user pass in a directory where either a `Pipfile.lock`, `poetry.lock`, or `requirements.txt` file can be found ([source](https://github.com/aws/aws-cdk/blob/7690f431da3cd365c5356194ca62168bfeaeea5a/packages/%40aws-cdk/aws-lambda-python/lib/packaging.ts#L4-L9)).

It seems like something along the lines of the following may work: Create a custom construct that took in the identifier of an installable module, wrote that to a `requirements.txt` file, and then passed the path of that `requirements.txt` file to the Python Lambda to be built. I'm not sure how we could support the customization of the `entry` and `handler` arguments...

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.