Skip to content

Migrate from ansible-galaxy to ansible-navigator with Red Hat EE #167

@chadmf

Description

@chadmf

Why

Collections are much easier to test when run directly out of the execution environments you will run out of AAP in the future. This PR is an example of how to use the supported EE with ansible navigator instead of installing collections with galaxy.

Migration Plan

Replace local collection installation with ansible-navigator using Red Hat supported Execution Environment.

Benefits

  • Consistency: same container locally and in AAP
  • Red Hat support: ee-supported-rhel9 includes all certified collections
  • Zero collection management: no more ansible-galaxy install
  • Dev-prod parity: identical execution environment
  • Security: Red Hat scans and patches container images

Implementation

1. EE Image

registry.redhat.io/ansible-automation-platform-26/ee-supported-rhel9:latest

2. Files to Create

  • ansible-navigator.yml - navigator config with volume mounts
  • scripts/bootstrap.sh - wrapper script for bootstrap workflow

3. Files to Update

  • ansible.cfg - remove collections_path
  • CLAUDE.md - update prerequisites and bootstrap sections
  • .gitignore - exclude navigator artifacts

4. Secrets Handling

Volume mount ~/.ansible/ into container at /home/runner/.ansible/

  • Vault password from ~/.ansible/secrets2 works unchanged
  • Automation Hub token from ~/.ansible/ansible.cfg works unchanged

5. Migration Steps

  1. Install ansible-navigator: pip install ansible-navigator
  2. Authenticate: podman login registry.redhat.io
  3. Pull image: podman pull registry.redhat.io/ansible-automation-platform-26/ee-supported-rhel9:latest
  4. Test bootstrap with one inventory
  5. Archive old collections/ directory after validation

6. Rollback Plan

Keep collections/ as backup for 30 days. Revert ansible.cfg if issues arise.

Acceptance Criteria

  • ansible-navigator.yml config created
  • ansible.cfg updated (collections_path removed)
  • CLAUDE.md documentation updated
  • scripts/bootstrap.sh wrapper created
  • .gitignore updated
  • Bootstrap tested with navigator on sample inventory
  • Skills update plan documented (separate issue for aap-skills repo)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions