CLI: ara API client¶
Installing ara provides an ara
command line interface client in order to
query API servers from shell scripts or from the terminal.
ara¶
$ ara --help
Traceback (most recent call last):
File "/usr/bin/ara", line 6, in <module>
from ara.cli.base import main
File "/usr/lib/python3.10/site-packages/ara/cli/base.py", line 9, in <module>
from cliff.app import App
File "/usr/lib/python3.10/site-packages/cliff/app.py", line 25, in <module>
from cliff import _argparse
File "/usr/lib/python3.10/site-packages/cliff/_argparse.py", line 18, in <module>
from autopage import argparse
ModuleNotFoundError: No module named 'autopage'
ara expire¶
Note
This command requires write privileges. You can read more about read and write permissions here.
$ ara expire --help
Traceback (most recent call last):
File "/usr/bin/ara", line 6, in <module>
from ara.cli.base import main
File "/usr/lib/python3.10/site-packages/ara/cli/base.py", line 9, in <module>
from cliff.app import App
File "/usr/lib/python3.10/site-packages/cliff/app.py", line 25, in <module>
from cliff import _argparse
File "/usr/lib/python3.10/site-packages/cliff/_argparse.py", line 18, in <module>
from autopage import argparse
ModuleNotFoundError: No module named 'autopage'
Examples:
# Return which objects would be expired by ommitting --confirm
ara expire
# Expire running objects without updates faster than the default
ara expire --hours 4 --confirm
ara playbook list¶
$ ara playbook list --help
Traceback (most recent call last):
File "/usr/bin/ara", line 6, in <module>
from ara.cli.base import main
File "/usr/lib/python3.10/site-packages/ara/cli/base.py", line 9, in <module>
from cliff.app import App
File "/usr/lib/python3.10/site-packages/cliff/app.py", line 25, in <module>
from cliff import _argparse
File "/usr/lib/python3.10/site-packages/cliff/_argparse.py", line 18, in <module>
from autopage import argparse
ModuleNotFoundError: No module named 'autopage'
Query a running API server for the 10 latest failed playbooks:
ara playbook list --client http \
--server https://demo.recordsansible.org \
--status failed \
--limit 10
Get a list of playbooks matching a partial path and order the results by duration using the default offline API client:
ara playbook list --path="playbooks/site.yaml" --order=duration
Get a list of playbooks and format the results as json or yaml instead of pretty tables:
ara playbook list -f json
ara playbook list -f yaml
ara playbook show¶
$ ara playbook show --help
Traceback (most recent call last):
File "/usr/bin/ara", line 6, in <module>
from ara.cli.base import main
File "/usr/lib/python3.10/site-packages/ara/cli/base.py", line 9, in <module>
from cliff.app import App
File "/usr/lib/python3.10/site-packages/cliff/app.py", line 25, in <module>
from cliff import _argparse
File "/usr/lib/python3.10/site-packages/cliff/_argparse.py", line 18, in <module>
from autopage import argparse
ModuleNotFoundError: No module named 'autopage'
Show details about a playbook from a running API server and format the result in json:
ara playbook show --client http --server https://demo.recordsansible.org 1 -f json
Show details about a playbook from a local installation using the default offline API client and format the result in yaml:
ara playbook show 1 -f yaml
ara playbook delete¶
Note
This command requires write privileges. You can read more about read and write permissions here.
$ ara playbook delete --help
Traceback (most recent call last):
File "/usr/bin/ara", line 6, in <module>
from ara.cli.base import main
File "/usr/lib/python3.10/site-packages/ara/cli/base.py", line 9, in <module>
from cliff.app import App
File "/usr/lib/python3.10/site-packages/cliff/app.py", line 25, in <module>
from cliff import _argparse
File "/usr/lib/python3.10/site-packages/cliff/_argparse.py", line 18, in <module>
from autopage import argparse
ModuleNotFoundError: No module named 'autopage'
ara playbook metrics¶
$ ara playbook metrics --help
Traceback (most recent call last):
File "/usr/bin/ara", line 6, in <module>
from ara.cli.base import main
File "/usr/lib/python3.10/site-packages/ara/cli/base.py", line 9, in <module>
from cliff.app import App
File "/usr/lib/python3.10/site-packages/cliff/app.py", line 25, in <module>
from cliff import _argparse
File "/usr/lib/python3.10/site-packages/cliff/_argparse.py", line 18, in <module>
from autopage import argparse
ModuleNotFoundError: No module named 'autopage'
Examples:
# Return metrics about more than the last 1000 playbooks
ara playbook metrics --limit 10000
# Return playbook metrics in json or csv
ara playbook metrics -f json
ara playbook metrics -f csv
# Return metrics about playbooks matching a (full or partial) path
ara playbook metrics --path site.yml
# Return metrics for playbooks matching a label
ara playbook metrics --label "check:False"
# Return additional metrics without truncating paths
ara playbook metrics --long
# Aggregate metrics by playbook path (default), name, by ansible version or by controller
ara playbook metrics --aggregate name
ara playbook metrics --aggregate ansible_version
ara playbook metrics --aggregate controller
ara playbook prune¶
Pruning keeps the database size in check and the performance optimal by deleting older playbooks.
Unused disk space can be reclaimed after pruning depending on your database backend, for example:
sqlite:
sqlite3 ~/.ara/server/ansible.sqlite vacuum
mysql/mariadb:
mysqlcheck --optimize --databases ara
postgresql:
vacuumdb --dbname=ara
It is recommended to run this command inside a task scheduler (such as cron) since the server does not run this command automatically.
Note
This command requires write privileges. You can read more about read and write permissions here.
$ ara playbook prune --help
Traceback (most recent call last):
File "/usr/bin/ara", line 6, in <module>
from ara.cli.base import main
File "/usr/lib/python3.10/site-packages/ara/cli/base.py", line 9, in <module>
from cliff.app import App
File "/usr/lib/python3.10/site-packages/cliff/app.py", line 25, in <module>
from cliff import _argparse
File "/usr/lib/python3.10/site-packages/cliff/_argparse.py", line 18, in <module>
from autopage import argparse
ModuleNotFoundError: No module named 'autopage'
Examples:
# Return which playbooks would be deleted by ommitting --confirm
ara playbook prune
# Different retention for successful, unsuccessful and expired playbooks
ara playbook prune --status ok --days 30 --confirm
ara playbook prune --status failed --days 90 --confirm
ara playbook prune --status expired --days 3 --confirm
# Different retention based on labels
ara playbook prune --label dev --days 7 --confirm
ara playbook prune --label prod --days 90 --confirm
# Different retention based on name or path
ara playbook prune --name demo --days 7
ara playbook prune --path /home/jenkins --days 14
# Delete more than 200 playbooks per command execution
ara playbook prune --limit 9000 --confirm
ara play list¶
$ ara play list --help
Traceback (most recent call last):
File "/usr/bin/ara", line 6, in <module>
from ara.cli.base import main
File "/usr/lib/python3.10/site-packages/ara/cli/base.py", line 9, in <module>
from cliff.app import App
File "/usr/lib/python3.10/site-packages/cliff/app.py", line 25, in <module>
from cliff import _argparse
File "/usr/lib/python3.10/site-packages/cliff/_argparse.py", line 18, in <module>
from autopage import argparse
ModuleNotFoundError: No module named 'autopage'
Examples:
# List the top 25 longest plays
ara play list --order=-duration --limit 25
# List plays matching a name (full or partial)
ara play list --name apache
# List the plays for a specific playbook and format the result in json
ara play list --playbook 1 -f json
ara play show¶
$ ara play show --help
Traceback (most recent call last):
File "/usr/bin/ara", line 6, in <module>
from ara.cli.base import main
File "/usr/lib/python3.10/site-packages/ara/cli/base.py", line 9, in <module>
from cliff.app import App
File "/usr/lib/python3.10/site-packages/cliff/app.py", line 25, in <module>
from cliff import _argparse
File "/usr/lib/python3.10/site-packages/cliff/_argparse.py", line 18, in <module>
from autopage import argparse
ModuleNotFoundError: No module named 'autopage'
Examples:
# Show a specific play and format the results as json
ara play show 9001 -f json
ara play delete¶
Note
This command requires write privileges. You can read more about read and write permissions here.
$ ara play delete --help
Traceback (most recent call last):
File "/usr/bin/ara", line 6, in <module>
from ara.cli.base import main
File "/usr/lib/python3.10/site-packages/ara/cli/base.py", line 9, in <module>
from cliff.app import App
File "/usr/lib/python3.10/site-packages/cliff/app.py", line 25, in <module>
from cliff import _argparse
File "/usr/lib/python3.10/site-packages/cliff/_argparse.py", line 18, in <module>
from autopage import argparse
ModuleNotFoundError: No module named 'autopage'
ara host list¶
$ ara host list --help
Traceback (most recent call last):
File "/usr/bin/ara", line 6, in <module>
from ara.cli.base import main
File "/usr/lib/python3.10/site-packages/ara/cli/base.py", line 9, in <module>
from cliff.app import App
File "/usr/lib/python3.10/site-packages/cliff/app.py", line 25, in <module>
from cliff import _argparse
File "/usr/lib/python3.10/site-packages/cliff/_argparse.py", line 18, in <module>
from autopage import argparse
ModuleNotFoundError: No module named 'autopage'
Note
From the perspective of ARA, each host is unique to a playbook run. Their records contain the Ansible host facts as well as their stats for a particular playbook run.
Examples:
# List the latest 25 host results
ara host list --limit 25
# List host records for a specific host name
ara host list --name localhost
# List all the host results for a specific playbook and format the result in json
ara host list --playbook 1 -f json
# Only return hosts with or without unreachable task results
ara host list --with-unreachable
ara host list --without-unreachable
# Only return hosts with or without changed task results
ara host list --with-changed
ara host list --without-changed
# Only return hosts with or without failed task results
ara host list --with-failed
ara host list --without-failed
ara host show¶
$ ara host show --help
Traceback (most recent call last):
File "/usr/bin/ara", line 6, in <module>
from ara.cli.base import main
File "/usr/lib/python3.10/site-packages/ara/cli/base.py", line 9, in <module>
from cliff.app import App
File "/usr/lib/python3.10/site-packages/cliff/app.py", line 25, in <module>
from cliff import _argparse
File "/usr/lib/python3.10/site-packages/cliff/_argparse.py", line 18, in <module>
from autopage import argparse
ModuleNotFoundError: No module named 'autopage'
Note
From the perspective of ARA, each host is unique to a playbook run. Their records contain the Ansible host facts as well as their stats for a particular playbook run.
Return stats for a specified host as well as a link to the playbook report it is involved in:
ara host show 1
Include host facts as well formatted in json:
# Facts do not render well in the default pretty table format
ara host show 1 --with-facts -f json
ara host delete¶
Note
This command requires write privileges. You can read more about read and write permissions here.
$ ara host delete --help
Traceback (most recent call last):
File "/usr/bin/ara", line 6, in <module>
from ara.cli.base import main
File "/usr/lib/python3.10/site-packages/ara/cli/base.py", line 9, in <module>
from cliff.app import App
File "/usr/lib/python3.10/site-packages/cliff/app.py", line 25, in <module>
from cliff import _argparse
File "/usr/lib/python3.10/site-packages/cliff/_argparse.py", line 18, in <module>
from autopage import argparse
ModuleNotFoundError: No module named 'autopage'
ara host metrics¶
$ ara host metrics --help
Traceback (most recent call last):
File "/usr/bin/ara", line 6, in <module>
from ara.cli.base import main
File "/usr/lib/python3.10/site-packages/ara/cli/base.py", line 9, in <module>
from cliff.app import App
File "/usr/lib/python3.10/site-packages/cliff/app.py", line 25, in <module>
from cliff import _argparse
File "/usr/lib/python3.10/site-packages/cliff/_argparse.py", line 18, in <module>
from autopage import argparse
ModuleNotFoundError: No module named 'autopage'
Examples:
# Return metrics about more than the last 1000 hosts
ara host metrics --limit 10000
# Return host metrics in json or csv
ara host metrics -f json
ara host metrics -f csv
# Return metrics for hosts matching a name
ara host metrics --name localhost
# Return metrics for hosts involved in a specific playbook
ara host metrics --playbook 9001
# Return metrics only for hosts with changed, failed or unreachable results
ara host metrics --with-changed
ara host metrics --with-failed
ara host metrics --with-unreachable
# Return metrics only for hosts without changed, failed or unreachable results
ara host metrics --without-changed
ara host metrics --without-failed
ara host metrics --without-unreachable
ara record list¶
$ ara record list --help
Traceback (most recent call last):
File "/usr/bin/ara", line 6, in <module>
from ara.cli.base import main
File "/usr/lib/python3.10/site-packages/ara/cli/base.py", line 9, in <module>
from cliff.app import App
File "/usr/lib/python3.10/site-packages/cliff/app.py", line 25, in <module>
from cliff import _argparse
File "/usr/lib/python3.10/site-packages/cliff/_argparse.py", line 18, in <module>
from autopage import argparse
ModuleNotFoundError: No module named 'autopage'
Examples:
# List records for a specific key
ara record list --key log_url
# List records for a specific playbook
ara record list --playbook 9001
ara record show¶
$ ara record show --help
Traceback (most recent call last):
File "/usr/bin/ara", line 6, in <module>
from ara.cli.base import main
File "/usr/lib/python3.10/site-packages/ara/cli/base.py", line 9, in <module>
from cliff.app import App
File "/usr/lib/python3.10/site-packages/cliff/app.py", line 25, in <module>
from cliff import _argparse
File "/usr/lib/python3.10/site-packages/cliff/_argparse.py", line 18, in <module>
from autopage import argparse
ModuleNotFoundError: No module named 'autopage'
Examples:
# Show a specific record and format the results as json
ara record show 9001 -f json
ara record delete¶
$ ara record delete --help
Traceback (most recent call last):
File "/usr/bin/ara", line 6, in <module>
from ara.cli.base import main
File "/usr/lib/python3.10/site-packages/ara/cli/base.py", line 9, in <module>
from cliff.app import App
File "/usr/lib/python3.10/site-packages/cliff/app.py", line 25, in <module>
from cliff import _argparse
File "/usr/lib/python3.10/site-packages/cliff/_argparse.py", line 18, in <module>
from autopage import argparse
ModuleNotFoundError: No module named 'autopage'
ara result list¶
$ ara result list --help
Traceback (most recent call last):
File "/usr/bin/ara", line 6, in <module>
from ara.cli.base import main
File "/usr/lib/python3.10/site-packages/ara/cli/base.py", line 9, in <module>
from cliff.app import App
File "/usr/lib/python3.10/site-packages/cliff/app.py", line 25, in <module>
from cliff import _argparse
File "/usr/lib/python3.10/site-packages/cliff/_argparse.py", line 18, in <module>
from autopage import argparse
ModuleNotFoundError: No module named 'autopage'
Return the 10 most recent failed results:
ara result list --status failed --limit 10
Return the 15 results with the highest duration for a specific playbook:
ara result list --playbook 389 --order=-duration --limit 15
ara result show¶
$ ara result show --help
Traceback (most recent call last):
File "/usr/bin/ara", line 6, in <module>
from ara.cli.base import main
File "/usr/lib/python3.10/site-packages/ara/cli/base.py", line 9, in <module>
from cliff.app import App
File "/usr/lib/python3.10/site-packages/cliff/app.py", line 25, in <module>
from cliff import _argparse
File "/usr/lib/python3.10/site-packages/cliff/_argparse.py", line 18, in <module>
from autopage import argparse
ModuleNotFoundError: No module named 'autopage'
Return detailed information about a specific result:
ara result show 9001
Return detailed information about a specific result, including formatted content:
ara result show 9001 --with-content -f json
ara result delete¶
Note
This command requires write privileges. You can read more about read and write permissions here.
$ ara result delete --help
Traceback (most recent call last):
File "/usr/bin/ara", line 6, in <module>
from ara.cli.base import main
File "/usr/lib/python3.10/site-packages/ara/cli/base.py", line 9, in <module>
from cliff.app import App
File "/usr/lib/python3.10/site-packages/cliff/app.py", line 25, in <module>
from cliff import _argparse
File "/usr/lib/python3.10/site-packages/cliff/_argparse.py", line 18, in <module>
from autopage import argparse
ModuleNotFoundError: No module named 'autopage'
ara task list¶
$ ara task list --help
Traceback (most recent call last):
File "/usr/bin/ara", line 6, in <module>
from ara.cli.base import main
File "/usr/lib/python3.10/site-packages/ara/cli/base.py", line 9, in <module>
from cliff.app import App
File "/usr/lib/python3.10/site-packages/cliff/app.py", line 25, in <module>
from cliff import _argparse
File "/usr/lib/python3.10/site-packages/cliff/_argparse.py", line 18, in <module>
from autopage import argparse
ModuleNotFoundError: No module named 'autopage'
Note
ara doesn’t have the concept of roles but it is possible to search for
them by path, for example: ara task list --path "roles/install_apache"
Role names are included in the task names and it is possible to search for
role-specific tasks there as well: ara task list --name install_apache
.
Examples:
# Return the top 25 longest running tasks
ara task list --order=-duration --limit 25
# Return tasks from a specific playbook
ara task list --playbook 9001
# Return tasks for the package action
ara task list --action package
# Return tasks matching a path (partial or full)
ara task list --path="roles/install_apache"
# Return tasks matching a name (partial or full)
ara task list --name install_apache
ara task show¶
$ ara task show --help
Traceback (most recent call last):
File "/usr/bin/ara", line 6, in <module>
from ara.cli.base import main
File "/usr/lib/python3.10/site-packages/ara/cli/base.py", line 9, in <module>
from cliff.app import App
File "/usr/lib/python3.10/site-packages/cliff/app.py", line 25, in <module>
from cliff import _argparse
File "/usr/lib/python3.10/site-packages/cliff/_argparse.py", line 18, in <module>
from autopage import argparse
ModuleNotFoundError: No module named 'autopage'
Return detailed information about a specific task:
ara task show 9001
ara task delete¶
Note
This command requires write privileges. You can read more about read and write permissions here.
$ ara task delete --help
Traceback (most recent call last):
File "/usr/bin/ara", line 6, in <module>
from ara.cli.base import main
File "/usr/lib/python3.10/site-packages/ara/cli/base.py", line 9, in <module>
from cliff.app import App
File "/usr/lib/python3.10/site-packages/cliff/app.py", line 25, in <module>
from cliff import _argparse
File "/usr/lib/python3.10/site-packages/cliff/_argparse.py", line 18, in <module>
from autopage import argparse
ModuleNotFoundError: No module named 'autopage'
ara task metrics¶
$ ara task metrics --help
Traceback (most recent call last):
File "/usr/bin/ara", line 6, in <module>
from ara.cli.base import main
File "/usr/lib/python3.10/site-packages/ara/cli/base.py", line 9, in <module>
from cliff.app import App
File "/usr/lib/python3.10/site-packages/cliff/app.py", line 25, in <module>
from cliff import _argparse
File "/usr/lib/python3.10/site-packages/cliff/_argparse.py", line 18, in <module>
from autopage import argparse
ModuleNotFoundError: No module named 'autopage'
Examples:
# Return metrics about more than the last 1000 tasks
ara task metrics --limit 10000
# Return task metrics in json or csv
ara task metrics -f json
ara task metrics -f csv
# Don't truncate paths and include additional task status fields
ara task metrics --long
# Return metrics about tasks from a specific playbook
ara task metrics --playbook 9001
# Return metrics for tasks matching a (full or partial) path
ara task metrics --path ansible-role-foo
# Only return metrics about a specific action
ara task metrics --action package
# Return metrics for tasks matching a name
ara task metrics --name apache
# Return metrics about the longest tasks and then sort them by total duration
ara task metrics --order=-duration --sort-column duration_total
# Aggregate metrics by task name rather than action
ara task metrics --aggregate name
# Aggregate metrics by task file rather than action
ara task metrics --aggregate path
CLI: ara-manage (django API server)¶
ara-manage
is a command provided by ARA when the API server dependencies
are installed.
It is an alias to the python manage.py
command interface provided by Django
and they can be used interchangeably if you are running ARA from source.
Note
Django comes with a lot of built-in commands and they are not all used or relevant in the context of ARA so they might not be exposed, tested or documented.
This documentation provides information about commands which we think are relevant.
If you do not find a command documented here, you can find more information about it in the Django documentation.
Please feel free to send a patch if we’re missing anything !
ara-manage¶
$ ara-manage --help
[ara] No setting found for SECRET_KEY. Generating a random key...
[ara] Creating data & configuration directory: /builddir/.ara/server
[ara] Writing default settings to /builddir/.ara/server/settings.yaml
[ara] Using settings file: /builddir/.ara/server/settings.yaml
Type 'ara-manage help <subcommand>' for help on a specific subcommand.
Available subcommands:
[api]
prune
[auth]
changepassword
createsuperuser
[contenttypes]
remove_stale_contenttypes
[django]
check
compilemessages
createcachetable
dbshell
diffsettings
dumpdata
flush
inspectdb
loaddata
makemessages
makemigrations
migrate
sendtestemail
shell
showmigrations
sqlflush
sqlmigrate
sqlsequencereset
squashmigrations
startapp
startproject
test
testserver
[rest_framework]
generateschema
[sessions]
clearsessions
[staticfiles]
collectstatic
findstatic
runserver
[ui]
generate
ara-manage prune¶
Warning
ara-manage prune has been replaced by ara playbook prune in ara 1.5. It will be removed in ara 1.6.
Used to delete playbooks that are older than a specified amount of days.
$ ara-manage prune --help
[ara] Using settings file: /builddir/.ara/server/settings.yaml
usage: ara-manage prune [-h] [--client CLIENT] [--endpoint ENDPOINT]
[--username USERNAME] [--password PASSWORD]
[--insecure] [--timeout TIMEOUT] [--days DAYS]
[--confirm] [--version] [-v {0,1,2,3}]
[--settings SETTINGS] [--pythonpath PYTHONPATH]
[--traceback] [--no-color] [--force-color]
[--skip-checks]
Deletes playbooks from the database based on their age
options:
-h, --help show this help message and exit
--client CLIENT API client to use for the query: 'offline' or 'http'
(default: 'offline')
--endpoint ENDPOINT API endpoint to use for the query (default:
'http://127.0.0.1:8000')
--username USERNAME API username to use for the query (default: None)
--password PASSWORD API password to use for the query (default: None)
--insecure Disables SSL certificate validation
--timeout TIMEOUT Timeout for API queries (default: 10)
--days DAYS Delete playbooks started this many days ago (default:
31)
--confirm Confirm deletion of playbooks, otherwise runs without
deleting any playbook
--version show program's version number and exit
-v {0,1,2,3}, --verbosity {0,1,2,3}
Verbosity level; 0=minimal output, 1=normal output,
2=verbose output, 3=very verbose output
--settings SETTINGS The Python path to a settings module, e.g.
"myproject.settings.main". If this isn't provided, the
DJANGO_SETTINGS_MODULE environment variable will be
used.
--pythonpath PYTHONPATH
A directory to add to the Python path, e.g.
"/home/djangoprojects/myproject".
--traceback Raise on CommandError exceptions
--no-color Don't colorize the command output.
--force-color Force colorization of the command output.
--skip-checks Skip system checks.
ara-manage changepassword¶
Change the password for a user.
Relevant when working with authentication.
$ ara-manage changepassword --help
[ara] Using settings file: /builddir/.ara/server/settings.yaml
usage: ara-manage changepassword [-h] [--database DATABASE] [--version]
[-v {0,1,2,3}] [--settings SETTINGS]
[--pythonpath PYTHONPATH] [--traceback]
[--no-color] [--force-color]
[username]
Change a user's password for django.contrib.auth.
positional arguments:
username Username to change password for; by default, it's the
current username.
options:
-h, --help show this help message and exit
--database DATABASE Specifies the database to use. Default is "default".
--version show program's version number and exit
-v {0,1,2,3}, --verbosity {0,1,2,3}
Verbosity level; 0=minimal output, 1=normal output,
2=verbose output, 3=very verbose output
--settings SETTINGS The Python path to a settings module, e.g.
"myproject.settings.main". If this isn't provided, the
DJANGO_SETTINGS_MODULE environment variable will be
used.
--pythonpath PYTHONPATH
A directory to add to the Python path, e.g.
"/home/djangoprojects/myproject".
--traceback Raise on CommandError exceptions
--no-color Don't colorize the command output.
--force-color Force colorization of the command output.
ara-manage createsuperuser¶
Superusers are relevant when setting up authentication.
$ ara-manage createsuperuser --help
[ara] Using settings file: /builddir/.ara/server/settings.yaml
usage: ara-manage createsuperuser [-h] [--username USERNAME] [--noinput]
[--database DATABASE] [--email EMAIL]
[--version] [-v {0,1,2,3}]
[--settings SETTINGS]
[--pythonpath PYTHONPATH] [--traceback]
[--no-color] [--force-color] [--skip-checks]
Used to create a superuser.
options:
-h, --help show this help message and exit
--username USERNAME Specifies the login for the superuser.
--noinput, --no-input
Tells Django to NOT prompt the user for input of any
kind. You must use --username with --noinput, along
with an option for any other required field.
Superusers created with --noinput will not be able to
log in until they're given a valid password.
--database DATABASE Specifies the database to use. Default is "default".
--email EMAIL Specifies the email for the superuser.
--version show program's version number and exit
-v {0,1,2,3}, --verbosity {0,1,2,3}
Verbosity level; 0=minimal output, 1=normal output,
2=verbose output, 3=very verbose output
--settings SETTINGS The Python path to a settings module, e.g.
"myproject.settings.main". If this isn't provided, the
DJANGO_SETTINGS_MODULE environment variable will be
used.
--pythonpath PYTHONPATH
A directory to add to the Python path, e.g.
"/home/djangoprojects/myproject".
--traceback Raise on CommandError exceptions
--no-color Don't colorize the command output.
--force-color Force colorization of the command output.
--skip-checks Skip system checks.
ara-manage makemigrations¶
Generally used to generate new SQL migrations after modifying the database model files.
$ ara-manage makemigrations --help
[ara] Using settings file: /builddir/.ara/server/settings.yaml
usage: ara-manage makemigrations [-h] [--dry-run] [--merge] [--empty]
[--noinput] [-n NAME] [--no-header] [--check]
[--version] [-v {0,1,2,3}]
[--settings SETTINGS]
[--pythonpath PYTHONPATH] [--traceback]
[--no-color] [--force-color] [--skip-checks]
[app_label ...]
Creates new migration(s) for apps.
positional arguments:
app_label Specify the app label(s) to create migrations for.
options:
-h, --help show this help message and exit
--dry-run Just show what migrations would be made; don't
actually write them.
--merge Enable fixing of migration conflicts.
--empty Create an empty migration.
--noinput, --no-input
Tells Django to NOT prompt the user for input of any
kind.
-n NAME, --name NAME Use this name for migration file(s).
--no-header Do not add header comments to new migration file(s).
--check Exit with a non-zero status if model changes are
missing migrations.
--version show program's version number and exit
-v {0,1,2,3}, --verbosity {0,1,2,3}
Verbosity level; 0=minimal output, 1=normal output,
2=verbose output, 3=very verbose output
--settings SETTINGS The Python path to a settings module, e.g.
"myproject.settings.main". If this isn't provided, the
DJANGO_SETTINGS_MODULE environment variable will be
used.
--pythonpath PYTHONPATH
A directory to add to the Python path, e.g.
"/home/djangoprojects/myproject".
--traceback Raise on CommandError exceptions
--no-color Don't colorize the command output.
--force-color Force colorization of the command output.
--skip-checks Skip system checks.
ara-manage migrate¶
Runs SQL migrations.
They need to be run at least once before the API server can start.
$ ara-manage migrate --help
[ara] Using settings file: /builddir/.ara/server/settings.yaml
usage: ara-manage migrate [-h] [--noinput] [--database DATABASE] [--fake]
[--fake-initial] [--plan] [--run-syncdb] [--check]
[--version] [-v {0,1,2,3}] [--settings SETTINGS]
[--pythonpath PYTHONPATH] [--traceback] [--no-color]
[--force-color] [--skip-checks]
[app_label] [migration_name]
Updates database schema. Manages both apps with migrations and those without.
positional arguments:
app_label App label of an application to synchronize the state.
migration_name Database state will be brought to the state after that
migration. Use the name "zero" to unapply all
migrations.
options:
-h, --help show this help message and exit
--noinput, --no-input
Tells Django to NOT prompt the user for input of any
kind.
--database DATABASE Nominates a database to synchronize. Defaults to the
"default" database.
--fake Mark migrations as run without actually running them.
--fake-initial Detect if tables already exist and fake-apply initial
migrations if so. Make sure that the current database
schema matches your initial migration before using
this flag. Django will only check for an existing
table name.
--plan Shows a list of the migration actions that will be
performed.
--run-syncdb Creates tables for apps without migrations.
--check Exits with a non-zero status if unapplied migrations
exist.
--version show program's version number and exit
-v {0,1,2,3}, --verbosity {0,1,2,3}
Verbosity level; 0=minimal output, 1=normal output,
2=verbose output, 3=very verbose output
--settings SETTINGS The Python path to a settings module, e.g.
"myproject.settings.main". If this isn't provided, the
DJANGO_SETTINGS_MODULE environment variable will be
used.
--pythonpath PYTHONPATH
A directory to add to the Python path, e.g.
"/home/djangoprojects/myproject".
--traceback Raise on CommandError exceptions
--no-color Don't colorize the command output.
--force-color Force colorization of the command output.
--skip-checks Skip system checks.
ara-manage runserver¶
Runs the embedded development server.
Note
Good for small scale usage.
Consider deploying with a WSGI application server and a web server for production use.
$ ara-manage runserver --help
[ara] Using settings file: /builddir/.ara/server/settings.yaml
usage: ara-manage runserver [-h] [--ipv6] [--nothreading] [--noreload]
[--nostatic] [--insecure] [--version]
[-v {0,1,2,3}] [--settings SETTINGS]
[--pythonpath PYTHONPATH] [--traceback]
[--no-color] [--force-color]
[addrport]
Starts a lightweight Web server for development and also serves static files.
positional arguments:
addrport Optional port number, or ipaddr:port
options:
-h, --help show this help message and exit
--ipv6, -6 Tells Django to use an IPv6 address.
--nothreading Tells Django to NOT use threading.
--noreload Tells Django to NOT use the auto-reloader.
--nostatic Tells Django to NOT automatically serve static files
at STATIC_URL.
--insecure Allows serving static files even if DEBUG is False.
--version show program's version number and exit
-v {0,1,2,3}, --verbosity {0,1,2,3}
Verbosity level; 0=minimal output, 1=normal output,
2=verbose output, 3=very verbose output
--settings SETTINGS The Python path to a settings module, e.g.
"myproject.settings.main". If this isn't provided, the
DJANGO_SETTINGS_MODULE environment variable will be
used.
--pythonpath PYTHONPATH
A directory to add to the Python path, e.g.
"/home/djangoprojects/myproject".
--traceback Raise on CommandError exceptions
--no-color Don't colorize the command output.
--force-color Force colorization of the command output.
ara-manage generate¶
Generates a static version of the built-in reporting web interface.
Note
Good for small scale usage but inefficient and contains a lot of small files at a large scale.
$ ara-manage generate --help
[ara] Using settings file: /builddir/.ara/server/settings.yaml
usage: ara-manage generate [-h] [--version] [-v {0,1,2,3}]
[--settings SETTINGS] [--pythonpath PYTHONPATH]
[--traceback] [--no-color] [--force-color]
[--skip-checks]
path
Generates a static tree of the web application
positional arguments:
path Path where the static files will be built in
options:
-h, --help show this help message and exit
--version show program's version number and exit
-v {0,1,2,3}, --verbosity {0,1,2,3}
Verbosity level; 0=minimal output, 1=normal output,
2=verbose output, 3=very verbose output
--settings SETTINGS The Python path to a settings module, e.g.
"myproject.settings.main". If this isn't provided, the
DJANGO_SETTINGS_MODULE environment variable will be
used.
--pythonpath PYTHONPATH
A directory to add to the Python path, e.g.
"/home/djangoprojects/myproject".
--traceback Raise on CommandError exceptions
--no-color Don't colorize the command output.
--force-color Force colorization of the command output.
--skip-checks Skip system checks.