Install pack without internet connectivity


I am running starkstorm as a docker container using the docker-compose.yml file. All is good. In lab, I have setup proxy to have internet connectivity and installed my required pack.

On our production I will not have internet connectivity, so I fork packs on our gitlab. I then remove proxy setting and try to install them using the “st2 pack install url_to_my_gitlab”. It was able to download them, install but fail at dependencies checking.

How I could solve this issue.


If you’re using Docker, simplest would be to install required StackStorm packs and configuration in the environment that has internet access, package that as Docker image and transfer Docker image to environment with no internet.

An optimization to that process would be to only pre-package virtualenv for all the packs you need with pip dependencies and copy/share that with StackStorm container. FYI when you install the pack its dependencies shipped into /opt/stackstorm/virtualenvs.
We follow similar approach for Kubernetes deployment when we suggest that st2 integration packs user need should be bundled and distributed as immutable Docker image, see: StackStorm HA Cluster in Kubernetes - BETA — StackStorm 3.1.0 documentation for more info behind this idea.

Hope that helps.