Skip to content

Jets

A Jet is an application or a set of applications that can be managed independently on a server. It is not tied to any specific technology.
In Cetmix Tower, you define what can run using Jet Templates; a Jet is a concrete instance of that template on a given Server.

Examples of what a Jet can represent:

  • An app running directly on the host
  • A Docker/LXC container or a Kubernetes pod
  • A set of containers running a set of apps that form a service
  • An entire virtual machine, e.g. a Proxmox VM
  • A single database in a database server
  • Virtually anything that can be managed separately...

Main concepts

  • Template-based: Every Jet is created from a Jet Template, which defines its lifecycle (states, actions, flight plans, waypoints, dependencies). The template cannot be changed after creation.
  • State and actions: A Jet has a current state (e.g. stopped, running). You change state by running actions, which can execute Flight Plans.
  • Configuration: Jets are configured using variables (with fallback: Jet → Jet Template → Server → Global) and files .
  • Waypoints: Waypoints let you save and restore a Jet's state and configuration. They can serve as a backup or a snapshot to return to later.
  • Dependencies: A Jet can require other Jets (of certain templates) to be in specific states. Tower can create or reuse Jets automatically to satisfy those dependencies via Jet Requests.
  • Transfer and clone: Jets can be transferred between servers. A Jet can be cloned on the same server or on another server (when the template allows it).
  • Execution: On a Jet you can run Commands and Flight Plans, and view command logs and plan logs.

Feature availability

Jets is a new feature that may be currently available only for some Odoo versions.
Not available for your Odoo version yet? Contact us!

Access Rules

Note

Users can create Jets from the wizard if added in "Users" of the related template.

Group Action Condition
User R User is added to "Users" and user is added to "Users" in the related Server
Manager R User is added to "Users" or "Managers" and user is added to "Users" or "Managers" in the related Server
Manager CRU User is added to "Managers" and user is added to "Users" or "Managers" in the related Server
Manager CRUD User is added to "Managers" and the record is created by the user and user is added to "Users" or "Managers" in the related Server
Root CRUD Any record

Info

CRUD stands for Create, Read, Update, Delete.

Jet Configuration

Jets are located under the Cetmix Tower > Jets > Jets menu.

Jet Kanban

Important

Field and tab visibility depend on the user's Access Level. Some tabs (e.g. Dependencies, Access, Waypoints, Scheduled Tasks) are only available to users with Manager and Root access levels.

Main Form

Jet Form

On the main form you set the Jet name, tags, linked Jet Template and Server, current state, URL (e.g. to the app interface), and partner. Use the Command and Flight Plan header buttons to run Commands and Flight Plans. The States and Actions tab shows available actions and (for managers) available states so you can trigger transitions.

Important

The Jet Template assigned to a Jet cannot be changed after creation.

Configuration

Configuration Tab

Configuration Variables for this Jet. Resolution order: Jet → Jet Template → Server → Global. Used when rendering Commands and Files on this Jet.

Variable Access Level

By default, the Access Level of the variable value is set to that of the Variable.
It is possible to change the Access Level only to a higher level.

Waypoints

Waypoints Tab

Waypoints created for this Jet. Waypoints save and restore the Jet's state and configuration (backup/snapshot).
See the waypoint lifecycle documentation for detailed information on how to manage Jet waypoints.

Metadata

Developer mode

The Metadata tab is visible only in developer mode.

Metadata Tab

Jets have a metadata field: a JSON object for custom key-value data (versions, paths, flags, etc.). The field is read-only in the UI. Set or update it from Python code commands, Odoo automation, or the API using jet.update_metadata({...}) (merges with existing keys) or jet.write({"metadata": {...}}) (replaces the dict). Read it in commands or conditions via jet.metadata. Waypoints also have metadata; waypoint metadata is exposed in variables as tower.jet.waypoint.<key> when resolving in a jet context.

Dependencies

Dependencies Tab

Depends on: other Jets this Jet requires (from the template's dependency definition). Serves dependencies: Jets that depend on this one.
Use Open to jump to the related Jets.

Access Roles

Access Tab

Access Roles: Users and Managers who can access or modify this Jet. Inherited from the template when the Jet is created; can be overridden per Jet.

Jet Logs

Jet Logs Tab

Server Logs linked to this Jet (e.g. to fetch application logs via a Command or File). Use Open on a log to open its full form.

Scheduled Tasks

Scheduled Tasks Tab

Scheduled tasks linked to this Jet. They run Commands or Flight Plans on a schedule. Tasks are usually assigned from the Jet Template when the Jet is created.

Buttons

Button Description
Command Run a Command on this Jet (hidden while an action is running).
Flight Plan Run a Flight Plan on this Jet.
Command Logs Command logs for this Jet.
Flight Plan Logs Flight Plan logs for this Jet.
Files Files linked to this Jet.