Skip to main content

Features in Omnia Radix

Sorted sort of alphabeticly.

Alerting and notification

Radix can send alerts about failing pipeline jobs, components or jobs to Slack using Incoming Webhooks.

Guide

Authentication

Guide - Radix config reference

Client certificates

ClientCertificates, which can be configured for a component or a specific environment.

Radix config reference

OAuth service

Radix provides built-in configuration for adding OAuth2 authorization with OIDC to the component. Common oauth2 settings can be configured at component level and/or in the component's environmentConfig section.

Guide - Radix config reference

Azure Blob Storage CSI driver

This driver allows Kubernetes to access Azure Storage - Blobs.

Guide - Radix config reference

Azure Key Vault integration

Azure Key Vault secrets, keys and certificates can be used in Radix as secrets. Once configured, they are available in replicas of Radix application as environment variables and files.

Guide - Radix config reference

Key Vault secret, keys and certificates are listed as variables in web console, including version information.

Guide

Autorotation of secrets

Guide

Azure Workload Identity

Some workloads (component or job replicas) running in Radix require credentials (JWT access tokens) for an Azure AD app registration or user-assigned managed identity to access Azure AD protected resources, like MS Graph, Key Vaults, Storage Accounts or Azure SQL Databases. Credentials for such workloads can be acquired using the OAuth 2.0 client credentials flow. The client credentials flow permits a workload to use its own credentials to access protected resources instead of impersonating a user. Credentials can be acquired by using either a shared secret, a certificate or with federated credentials.

Guide - Radix config reference

Backup

Application configuration is backed up every hour using Velero and that backup is stored in the Azure Storage account.

Auto build and/or deploy on GitHub commit

Continuous integration/deployment (CI/CD), using a GitHub Webhook, secured by a deploy key and a webhook secret.

Doc - Guide

Workflows

It is possible to use, for instance Git Flow or Trunk-based development. Radix gives us a couple of tools to shape our workflow: branch-environment mapping and deployment promotion.

Doc

Build and deploy pipeline

The most used pipeline is the build and deploy pipeline, which builds the application and deploys the resulting image(s).

Guide

Deploy only pipeline

Another pipeline is the deploy only pipeline, which deployes a already built image.

Guide - Radix config reference

AD Service Access Token

In order to run a deploy-only pipeline job, Azure service principals Azure AD app registration or user-assigned managed identity can be used.

Guide

Promote pipeline

Promote a deployment to another or the same environment.

Guide

Rollback to any version (as part of Promote)

It is easy to rollback to an earlier version, using the promote pipeline (yes, it should have been called demote - or rollback)

Guide

Build secrets

Named values, entered in the Radix console, passed as arguments to a Dockerfile build operation.

Guide - Radix config reference

Certificates, SSL certificates

Only HTTPS traffic is allowed in and out of the application. SSL certificates are automatically managed by Radix, except for custom external aliases.

Doc - Radix config reference

Custom certificate

Managing your own certificate is possible. Adding the certificate information to your application is done using the Radix Console

Guide

Component and/or Environment stop/start/restart

Stop, Scale, Reset and Restart of a running component or all components in an environment can be done in the Web console.

Guide

Command Line (Radix CLI)

Radix offers a command line interface - Radix CLI, which uses the command rx.

Docs

Container logs in Radix console and Radix CLI

Container logs can be accessed using Radix Web Console or Radix CLI.

Docs

Code editor integrations - radixconfig.yaml schema validation

Enable auto-completion and schema validation for radixconfig.yaml in VS Code and Jetbrains IDEs.

Guide

Cost calculation

Cost calculation is based on the total time the replicas(containers) belonging to an application has been running, and how much CPU and memory the replicas requested.

Doc

DNS aliases

Each application can have one specific component in one specific environment set as the default alias.

Doc - Radix config reference

External alias

It is possible to have multiple custom DNS aliases (i.e. to choose your own custom domain) for the application.

Doc Guide - Radix config reference

Egress rules

An egress configuration can define rules for outbound traffic from a Radix application.

Guide - Radix config reference

Enable/disable components

Components can be enabled or disabled for all or only certain environments.

Guide - Radix config reference

Environment(s)

Doc

Environment variables

Doc - Guide

Multiple environments

Doc

Horizontal autoscaling

Number of replicas can be used to horizontally scale.

Radix config

Job manager

Guide - Radix config reference

Job batches

Guide

Jobs

Guide

Kubernetes Cluster node autoscaling

For modern application development in Kubernetes and in Radix it is preferred to create applications that scales horizontally rather than vertically.

Guide

Advanced autoscaling using KEDA

Support for advanced autoscaling enabled, KEDA triggers. Scaling of pods based on messages in a Azure Service Bus, or based on a CRON Schedule, as well as resource metrics (CPU/Memory). If you are using a non-resource trigger, we also support scaling to 0 replicas!

Radix config reference

Monorepo

It is possible to have multiple Radix applications, using the same GitHub repository, also known as monorepo software development strategy.

Guide

Monitoring and metrics

Prometheus and Grafana are the main tools provided in Radix for analytics and monitoring visualisation.

Guide - Doc - Radix config reference and config reference

Sub-pipelines (Tekton)

After "Build components" step (if it does not exist - after "Prepare pipeline" step), the step "Run sub-pipeline" runs optional sub-pipeline. Using the Tekton CI/CD framework.

Doc Guide - Tekton documentation

Pipeline status badges

A pipeline status badge shows the status of the latest pipeline job of a specific type in a specific environment. Status is one of success, failing, stopped, pending or running.

Guide

Private container image repositories

When using a Deploy only strategy, a private image is often used.

Guide - Radix config reference

Probes, monitoring container liveness

Radix uses readiness probe to minimize this downtime as close to zero as possible.

Doc

Replica

A replica is a running instance of a component. As a normal process, it can write to the standard output (stdout), which is made available for inspection by Radix.

Doc

Resource request

resources is used to ensure that each container is allocated enough resources to run as it should.

Guide

Rolling updates

Radix aims to support zero downtime application re-deployment by utilising Kubernetes' rolling update and readiness probe features.

Doc

Runtime secrets

Secrets are made available to components as environment variables

Doc

Git Submodules

Submodules is a native git feature which enables git repositories within other git repositories.

Guide

Vulnerability scanning

Web console (dashboard)

Radix Web Console