Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jasonwalsh/awx-poc
A repository for getting started with Ansible AWX
https://github.com/jasonwalsh/awx-poc
ansible ansible-tower awx packer terraform vagrant
Last synced: 1 day ago
JSON representation
A repository for getting started with Ansible AWX
- Host: GitHub
- URL: https://github.com/jasonwalsh/awx-poc
- Owner: jasonwalsh
- License: mit
- Created: 2018-10-15T02:30:07.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-12-10T12:55:52.000Z (about 6 years ago)
- Last Synced: 2024-12-08T22:41:53.252Z (about 2 months ago)
- Topics: ansible, ansible-tower, awx, packer, terraform, vagrant
- Language: HCL
- Homepage:
- Size: 52.7 KB
- Stars: 0
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Build Status](https://img.shields.io/travis/com/jasonwalsh/awx-poc.svg?style=flat-square)](https://travis-ci.com/jasonwalsh/awx-poc)
> A repository for getting started with [Ansible AWX](https://github.com/ansible/awx)
## Contents
- [Ansible AWX](#ansible-awx)
- [Requirements](#requirements)
- [Usage](#usage)
- [Local](#local)
- [Production](#production)
- [Troubleshooting](#troubleshooting)
- [Testing](#testing)
- [Development](#development)
- [Continuous Integration](#continuous-integration)
- [License](#license)## Ansible AWX
> An open source community project, sponsored by Red Hat, that enables users to control their Ansible project use in IT environments better.
## Requirements
This project requires the following software:
- [Vagrant](https://www.vagrantup.com/)
- [Packer](https://packer.io/)
- [Terraform](https://www.terraform.io/)
- [VirtualBox](https://www.virtualbox.org/) (if using Vagrant)## Usage
This project intends to provide strategies for deploying Ansible AWX. The following sections define how to configure and deploy Ansible AWX in either a local environment or a production environment.
### Local
The root of this repository contains a [Vagrantfile](https://www.vagrantup.com/docs/vagrantfile/) which creates a virtual machine using [Vagrant](https://www.vagrantup.com/) developed by HashiCorp. Currently, the Vagrant box only supports installing Ansible AWX using the Ubuntu 16.04 (Xenial Xerus) operating system.
To deploy a local Ansible AWX server, invoke the following command:
$ vagrant up
If the command exits with a zero status code, then an Ansible AWX is running and can be accessed in a web browser by visiting http://localhost:8080/#/login.
**Note:** If the web page returns an `ERR_EMPTY_RESPONSE` message, please be patient, as the service may still be starting. If the service fails to start, please refer to the [troubleshooting](#troubleshooting) section.
After rendering the web page, authenticate by using `admin` for the username and `password` for the password.
| | |
|:---------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------:|
| Figure 1 Login Page | Figure 2 Dashboard Page |### Production
The production environment uses a combination of [Packer](https://packer.io/) and [Terraform](https://www.terraform.io/), both developed by HashiCorp.
## Troubleshooting
> The problem with troubleshooting is that trouble shoots back - Unknown Author
If the `awx` service fails to start, then checking the logs may yield some useful information. The `awx` service is a `systemd` managed service, and its logs are queryable using `journalctl`.
If using Vagrant, connect to the virtual machine using SSH:
$ vagrant ssh
Once connected to the virtual machine, invoke the following commands:
> To check the status of the `awx` service:
$ sudo systemctl status awx
> To check the logs of the awx service:
$ sudo journalctl -xeu awx
## Testing
This project uses Ansible [Molecule](https://molecule.readthedocs.io/en/latest/) to test the `awx` role. Testing the `awx` role requires the following dependencies:
- [molecule](https://pypi.org/project/molecule/)
- [docker](https://pypi.org/project/docker/)After installing the required pip dependencies, visit the [awx](provisioning/roles/awx) directory and invoke the following command:
$ molecule test
## Development
To contribute to this repository, invoke the following commands:
$ git clone [email protected]:jasonwalsh/awx-poc.git
$ make init## Continuous Integration
This project uses [Travis CI](https://travis-ci.com/) for testing. The [.travis.yml](.travis.yml) file contains scripts executed per build.
## License
MIT © [Jason Walsh](https://github.com/jasonwalsh)