← Back to Changelog
13th September 2021
Dynamic Runtime Configuration for Jobs, Improvements to API, Addons and Templates
Today we are excited to announce dynamic runtime configuration for Jobs on Northflank. It is now possible to configure environment variables and container image arguments for unique invocations of your job runs.
- Every invocation spawns a container with its own resources (current maximum 2 vCPU & 4 GB RAM)
- Unlimited execution time billed by the second of execution - pay for a powerful and limitless elastic compute only when you need it
- Optionally configure job retry limit and max execution time
Deploy a diverse range of workloads to Northflank with the ability to choose the most suitable runtime environment to get the best capability, cost and performance for your workload:
- Services: sustained runtime with elastic compute required to serve requests continuously
- Jobs: on-demand runtime with elastic compute to process background tasks as required
Example use cases
- Trigger a game server for a matchmade game
- Convert batch media files to different formats
- Generate and send PDFs to your users with configuration set via environment variables
- Calculate statistics and process complex data from databases
This feature is now supported in the Northflank API and CLI.
await apiClient.start.job.run({
parameters: {
projectId: "billing",
jobId: "invoice-collection",
},
data: {
runtimeEnvironment: {
CUSTOMER_ID: "WhoR8gCYEF",
CUSTOMER_EMAIL: "jane-doe@acme.corp",
},
deployment: {
docker: {
cmd: "node invoice.js $CUSTOMER_ID $CUSTOMER_EMAIL",
},
},
},
});
API
- Added an example JS client code for
Assign service to subdomain
endpoint - Added an API endpoint to abort builds
- Improved accessibility of the Northflank API Documentation
- Fixed an issue where description was required in the
Create project
endpoint - Fixed an issue with
Assign service to subdomain
endpoint not updating the service if a certificate hasn’t been issued - Fixed
Get health checks
endpoint not returning any data even if health checks were configured
Addons
- UI now displays a clearer warning for addons where an upgrade is recommended and addons that have an upgrade available
- Updated databases connection strings to work with Compass and and support both TLS/SSL query parameters with their enabled/disabled state
- Fixed an issue where backups wouldn’t work correctly for MongoDB with configured security rules
Template repositories
- Updated Rust template repository to bind to
0.0.0.0
so that the webserver is bound to both theetho
andloopback device
rather than only127.0.0.1
- Improved auto port detection when template repositories are used
- Fixed an issue where GitHub wouldn’t create new repositories in some edge cases
- Fixed an issue where GitLab repositories would create as internal despite public being selected
Other features & fixes
- Aborted job runs now display an explicit status saying
Aborted
rather thanFailed
- Updated build identifiers to be the human-readable name across the UI and API for easier team collaboration when referencing builds
- Updated Northflank GitHub actions so the link for
View deployment
takes you to your Northflank dashboard if there is no public service endpoint - Improved VCS error handling to display more informative messages to the user
- Removed Auto DevOps on self-hosted GitLab instances so they don’t run default CI steps with GitLab runners
- Fixed an issue where build type (Dockerfile / Buildpack) would appear as unselected on existing services
- Fixed issues with environment diff editor showing local changes incorrectly and not displaying a warning when a team member made changes
Next product developments