ansible / galaxy

Legacy Galaxy still available as read-only on https://old-galaxy.ansible.com - looking for the new galaxy -> https://github.com/ansible/galaxy_ng
Apache License 2.0
851 stars 331 forks source link

Galaxy for playbooks #468

Open htbase opened 6 years ago

htbase commented 6 years ago

Hi there

Is there a similar tool for Ansible Playbooks? Galaxy is great but many times we just want to run a simple playbook

Also, any updates on when support to private repositories will be available?

chouseknecht commented 6 years ago

There's not a content type for playbook. My personal opinion is that we don't need one. Invoking a role requires only a simple playbook with a single play and single task. One can imbed a playbook (or anything for that matter) in a role, and deliver a well organized package. Just my opinion. Curious to hear thoughts from others in the community.

Support for private repositories will happen, but we don't have an exact timeframe yet.

htbase commented 6 years ago

Roles are great, but if you want to run something quick and simple, I think roles can create some complexity that may not be necessary

Also, Galaxy does not support private repositories as well as “multi-tenancy” for teams right

tima commented 6 years ago

Roles are great, but if you want to run something quick and simple, I think roles can create some complexity that may not be necessary

I understand what you are getting at though it's not clear to me how you would deal with different inventory targets and naming schemes. Playbooks are not considered portable for that reason and others.

Also, Galaxy does not support private repositories as well as “multi-tenancy” for teams right

That is correct. Galaxy is a hub for indexing and searching Ansible roles stored in a SCM, specifically Github at the moment. These features are something that would come from the SCM.

htbase commented 6 years ago

When creating the roles, does it need to follow a "Galaxy" format or could the user just upload their role into github and install using Galaxy?

tima commented 6 years ago

Not sure I'm following your question. For ansible to know how to use the content of a role it does need to follow some format. The ansible-galaxy tool does allow you to install roles directly from github or any other SCM without going thru the galaxy server.

aoyawale commented 6 years ago

@chouseknecht i agree with your description.

alikins commented 6 years ago

I could see a few reasons for supporting playbooks as a content_type in galaxy:

  1. It would be useful to be able to bootstrap all[1] the content an ansible controller needs, including playbooks, from galaxy. Especially when galaxy supports versioning and deps.

  2. It is kind of a middle ground between roles and APB's.

  3. For private/local galaxy setups, the playbook portability doesn't matter as much. But the utility of 'packaging' and 'package managing' playbooks would still be useful (similar to the utility of using os packaging tools for managing builds/releases/installs of custom software).

[1] I think this could potentially include inventory info as well (or at least, enough to use an inventory, which may be mostly config for inventory sources). @tima I think the non-portability or non-generalness of playbooks and inventories isn't a problem for private/local/internal galaxy server deploys.