website: Align index content with the project README
We should have a great README and there is no need for the project home page to have different content. Change-Id: I53e48f10ab9c833f09f8392078f837bf49fd8db7
This commit is contained in:
parent
bff86cd158
commit
c04b918e60
@ -4,83 +4,43 @@ languageCode = "en-us"
|
|||||||
title = "ARA Records Ansible | ara.recordsansible.org"
|
title = "ARA Records Ansible | ara.recordsansible.org"
|
||||||
theme = "hugo-future-imperfect"
|
theme = "hugo-future-imperfect"
|
||||||
preserveTaxonomyNames = true
|
preserveTaxonomyNames = true
|
||||||
paginate = 5
|
paginate = 10
|
||||||
disqusShortname = ""
|
|
||||||
googleAnalytics = "UA-119558821-1"
|
|
||||||
pluralizeListTitles = false
|
pluralizeListTitles = false
|
||||||
enableRobotsTXT = true
|
enableRobotsTXT = true
|
||||||
enableGitInfo = true
|
enableGitInfo = true
|
||||||
relativeURLs = true
|
relativeURLs = true
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
# Sets the meta tag description
|
|
||||||
description = "ARA Records Ansible playbook runs and makes the recorded data available and intuitive for users and systems."
|
|
||||||
# Sets the navbarTitle that appears in the top left of the navigation bar
|
|
||||||
navbarTitle = "ARA Records Ansible"
|
|
||||||
# Sets where "View More Posts" links
|
|
||||||
viewMorePostLink = "/blog/"
|
|
||||||
|
|
||||||
# Optional Params
|
|
||||||
# Sets navbarTitle to match the section of the website
|
|
||||||
dynamicTitles = false
|
|
||||||
# Sets RSS icons to appear on the sidebar with the social media buttons
|
|
||||||
rssAppearAtTop = true
|
|
||||||
rssAppearAtBottom = true
|
|
||||||
# Sets Social Media icons to appear on the sidebar
|
|
||||||
socialAppearAtTop = true
|
|
||||||
socialAppearAtBottom = true
|
|
||||||
# Sets Categories to sort by number of posts instead of alphabetical
|
|
||||||
categoriesByCount = true
|
categoriesByCount = true
|
||||||
# set to show or to hide categories in the sidebar
|
cssFiles = ["default"]
|
||||||
showSidebarCategories = true
|
description = "ARA Records Ansible and makes it easier to understand and troubleshoot."
|
||||||
# Sets Estimated Reading Time to appear in post headers
|
dynamicTitles = false
|
||||||
includeReadingTime = true
|
enableCDN = false
|
||||||
# Sets the Favicon and Version for the site. Default support is for
|
|
||||||
# apple-touch-icon-precomposed.png, favicon.png, favicon.ico, and mstile.png.
|
|
||||||
# These are stored in the favicon folder. See the following for more information:
|
|
||||||
# https://github.com/audreyr/favicon-cheat-sheet
|
|
||||||
loadFavicon = true
|
|
||||||
faviconVersion = ""
|
faviconVersion = ""
|
||||||
# Sets Social Share links to appear on posts
|
hideEmptyStats = false
|
||||||
socialShare = false
|
highlightjsLang = ["bash", "python", "yaml"]
|
||||||
# Sets specific share to appear on posts (default behavior is to appear)
|
|
||||||
socialShareTwitter = false
|
|
||||||
socialShareGoogleplus = false
|
|
||||||
socialShareFacebook = false
|
|
||||||
socialShareReddit = false
|
|
||||||
socialShareLinkedin = false
|
|
||||||
socialShareStumbleupon = false
|
|
||||||
socialSharePinterest = false
|
|
||||||
socialShareEmail = false
|
|
||||||
|
|
||||||
# Load custom CSS or JavaScript files. The variable is an array so that you
|
|
||||||
# can load multiple files if necessary. You can also load the standard theme
|
|
||||||
# files by adding the value, "default".
|
|
||||||
# customCSS = ["default", "/path/to/file"]
|
|
||||||
# customJS = ["default", "/path/to/file"]
|
|
||||||
customCSS = ["default"]
|
|
||||||
customJS = ["default"]
|
|
||||||
|
|
||||||
# options for highlight.js (version, additional languages, and theme)
|
|
||||||
disable_highlight = false # set to true to disable Highlight
|
|
||||||
highlightjsVersion = "9.13.1"
|
|
||||||
highlightjsCDN = "//cdn.bootcss.com"
|
|
||||||
highlightjsLang = ["r", "yaml", "css"]
|
|
||||||
highlightjsTheme = "github"
|
highlightjsTheme = "github"
|
||||||
|
highlightjs = true
|
||||||
|
imageStretch = ""
|
||||||
|
jsFiles = ["default"]
|
||||||
|
loadFavicon = true
|
||||||
|
navbarTitle = "ARA Records Ansible"
|
||||||
|
readingTime = true
|
||||||
|
removeBlur = false
|
||||||
|
rssAppearAtBottom = true
|
||||||
|
rssAppearAtTop = true
|
||||||
|
showSidebarCategories = true
|
||||||
|
socialShare = []
|
||||||
|
viewMorePostsLink = "/blog/"
|
||||||
|
|
||||||
[permalinks]
|
[permalinks]
|
||||||
blog = "/blog/:year/:month/:day/:slug/"
|
blog = "/blog/:year/:month/:day/:slug/"
|
||||||
|
|
||||||
[params.intro]
|
[params.intro]
|
||||||
paragraph = "Making your Ansible playbooks easier to understand and troubleshoot."
|
paragraph = "Records Ansible and makes it easier to understand and troubleshoot."
|
||||||
|
|
||||||
# This appears at the top of the sidebar above params.intro.header.
|
|
||||||
# A width of less than 100px is recommended from a design perspective.
|
|
||||||
[params.intro.pic]
|
[params.intro.pic]
|
||||||
src = "static/logo.png"
|
src = "static/logo.png"
|
||||||
# Sets Image to be a circle
|
|
||||||
circle = false
|
circle = false
|
||||||
# Sets Image to be Future Imperfect's hexagon
|
|
||||||
imperfect = false
|
imperfect = false
|
||||||
width = ""
|
width = ""
|
||||||
alt = "ara.recordsansible.org"
|
alt = "ara.recordsansible.org"
|
||||||
@ -91,7 +51,7 @@ unsafe = true
|
|||||||
|
|
||||||
[params.postAmount]
|
[params.postAmount]
|
||||||
# Sets the number of recent posts to show in the sidebar. The default value is 5.
|
# Sets the number of recent posts to show in the sidebar. The default value is 5.
|
||||||
sidebar = 5
|
sidebar = 8
|
||||||
|
|
||||||
# Sets the menu items in the navigation bar
|
# Sets the menu items in the navigation bar
|
||||||
# Identifier prepends a Font Awesome icon to the menu item
|
# Identifier prepends a Font Awesome icon to the menu item
|
||||||
@ -107,21 +67,30 @@ unsafe = true
|
|||||||
identifier = "fa fa-newspaper-o"
|
identifier = "fa fa-newspaper-o"
|
||||||
weight = 2
|
weight = 2
|
||||||
|
|
||||||
|
[[menu.main]]
|
||||||
|
name = "Code"
|
||||||
|
url = "https://github.com/ansible-community/ara"
|
||||||
|
identifier = "fa fa-github"
|
||||||
|
weight = 3
|
||||||
|
|
||||||
[[menu.main]]
|
[[menu.main]]
|
||||||
name = "Documentation"
|
name = "Documentation"
|
||||||
url = "https://ara.readthedocs.io"
|
url = "https://ara.readthedocs.io"
|
||||||
identifier = "fa fa-book"
|
identifier = "fa fa-book"
|
||||||
weight = 3
|
weight = 4
|
||||||
|
|
||||||
|
[[menu.main]]
|
||||||
|
name = "Demo"
|
||||||
|
url = "https://demo.recordsansible.org"
|
||||||
|
identifier = "fa fa-external-link"
|
||||||
|
weight = 5
|
||||||
|
|
||||||
[[menu.main]]
|
[[menu.main]]
|
||||||
name = "Community & Help"
|
name = "Community & Help"
|
||||||
url = "/community"
|
url = "/community"
|
||||||
identifier = "fa fa-users"
|
identifier = "fa fa-users"
|
||||||
weight = 4
|
weight = 6
|
||||||
|
|
||||||
# Sets Social Media icons to appear and link to your account. Value should be your
|
|
||||||
# username unless otherwise noted. These are the icons affected by socialAppearAtTop
|
|
||||||
# and socialAppearAtBottom.
|
|
||||||
[social]
|
[social]
|
||||||
github = "ansible-community/?q=ara"
|
github = "ansible-community/?q=ara"
|
||||||
twitter = "RecordsAnsible"
|
twitter = "RecordsAnsible"
|
||||||
|
@ -2,99 +2,143 @@
|
|||||||
kind: home
|
kind: home
|
||||||
---
|
---
|
||||||
|
|
||||||
# What's ARA ?
|
ARA Records Ansible and makes it easier to understand and troubleshoot.
|
||||||
|
|
||||||
ARA Records Ansible playbooks and makes them easier to understand and troubleshoot.
|
It's another recursive acronym.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
ARA saves playbook results to a local or remote database by using an Ansible
|
## What it does
|
||||||
callback plugin and provides an API to integrate this data in tools and interfaces.
|
|
||||||
|
|
||||||
The [ara](https://github.com/ansible-community/ara) project provides ARA's
|
Simple to install and get started, ara provides reporting by saving detailed and
|
||||||
Ansible roles and plugins, the REST API server as well as simple built-in web
|
granular results of ``ansible`` and ``ansible-playbook`` commands wherever you run them:
|
||||||
interfaces to browse the recorded data.
|
|
||||||
|
|
||||||
The [ara-web](https://github.com/ansible-community/ara-web) project provides a
|
- by hand or from a script
|
||||||
stateless javascript client interface to the ARA API.
|
- from a laptop, a desktop, a container or a server
|
||||||
|
- for development, CI or production
|
||||||
|
- from a linux distribution or even on OS X (as long as you have ``python >= 3.5``)
|
||||||
|
- from tools such as AWX or Tower, Jenkins, GitLab CI, Rundeck, Zuul, Molecule, ansible-pull, ansible-test or ansible-runner
|
||||||
|
|
||||||
## How does it work ?
|
By default, ara's Ansible callback plugin will record data to a local sqlite
|
||||||
|
database without requiring you to run a server or a service:
|
||||||
|
|
||||||
ARA Records Ansible playbooks through an Ansible
|

|
||||||
[callback plugin](https://docs.ansible.com/ansible/latest/plugins/callback.html).
|
|
||||||
|
ara can also provide a single pane of glass when recording data from multiple
|
||||||
|
locations by pointing the callback plugin to a running API server:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
The data is then made available for browsing, searching and querying over the
|
||||||
|
included reporting interface, a CLI client as well as a REST API.
|
||||||
|
|
||||||
|
## How it works
|
||||||
|
|
||||||
|
ARA Records Ansible execution results to sqlite, mysql or postgresql databases
|
||||||
|
by using an [Ansible callback plugin](https://docs.ansible.com/ansible/latest/plugins/callback.html).
|
||||||
|
|
||||||
|
This callback plugin leverages built-in python API clients to send data to a
|
||||||
|
REST API server:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
0. ARA is installed and Ansible is configured to use the callback plugin
|
## What it looks like
|
||||||
1. An ``ansible-playbook`` command is executed
|
|
||||||
2. Ansible triggers the callback plugin for every event (``v2_playbook_on_start``, ``v2_runner_on_failed``, etc.)
|
|
||||||
3. The relevant information is retrieved from the Ansible playbook execution context and is sent to the API server
|
|
||||||
4. The API server validates and serializes the data before storing it the configured database backend
|
|
||||||
5. The API server sends a response back to the API client with the results
|
|
||||||
6. The callback plugin returns, ending the callback hook
|
|
||||||
7. Ansible continues running the playbook until it fails or is completed (back to step 2)
|
|
||||||
|
|
||||||
Once the data has been saved in the database, it is made available for query by
|
### API browser
|
||||||
the API and web interfaces.
|
|
||||||
|
|
||||||
## Quickstart
|
Included by the API server with django-rest-framework, the API browser allows
|
||||||
|
users to navigate the different API endpoints and query recorded data.
|
||||||
|
|
||||||
Here's how you can get started from scratch with sane defaults with python>=3.6:
|

|
||||||
|
|
||||||
```
|
### Reporting interface
|
||||||
# Install ARA and Ansible for the current user
|
|
||||||
|
A simple reporting interface built-in to the API server without any extra dependencies.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### ara CLI
|
||||||
|
|
||||||
|
A built-in CLI client for querying and managing playbooks and their recorded data.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
The full list of commands, their arguments as well as examples can be found in
|
||||||
|
the [CLI documentation](https://ara.readthedocs.io/en/latest/cli.html#cli-ara-api-client).
|
||||||
|
|
||||||
|
## Getting started
|
||||||
|
|
||||||
|
### Requirements
|
||||||
|
|
||||||
|
- Any recent Linux distribution or Mac OS with python >=3.5 available
|
||||||
|
- The ara Ansible plugins must be installed for the same python interpreter as Ansible itself
|
||||||
|
|
||||||
|
For RHEL 7 and CentOS 7 it is recommended to run the API server in a container due to missing or outdated dependencies.
|
||||||
|
See this [issue](https://github.com/ansible-community/ara/issues/99) for more information.
|
||||||
|
|
||||||
|
### Recording playbooks without an API server
|
||||||
|
|
||||||
|
With defaults and using a local sqlite database:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install Ansible and ARA (with API server dependencies) for the current user
|
||||||
python3 -m pip install --user ansible "ara[server]"
|
python3 -m pip install --user ansible "ara[server]"
|
||||||
|
|
||||||
# Tell Ansible to use the ARA callback plugin
|
# Configure Ansible to use the ARA callback plugin
|
||||||
export ANSIBLE_CALLBACK_PLUGINS="$(python3 -m ara.setup.callback_plugins)"
|
export ANSIBLE_CALLBACK_PLUGINS="$(python3 -m ara.setup.callback_plugins)"
|
||||||
|
|
||||||
# Run your playbook
|
# Run an Ansible playbook
|
||||||
ansible-playbook playbook.yml
|
ansible-playbook playbook.yaml
|
||||||
|
|
||||||
|
# Use the CLI to see recorded playbooks
|
||||||
|
ara playbook list
|
||||||
|
|
||||||
|
# Start the built-in development server to browse recorded results
|
||||||
|
ara-manage runserver
|
||||||
```
|
```
|
||||||
|
|
||||||
If nothing went wrong, your playbook data should have been saved in a local
|
### Recording playbooks with an API server
|
||||||
database at ``~/.ara/server/ansible.sqlite``.
|
|
||||||
|
|
||||||
You can take a look at the recorded data by running ``ara-manage runserver``
|
You can get an API server deployed using the [ara Ansible collection](https://github.com/ansible-community/ara-collection)
|
||||||
and pointing your browser at http://127.0.0.1:8000/.
|
or get started quickly using the container images from [DockerHub](https://hub.docker.com/r/recordsansible/ara-api) and
|
||||||
|
[quay.io](https://quay.io/repository/recordsansible/ara-api):
|
||||||
|
|
||||||
That's it !
|
```bash
|
||||||
|
# Create a directory for a volume to store settings and a sqlite database
|
||||||
|
mkdir -p ~/.ara/server
|
||||||
|
|
||||||
For more information, refer to the documentation on
|
# Start an API server with podman from the image on DockerHub:
|
||||||
[installation](https://ara.readthedocs.io/en/latest/installation.html) and
|
podman run --name api-server --detach --tty \
|
||||||
[configuration](https://ara.readthedocs.io/en/latest/ansible-configuration.html).
|
--volume ~/.ara/server:/opt/ara:z -p 8000:8000 \
|
||||||
|
docker.io/recordsansible/ara-api:latest
|
||||||
|
|
||||||
## Live demos
|
# or with docker from the image on quay.io:
|
||||||
|
docker run --name api-server --detach --tty \
|
||||||
|
--volume ~/.ara/server:/opt/ara:z -p 8000:8000 \
|
||||||
|
quay.io/recordsansible/ara-api:latest
|
||||||
|
```
|
||||||
|
|
||||||
You can find live demos deployed by the built-in [ara_api](https://ara.readthedocs.io/en/latest/ansible-role-ara-api.html)
|
Once the server is running, ara's Ansible callback plugin must be installed and configured to send data to it:
|
||||||
and [ara_web](https://ara.readthedocs.io/en/latest/ansible-role-ara-web.html)
|
|
||||||
Ansible roles at https://api.demo.recordsansible.org and https://web.demo.recordsansible.org.
|
|
||||||
|
|
||||||
## ARA is free and open source
|
```bash
|
||||||
|
# Install Ansible and ARA (without API server dependencies) for the current user
|
||||||
|
python3 -m pip install --user ansible ara
|
||||||
|
|
||||||
ARA is free and open source under the GPLv3 license.
|
# Configure Ansible to use the ARA callback plugin
|
||||||
|
export ANSIBLE_CALLBACK_PLUGINS="$(python3 -m ara.setup.callback_plugins)"
|
||||||
|
|
||||||
The code review and CI infrastructure is hosted by [OpenDev](https://opendev.org).
|
# Set up the ARA callback to know where the API server is located
|
||||||
|
export ARA_API_CLIENT="http"
|
||||||
|
export ARA_API_SERVER="http://127.0.0.1:8000"
|
||||||
|
|
||||||
You can participate in [code reviews](https://review.opendev.org/#/q/project:%255Erecordsansible/.*)
|
# Run an Ansible playbook
|
||||||
and learn how you can contribute your first patch in the [contributors documentation](https://ara.readthedocs.io/en/latest/contributing.html).
|
ansible-playbook playbook.yaml
|
||||||
|
|
||||||
## ARA is tested, stable and production ready
|
# Use the CLI to see recorded playbooks
|
||||||
|
ara playbook list
|
||||||
|
```
|
||||||
|
|
||||||
Each new commit to ARA is gated against a series of unit and integration tests
|
Data will be available on the API server in real time as the playbook progresses and completes.
|
||||||
against different Linux distributions and versions of Ansible in order to
|
|
||||||
prevent regressions.
|
|
||||||
|
|
||||||
ARA is used to record more than a [million playbooks a month](http://superuser.openstack.org/articles/scaling-ara-ansible/) from the OpenStack community alone.
|
You can read more about how container images are built and how to run them in the
|
||||||
|
[documentation](https://ara.readthedocs.io/en/latest/container-images.html).
|
||||||
It works.
|
|
||||||
|
|
||||||
## ARA is offline and decentralized by default
|
|
||||||
|
|
||||||
Running Ansible from your laptop ? No problem.
|
|
||||||
|
|
||||||
You can browse your ARA reports locally from a sqlite database without ever leaving the comfort of localhost.
|
|
||||||
|
|
||||||
Need to aggregate data from multiple locations ?
|
|
||||||
You can run an API server and hook it up to a database engine like
|
|
||||||
[PostgreSQL or MySQL](https://ara.readthedocs.io/en/latest/api-configuration.html#ara-database-engine).
|
|
BIN
website/content/static/ara-full-logo.png
Normal file
BIN
website/content/static/ara-full-logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 50 KiB |
BIN
website/content/static/ara-quickstart-default.gif
Normal file
BIN
website/content/static/ara-quickstart-default.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 MiB |
BIN
website/content/static/ara-quickstart-server.gif
Normal file
BIN
website/content/static/ara-quickstart-server.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.7 MiB |
BIN
website/content/static/cli-playbook-list.png
Normal file
BIN
website/content/static/cli-playbook-list.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 98 KiB |
BIN
website/content/static/ui-api-browser.png
Normal file
BIN
website/content/static/ui-api-browser.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 70 KiB |
BIN
website/content/static/ui-playbook-details.png
Normal file
BIN
website/content/static/ui-playbook-details.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 81 KiB |
Loading…
x
Reference in New Issue
Block a user