How to install private dependencies while deploying IDAs?

We ran into trouble recently when we were deploying course-discovery. We were trying to use AWS S3 buckets for uploading the banner image in course-discovery.

We wanted to use boto3 as a dependency. But on the juniper release, it is not present in the default requirement so we ended up manually installing it on the instance.

This is a crude way of doing it since it is not scalable, I tried finding a way through ansible-playbooks in edx-configuration but I failed to find an option that helps us install our required dependencies for course-discovery.

We ended up forking it and add boto3 in the requirement for now.

I want to understand how people in the community handle this or have you folks ever faced such a problem?

Thanks in advance for replying. :slight_smile:

1 Like

Update:
We’re contributing [OSPR-5773][BB-3669] Ansible task to install extra edX Django Service requirements by 0x29a · Pull Request #6400 · edx/configuration · GitHub to make this possible.

The PR introduces a variable in the generic edx_django_service role that allows installing additional dependencies. More details in the linked PR.

2 Likes