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

Nova

Nova is the service that provides a managed Axyon System Control plane. It is responsible for deploying and managing the various Axyon components.

Architecture

As with all Axyon components, Nova provides an API in a client/server model. The nova command line interface (CLI) manages the novad server over GRPC. Nova uses OCI containers to run all Axyon system components.

Nova Architecture

Management

Nova manages Axyon components using containers. This provides simple component lifecycle management by enabling quick upgrades and downgrades, backups, and more. All of this is provided to the user with the Nova CLI and optional GRPC API for advanced integrations. Nova provides the following capabilities:

Deployment

Nova manages component deployments. By default, Nova will deploy the latest stable version of each component but allows you to select individual components for upgrade if desired. Behind the scenes this works as follows:

  • Fetch latest component image
  • Stop and remove the current component container
  • Create and start a new container using the updated image

All data is persisted as Nova uses a lightweight "volume" concept for data management.

Volumes

Nova maintains a "volume" for components that require persistent state. These are managed directories on an ASC node. Before each deployment, the directory is backed up to enable restoration to a previous component version including all data.

Secrets

Secrets are managed credentials for components that require them. For example, database, admin login credentials etc. These are used for bootstrapping and configuring Axyon components and services.

Note

Nova secrets are stored on the filesystem and are not encrypted. Take care to ensure these are protected at the system level.

Upgrades

Nova provides an update command that will fetch the latest release of the Nova server. It verifies a checksum and performs an in-place upgrade of the server binary followed by a restart. This enables a simple way of updating the Nova management system itself to keep up-to-date.

Reference

The following provides reference for the Nova system.

Nova CLI (nova)

NAME:
   nova - Axyon Systems Control Manager

USAGE:
   nova [global options] command [command options]

AUTHOR:
   Axyon Project

COMMANDS:
   discover       Discover Axyon Nova Services
   deploy         deploy platform
   platform-info  show current platform info
   service-info   show service info
   service-logs   stream service logs
   restart        restart platform services (default: all)
   remove         remove all components of the platform
   info           show app info
   update         update the application
   help, h        Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --debug, -D             enable debug logging (default: false)
   --addr value, -a value  nova grpc server address (default: "tcp://127.0.0.1:18080") [$NOVA_ADDR]
   --secret value          nova shared authentication secret [$NOVA_SHARED_SECRET]
   --help, -h              show help
   --version, -v           print the version

discover

Discover runs an mDNS discovery service that will watch and show Axyon Nova instances. This is helpful on first deployment to locate an ASC node.

deploy

This command deploys the Axyon components.

platform-info

This shows the current information such as deployed components and versions for the platform.

nova service-info platform-info
Services
 - Name: arkeia-db
   Version: postgres (PostgreSQL) 17.3

 - Name: arkeia
   Version: 2025.02.22 (c289f33)

 - Name: orion-db
   Version: postgres (PostgreSQL) 17.3

 - Name: orion
   Version: 2025.03.17 (9899f33)

 - Name: fusion
   Version: 2025.03.18 (2f7ce79)

service-info

This gets detailed information about a specific service in JSON format:

nova service-info fusion
{
  "name": "fusion",
  "image": "r.underland.io/axyon-io/fusion:stable",
  "volumes": [
    {
      "type": "bind",
      "name": "fusion",
      "destination": "/data",
      "options": [
        "rw",
        "rbind"
      ]
    }
  ],
  "env": {
    "FUSION_CERT_DIR": "/data/certs",
    "FUSION_ENABLE_DISCOVERY": "true",
    "FUSION_LISTEN_ADDRESS": ":10080"
  },
  "cmd": [
    "fusion"
  ],
  "versionCmd": [
    "/bin/fusion",
    "--version"
  ]
}

service-logs

This command streams logs for the specified service:

nova service-logs orion
time="2025-03-19T14:57:39Z" level=info msg="registered service" type=orion.services.registration.v1
time="2025-03-19T14:57:39Z" level=debug msg="waiting for services start"
time="2025-03-19T14:57:39Z" level=debug msg="starting service orion.services.compute.v1"
time="2025-03-19T14:57:39Z" level=info msg="service started: orion.services.compute.v1"
time="2025-03-19T14:57:39Z" level=debug msg="starting service orion.services.info.v1"
time="2025-03-19T14:57:39Z" level=debug msg="starting service orion.services.cluster.v1"
time="2025-03-19T14:57:39Z" level=info msg="service started: orion.services.cluster.v1"
time="2025-03-19T14:57:39Z" level=debug msg="starting service orion.services.auth.v1"
time="2025-03-19T14:57:39Z" level=info msg="service started: orion.services.auth.v1"
time="2025-03-19T14:57:39Z" level=debug msg="starting expirer"

restart

This restarts one or more services. If no service name is specified, all services are restarted.

remove

This removes the Axyon platform. The following options are available:

  • remove-volumes: Remove all data volumes (default: false)
  • remove-secrets: Remove all secret data (default: false)

update

Perform an in-place update of the Nova server.

Nova Server (novad)

NAME:
   nova - Axyon Systems Control Manager (daemon)

USAGE:
   nova [global options] command [command options]

AUTHOR:
   Axyon Project

COMMANDS:
   serve    start nova server
   config
   help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --debug, -D    enable debug logging (default: false)
   --help, -h     show help
   --version, -v  print the version

serve

Start the Nova server. The following options are available:

  • config: the path to the configuration file
  • pprof-addr: start a performance profiling server on the specified address

config

This generates an example configuration file.

Prev
Fusion