Giter Site home page Giter Site logo

tsrobworld / terraform-provider-artifactory Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gwnlng/terraform-provider-artifactory

0.0 0.0 0.0 39.96 MB

Terraform provider to manage Artifactory

License: Apache License 2.0

Shell 0.50% Go 96.72% Makefile 0.31% HCL 2.44% Dockerfile 0.04%

terraform-provider-artifactory's Introduction

JFrog logo

Terraform Provider Artifactory

Actions Status Go Report Card

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.

terraform-provider-artifactory's People

Contributors

alexhung avatar danielmkn avatar maheshjfrog avatar turhsus avatar chb0github avatar jfrogsolutioncicd avatar dasmanas avatar jamestoyer avatar dillon-giacoppo avatar mdb avatar jasonwbarnett avatar ax-taustgen avatar volkc-basf avatar ttsangatlassian avatar tenstad avatar kierranm avatar bodgit avatar josh-barker-coles avatar guent4 avatar antonmos avatar jfroche avatar neilvana avatar zymzxq avatar martinm82 avatar ryndaniels avatar cappyzawa avatar butch12 avatar daftping avatar bb-ricardo avatar wc-s avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.