Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
86702e3
Installation how-to
Reshrahim Oct 23, 2025
88d0754
Revert install command
Reshrahim Oct 23, 2025
e8db5c3
Revert install command
Reshrahim Oct 23, 2025
d255ee9
Fix build
Reshrahim Oct 23, 2025
72c1f37
Merge branch 'edge' into re/installation
Reshrahim Oct 23, 2025
c62ebc2
Update uninstall guides
Reshrahim Oct 24, 2025
ae57f81
Updates
Reshrahim Oct 24, 2025
1213832
Rebase
Reshrahim Oct 27, 2025
34fc599
Rebase
Reshrahim Oct 27, 2025
331bd17
Update installation
Reshrahim Oct 27, 2025
04a6e07
Shortcode
Reshrahim Oct 27, 2025
aa93180
Shortcode
Reshrahim Oct 27, 2025
8e20c37
Upd link
Reshrahim Oct 27, 2025
8e8c98f
Upd shortcode
Reshrahim Oct 27, 2025
c2ef714
Updates
Reshrahim Oct 28, 2025
709fd64
Merge uninstall into install
Reshrahim Oct 28, 2025
4568f52
UnMerge uninstall from install
Reshrahim Oct 28, 2025
3080c88
Remove uninstall merge updates
Reshrahim Oct 28, 2025
9c49e95
Revamp installation
Reshrahim Oct 29, 2025
ff29c35
Installation guide updates
Reshrahim Oct 30, 2025
a9c692c
FIX LINK
Reshrahim Oct 30, 2025
a9898b6
Fix style
Reshrahim Oct 30, 2025
3f4eb44
Fix style
Reshrahim Oct 30, 2025
79dc781
Updates
Reshrahim Oct 30, 2025
dd7cc19
Updates to rollback and upgrade
Reshrahim Oct 30, 2025
3def165
Add upgrade docs
Reshrahim Nov 4, 2025
bdd90ae
Merge conflict
Reshrahim Nov 4, 2025
8665d59
Updates
Reshrahim Nov 4, 2025
93e9db0
Updates
Reshrahim Nov 4, 2025
1fecb53
Resolve conflicts
Reshrahim Nov 4, 2025
cef9c42
Address feedback-1)
Reshrahim Nov 7, 2025
659c127
Merge branch 'edge' into re/installation
Reshrahim Nov 7, 2025
4bcdf5a
Merge branch 'edge' into re/installation
Reshrahim Nov 18, 2025
1222f87
Github theme
Reshrahim Nov 21, 2025
bf2c9a5
Merge branch 'edge' into re/installation
Reshrahim Nov 21, 2025
71624cc
Revise prerequisites for Azure Container Instances guide
Reshrahim Nov 21, 2025
b9a553f
Github theme
Reshrahim Nov 21, 2025
2ad0802
Apply suggestions from code review
Reshrahim Dec 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/content/getting-started/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ Initializing Radius...
Initialization complete! Have a RAD time 😎
```

In addition to starting Radius services in your Kubernetes cluster, this initialization command creates a default application (`app.bicep`) as your starting point. It contains a single container definition (`demo`). `rad init` also creates a [`bicepconfig.json`]({{< ref "/guides/tooling/bicepconfig/overview" >}}) file in your application's directory that has the necessary setup to use Radius with the official Bicep compiler.
In addition to starting Radius services in your Kubernetes cluster, this initialization command creates a default application (`app.bicep`) as your starting point. It contains a single container definition (`demo`). `rad init` also creates a `bicepconfig.json` file in your application's directory that has the necessary setup to use Radius with the official Bicep compiler.

{{< rad file="snippets/app.bicep" embed=true markdownConfig="{linenos=table,linenostart=1}" >}}

Expand Down
2 changes: 1 addition & 1 deletion docs/content/guides/author-apps/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ type: docs
title: "Authoring applications"
linkTitle: "Authoring applications"
description: "Learn how to author a Radius Application"
weight: 100
weight: 200
---
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,6 @@ Select 'No' when asked to setup application in the current directory.

{{< read file= "/shared-content/installation/bicepconfig/manual.md" >}}

More information on how to setup a `bicepconfig.json` can be found [here]({{< ref "/guides/tooling/bicepconfig/overview" >}})

## Step 4: Create a Bicep file to model AWS Simple Storage Service (S3)

Create a new file called `app.bicep` and add the following bicep code to model an AWS S3 Bucket:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ This how-to guide will provide an overview of how to:

- [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}})
The [Bicep extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) for VS Code is recommended for Bicep language support
- Radius [installed]({{< ref "/guides/operations/kubernetes/kubernetes-install" >}}) on a [supported Kubernetes cluster]({{< ref "/guides/operations/kubernetes/overview#supported-kubernetes-clusters" >}})
- Radius [installed]({{< ref "/guides/installation/install" >}}) on a [supported Kubernetes cluster]({{< ref "/guides/operations/kubernetes/overview#supported-kubernetes-clusters" >}})
- An Azure provider configured and registered with your Radius control plane, either through [Service Principal](https://docs.radapp.io/guides/operations/providers/azure-provider/howto-azure-provider-sp/) or [Workload Identity](https://docs.radapp.io/guides/operations/providers/azure-provider/howto-azure-provider-wi/) that have been assigned to the `Contributor` and `Azure Container Instances Contributor` roles on the subscription or resource group where the ACI containers will be deployed
- A [managed identity](https://learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/) is [required]({{< ref "/reference/resource-schema/core-schema/environment-schema#identity" >}}) for ACI deployments, if you choose to utilize a [user-assigned managed identity](https://learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/how-manage-user-assigned-managed-identities?pivots=identity-mi-methods-azp) then you need to ensure it is assigned to the `Contributor` and `Azure Container Instances Contributor` roles on the subscription and resource group where the ACI containers will be deployed

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,6 @@ Select 'No' when asked to setup application in the current directory.

{{< read file= "/shared-content/installation/bicepconfig/manual.md" >}}

More information on how to setup a `bicepconfig.json` can be found [here]({{< ref "/guides/tooling/bicepconfig/overview" >}})

## Step 3: Define a Radius Environment

Create a file named `app.bicep` and define a Radius Environment with [identity property]({{< ref "/guides/deploy-apps/environments/overview" >}}) set. This configures your environment to use your Azure AD workload identity installation with your cluster's OIDC endpoint:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,6 @@ Select 'No' when asked to setup application in the current directory.

{{< read file= "/shared-content/installation/bicepconfig/manual.md" >}}

More information on how to setup a `bicepconfig.json` can be found [here]({{< ref "/guides/tooling/bicepconfig/overview" >}})

## Step 3: Define a Radius Environment

Create a file named `app.bicep` and define a Radius Environment with the identity property set:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Radius Environments can be setup with the rad CLI via two paths: interactive or
rad init
```

