Skip to content

v1.8.0

Compare
Choose a tag to compare
@github-actions github-actions released this 23 Oct 14:06
· 38 commits to main since this release
48a18e5

This release contains a few new features for Deploio.

Worker Jobs

Worker jobs are separate processes which use the same image as the application, but with a different entry point. One common use-case is to start a task scheduler which executes tasks on a regular base.

Here's how you can add a worker job to an existing app:

nctl update app --worker-job-name=sidekiq --worker-job-command="bundle exec sidekiq"

See the docs for more details.

Application Stats

To get an overview of the app replicas, their status and resource usage you can use the -o stats flag for the nctl get app command.

$ nctl get app rails -o stats
PROJECT        NAME    REPLICA                  STATUS   CPU   CPU%   MEMORY   MEMORY%   RESTARTS   LASTEXITCODE
nine-staging   rails   rails-9f6bdb676-crlrf    ready    1m    0.8%   121MiB   47.4%     0          <none>
nine-staging   rails   rails-9f6bdb676-2pfps    ready    1m    0.8%   123MiB   48.4%     0          <none>
nine-staging   rails   rails-9f6bdb676-sd9mm    ready    1m    0.8%   122MiB   48.0%     1          137 (Out of memory)

If you have worker jobs defined, they will also show up here. The help output of nctl get app -h describes all the columns:

REPLICA: The name of the app replica.
STATUS: Current status of the replica.
CPU: Current CPU usage in millicores (1000m is a full CPU core).
CPU%: Current CPU usage relative to the app size. This can be over 100% as Deploio allows bursting.
MEMORY: Current Memory usage in MiB.
MEMORY%: Current Memory relative to the app size. This can be over 100% as Deploio allows bursting.
RESTARTS: The amount of times the replica has been restarted.
LASTEXITCODE: The exit code the last time the replica restarted. This can give an indication on why the replica is restarting.

Application Logs

The applications logs output has changed slightly to include certain labels in front of the log line to give some important context:

$ nctl logs app go
2024-10-22T16:07:55+02:00 {build="go-build-1", replica="go-build-1-build-pod"} Build successful
2024-10-22T16:07:59+02:00 {replica="go-59dcf7656f-9wr52"} 2024/10/22 14:07:59 starting HTTP server on :5678

This makes it clear, to which component each log line belongs to. There's also a new flag to filter by type (--type). See the newly added docs for more details and examples.

What's Changed

New Contributors

Full Changelog: v1.7.7...v1.8.0