Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

ansible-bundle

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ansible-bundle

Manage ansible role and modules versioned dependencies.

  • 0.7.0
  • PyPI
  • Socket score

Maintainers
1

ansible-bundle

Small tool for automatic download roles and libs a-la-Gemfile

Preamble

As many roles have changed their configurations among time, anyone would use a specific version of a role (for instance, a commit, or a branch, or a tag). Moreover, a complex playbook could need different versions from the same role. This app will download roles (bundles, from now on) from their repositories before launching a playbook. That means that a role should be in its own repository.

Prerequisites

  • Ansible. Any version.
  • Git >= 1.8.5
  • Python 2 >= 2.6

Installation

The easy way: pip

sudo pip install ansible-bundle

The not-that-easy way: from code

  • Download latest release
  • Run sudo python setup.py

Syntax

ansible-bundle FILEYAML [ansible-playbook-options] [ansible-bundle-options]

ansible-bundle, along the ansible-playbook parameters, has also these:

  • --bundle-clean-roles Will clean roles and library directories before download (*)

  • --bundle-dry Shows what will be run (as it won't download anything, also won't search for dependencies)

  • --bundle-deps-only Don't run the playbook, just satisfy dependencies.

  • --bundle-disable-color Useful for non-interactive consoles

  • --bundle-workers concurrent connections when downloading/updating roles. Default: 1

  • --bundle-safe-update Don't clean existing roles. (*)

(*) If both bundle-clean-roles and bundle-safe-update are set, bundle-clean-roles will take effect.

Configuration

ansible-bundle expects to find a [bundle] section into ansible.cfg, which may contain some of the command lines parameters:

  • workers

  • verbosity

  • safe

And the following extra options:

  • url: URL where the roles are located. For example, if role apache is in github.com/foo/roles/apache, the url should be set to github.com/foo/roles. Default is 'https://github.com'

bundle.cfg example

	[bundle]
	url='git@github.com:devopsysadmin/ansible-roles'
	workers=5
	verbosity=1

Example of use

Given the following playbook (site.yml):

	- include: site-common.yml
	  tags:
	    - common

	- hosts: all
	  roles:
	    - postgresql@1.0
	    - { role: apache, version: '2.4' }

Running ansible-bundle site.yml will search roles into the site-common.yml file and add to download queue, which already includes postgresql 1.0 and apache master.

Please note that each role is intended to be in its own repository, not in a folder.

Changelog

v 0.6

  • Syntax role/version changes to role@version. This simplifies the configuration in ansible.cfg and allows branches names such as feature/something in role version. If a versioned role with the previous syntax is found, will complain with a deprecation warning. The previous syntax will be obsoleted in v 0.7.

Author

David Pedersen (david.3pwood AT gmail DOT com)

License

GNU Public License v2 (GPLv2)

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc