Terraform Provider Artifactory
Releases
Current provider major release: 7.x
See CHANGELOG.md for full details
Versions
We maintain two major versions of Terraform Provider - 6.x and 7.x. Version 6.x is compatible with the Artifactory versions 7.49.x and below, version 7.x is only compatible with Artifactory 7.50.x and above due to changes in the projects functionality.
Quick Start
Create a new Terraform file with artifactory
resources. Also see sample.tf:
HCL Example
# Required for Terraform 0.13 and up (https://www.terraform.io/upgrade-guides/0-13.html)
terraform {
required_providers {
artifactory = {
source = "registry.terraform.io/jfrog/artifactory"
version = "6.6.1"
}
}
}
provider "artifactory" {
// supply ARTIFACTORY_USERNAME, ARTIFACTORY_ACCESS_TOKEN, and ARTIFACTORY_URL as env vars
}
resource "artifactory_local_pypi_repository" "pypi-local" {
key = "pypi-local"
description = "Repo created by Terraform Provider Artifactory"
}
resource "artifactory_artifact_webhook" "artifact-webhook" {
key = "artifact-webhook"
event_types = ["deployed", "deleted", "moved", "copied"]
criteria {
any_local = true
any_remote = false
repo_keys = [artifactory_local_pypi_repository.pypi-local.key]
include_patterns = ["foo/**"]
exclude_patterns = ["bar/**"]
}
url = "http://tempurl.org/webhook"
secret = "some-secret"
proxy = "proxy-key"
custom_http_headers = {
header-1 = "value-1"
header-2 = "value-2"
}
depends_on = [artifactory_local_pypi_repository.pypi-local]
}
Initialize Terrform:
$ terraform init
Plan (or Apply):
$ terraform plan
Documentation
To use this provider in your Terraform module, follow the documentation on Terraform Registry.
License requirements
This provider requires access to Artifactory APIs, which are only available in the licensed pro and enterprise editions. You can determine which license you have by accessing the following URL ${host}/artifactory/api/system/licenses/
You can either access it via API, or web browser - it requires admin level credentials, but it's one of the few APIs that will work without a license (side node: you can also install your license here with a POST
)
$ curl -sL ${host}/artifactory/api/system/licenses/ | jq .
{
"type" : "Enterprise Plus Trial",
"validThrough" : "Jan 29, 2022",
"licensedTo" : "JFrog Ltd"
}
The following 3 license types (jq .type
) do NOT support APIs:
- Community Edition for C/C++
- JCR Edition
- OSS
Versioning
In general, this project follows Terraform Versioning Specification as closely as we can for tagging releases of the package.
Developers Wiki
You can find building, testing and debugging information in the Developers Wiki on GitHub.
Contributors
See the contribution guide.
License
Copyright (c) 2023 JFrog.
Apache 2.0 licensed, see LICENSE file.