Select `Yes` to setup the application in the current directory. This will create `app.bicep` and [`bicepconfig.json`]({{< ref "/guides/tooling/bicepconfig/overview" >}}) files
Select `Yes` to setup the application in the current directory. This will create `app.bicep` and `bicepconfig.json`

```
Initializing Radius...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ It's easy to get Radius added to your GitHub Actions deployment pipelines. By le
## Prerequisites

- [Setup a supported Kubernetes cluster]({{< ref "/guides/operations/kubernetes/overview#supported-clusters" >}})
- Radius control plane [installed in your cluster]({{< ref kubernetes-install >}})
- [Radius installed in your cluster]({{< ref "/guides/installation/install" >}})
- GitHub repo with Actions enabled

## Step 1: Create your environment and application definitions
Expand All @@ -28,7 +28,7 @@ Make sure you have the following files checked into your repository under `iac/`

{{< rad file="snippets/app.bicep" embed="true" >}}

### [`bicepconfig.json`]({{< ref "/guides/tooling/bicepconfig/overview" >}})
### `bicepconfig.json`

```json
{
Expand Down
7 changes: 7 additions & 0 deletions docs/content/guides/installation/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
type: docs
title: "Radius installation"
linkTitle: "Installation"
description: "Learn how to install and manage Radius"
weight: 100
---
145 changes: 145 additions & 0 deletions docs/content/guides/installation/install/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
---
type: docs
title: "How-To: Install Radius on Kubernetes"
linkTitle: "Install"
description: "Learn how to install Radius on Kubernetes"
weight: 100
categories: "How-To"
tags: ["Kubernetes"]
Comment on lines +3 to +8
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
title: "How-To: Install Radius on Kubernetes"
linkTitle: "Install"
description: "Learn how to install Radius on Kubernetes"
weight: 100
categories: "How-To"
tags: ["Kubernetes"]
title: "How-To: Install Radius"
linkTitle: "Install"
description: "Learn how to install Radius on Kubernetes"
weight: 100

aliases:
- /guides/operations/kubernetes/kubernetes-install
---

Radius handles the deployment and management of environments, applications, and other resources with components that are installed into the Kubernetes cluster.

## Prerequisites

- A Kubernetes cluster with cluster-admin privileges for your user.
- [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/)

## Step 1: Install the Radius CLI

{{< read file= "/shared-content/installation/rad-cli/install-rad-cli.md" >}}

The Radius CLI stores its configuration in a YAML file named `config.yaml` under the `rad` directory. This file contains [Workspaces]({{< ref "/guides/operations/workspaces/overview" >}}), which point to your cluster, your [Resource Group]({{< ref "/guides/operations/groups/overview" >}}), and your [Environment]({{< ref "/guides/deploy-apps/environments/overview" >}}). When the Radius CLI runs commands, it will use the configuration in the `config.yaml` file to determine which cluster, resource group, and environment to target and use.

For more information, refer to the [`config.yaml` reference documentation]({{< ref "/reference/config" >}}).

## Step 2: Install Radius

Install Radius using any of the following options:

{{< tabs `rad initialize` `rad install` `Using Helm` >}}{{% codetab %}}

[`rad initialize`](<{{< ref rad_initialize >}}>) command installs Radius and creates a pre-configured set of Resource Types, Recipes, and Environments. It is intended to get you started quickly

``` bash
rad initialize
```

Select `Yes` to setup application in the current directory.

Example output:

```
Initializing Radius...
✅ Install Radius {{< param version >}}
- Kubernetes cluster: k3d-k3s-default
- Kubernetes namespace: radius-system
✅ Create new environment default
- Kubernetes namespace: default
- Recipe pack: local-dev
✅ Scaffold application todolist
✅ Update local configuration
Initialization complete! Have a RAD time 😎
```

This command:

- Creates a namespace called the `radius-system` namespace and installs the Radius control plane components.
- Creates a default Resource group, Environment, and Workspace.
- Pre-configures the Environment with Recipes.
- Creates `app.bicep` with a sample `demo` container.
- Creates `bicepconfig.json` which contains the Bicep extensions for Radius resources.

{{% /codetab %}}
{{% codetab %}}

[`rad install kubernetes`]({{< ref rad_install_kubernetes >}}) installs the Radius control plane into the `radius-system` namespace.

You can optionally use the `--set` flag to customize the installation with Helm configuration options([#helm-configuration-options](https://github.com/radius-project/radius/blob/main/deploy/Chart/values.yaml)):

```bash
# Install Radius
rad install kubernetes

# Install Radius with tracing and public endpoint override
rad install kubernetes --set global.zipkin.url=http://jaeger-collector.radius-monitoring.svc.cluster.local:9411/api/v2/spans,rp.publicEndpointOverride=localhost:8081
```

### Use your own root certificate authority certificate

Many enterprises leverage intermediate root certificate authorities (CAs) to enhance security and control over outgoing traffic originating from their employees' machines, particularly when using a firewall or proxy solution. For example, some enterprises may choose to issue CAs per org and control the traffic per org. In this setup, when Radius attempts to connect to an external endpoint, such as Azure or AWS, traffic is blocked by the firewall. You may optionally use`--set-file` when installing Radius to inject your root CA certificates into Radius:

```bash
rad install kubernetes --set-file global.rootCA.cert=/etc/ssl/your-root-ca.crt
```
{{% /codetab %}}
{{% codetab %}}

Begin by adding the Radius Helm repository:

```bash
helm repo add radius oci://ghcr.io/radius-project/helm-chart
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This gives me the following error:

Error: looks like "oci://ghcr.io/radius-project/helm-chart" is not a valid chart repository or cannot be reached: failed to perform "FetchReference" on source: invalid reference

It may just be me or we may need to update the link.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same. The instructions on https://github.com/radius-project/radius/tree/main/deploy/Chart don't work either.

helm repo update
```

Get all available versions:

```bash
helm search repo radius --versions
```

Install the specified chart:

```bash
helm upgrade radius radius/radius --install --create-namespace --namespace radius-system --version {{< param chart_version >}} --wait --timeout 15m0s
```

Check out the [Helm chart](https://github.com/radius-project/radius/blob/main/deploy/Chart) for more information.

{{% /codetab %}}
{{</tabs>}}

## Step 3: Verify the installation

Verify if the pods are installed and running:

```bash
kubectl get pods -n radius-system
```
You should see output similar to:

```
NAME READY STATUS RESTARTS AGE
applications-rp 1/1 Running 0 1m
bicep-de 1/1 Running 0 1m
controller 1/1 Running 0 1m
dashboard 1/1 Running 0 1m
dynamic-rp 1/1 Running 0 1m
ucp 1/1 Running 0 1m
```

## Step 4: Install the Bicep and Terraform extensions for VS Code (optional)

Radius uses the Infrastructure as Code (IaC) language Bicep to define application resources and either Bicep or Terraform to deploy resources. Installing the Bicep and Terraform VS Code extensions provides syntax highlighting, auto-completion, and other useful features for these languages.

- [Install the Bicep extension for VS Code](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-bicep)

- [Install the Terraform extension for VS Code](https://marketplace.visualstudio.com/items?itemName=HashiCorp.terraform)

## Next steps

- Refer to the [`rad install`]({{< ref rad_install >}}) command for installation options.
- Learn about [upgrading Radius]({{< ref "guides/installation/upgrade" >}})
- Learn how to [rollback Radius]({{< ref "guides/installation/rollback" >}})
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
---
type: docs
title: "How-To: Rollback Radius on Kubernetes"
linkTitle: "Rollback Radius on Kubernetes"
linkTitle: "Rollback "
description: "Learn how to rollback Radius to a previous version on Kubernetes"
weight: 350
categories: "How-To"
tags: ["Kubernetes"]
aliases:
- /guides/operations/kubernetes/kubernetes-rollback
---

Radius supports rolling back to previous versions on Kubernetes clusters using the `rad rollback kubernetes` command. This feature allows you to quickly revert to a known-good version if issues are encountered after an upgrade.

## Prerequisites

- [Radius installed on Kubernetes cluster]({{< ref "guides/operations/kubernetes/kubernetes-install" >}})
- [rad CLI]({{< ref howto-rad-cli >}})
- [Radius installed on Kubernetes cluster]({{< ref "guides/installation/install" >}})
- [rad CLI]({{< ref installation >}})
- Previous Radius installation to rollback to

## Understanding Helm revisions
Expand Down Expand Up @@ -179,7 +181,8 @@ helm rollback radius 2 -n radius-system

## Next steps

- Learn about [upgrading Radius]({{< ref "guides/operations/kubernetes/kubernetes-upgrade" >}})
- Learn about [upgrading Radius]({{< ref "guides/installation/upgrade" >}})
- Review [Radius versioning]({{< ref "guides/operations/versioning" >}}) for version compatibility
- Check [release notes](https://github.com/radius-project/radius/releases) for version-specific information
- Refer to the [`rad rollback kubernetes`]({{< ref "reference/cli/rad_rollback_kubernetes" >}}) CLI reference docs for more details

Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
---
type: docs
title: "How-To: Uninstall Radius from Kubernetes"
linkTitle: "Uninstall Radius"
linkTitle: "Uninstall "
description: "Learn how to uninstall Radius control plane from your Kubernetes cluster"
weight: 400
categories: "How-To"
tags: ["Kubernetes"]
aliases:
- /guides/operations/kubernetes/kubernetes-uninstall
---

## Prerequisites

- [Radius installed on Kubernetes cluster]({{< ref "guides/operations/kubernetes/kubernetes-install" >}})
- [Radius installed on Kubernetes cluster]({{< ref "guides/installation/install" >}})

## Step 1: Uninstall the Radius control-plane from your kubernetes cluster

Expand All @@ -34,4 +36,4 @@ All Radius configuration and data will be removed as part of the namespace. This

## Step 3: Remove the rad CLI

You can remove the rad CLI by deleting the [ binary ]({{< ref "/guides/tooling/rad-cli/overview#binary-location" >}}) and ~/.rad folder from your machine.
You can remove the rad CLI by deleting the `rad` binary under `/usr/local/bin/` and `~/.rad` folder from your machine.
Original file line number Diff line number Diff line change
@@ -1,19 +1,20 @@
---
type: docs
title: "How-To: Upgrade Radius on Kubernetes"
linkTitle: "Upgrade Radius on Kubernetes"
linkTitle: "Upgrade"
description: "Learn how to upgrade Radius on Kubernetes"
weight: 300
categories: "How-To"
tags: ["Kubernetes"]
aliases:
- /guides/operations/kubernetes/kubernetes-upgrade
---

Radius supports in-place upgrades on Kubernetes clusters using the `rad upgrade kubernetes` command. This command upgrades the Radius control plane while preserving your existing environments and applications.

## Prerequisites

- [Radius installed on Kubernetes cluster]({{< ref "guides/operations/kubernetes/kubernetes-install" >}})
- [Latest rad CLI]({{< ref howto-rad-cli >}})
- [Radius installed on Kubernetes cluster]({{< ref "guides/installation/install" >}})

## Step 1: Upgrade the rad CLI

Expand Down Expand Up @@ -81,7 +82,7 @@ While Radius supports in-place upgrades, breaking changes may still occur betwee

### Rollback capability

If an upgrade encounters issues, you can rollback to a previous version using the [`rad rollback kubernetes` command]({{< ref "guides/operations/kubernetes/kubernetes-rollback" >}}).
If an upgrade encounters issues, you can rollback to a previous version using the [`rad rollback kubernetes` command]({{< ref "guides/installation/rollback" >}}).

It's recommended to backup your environment configurations before upgrading, which you may do with something like `rad env show -o json > env-backup.json`.

Expand Down Expand Up @@ -115,6 +116,6 @@ If you prefer to do a fresh installation instead of an in-place upgrade, follow

## Next steps

- Learn how to [rollback Radius]({{< ref "guides/operations/kubernetes/kubernetes-rollback" >}}) if needed
- Learn how to [rollback Radius]({{< ref "guides/installation/rollback" >}}) if needed
- Review [Radius versioning]({{< ref "guides/operations/versioning" >}}) for version compatibility information
- Refer to the [`rad upgrade`]({{< ref "reference/cli/rad_upgrade_kubernetes" >}}) CLI reference docs for more details
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ tags: ["metrics", "observability"]
- [Supported Kubernetes cluster]({{< ref "/guides/operations/kubernetes/overview#supported-clusters" >}})
- [kubectl](https://kubernetes.io/docs/tasks/tools/)
- [Helm 3](https://helm.sh/)
- [Radius control plane installed]({{< ref kubernetes-install >}})
- [Radius installed]({{< ref "/guides/installation/install" >}})

1. Create a namespace that can be used to deploy the Grafana and Prometheus monitoring tools:

Expand Down
Loading
Loading