Hi, when you run pulumi up, it downloads the provi...
# general
n
Hi, when you run pulumi up, it downloads the providers you are using as .tar.gz files. I am on a private network with no internet access. Can I download these files manually? and where would put them / extract them?
b
Multiple options here: 1. Use
pulumi install
to install all required plugins for a project and tar your
~/.pulumi/plugins
folder and extract on the air-gapped computer 2. Use `pulumi plugin install`https://www.pulumi.com/docs/cli/commands/pulumi_plugin_install/ to selectively install plugins on a system with internet access and tar your
~/.pulumi/plugins
folder and extract on the air-gapped computer 3. Going the manual hard way if you want to learn how `pulumi`searches for plugins: download the provider, extract the archive add the location to your path at the front.
n
@big-architect-71258 Thanks Thomas, I will give that a try later today.
b
@narrow-monitor-83965 I updated my post. Damn Slack sent it prematurely 😂
n
No worries, I got the gist of what you were saying anyway. Thanks again.
b
Issue will be: only YAML will be self contained, i.e. YAML need no support for any packages to be downloaded for a programming language. So you must cope with this issue as well.
n
If I am using typescript or python I will be OK though?
b
Nope, because the providers are the one side of the coin: the other is the language bindings. They have to be installed as well. So on your air gapped computer there must have a complete
node_modules
folder if you use Typescript/Javascript.
n
Yea, that is fine. Sorry I should have said, we have nexus proxy server which gives us access to NPM and Docker etc. We just don't have general internet download access on this particular network.
b
Yup, then your're fine 🙂
If your're using Nexus perhaps you can add the required providers as binary packages and have a bootstrap script for your Pulumi programs that install providers from those packages
n
Good idea, but I going to stand up an Minio cluster anyway to hold the pulumi state, so will probably go with a bucket to hold the plugins.