A Pulp plugin to support hosting your very own Ansible Galaxy server.
This is a brand new take on Ansible Galaxy, so it will look and feel a bit different than the current galaxy.ansible.com web site. Over time we expect to migrate the web site to this codebase, so for now you're looking into the future, and you have an opportunity to help shape that future.
Our mission is to help organizations share Ansible automation and promote a culture of collaboration around Ansible automation development. We'll be providing features that make it easy to create, discover, use and distribute Ansible automation content.
To see what we're currently working on, view the Roadmap.
To learn more about Pulp, view the Pulp project page.
View the latest version of the spec by clicking here.
- If you're interested in jumping in and helping out, view the contributing guide.
- To setup your development environment, view instructions on our wiki.
- Chat with us on irc.freenode.net: #ansible-galaxy
- Found a bug or have a feature idea? Please file open an issue
The following is a simple quickstart for installing a local Galaxy server. It requires that you have Ansible installed.
-
Clone the Pulp Installer project:
git clone https://github.com/pulp/pulp_installer.git
-
Set your working directory to the
pulp_installer
directory. -
Create a playbook called
install.yml
that contains the following:- Warning: please change the
pulp_default_admin_password
(Initial password for the Pulp admin).
- hosts: all vars: pulp_settings: secret_key: secret content_origin: "http://{{ ansible_fqdn }}" x_pulp_api_host: "{{ pulp_api_host }}" x_pulp_api_port: "{{ pulp_api_port }}" x_pulp_api_user: "admin" x_pulp_api_password: "{{ pulp_default_admin_password }}" x_pulp_api_prefix: "pulp_ansible/galaxy/automation-hub/api" pulp_default_admin_password: password pulp_install_plugins: pulp-ansible: {} galaxy-ng: {} # source_dir: "git+https://github.com/ansible/galaxy_ng.git#egg=galaxy-ng" pulp-container: {} pulp_source_dir: "git+https://github.com/pulp/[email protected]#egg=pulpcore" pulp_api_workers: 4 roles: - pulp-database - pulp-workers - pulp-resource-manager - pulp-webserver - pulp-content - chouseknecht.ansible_galaxy_config environment: DJANGO_SETTINGS_MODULE: pulpcore.app.settings
- Warning: please change the
-
Install Ansible role dependencies by running the following commands to download roles from Community Galaxy:
$ ansible-galaxy install -r requirements.yml
$ ansible-galaxy install chouseknecht.ansible_galaxy_config
-
Run the
install.yml
playbookThe following provides an example of how to start playbook execution. It assumes an inventory file called
hosts
exists in the current directory and contains the target host(s) where Galaxy server is to be installed:$ ansible-playbook install.yml -i hosts
-
Access the server on port 80. For example,
http://127.0.0.1
. Login using "admin" as the username, and the value assigned to "pulp_default_admin_password" in your playbook as the password. -
To setup a namespace and publish your fist collection, view our user guide.
GNU General Public License v2. View LICENSE for full text.