/terraform-provider-artifactory

Terraform provider to manage JFrog Artifactory

Primary LanguageGoApache License 2.0Apache-2.0

JFrog logo

Terraform Provider Artifactory

Terraform & OpenTofu Acceptance Tests Release Status Go Report Card

Releases

Current provider major release: 12.x

See CHANGELOG.md for full details

Versions

Version 6.x is compatible with the Artifactory versions 7.49.x and below.

Version 7.x and 8.x is only compatible with Artifactory between 7.50.x and 7.67.x due to changes in the projects functionality.

Version 10.x (and later) is compatible with latest Artifactory versions (>=7.68.7 (self-hosted) and >=7.67.0 (cloud)).

Terraform CLI version support

Current version support Terraform Protocol v6 which mean Terraform CLI version 1.0 and later.

Quick Start

Create a new Terraform file with artifactory resources. Also see sample.tf:

HCL Example

# Required for Terraform 1.0 and up (https://www.terraform.io/upgrade-guides)
terraform {
  required_providers {
    artifactory = {
      source  = "jfrog/artifactory"
      version = "12.3.3"
    }
  }
}

provider "artifactory" {
  // supply JFROG_ACCESS_TOKEN, and JFROG_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.

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) 2024 JFrog.

Apache 2.0 licensed, see LICENSE file.