Install in an air-gapped environment¶
When you finish, Terraform on a host with no internet access installs the Qumulo provider from files you carried in.
Before you start¶
- A connected machine with Terraform,
curl, andgpg - A way to move files to the air-gapped host
Use the provider mirror whenever you can run Terraform on the connected machine, and fall back to dev_overrides only when you cannot.
-
On the connected machine, in a directory with the
required_providersblock from Install the provider, download the provider into a mirror directory. Add one-platformflag per target platform../qumulo-mirrornow holds the provider zip for each platform. -
Optionally, verify the mirrored zips by hand. Terraform cannot re-check the GPG signature when it installs from a local mirror.
Each zip passes the signature and checksum checks.
-
Copy the mirror directory to the air-gapped host, for example to
/opt/terraform/providers.The host now holds the mirror at that path.
-
Point Terraform at the mirror in
~/.terraformrc(Linux and macOS) or%APPDATA%/terraform.rc(Windows).provider_installation { filesystem_mirror { path = "/opt/terraform/providers" # <-- Replace with your mirror path include = ["qumulo-terraform-registry.s3.us-east-1.amazonaws.com/*/*"] } direct { exclude = ["qumulo-terraform-registry.s3.us-east-1.amazonaws.com/*/*"] } }Terraform now looks in the mirror for the Qumulo provider and nowhere else.
-
Run
terraform init, thenterraform planandterraform applyas normal.terraform initends withTerraform has been successfully initialized!If it reportsFailed to query available provider packages, check the.terraformrcpath and contents.
-
On the connected machine, download and verify the zip for your platform with Verify a release signature by hand.
The zip passes the signature and checksum checks.
-
Copy the zip to the air-gapped host and unzip it.
VERSION=1.4.22 # <-- Replace with the release version PLATFORM=linux_amd64 # <-- Replace with your platform mkdir -p /opt/terraform/providers/qumulo unzip "terraform-provider-qumulo_${VERSION}_${PLATFORM}.zip" -d /opt/terraform/providers/qumulo/opt/terraform/providers/qumulonow holds the provider binary. -
Point Terraform at the binary in
~/.terraformrc(Linux and macOS) or%APPDATA%/terraform.rc(Windows).provider_installation { dev_overrides { "qumulo-terraform-registry.s3.us-east-1.amazonaws.com/qumulo/qumulo" = "/opt/terraform/providers/qumulo" } direct {} }Terraform now loads the Qumulo provider from that directory.
-
Skip
terraform init, which would try to reach the registry, and runterraform planandterraform applydirectly.Both commands print a warning that provider development overrides are in effect, which is expected.
dev_overrides skips Terraform's checks
With dev_overrides, Terraform ignores version constraints and lock file verification for this provider. Your out-of-band signature and checksum check is the only one that runs.
Next¶
Once terraform plan runs, deploy your first cluster with Deploy a basic AWS cluster.