Axyon
Home
Learn
Install
  • Orion
  • Stargate
  • Fusion
  • Nova
Home
Learn
Install
  • Orion
  • Stargate
  • Fusion
  • Nova
  • Installation

    • Axyon System Control
    • Manual Deployment

      • Overview
      • Authentication
    • CLI
  • Introduction

    • Overview
  • Components

    • Overview
    • Arkeia
    • Orion
    • Stargate
    • Fusion
    • Nova
  • Guides

    • Overview
    • Orion

      • Getting Started
      • Orion Agents
      • Our First Service
  • Applications

    • Axyon Application Images
    • Building Axyon Applications
  • Reference

    • Overview
    • Axyon CLI
    • Orion
    • App VM
    • Axyon OS
  • Help

Orion Agents

Agents are the worker nodes in an Orion cluster.

Installation

The Axyon agent is a lightweight binary that runs on the node. The Axyon Agent is currently supported on macOS and Linux hosts.

macOS

To install on macOS we recommend using Homebrew.

First, configure the Axyon Homebrew Tap:

brew tap axyon-io/axyon https://code.underland.io/axyon-io/homebrew-axyon

Next, install the Axyon Agent:

brew update && brew install axyon-io/axyon/axyon-agent
Linux

To install on Linux, we currently support AxyonOS and Alpine based distributions.

AxyonOS

To install on AxyonOS, use apk:

apk update && apk add axyon-agent

Alpine

To install on Alpine, first add the Axyon package repository:

echo "https://pkgs.axyon.io/edge/main" >> /etc/apk/repositories

Next, grab the Axyon package repository public key:

curl -sSL pkgs.axyon.io/axyon.rsa.pub -o /etc/apk/keys/axyon.rsa.pub

Now, install the Axyon Agent:

apk update && apk add axyon-agent

Configuration

Upon installation, an initial agent config file will be created. The location depends on the node operating system.

macOS

The Agent config path on macOS is /opt/homebrew/etc/axyon/agent.toml.

The default configuration will look something similar to the following:

Name = 'axyon-node-00'
Address = ''
ConfigDir = '/var/tmp/axyon-agent'
Insecure = true
Runtimes = ['vz:///var/tmp/axyon-agent/runtime']
ServiceIP = '10.10.255.10'
EnableBootstrap = true

[InstanceMetadata]

It is strongly recommended to check and update the configuration to fit your environment.

Linux

The Agent config path on Linux is /etc/axyon/axyon-agent.toml.

The default configuration will look something similar to the following:

Name = 'axyon-node-00'
Address = ''
ConfigDir = '/var/tmp/axyon-agent'
Insecure = true
Runtimes = ['cloudhypervisor:///var/tmp/axyon-agent/runtime']
ServiceIP = '10.10.255.10'
EnableBootstrap = true

[InstanceMetadata]

It is strongly recommended to check and update the configuration to fit your environment.

Registration

After installing the agent, you can use two different methods for connecting to the Orion server.

Discovery

If your environment supports mDNS broadcast you can leave the Address field blank in the agent configuration file. The agent will search for an Orion server and attempt an initial request to join.

Manual

If your environment DOES NOT support mDNS, update the Address field in the agent configuration to your Orion server: e.g. tcp://asc.local:8080.

Start the Agent

Once configured, you can start the agent.

macOS

On macOS you will receive a pop-up window requesting network access for the Axyon Agent. Make sure to allow network access or the agent will not be able to communicate with the Orion server.

Use brew to start the Axyon Agent as a service that will run in the background:

brew services start axyon-io/axyon/axyon-agent
Linux

On AxyonOS and Alpine, the agent package contains an OpenRC service configuration.

To configure the agent to start on boot:

rc-update add axyon-agent

Finally, start the service:

rc-service axyon-agent start

Once the Axyon Agent is running, it should attempt to register with the server. You should be able to see the request using ax agents registration ls:

ID                                     AGENT           CREATED          STATUS
0196a5c1-2e66-7e3e-823d-f2c5ae3c0260   orion-agent-1   10 seconds ago   PENDING

You can approve the request using ax agents registration approve <ID>. Once approved, it should show up in ax agents ls:

ID                                                                 NAME            CPUS        MEMORY      OS          ARCH        STORAGE     SERVICE IP   LOCATION    UPDATED     STATE       VERSION
241e40fea2b65072a9c16dea7c438be840b95670697b96b4ff979466051c8d75   orion-agent-1   8           17 GB       linux       arm64       19 GB       172.19.0.8   -/-         now         READY       dev (9e004a0)

Congratulations! You can now continue to create our first service.

Prev
Getting Started
Next
Our First Service