Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
7 changes: 0 additions & 7 deletions docs/content/community/_index.md

This file was deleted.

2 changes: 1 addition & 1 deletion docs/content/concepts/applications/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ linkTitle: "Applications"
description: "How Radius manages applications"
weight: 40
aliases:
- /content/guides/author-apps/applications/overview
- /content/guides/applications/applications/overview
---

A Radius Application is a resource that is a parent to other resources that make up the application. Applications and its resources are defined in an application definition file using the Bicep Infrastructure as Code (IaC) language. Since applications are a first-class Resource Type in Radius, developers perform operations on applications rather than individual resources. When deploying resources, developers simply deploy the Application. Radius also tracks all deployed resources and their dependencies in a graph. Developers can add to the graph by expressing explicit dependencies such as a container relying on a database.
Expand Down
2 changes: 1 addition & 1 deletion docs/content/concepts/environments/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ linkTitle: "Environments"
description: "How Environments define how and where resources are deployed"
weight: 30
aliases:
- /content/guides/deploy-apps/environments/overview
- /content/guides/environments/environments/howto-environment/overview
---

All resources are deployed to an Environment. Environments define the deployment location as well as the set of Recipes to use to deploy resources to that Environment. The first component of an Environment definition is the deployment location, specified by `provider` property:
Expand Down
7 changes: 7 additions & 0 deletions docs/content/guides/applications/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
type: docs
title: "Applications"
linkTitle: "Applications"
description: "Learn how to author and deploy Radius Applications"
weight: 500
---
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,12 @@ Run [`rad init --full`]({{< ref rad_initialize >}}) to initialize a new environm
rad init --full
```

Follow the prompts to install Radius , create an [environment resource]({{< ref "/guides/deploy-apps/environments" >}}), and create a [local workspace]({{< ref workspaces >}}). You will be asked for:
Follow the prompts to install Radius , create an [environment resource]({{< ref "/guides/environments/environments/howto-environment" >}}), and create a [local workspace]({{< ref workspaces >}}). You will be asked for:

- **Namespace** - When an application is deployed, this is the namespace where your containers and other Kubernetes resources will be run. By default, this will be in the `default` namespace.
{{% alert title="💡 About namespaces" color="success" %}} When you initialize a Radius Kubernetes environment, Radius installs the control plane resources within the `radius-system` namespace in your cluster, separate from your applications. The namespace specified in this step will be used for your application deployments.
{{% /alert %}}
- **Add AWS provider** - An [AWS cloud provider]({{< ref "/guides/operations/providers/aws-provider" >}}) allows you to deploy and manage AWS resources as part of your application. Follow the how-to guides to [configure the AWS provider]({{< ref "/guides/operations/providers/aws-provider/howto-aws-provider-access-key" >}}) with the preferred identity.
- **Add AWS provider** - An [AWS cloud provider]({{< ref "/guides/installation/providers/aws-provider" >}}) allows you to deploy and manage AWS resources as part of your application. Follow the how-to guides to [configure the AWS provider]({{< ref "/guides/installation/providers/aws-provider/howto-aws-provider-access-key" >}}) with the preferred identity.
- **Environment name** - The name of the environment to create. You can specify any name with lowercase letters, such as `myawsenv`.

Select 'No' when asked to setup application in the current directory.
Expand All @@ -58,15 +58,15 @@ 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" >}})
More information on how to setup a `bicepconfig.json` can be found [here]({{< ref "/guides/installation/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:

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

Radius uses the [AWS Cloud Control API](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/what-is-cloudcontrolapi.html) to interact with AWS resources. This means that you can model your AWS resources in Bicep and Radius will be able to deploy and manage them. You can find the list of supported AWS resources in the [AWS resource library]({{< ref "guides/author-apps/aws/overview#resource-library" >}}).
Radius uses the [AWS Cloud Control API](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/what-is-cloudcontrolapi.html) to interact with AWS resources. This means that you can model your AWS resources in Bicep and Radius will be able to deploy and manage them. You can find the list of supported AWS resources in the [AWS resource library]({{< ref "guides/applications/aws/overview#resource-library" >}}).

## Step 5: Add a Radius container to interact with the AWS S3 Bucket

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@ Radius uses the [AWS Cloud Control API](https://docs.aws.amazon.com/cloudcontrol

## Configure an AWS Provider

The AWS provider allows you to deploy and connect to AWS resources from a Radius Environment on an EKS cluster. To configure an AWS provider, you can follow the documentation [here]({{< ref "/guides/operations/providers/aws-provider" >}}).
The AWS provider allows you to deploy and connect to AWS resources from a Radius Environment on an EKS cluster. To configure an AWS provider, you can follow the documentation [here]({{< ref "/guides/installation/providers/aws-provider" >}}).

## Example

{{< tabs Bicep >}}

{{% codetab %}}
In the following example, a [Container]({{< ref "guides/author-apps/containers" >}}) is connecting to an S3 bucket.
In the following example, a [Container]({{< ref "guides/applications/containers" >}}) is connecting to an S3 bucket.

{{< rad file="snippets/aws.bicep" embed=true >}}
{{% /codetab %}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ 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" >}})
- 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 `Reader` role on the subscription and the `Contributor` role on the resource group where the ACI containers will be deployed
- Radius [installed]({{< ref "/guides/installation/kubernetes-install" >}}) on a [supported Kubernetes cluster]({{< ref "/guides/installation/overview#supported-kubernetes-clusters" >}})
- An Azure provider configured and registered with your Radius control plane, either through [Service Principal](https://docs.radapp.io/guides/installation/providers/azure-provider/howto-azure-provider-sp/) or [Workload Identity](https://docs.radapp.io/guides/installation/providers/azure-provider/howto-azure-provider-wi/) that have been assigned to the `Reader` role on the subscription and the `Contributor` role on the 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

## Step 1: Create a Radius Resource Group and Workspace
Expand Down Expand Up @@ -198,7 +198,7 @@ Navigate to the Todo List tab and test out the application. Using the Todo page
{{< image src="azure-portal-env.png" alt="Screenshot of the Azure portal showing the resource group with the virtual network, internal load balancer, and network security group resources created by Radius" width=700px >}}

## Further reading
- [Azure resources overview]({{< ref "/guides/author-apps/azure/overview" >}})
- [Azure resources overview]({{< ref "/guides/applications/azure/overview" >}})
- [Radius Environment schema]({{< ref "/reference/resource-schema/core-schema/environment-schema" >}})
- [Radius Application schema]({{< ref "/reference/resource-schema/core-schema/application-schema" >}})
- [Radius Container schema]({{< ref "/reference/resource-schema/core-schema/container-schema" >}})
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ The steps below will showcase a "rad-ified" version of the existing [Azure AD wo

- [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}})
- [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}})
- [Setup a supported Kubernetes cluster]({{< ref "/guides/operations/kubernetes/overview#supported-clusters" >}})
- [Setup a supported Kubernetes cluster]({{< ref "/guides/installation/overview#supported-clusters" >}})
- [Azure AD Workload Identity](https://azure.github.io/azure-workload-identity/docs/installation.html) installed in your cluster, including the [Mutating Admission Webhook](https://azure.github.io/azure-workload-identity/docs/installation/mutating-admission-webhook.html)

## Step 1: Initialize Radius
Expand All @@ -38,7 +38,7 @@ 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" >}})
More information on how to setup a `bicepconfig.json` can be found [here]({{< ref "/guides/installation/bicepconfig/overview" >}})

## Step 3: Define a Radius Environment

Expand All @@ -48,7 +48,7 @@ Create a file named `app.bicep` and define a [Radius Environment]({{< ref "conce

## Step 4: Define an app and a container

Add a Radius Application, a Radius [container]({{< ref "guides/author-apps/containers" >}}), and an Azure Key Vault to your `app.bicep` file. Note the connection from the container to the Key Vault, with an iam property set for the Azure AD RBAC role:
Add a Radius Application, a Radius [container]({{< ref "guides/applications/containers" >}}), and an Azure Key Vault to your `app.bicep` file. Note the connection from the container to the Key Vault, with an iam property set for the Azure AD RBAC role:

{{< rad file="snippets/container-wi.bicep" embed=true marker="//CONTAINER" >}}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ Radius Applications are able to connect to and leverage every Azure resource wit

## Configure an Azure Provider

The Azure provider allows you to deploy and connect to Azure resources from a Radius Environment on any of the [supported k8s clusters]({{< ref "/guides/operations/kubernetes/overview#supported-clusters" >}}) or [Azure Container Instances (ACI)]({{< ref "/guides/author-apps/azure/howto-azure-container-instances" >}}). To configure an Azure provider, you can follow the documentation [here]({{< ref "/guides/operations/providers/azure-provider" >}}).
The Azure provider allows you to deploy and connect to Azure resources from a Radius Environment on any of the [supported k8s clusters]({{< ref "/guides/installation/overview#supported-clusters" >}}) or [Azure Container Instances (ACI)]({{< ref "/guides/applications/azure/howto-azure-container-instances" >}}). To configure an Azure provider, you can follow the documentation [here]({{< ref "/guides/installation/providers/azure-provider" >}}).

## Set up an Azure compute environment

Radius allows you to target the deployment of your application containers to either Azure Kubernetes Service (AKS) or Azure Container Instances (ACI). The underlying compute platform is preconfigured in the Radius Environment, which means that you are able to deploy a Radius application to either AKS or ACI without needing to change the application definition. To learn more, visit the following resources:
- The [Kubernetes operations guide](https://docs.radapp.io/guides/operations/kubernetes/overview/#supported-kubernetes-clusters) has more information about setting up Radius in an AKS cluster
- The [how-to guide for ACI]({{< ref "/guides/author-apps/azure/howto-azure-container-instances" >}}) details how to configure a Radius Environment with ACI as the underlying compute platform and deploy a Radius application to ACI
- The [Kubernetes operations guide](https://docs.radapp.io/guides/installation/overview/#supported-kubernetes-clusters) has more information about setting up Radius in an AKS cluster
- The [how-to guide for ACI]({{< ref "/guides/applications/azure/howto-azure-container-instances" >}}) details how to configure a Radius Environment with ACI as the underlying compute platform and deploy a Radius application to ACI

## Resource library

Expand All @@ -31,7 +31,7 @@ Visit [the Microsoft docs](https://docs.microsoft.com/azure/templates/) to refer
{{< tabs Bicep >}}

{{% codetab %}}
In the following example, a [Container]({{< ref "guides/author-apps/containers" >}}) is connecting to an Azure Cache for Redis resource. The Container is assigned the `Redis Cache Contributor` role:
In the following example, a [Container]({{< ref "guides/applications/containers" >}}) is connecting to an Azure Cache for Redis resource. The Container is assigned the `Redis Cache Contributor` role:

{{< rad file="snippets/azure-connection.bicep" embed=true >}}
{{% /codetab %}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ categories: "How-To"
tags: ["containers"]
---

This how-to guide will teach how to connect to your dependencies via [connections]({{< ref "guides/author-apps/containers#connections" >}})
This how-to guide will teach how to connect to your dependencies via [connections]({{< ref "guides/applications/containers#connections" >}})

## Prerequisites

Expand All @@ -18,13 +18,13 @@ This how-to guide will teach how to connect to your dependencies via [connection

## Step 1: View the container definition

Open the `app.bicep` and view the [container]({{< ref "guides/author-apps/containers" >}}):
Open the `app.bicep` and view the [container]({{< ref "guides/applications/containers" >}}):

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

## Step 2: Add a Redis cache as a dependency

Next, add to `app.bicep` a [Redis cache]({{< ref "/guides/author-apps/portable-resources/overview" >}}), leveraging the default "local-dev" Recipe:
Next, add to `app.bicep` a [Redis cache]({{< ref "/guides/resource-types/portable-resources/overview" >}}), leveraging the default "local-dev" Recipe:

{{< rad file="snippets/app-with-redis.bicep" embed=true marker="//DB" >}}

Expand Down Expand Up @@ -88,5 +88,5 @@ rad app delete -a demo

## Further reading

- [Connections]({{< ref "guides/author-apps/containers/overview#connections" >}})
- [Connections]({{< ref "guides/applications/containers/overview#connections" >}})
- [Container schema]({{< ref container-schema >}})
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ This how-to guide will provide an overview of how to:

- [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}})
- [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}})
- [Supported Kubernetes cluster]({{< ref "guides/operations/kubernetes" >}})
- [Supported Kubernetes cluster]({{< ref "guides/installation" >}})
- [Azure AD Workload Identity](https://azure.github.io/azure-workload-identity/docs/installation.html) installed on your cluster
- [Azure Keyvault Provider](https://azure.github.io/secrets-store-csi-driver-provider-azure/docs/getting-started/installation/)
- The above installation will also install the required [Secrets Store CSI Driver](https://secrets-store-csi-driver.sigs.k8s.io/getting-started/installation.html)
Expand All @@ -39,7 +39,7 @@ 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" >}})
More information on how to setup a `bicepconfig.json` can be found [here]({{< ref "/guides/installation/bicepconfig/overview" >}})

## Step 3: Define a Radius Environment

Expand All @@ -55,7 +55,7 @@ Add a Radius Application, an Azure Key Vault, and a Radius volume which uses the

## Step 5: Define an app, Key Vault, and volume

Now add a Radius [container]({{< ref "guides/author-apps/containers" >}}) with a volume mount for the Radius volume:
Now add a Radius [container]({{< ref "guides/applications/containers" >}}) with a volume mount for the Radius volume:

{{< rad file="snippets/keyvault-wi.bicep" embed=true marker="//CONTAINER" >}}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ This how-to guide will provide an overview of how to:

## Step 1: Define an app and a container

Begin by creating a file named `app.bicep` with a Radius Application and [container]({{< ref "guides/author-apps/containers" >}}):
Begin by creating a file named `app.bicep` with a Radius Application and [container]({{< ref "guides/applications/containers" >}}):

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

Expand Down
Loading