Manage Ansible Collections with JFrog Artifactory

If you work with virtual machines or install and configure software on EC2 or leverage dynamic runtimes, chances are you’re also using Ansible. In fact, JFrog has supported installation via Ansible for some time.

If they’re not using Red Hat, the way most organizations have managed their Ansible Collections – including Roles – is by storing them in Git repositories. With the introduction of Ansible Repositories in JFrog Artifactory, IT teams can now bring Ansible into their securely managed software supply chain.

Before we dive into Artifactory’s Ansible support, let’s do a quick recap on Ansible.

What is Ansible?

Ansible is an open-source IT automation engine developed and maintained by our friends at Red Hat. According to most folks, Ansible falls under the Infrastructure as Code (IaC) category, although Ansible refers to itself as a “multi-purpose automation tool.”

Ansible is often compared to Terraform as there is overlap in the capabilities they provide, but where Terraform is primarily used for provisioning and deprovisioning immutable infrastructure on public-cloud, Ansible lends itself to automating a broader set of IT operation tasks, including infrastructure automation, application provisioning, network automation, security automation, and edge and hybrid cloud footprints.

Artifactory, your private Ansible registry

As of version 7.90.1, Artifactory supports Ansible Collections via http. Leveraging Artifactory allows you to apply the same binary management best practices to Ansible files and benefit from improved indexing and versioning, authenticated access, checksum verification, and fine-grained permissions management. Further, you can speed up playbook creation by keeping all the Ansible assets you use in one place.

Manage Ansible Collections and Roles

With Artifactory, you can manage Collections – including Roles – in your Ansible Repositories:

  • Collections are a distribution format for Ansible content that can include playbooks, roles, modules, and plugins. You can install and use collections through a distribution server, such as Ansible Galaxy, or a Pulp 3 Galaxy server.
  • Roles let you automatically load related vars, files, tasks, handlers, and other Ansible Artifacts based on a known file structure. After you group your content into roles, you can easily reuse and share them with other users.

If you’re used to using legacy Ansible Roles you can easily migrate them to Collections using this handy guide provided by the Ansible team.

Access Ansible repositories through Artifactory

With the launch of our Ansible support, Artifactory users will gain access to local, remote, and virtual Ansible repositories:

  • Local Repositories – Private registries that are accessible only within your organization’s network. Ansible local repos will only support Collections for now.
  • Remote Repositories – A proxy of an external registry (such as the public Ansible Galaxy registry) or another Ansible registry in another Artifactory instance. You can pull Roles from Ansible Galaxy using remote repositories.
  • Virtual Repositories – A logical repository that encapsulates any set of local and remote repositories of the same package type, accessed from a single URL.

Ansible repository support

Easily view the content of your collection

We’re also making it easy to write your Ansible files by surfacing the contents of an Ansible package at both the artifact tree and package view (coming soon).

Artifact tree view for Ansible Collection

Artifactory’s Ansible repository supports Ansible Core version 2.17 and above as well as Ansible community package release v10.x and above. Log into your JFrog account to start managing your Ansible files with JFrog. Not an Artifactory user, but want to see how it can help manage your Ansible Collections? Start a free 14-day trial.