How to install private dependencies while deploying IDAs?

Hey good folks of OpenCraft,

I have recently created a post on Edx Discourse.

https://discuss.openedx.org/t/how-to-install-private-dependencies-while-deploying-idas/4177

By following the “scratch your own itch” policy I want to contribute the solution to this problem. When I dug up in edx-configartion repo, I was not able to find a way in which we can install dependencies related to the required “storage class”.

For example, if I want to use Azure instead of AWS S3 bucket how can I use the ansible-playbooks to install the required dependency.

I want to understand if I am missing something and we can achieve installing private dependency without making any code change.

If not then what can be the best way to achieve this?

Thanks a lot, folks, have a great day ahead. :slight_smile:

I took a look at this but wasn’t able to find anything. I know how to do it for edx-platform, and there are variables like ....._debian_pkgs to specify additional system packages, but I don’t see any way to add additional python depdenencies for other IDAs.

1 Like

Hey @braden, thank you for looking into it. Do you think introducing similar variables for IDAs will be a good idea?

From my point of view, I genuinely feel introducing something like this will add a lot of flexibility to course-discovery. And from the look, if this should be straight forward to achieve.

Although I would like to see if anyone in the team has something to add to this.

Yes I think it would make sense to add something similar for IDAs. I’m surprised it’s not there already, actually.

Update:
We’re contributing https://github.com/edx/configuration/pull/6400 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.

1 Like