Deploy Terraform Modules via API

JFrog Artifactory Documentation

Products
JFrog Artifactory
Content Type
User Guide

You can publish Terraform providers via the REST API. When using this method, you can deploy by checksum or from an archive.

For example, to deploy a Terraform module to a repository called Terraform-local, you could use the following:

The required parameters are namespace, module-name, provider-name (system) and version as follows:

curl -<USERNAME>:<TOKEN> -XPUT "https://[JFrogPlatformURL]/artifactory/<REPOSITORY-KEY>/<NAMESPACE>/<MODULE-NAME>/<PROVIDER-NAME>/<VERSION>.zip" -T <PATH_TO_FILE>

where:

  • [JFrogPlatformURL]: The URL of your JPD

  • <USERNAME>: Your JPD Username

  • <TOKEN>: Your JPD Password

  • <REPOSITORY-KEY>: The name of your repository

  • <NAMESPACE>: The owner or organization for this provider

  • <MODULE-NAME>: The name of the module

  • <PROVIDER-NAME>: The name of the provider

  • <VERSION>: The specific version of the provider you are deploying

  • <PATH_TO_FILE>: This points to the file on your local machine that is being sent to Artifactory

For Example:

curl -uadmin:cmVmdGtuVnQ2JKc1J1 -XPUT "https://company.jfrog.io/artifactory/Terraform-local/jfrog/test-module/test-provider/1.0.0.zip" -T test-module-1.0.0.zip