Helper functions to run Django and Flask applications in AWS Copilot/ECS.
Project description
DBT Copilot Python
A set of utility functions for running Django & Flask apps in AWS ECS via AWS Copilot.
Using dbt-copilot-python
Installation
pip install dbt-copilot-python
Usage
In settings.py
...
ALLOWED_HOSTS
Add the ECS container IP to ALLOWED_HOSTS
so that the Application Load Balancer (ALB) healthcheck will succeed:
from dbt_copilot_python.network import setup_allowed_hosts
ALLOWED_HOSTS = [...]
ALLOWED_HOSTS = setup_allowed_hosts(ALLOWED_HOSTS)
DATABASES
To configure the DATABASES
setting from an RDS JSON object stored in AWS Secrets Manager, there are two options.
-
Configure the
DATABASES
setting to use a database URL (recommended):Note: This is dependent on the
dj-database-url
package which can be installed viapip install dj-database-url
.import dj_database_url from dbt_copilot_python.database import database_url_from_env DATABASES = { "default": dj_database_url.config( default=database_url_from_env("DATABASE_ENV_VAR_KEY") ) }
-
Configure the
DATABASES
setting to use a dictionary containing the settings:from dbt-copilot-python.database import database_from_env DATABASES = database_from_env("DATABASE_ENV_VAR_KEY")
Contributing to dbt-copilot-python
Requirements
- Poetry;
pip install poetry
Install dependencies & pre-commit hooks
poetry install && poetry run pre-commit install
Run the tests
poetry run pytest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for dbt_copilot_python-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38e98f009b1a1a458a9b28bc12f897a964da185b632d25925f6cd48b572666d2 |
|
MD5 | 47068e84832ecf6a647fe811bd30a0d6 |
|
BLAKE2b-256 | 0eb1bc867cfa23dc4007d831f72986f44473a45d099ad88144ba47f11c77a2ce |