All Tools View Categories About Contact Privacy

Terraform Providers Lock / Mirror Command Builder

Build terraform providers lock and terraform providers mirror commands.

Runs entirely in your browser - nothing is uploaded and no command is executed.
Your command will appear here.
0
Lines
0
Words
0
Characters

About Terraform Providers Lock / Mirror Command Builder

The dependency lock file, named .terraform.lock.hcl, is what makes Terraform deployments reproducible across developer laptops, CI runners and production machines. When two people run terraform init on the same configuration, the lock file guarantees they download the exact same provider binaries, byte for byte, which prevents the subtle "works on my machine" drift that quietly wrecks infrastructure changes. The Providers Lock / Mirror Command Builder removes the guesswork from assembling the terraform providers lock and terraform providers mirror commands, which are easy to mistype yet critical to get right. A single wrong flag or a missing platform can leave a teammate unable to initialise a workspace or, worse, install a different provider version than the one you tested against. Once the lock file exists, terraform init becomes deterministic for everyone who shares it.

Whether you are pinning AWS, Azure, Google, Kubernetes or a private provider, this tool lets you pick a mode, list your target platforms and enumerate the providers you depend on, then hands you a copy ready command. Mirror mode additionally points Terraform at a local or network directory so you can host provider plugins internally for air gapped or regulated environments. Everything runs in your browser, so nothing is executed, nothing is uploaded and no cloud connection is ever made. It is the fastest way to produce correct, auditable provider commands that your whole team can trust. Because the logic is entirely client side, you can use it on a locked down machine without exposing your configuration to any external service. The generated command is plain text, so it drops straight into a Makefile, a CI step or a runbook.

Features

  • Two modes - choose between lock and mirror depending on your goal.
  • Platform flags - emit a -platform= for every os_arch target you support.
  • Provider flags - add -provider= entries using full source addresses.
  • Mirror path - set the destination directory used by mirror mode.
  • Input validation - reject malformed platform and provider tokens before building.
  • Mode aware - mirror requires a path while lock accepts named providers.
  • Ordered output - flags are assembled in a stable, readable order for diffing.
  • Copy and download - export the command as a runnable shell script.
  • Live stats - see character, token and line counts of the generated command.
  • Browser only - no execution, no network, fully private.
  • Sample loader - prefill a realistic example in a single click.
  • Reusable inputs - clear and reset the form without losing your place.

How to Use

  1. Choose a mode - pick lock to pin versions or mirror to download plugins locally.
  2. List your platforms - enter comma separated os_arch pairs such as linux_amd64, darwin_arm64 and windows_amd64.
  3. List your providers - enter full source addresses like registry.terraform.io/hashicorp/aws, one per -provider flag.
  4. Set the mirror path - required only for mirror mode; supply the destination directory.
  5. Generate the command - review the assembled flags and the live stats panel.
  6. Check the stats - confirm the line, word and character counts match what you expect.
  7. Export it - copy to the clipboard or download a ready shell script.
  8. Run it locally - paste into your terminal or pipeline; nothing here executes it for you.

Examples

Lock example: terraform providers lock -platform=linux_amd64 -platform=darwin_arm64 -provider=registry.terraform.io/hashicorp/aws produces or refreshes .terraform.lock.hcl, pinning that provider for two operating systems. Mirror example: terraform providers mirror -platform=linux_amd64 ./mirror downloads every required provider into ./mirror so a CI runner can install from the local path with no registry access. Private provider: add -provider=registry.example.com/myorg/mycloud to mirror an internally published provider. Multi platform: listing linux_amd64, windows_amd64 and darwin_arm64 together generates a command that pins one provider across an entire mixed fleet. The stats panel confirms the exact character, token and line count before you commit the command to version control.

Benefits

  • Reproducible builds - correct lock and mirror syntax every single time.
  • Cross platform - pin as many os_arch targets as your fleet needs, from a single developer laptop to a global multi architecture estate.
  • Air gapped ready - mirror providers for isolated or regulated networks without touching the public registry.
  • Safe and private - runs only in your browser with no uploads and no telemetry.
  • Fast - assemble auditable commands in a few seconds instead of reading the CLI reference.
  • Teachable - the live stats panel helps newcomers learn what each flag contributes.
  • Reviewable - ordered, diff friendly output slots cleanly into pull requests.

Frequently Asked Questions

What does terraform providers lock do?
It produces or updates the dependency lock file (.terraform.lock.hcl) so that provider versions are pinned consistently across machines. You can target specific platforms and providers.
What does terraform providers mirror do?
It downloads provider plugins into a local directory so you can host them internally and install from a local or network mirror instead of the public registry.
What platforms format is expected?
Use os_arch pairs such as linux_amd64, darwin_arm64 or windows_amd64. Each is passed with a -platform= flag.
How are providers specified?
Use the full source address, e.g. registry.terraform.io/hashicorp/aws. For lock this is passed with -provider=.
Does this run anything?
No. The tool only assembles the command string. Nothing is executed or uploaded.
Can I copy the result?
Yes. Copy to clipboard or download as a shell script.