Using arkOS

arkOS can be administered via two principal methods. The first and most common is to use Genesis, the web-based administration interface, to quickly and easily get started using your arkOS apps. Genesis can be accessed by opening up the arkOS Assistant, clicking Search Network, then clicking the name of your running arkOS server.

The second is arkOS CLI, a command-line interface very useful for quick tasks or making changes while you are using the command line for other purposes. The CLI can be used from your arkOS server directly, or it can be used from the Terminal on your home computer.

Using Genesis

Tools

System

Using arkOS CLI

The CLI is accessed through the primary command arkosctl. Additional instructions are passed after that command to execute actions on your server. The following major command groups are available via the CLI:

  • keys - API keys
  • app - Applications
  • backup - Backups
  • cert - Certificates
  • db - Databases
  • dbuser - Database Users
  • link - Shared File Links
  • file - Files
  • fs - Filesystems
  • init - Initialization
  • net - Networks
  • pkg - Packages
  • user - Users
  • group - Groups
  • domain - Domains
  • sec - Security/Firewall
  • svc - Services
  • sys - System
  • site - Websites

For a full list of available command groups, run arkosctl help.

You can append help to the end of each sub-command to get more specific information about that part of arkOS CLI. For example, arkosctl app help will show you all of the operations you can perform with the CLI relating to arkOS applications. Running help after a full command, like arkosctl app install, will show you all of the arguments and optional flags you can pass to that command.

Some commands, like arkosctl site install <sitename>, feature interactive wizards which ask you for the information they require to properly execute. Most commands however operate by mandatory command line arguments and optional flags. If you want to know what these are, add help to the end of your command.

Running arkOS CLI locally

If you are running arkOS locally on your server (i.e. accessing it via the monitor or an SSH session), commands must be run as root or prefixed with sudo to give them the proper privileges they need to execute. Otherwise no additional privileges are required. Locally, arkOS CLI executes its commands through direct bindings with the underlying Python libraries that power arkOS, meaning you can manage your server even if Genesis and the Kraken API are not running.

Running arkOS CLI on your computer

If installed on your home computer, arkOS CLI can use the same network APIs that Genesis does to remotely administer your server. For proper authentication, you must first create an API key to grant you use of the CLI without having to enter a username and password with every command. You can do this automatically with the CLI, like so:

arkosctl keys create --save $username

This will save a file named .arkosrc in your user's home folder, containing the API key, and will automatically be used to validate all future CLI calls without requiring you to pass in the username and password.

If you do not wish to save an API key for automatic authentication, you must pass the –user, –password and –host flags along with every call, or set the ARKOS_CLI_USER, ARKOS_CLI_PASS and ARKOS_CLI_HOST environment variables.