tpm

command module
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 19, 2023 License: MIT Imports: 2 Imported by: 0

README

Terraform Provider Manager

MIT license

Terraform Provider Manager (tpm) is a command-line interface (CLI) tool designed to simplify the management of Terraform providers in the plugin cache directory. With tpm you can easily install, uninstall, and list providers, helping you to streamline your Terraform workflow.

One of the key benefits of tpm is that it does not require Terraform to be installed, making it a lightweight and efficient tool for managing your cached providers.

Terraform Provider Manager Demo

InstallationUsageUseful LinksLicense

Installation

GNU/Linux

Arch Linux users from AUR (maintained by @jonathanio):

yay -S terraform-tpm-bin
From releases

Stable binaries for all platforms are available on the releases page. To install, download the binary for your platform from "Assets", extract the downloaded file and place tpm into your PATH:

curl -L https://github.com/Madh93/tpm/releases/latest/download/tpm_$(uname -s)_$(uname -m).tar.gz | tar -xz -O tpm > /usr/local/bin/tpm
chmod +x /usr/local/bin/tpm
Go

If you have Go installed:

go install github.com/Madh93/tpm@latest
From source

Install Go if it is not already installed. You can download it from the official website.

Clone the Terraform Provider Manager repository to build and install the binary:

git clone https://github.com/Madh93/tpm && cd tpm && make install

Usage

Terraform Provider Manager is a simple CLI to manage Terraform providers in the Terraform plugin cache directory

Usage:
  tpm [flags]
  tpm [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  help        Help about any command
  install     Install a provider
  list        List all installed providers
  purge       Purge all installed providers
  uninstall   Uninstall a provider

Flags:
  -c, --config string                       config file for tpm
  -d, --debug                               enable debug mode
  -h, --help                                help for tpm
  -p, --terraform-plugin-cache-dir string   the location of the Terraform plugin cache directory (default "/home/user/.terraform.d/plugin-cache")
  -r, --terraform-registry string           the Terraform registry provider hostname (default "registry.terraform.io")
  -v, --version                             version for tpm

Use "tpm [command] --help" for more information about a command.
Install a provider

To install a provider you only need to provide the name. Optionally, you can specify a version by using <package>@<version>. By default, if no version is specified, the latest available version, also known as @latest, will be installed.

You can also specify the architecture and operating system. If not specified, the information from the system where tpm is being executed will be used.

Install a provider

In addition, it's possible to install multiple providers at once specifying a providers.yml file, making it easier to share and reuse installation requirements. For example:

providers:
  - name: hashicorp/aws@3.64.0
  - name: hashicorp/http@3.3.0
    os:
      - linux
      - darwin
    arch:
      - amd64
      - arm64
  - name: hashicorp/random
    os:
      - linux
      - darwin
    arch:
      - amd64
      - arm64
Install providers from file

The providers are installed in parallel by default. You can adjust the number of parallel jobs by using the --jobs <NUMBER> flag.

List installed providers

This will display on the screen the installed providers. Optionally, you can specify an output format. Valid output formats are:

  • text (default)
  • json
  • csv
  • table
List installed providers
Uninstall a provider

Uninstalling a provider is exactly the same as installing it. You can specify both the version, operating system, and architecture.

Uninstall a provider
Purge all providers

This will delete all installed providers from the current registry.

List installed providers

License

This project is licensed under the MIT license.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
tui
internal
tpm

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL