Create Congregate Development Kit (CDK)
Overview
Recently there have been some issues with getting a Congregate development environment set up quickly. We suggest using pyenv to manage python versions and we use poetry to handle dependency management, but multiple engineers have run into strange issues with trying to get poetry to install specific dependencies because some gaps exist with python 3.8 and apple silicon. To speed up time to development, we should create a relatively lightweight container that houses the following components:
- Python 3.8 (and updates to newer Python versions in the future)
- MongoDB
- Redis
- Utility libraries like curl, wget, and jq
Then an engineer can start developing by doing the following:
- clone the repo locally
- pull down the image
- mount the repo as a volume to the container
- open up VS Code
- open a shell in the container to run any commands
Tasks
-
Update docs if needed (workflow, runbooks, README, migration metrics, etc.)
Acceptance Criteria
-
Existing UTs pass locally -
100% code coverage on new code
@gitlab-org/professional-services-automation/tools/migration