Skip to content

Latest commit

 

History

History
96 lines (68 loc) · 4.08 KB

README.md

File metadata and controls

96 lines (68 loc) · 4.08 KB

Galaxy NG

Build Status

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.

OpenAPI Spec

View the latest version of the spec by clicking here.

Contributing

Installation

The following is a simple quickstart for installing a local Galaxy server. It requires that you have Ansible installed.

  1. Clone the Pulp Installer project:

    git clone https://github.com/pulp/pulp_installer.git
    
  2. Set your working directory to the pulp_installer directory.

  3. 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
    
  4. 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 
    
  5. Run the install.yml playbook

    The 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
    
  6. 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.

  7. To setup a namespace and publish your fist collection, view our user guide.

License

GNU General Public License v2. View LICENSE for full text.