blob: ee49d48cfbd9223524fa8e62e333468fd4acc2c6 [file] [log] [blame]
---
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