> For the complete documentation index, see [llms.txt](https://ax.attacksurge.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ax.attacksurge.com/overview/quickstart-guide-1/configure-ax-controller.md).

# Configure Ax Controller

## Installation

Follow the [#installation](#installation "mention") guide to install the Ax Controller

## ax configure

Setup and configure the ax controller and validate your cloud account 💻&#x20;

### Example Usage

`ax configure --run`

Launch the interactive configuration workflow will step you through the following:

* &#x20;Install dependencies
* Add ax to your shell profile
* Ask to occasionally check for updates in the background
* Set up access to your chosen cloud provider

### Usage

run `~/.axiom/interact/axiom-configure` if ax is not yet in your shell path.

```
# axiom-configure --help

 █████╗ ██╗  ██╗     ██████╗ ██████╗ ███╗   ██╗███████╗██╗ ██████╗
██╔══██╗╚██╗██╔╝    ██╔════╝██╔═══██╗████╗  ██║██╔════╝██║██╔════╝
███████║ ╚███╔╝     ██║     ██║   ██║██╔██╗ ██║█████╗  ██║██║  ███╗
██╔══██║ ██╔██╗     ██║     ██║   ██║██║╚██╗██║██╔══╝  ██║██║   ██║
██║  ██║██╔╝ ██╗    ╚██████╗╚██████╔╝██║ ╚████║██║     ██║╚██████╔╝
╚═╝  ╚═╝╚═╝  ╚═╝     ╚═════╝ ╚═════╝ ╚═╝  ╚═══╝╚═╝     ╚═╝ ╚═════╝

Maintainer: 0xtavian

𝓪𝓵𝓻𝓲𝓰𝓱𝓽, 𝔂𝓸𝓾 𝓰𝓸𝓽 𝓶𝓮, 𝓲𝓽𝓼 𝓳𝓾𝓼𝓽 𝓪𝔁𝓲𝓸𝓶: 𝓽𝓱𝓮 𝓭𝔂𝓷𝓪𝓶𝓲𝓬 𝓲𝓷𝓯𝓻𝓪𝓼𝓽𝓻𝓾𝓬𝓽𝓾𝓻𝓮 𝓯𝓻𝓪𝓶𝓮𝔀𝓸𝓻𝓴 𝓯𝓸𝓻 𝓮𝓿𝓮𝓻𝔂𝓫𝓸𝓭𝔂! - @𝓹𝓻𝔂0𝓬𝓬 @0𝔁𝓽𝓪𝓿𝓲𝓪𝓷

Description:
Examples:
  axiom-configure --run # kick off Ax configuration wizard
  axiom-configure --shell zsh # Set default shell to zsh via command line
  axiom-configure --config <personal.json file> # Use personal.json from a file for account setup
  axiom-configure --config <personal.json string> # Use personal.json data supplied by command-line for account setup (must be vaild personal.json data wrapped in single quotes)
  axiom-configure --shell bash --unattended --config <path to personal.json file>  # Use bash for default shell, do not promot, use personal.json data from file for axiom setup
Usage:
  --run (required)
    Start axiom-configure wizard, install dependencies, kick off axiom-account-setup and axiom-build
  --config <axiom.json data>
    Setup account with data from file or supplied from the command line (must be vaild data from a personal.json axiom file)
  --unattended (optional)
    Avoid any promots, defaults to Oh My Zsh unless --shell argument is also provided
  --shell <bash, zsh, omz (Oh My Zsh)> (optional)
    Add axiom to path, backup .zshrc/.bashrc to .zshrcbak/.bashrcbak
  --auto-update <yes, no> (optional)
    Toggle auto-update to periodically update axiom
  --debug (optional)
    Enable debug mode (VERY VERBOSE!)
  --help
    Display this help menu

```

You can provide your config inline or after running axiom-configure. `axiom-configure --shell bash --unattended --config { "do_key": "[redacted]", "region": "nyc1", "provider": "do", "default_size": "s-1vcpu-1gb", "appliance_name": "", "appliance_key": "", "appliance_url": "", "email": "", "op": "[redacted]", "imageid": "axiom-default-myimageid", "provisioner": "default", "sshkey": "id_rsa" }`

```
To get your account.json config file in this format run: cat ~/.axiom/accounts/do.json | tr '\n' ' ' | tr -s ' '
```

### Cloud Configuration

During the initial installation, running [`ax configure`](https://github.com/attacksurge/ax/blob/master/interact/axiom-configure) will trigger [`ax account-setup`](https://github.com/attacksurge/ax/blob/master/interact/axiom-account-setup), which in turn calls [`ax account`](https://github.com/attacksurge/ax/blob/master/interact/axiom-account) along with the respective cloud provider's [`account-helper`](https://github.com/attacksurge/ax/tree/master/interact/account-helpers) script. Once this setup is complete, [`ax build`](https://github.com/attacksurge/ax/blob/master/interact/axiom-build) is executed to create your [Packer](https://www.packer.io/) image. After the image is successfully built, you can deploy fleets of servers using [`ax fleet`](https://github.com/attacksurge/ax/blob/master/interact/axiom-fleet) and distribute scans with [`ax scan`](https://github.com/attacksurge/ax/blob/master/interact/axiom-scan)!

You can also just run axiom account-setup at any time.&#x20;

```
$ ax account-setup 
Axiom Account Setup
You can use this wizard to add new accounts, once made, use axiom-account to switch between profiles
Please enter your provider (aws, azure, do, gcp, hetzner, ibm, linode, scaleway): 
```
