GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
OVERLORD(1) FreeBSD General Commands Manual OVERLORD(1)

overlordDeploy FreeBSD jails as fast as you code

overlord --version

overlord [--env-file file] apply [--restart] --file file

overlord [--env-file file] cancel [--filter-chain filter] --file file

overlord [--env-file file] print-config

overlord [--env-file file] print-spec

overlord [--env-file file] destroy [--force] [--filter-chain filter] --file file

overlord [--env-file file] gen-token [--metadata key[=value]] [--expire expire] [--expire-type type]

overlord [--env-file file] get-info [--jail-item item] [--all-labels] [[--filter filter|--filter-per-project]] [--use-autoscale-labels] --file file --type type

overlord [--env-file file] get-project-log --file file --date date --service service --log log entrypoint

overlord [--env-file file] get-jail-log --file file --type type --entity entity --subtype subtype --log log entrypoint

overlord [--env-file file] poll-jails

overlord [--env-file file] poll-jail-info

overlord [--env-file file] poll-jail-extras [--item item]

overlord [--env-file file] poll-jail-stats

overlord [--env-file file] poll-projects

overlord [--env-file file] poll-project-info

overlord [--env-file file] poll-autoscale

overlord [--env-file file] poll-heartbeat

overlord [--env-file file] watch-projects

is a fast, distributed orchestrator for FreeBSD jails oriented to GitOps. You define a file with the service intended to run on your cluster and deployment takes seconds to minutes.

[--restart] --file file
Applies a file containing a deployment, or in other words, this command is to deploy something depending on the deployment type specified in overlord-spec(5).
If this option is set and is a deployment, all jails in the project will be restarted. Overlord does not control the execution flow, it uses and of Director for this. If you have configured autoscaling, this option is ignored.

In the case of a vmJail deployment, the above process takes place, however in a vmJail deployment the VM is forcibly shutdown, which may lead to data loss or something else. Be careful.

file, --file file
Deployment file.
[--filter-chain filter] --file file
Cancels a project or VM in execution.
filter
Destroy the project that matches with this chain.

This parameter can be specified multiple times.

file, --file file
Deployment file.
Prints the configuration in JSON format. This includes the default values.
Prints the specification of a deployment file in JSON format. This includes the default values.
[--force] [--filter-chain filter] --file file
Destroy a project or metadata.
Force the destruction of a project.

Overlord will refuse to destroy a project that has an unexpected status, however labels are still executed and if they any of them fail, the project will not be destroyed.

filter
Destroy the project that matches with this chain.

This parameter can be specified multiple times.

file, --file file
Deployment file.
[--metadata key[=value]] [--expire expire] [--expire-type type]
Generate a new token.
key[=value]
Additional metadata. They can be used for additional functions or third-party tools.
expire
If this parameter is set, an expiration date is set on the token, which by default never expires.
type
Set the expiration date in seconds, minutes, hours, days or weeks.
[--jail-item item] [--all-labels] [[--filter filter|--filter-per-project]] [--use-autoscale-labels] --file file --type type
Gets information about an entity specified with --type.
item
When the --type parameter is set to jails, this parameter can be used to control how much information to display from the jails. Valid values are , , cpuset, devfs, expose, healthcheck, limits, fstab, , nat and . If this parameter is not specified, all elements are used.

This parameter can be specified multiple times.

By default, the information is displayed according to the labels specified in the deployment file. This parameter displays all information ignoring the labels.
filter
Depending on the value specified with --type, it can be used to filter the information to be displayed. The value of this parameter is a literal string when the --type parameter is set to autoscale or a valid regular expression for other types. The value to compare can be the jail name, the project name, the VM name, a chain or a log file name.

This parameter can be specified multiple times.

