| --- |
| page_title: 'Backend Type: artifactory' |
| description: Terraform can store state in artifactory. |
| --- |
| |
| # artifactory |
| |
| Stores the state as an artifact in a given repository in |
| [Artifactory](https://www.jfrog.com/artifactory/). |
| |
| Generic HTTP repositories are supported, and state from different |
| configurations may be kept at different subpaths within the repository. |
| |
| -> **Note:** The URL must include the path to the Artifactory installation. |
| It will likely end in `/artifactory`. |
| |
| This backend does **not** support [state locking](/language/state/locking). |
| |
| ## Example Configuration |
| |
| ```hcl |
| terraform { |
| backend "artifactory" { |
| username = "SheldonCooper" |
| password = "AmyFarrahFowler" |
| url = "https://custom.artifactoryonline.com/artifactory" |
| repo = "foo" |
| subpath = "terraform-bar" |
| } |
| } |
| ``` |
| |
| ## Data Source Configuration |
| |
| ```hcl |
| data "terraform_remote_state" "foo" { |
| backend = "artifactory" |
| config = { |
| username = "SheldonCooper" |
| password = "AmyFarrahFowler" |
| url = "https://custom.artifactoryonline.com/artifactory" |
| repo = "foo" |
| subpath = "terraform-bar" |
| } |
| } |
| ``` |
| |
| ## Configuration Variables |
| |
| !> **Warning:** We recommend using environment variables to supply credentials and other sensitive data. If you use `-backend-config` or hardcode these values directly in your configuration, Terraform will include these values in both the `.terraform` subdirectory and in plan files. Refer to [Credentials and Sensitive Data](/language/settings/backends/configuration#credentials-and-sensitive-data) for details. |
| |
| The following configuration options / environment variables are supported: |
| |
| - `username` / `ARTIFACTORY_USERNAME` (Required) - The username |
| - `password` / `ARTIFACTORY_PASSWORD` (Required) - The password |
| - `url` / `ARTIFACTORY_URL` (Required) - The URL. Note that this is the base url to artifactory not the full repo and subpath. |
| - `repo` (Required) - The repository name |
| - `subpath` (Required) - Path within the repository |