serverless-pypi

amancevice/serverless-pypi/aws

Terraform Module HCL AWS

Serverless PyPI backed by S3

Install
module "serverless-pypi" {
source = "amancevice/serverless-pypi/aws"
version = "7.7.2"
}
⭐ Source on GitHub 📦 Registry page
README

Serverless PyPI ![terraform](https://registry.terraform.io/modules/amancevice/serverless-pypi/aws) ![test](https://github.com/amancevice/terraform-aws-serverless-pypi/actions/workflows/test.yml) ![coverage](https://codeclimate.com/github/amancevice/terraform-aws-serverless-pypi/test_coverage) ![maintainability](https://codeclimate.com/github/amancevice/terraform-aws-serverless-pypi/maintainability) ![ko-fi](https://ko-fi.com/smallweirdnumber) S3-backed serverless PyPI. Requests to your PyPI server will be proxied through a Lambda function that pulls content from an S3 bucket and responds with the same HTML content that you might find in a conventional PyPI server. Requests to the base path (eg, /simple/) will respond with the contents of an index.html file at the root of your S3 bucket. Re

Inputs (34)
NameTypeDescriptionDefault
api_idstringAPI Gateway REST API ID required
iam_role_namestringLambda function role name required
lambda_reindex_function_namestringReindexer Lambda function name required
event_rule_namestringEventBridge reinexer rule name required
s3_bucket_namestringPyPI index S3 bucket name required
api_root_resource_idstringAPI Gateway REST API root resource ID required
lambda_api_function_namestringPyPI API Lambda function name required
api_execution_arnstringAPI Gateway REST API execution ARN required
iam_role_descriptionstringLambda function IAM role description"PyPI Lambda permissions"
lambda_api_alias_namestringPyPI API Lambda alias name"prod"
lambda_reindex_alias_function_versionstringReindexer Lambda alias target function version"$LATEST"
iam_role_tagsmap(string)Resource tags{}
lambda_api_alias_function_versionstringPyPI API Lambda alias target function version"$LATEST"
s3_bucket_tagsmap(string)Resource tags{}
iam_role_policy_namestringIAM role inline policy name"pypi-lambda-permissions"
lambda_reindex_descriptionstringReindexer Lambda function decription"PyPI service reindexer"
event_rule_descriptionstringEventBridge reinexer rule description"Serverless PyPI reindex"
log_group_api_tagsmap(string)Resource tags{}
log_group_reindex_retention_in_daysnumberCloudWatch log group retention period0
s3_presigned_url_ttlnumberPyPI package presigned URL expiration in seconds900
lambda_reindex_memory_sizenumberReindexer Lambda function memory size128
log_group_reindex_tagsmap(string)Resource tags{}
api_authorizer_idstringAPI Gateway REST API routes authorizer IDnull
log_group_api_retention_in_daysnumberCloudWatch log group retention period0
lambda_runtimestringLambda runtime"python3.13"
api_authorization_typestringAPI Gateway REST API routes authorization type"NONE"
lambda_api_descriptionstringREST API Lambda function description"PyPI service REST API"
lambda_api_memory_sizenumberPyPI API Lambda function memory size128
Outputs (10)
iam_role — PyPI API Lambda IAM role
lambda_api_log_group — PyPI API proxy Lambda function CloudWatch log group
api_resources — API Gateway resources
lambda_api — PyPI API proxy Lambda function
lambda_reindex — Reindexer Lambda function
lambda_reindex_log_group — Reindexer Lambda function CloudWatch log group
api_deployment_trigger — API Gateway deployment trigger
api_integrations — API Gateway integrations
api_methods — API Gateway methods
s3_bucket — PyPI S3 bucket
Resources (14)
aws_api_gateway_integrationaws_api_gateway_methodaws_api_gateway_resourceaws_cloudwatch_event_ruleaws_cloudwatch_event_targetaws_cloudwatch_log_groupaws_iam_roleaws_iam_role_policyaws_lambda_functionaws_lambda_permissionaws_s3_bucketaws_s3_bucket_notificationaws_s3_bucket_public_access_blockaws_s3_object
Details
FrameworkTerraform Module
LanguageHCL
Version7.7.2
Cloud AWS
★ Stars59
Forks10
Total downloads26.7k
Inputs34
Outputs10
Resources14
LicenseMIT
Namespaceamancevice
Updated