Like --filter but matching only the project or VM specified in the deployment file.
Use the labels defined in the section.
type, --type type
What kind of information to get. The elements are jails, to get information about jails, to get information about projects, to get information about VM deployments, to simply display chains recursively, autoscale to get the scaling status, to display an ASCII-tree of chains, to get server metrics, metadata to get the metadata specified in the deployment file or in the parameter --filter, for logs created by Director and for logs created by AppJail.
file, --file file
Deployment file.
--file file --date date --service service --log log entrypoint
Gets the content of a log created by Director.
file, --file file
Deployment file.
date, --date date
Log date.
service, --service service
Service name.
log, --log log
Log file name.
entrypoint
An entry point that must exist in the deployment file. After the entry point, a chain can be specified (e.g.: main.delta.echo).
--file file --type type --entity entity --subtype subtype --log log entrypoint
Gets the content of a log created by AppJail.
file, --file file
Deployment file.
type, --type type
Group of entities.
entity, --entity entity
Individual in a group.
subtype, --subtype subtype
Group of logs.
log, --log log
Log file name.
entrypoint
An entry point that must exist in the deployment file. After the entry point, a chain can be specified (e.g.: main.delta.echo).
Collects the list of jails from the system and stores them in the cache server. Indispensable for other polling operations.
Using the list of jails stored in the cache server, this command will collect the information of each jail to be stored in the cache server.
[--item item]
Like poll-jail-info but for more information depending on the --item parameter.
item
The reason for having this parameter is to allow more processes to be separated to collect information in parallel and decide exactly what information to obtain.

Valid values are cpuset, devfs, expose, healthcheck, limits, fstab, , nat and .

Collects the statistics provided by the rctl(4) framework on the jails and stores them in the cache server.
Collects the list of projects from the system and stores them in the cache server. Indispensable for other polling operations.
Using the list of projects stored in the cache server, this command will collect the information of each project to be stored in the cache server.
Scale projects based on metrics and replicas.
Checks the status of each chain.

This adds more intelligence to the server because Smart Timeouts can completely disable a chain if it is slow to respond after a few attempts but does not necessarily mean it is faulty. So instead of simply disabling a chain for a while, this command influences this operation because it allows a user to make requests based on the health of the chain.

Wait for jobs to create or destroy a project.

See SPECIAL LABELS for more information on the labels that this command can use to perform some operations.

Jails can have labels and some of them cause the watch-project command to perform certain operations.

In order for special labels to perform their operations, the project must have the status and each jail must have the status reported by appjail-status(1). Jails that do not meet this requirement will be completely ignored.

Also note that in the case of destroying a project requested by the destroy command, the project will not be destroyed if an integration fails in its operation. This is to inform you first if an error has occurred and it is necessary to intervene.

If this label has a value, a new server is added, replaced or removed (depending on whether the project will be added or destroyed) to the backend specified in the overlord.load-balancer.backend label.
The backend to add, replace or remove the server.
The interface to obtain the IP address.
The port to which the load-balancer will be connected.
The network address where the corresponding IP should be.

If this label is not specified, the first IP returned will be used.

name
Additional configuration to add to the server. The value must be in JSON format.

See also Add a new server and Replace a server

If this label has a value, new DNS records are added to an etcd instance assuming that a SkyDNS instance is consuming it. In the modern era, you should use coredns-etcd(7) instead of the older implementation that is not related to CoreDNS.
This is the part that specifies the DNS label that is concatenated between the server ID and the zone. In other words, the domain will be serverid.group.zone, but you should use group.zone to consume, also remember that how SkyDNS is designed, the IPs are accumulated, so you can use it in a round-robin fashion, although it is preferable to use a load-balancer for this function, however.
The interface to obtain the IP address.
The network address where the corresponding IP should be.

If this label is not specified, the first IP returned will be used.

Note that if the IP address is an IPv4 address, an A record will be added, and if the IP is an IPv6 address, an AAAA record will be added instead.

The time-to-live field for A and AAAA records.
If this label has a value, a record using the IP address of the interface specified in the overlord.skydns.interface label is added.

Note that you should use this record only if you are absolutely sure that the IP addresses are different between each system on which the project will be deployed.

If this label has a value, an SRV record is added.
The port that clients must use to connect to the application.
The protocol that clients must use to communicate with the application. Normally or .
The symbolic name of the desired service.
The priority of the target host.
A relative weight for records with the same priority, higher value means higher chance of getting picked.

See also Service Announcements for how this value is calculated.

The time-to-live field for the SRV record.

OVERLORD_CONFIG
The configuration file to load if it exists. The default is .
OVERLORD_METADATA
An environment variable set by the watch-projects command to indicate where the metadata is located. Useful for using metadata as simple text files.

appjail(1) overlord-spec(5)

Jesús Daniel Colmenares Oviedo <DtxdF@disroot.org>

January 13, 2025 FreeBSD 14.3-RELEASE

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.