Skip to content

Restructure how-to-guides to add Radius Resource types #1428

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 9 commits into
base: edge
Choose a base branch
from
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
10 changes: 5 additions & 5 deletions docs/content/concepts/faq/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,13 @@ Users can employ multiple environments for isolation and organization, for examp
- Difference in hosting (standalone Kubernetes vs Microsoft Azure)
- Multi-region deployments (deploy an application to multiple regions)

[Workspaces]({{< ref "/guides/operations/workspaces/overview" >}}) can be used to manage multiple environments from one machine.
[Workspaces]({{< ref "/guides/setup-platform/workspaces/overview" >}}) can be used to manage multiple environments from one machine.

## Recipes

### What resources do Recipes support?

Recipes currently support the set of [Radius portable resources]({{< ref "/guides/author-apps/portable-resources/overview" >}}): Redis, Mongo, RabbitMQ, SQL, Dapr State Stores, Dapr Secret Stores, Dapr Pub/Sub, and the untyped extender resource. Additional support for other resources (_Azure, AWS, etc._) will come in a future release.
Recipes currently support the set of [Radius portable resources]({{< ref "/guides/resource-types/portable-resource-types/overview" >}}): Redis, Mongo, RabbitMQ, SQL, Dapr State Stores, Dapr Secret Stores, Dapr Pub/Sub, and the untyped extender resource. Additional support for other resources (_Azure, AWS, etc._) will come in a future release.

### What infrastructure can Recipes deploy?

Expand All @@ -61,7 +61,7 @@ No. Recipes are deployed on-behalf-of the Radius Environment so developers do no

### What AWS services does Radius support?

Radius Applications can include AWS services that are also supported by the AWS cloud control API. See the [AWS resource library]({{< ref "/guides/author-apps/aws/overview#resource-library" >}}) for the complete list of supported AWS resources. Connections from a Radius container to an AWS resource are not yet supported. Properties such as hostnames, ports, endpoints, and connection strings need to be manually specified as environment variables. Additional support for Connections to AWS resources is on our backlog.
Radius Applications can include AWS services that are also supported by the AWS cloud control API. See the [AWS resource library]({{< ref "/guides/resource-types/aws/overview#resource-library" >}}) for the complete list of supported AWS resources. Connections from a Radius container to an AWS resource are not yet supported. Properties such as hostnames, ports, endpoints, and connection strings need to be manually specified as environment variables. Additional support for Connections to AWS resources is on our backlog.

### What Azure services does Radius support?

Expand All @@ -73,7 +73,7 @@ Not yet, but it is on the backlog.

### Does Radius support Dapr?

Yes. Radius has first-class support for [Dapr building blocks]({{< ref "/guides/author-apps/dapr" >}}) such as state stores, secret stores, and pub/sub brokers. Developers can add Dapr resources to their applications and operators can define Recipes that deploy and manage the underlying infrastructure.
Yes. Radius has first-class support for [Dapr building blocks]({{< ref "guides/resource-types/core-resource-types/dapr" >}}) such as state stores, secret stores, and pub/sub brokers. Developers can add Dapr resources to their applications and operators can define Recipes that deploy and manage the underlying infrastructure.

## Comparison to other tools

Expand Down Expand Up @@ -116,7 +116,7 @@ Teams looking to leverage existing Terraform modules can use [Recipes]({{< ref "

[Dapr](https://dapr.io/) is a portable, event-driven runtime that makes it easy for developers to build resilient, microservice stateless and stateful applications that run on the cloud and edge. Dapr is a great tool for writing microservice code, but doesn't provide a way to model or deploy an entire application and its infrastructure.

Radius provides [built-in Dapr support]({{< ref "/guides/author-apps/dapr" >}}) to make it easy to model Dapr building blocks and Dapr-enabled services within your app. Like peanut butter and jelly, Radius and Dapr are better together.
Radius provides [built-in Dapr support]({{< ref "/guides/resource-types/core-resource-types/dapr" >}}) to make it easy to model Dapr building blocks and Dapr-enabled services within your app. Like peanut butter and jelly, Radius and Dapr are better together.

### How does Radius compare to Acorn?

Expand Down
2 changes: 1 addition & 1 deletion docs/content/concepts/why-radius/collaboration/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Platform engineers and IT operators collaborate with application teams by managi

When an Application is deployed, Radius will *bind* the Application to the configuration of the target Environment and apply the relevant settings. Storing the operational configuration in the Environment increases developer velocity because the Application does not need to change when it is deployed across Environments configured for different purposes or leveraging different infrastructure.

{{< button text="Learn more about Environments" page="/guides/deploy-apps/environments/overview" newtab="true" >}}
{{< button text="Learn more about Environments" page="/guides/setup-platform/environments/overview" newtab="true" >}}

## Recipes as part of the Environment

Expand Down
8 changes: 4 additions & 4 deletions docs/content/getting-started/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ The Radius getting-started guide can be [run **for free** in a GitHub Codespace]

## 1. Have your Kubernetes cluster handy

Radius runs inside [Kubernetes]({{< ref "guides/operations/kubernetes" >}}). However you run Kubernetes, get a cluster ready.
> *If you don't have a preferred way to create Kubernetes clusters, you could try using [k3d](https://k3d.io/), which runs a minimal Kubernetes distribution in Docker. Make sure to apply the [recommended configuration]({{< ref "guides/operations/kubernetes/overview#supported-kubernetes-clusters" >}}).*
Radius runs inside [Kubernetes]({{< ref "guides/setup-platform/kubernetes/overview" >}}). However you run Kubernetes, get a cluster ready.
> *If you don't have a preferred way to create Kubernetes clusters, you could try using [k3d](https://k3d.io/), which runs a minimal Kubernetes distribution in Docker. Make sure to apply the [recommended configuration]({{< ref "guides/setup-platform/kubernetes/overview#supported-kubernetes-clusters" >}}).*

Ensure your cluster is set as your current context:

Expand Down 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`]({{< ref "/guides/install-tools/bicepconfig/overview" >}}) 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 Expand Up @@ -121,7 +121,7 @@ First add some new code to `app.bicep` by pasting in the content below at the en

{{< rad file="snippets/app-with-redis-snippets.bicep" embed=true marker="//REDIS" markdownConfig="{linenos=table,linenostart=21}" >}}

Next, update your container definition to include `connections` inside `properties`. This code creates a connection between the container and the database. Based on this connection, Radius will [inject environment variables]({{< ref "/guides/author-apps/containers/overview#connections" >}}) into the container that inform the container how to connect. You will view these in the next step.
Next, update your container definition to include `connections` inside `properties`. This code creates a connection between the container and the database. Based on this connection, Radius will [inject environment variables]({{< ref "/guides/resource-types/core-resource-types/containers/overview#connections" >}}) into the container that inform the container how to connect. You will view these in the next step.

{{< rad file="snippets/app-with-redis-snippets.bicep" embed=true marker="//CONNECTION" markdownConfig="{linenos=table,hl_lines=[\"13-17\"],linenostart=7}" >}}

Expand Down
6 changes: 3 additions & 3 deletions docs/content/guides/author-apps/_index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
type: docs
title: "Authoring applications"
linkTitle: "Authoring applications"
title: "Authoring Applications"
linkTitle: "Authoring Applications"
description: "Learn how to author a Radius Application"
weight: 100
weight: 500
---
Original file line number Diff line number Diff line change
Expand Up @@ -14,23 +14,23 @@ A Radius Application is the primary resource that brings all your "stuff" togeth

## Add portability to your application

Radius Applications are designed to be cloud and platform agnostic. This means that you can define your application once, and deploy it to any cloud or platform that Radius supports. This allows you to easily move your application between clouds, or even between cloud and on-premises environments. Developers can define their requirements and dependencies (_Redis, SQL, Dapr, etc._) and operators can define the [environments]({{< ref "guides/deploy-apps/environments/overview" >}}) and [Recipes]({{< ref "guides/recipes/overview" >}}) that bind those requirements to the appropriate cloud resources.
Radius Applications are designed to be cloud and platform agnostic. This means that you can define your application once, and deploy it to any cloud or platform that Radius supports. This allows you to easily move your application between clouds, or even between cloud and on-premises environments. Developers can define their requirements and dependencies (_Redis, SQL, Dapr, etc._) and operators can define the [environments]({{< ref "guides/setup-platform/environments/overview" >}}) and [Recipes]({{< ref "guides/recipes/overview" >}}) that bind those requirements to the appropriate cloud resources.

{{< image src="portable-resources.png" alt="Diagram of portable resources binding to different clouds" width=600px >}}

Learn more about portable resources in the [portable resources docs]({{< ref "guides/author-apps/portable-resources/overview" >}}) and [Dapr docs]({{< ref "guides/author-apps/dapr/overview" >}})
Learn more about portable resources in the [portable resources docs]({{< ref "guides/resource-types/portable-resource-types/overview" >}}) and [Dapr docs]({{< ref "/guides/resource-types/core-resource-types/dapr/overview" >}})

## Customize your application with extensions

Extensions allow you to customize how resources are generated or customized as part of deployment.

### Kubernetes Namespace extension

The Kubernetes namespace extension allows you to customize how all of the resources within your application generate Kubernetes resources. See the [Kubernetes mapping guide]({{< ref "/guides/operations/kubernetes/overview#resource-mapping" >}}) for more information on namespace mapping behavior
The Kubernetes namespace extension allows you to customize how all of the resources within your application generate Kubernetes resources. See the [Kubernetes mapping guide]({{< ref "/guides/setup-platform/kubernetes/overview#resource-mapping" >}}) for more information on namespace mapping behavior

### Kubernetes Metadata extension

The [Kubernetes Metadata extension]({{< ref "guides/operations/kubernetes/kubernetes-metadata">}}) enables you set and cascade Kubernetes metadata such as labels and Annotations on all the Kubernetes resources defined with in your Radius Application.
The [Kubernetes Metadata extension]({{< ref "guides/setup-platform/kubernetes/overview#kubernetes-metadata">}}) enables you set and cascade Kubernetes metadata such as labels and Annotations on all the Kubernetes resources defined with in your Radius Application.

## Query and understand your application with the Radius Application Graph

Expand Down
7 changes: 0 additions & 7 deletions docs/content/guides/author-apps/aws/_index.md

This file was deleted.

7 changes: 0 additions & 7 deletions docs/content/guides/author-apps/azure/_index.md

This file was deleted.

7 changes: 7 additions & 0 deletions docs/content/guides/author-apps/bicep-extensions/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
type: docs
title: "Bicep Extensions"
linkTitle: "Bicep Extensions"
description: "Learn about Bicep extensions for Radius"
weight: 100
---
7 changes: 0 additions & 7 deletions docs/content/guides/author-apps/custom/_index.md

This file was deleted.

7 changes: 0 additions & 7 deletions docs/content/guides/author-apps/kubernetes/_index.md

This file was deleted.

6 changes: 3 additions & 3 deletions docs/content/guides/deploy-apps/_index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
type: docs
title: "Deploying applications"
linkTitle: "Deploying applications"
title: "Deploying Applications"
linkTitle: "Deploying Applications"
description: "Learn how to deploy a Radius Application to an environment"
weight: 200
weight: 500
---
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ This guide will provide an overview of how to:

## Prerequisites

- [Supported Kubernetes cluster]({{< ref "/guides/operations/kubernetes/overview" >}})
- [Supported Kubernetes cluster]({{< ref "/guides/setup-platform/kubernetes/overview" >}})
- [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}})
- [Radius environment]({{< ref "installation#step-3-initialize-radius" >}})
- A remote Git repository (e.g., GitHub, GitLab, etc.) to store your application files
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,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" >}})
- [Setup a supported Kubernetes cluster]({{< ref "/guides/setup-platform/kubernetes/overview#supported-clusters" >}})
- Radius control plane [installed in your cluster]({{< ref kubernetes-install >}})
- GitHub repo with Actions enabled

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`]({{< ref "/guides/install-tools/bicepconfig/overview" >}})

```json
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ tags: ["deployments"]

## Pre-requisites

- [An authored Radius Application]({{< ref author-apps >}})
- [An authored Radius Application]({{< ref resource-types >}})

## Step 1 : Deploy an application into a Radius Environment

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ tags: ["deployments"]

## Pre-requisites

- [An authored Radius Application]({{< ref author-apps >}})
- [An authored Radius Application]({{< ref resource-types >}})

## Step 1: Run an application

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ If your Radius Application is unresponsive or does not connect to its dependenci
rad resource logs Applications.Core/containers <container_name> -a <app_name>
```

> Also refer to the [connections section]({{< ref "guides/author-apps/containers/overview#connections" >}}) to know about the naming convention of the environment variables and inspect if your application uses the right variables.
> Also refer to the [connections section]({{< ref "/guides/resource-types/core-resource-types/containers/overview#connections" >}}) to know about the naming convention of the environment variables and inspect if your application uses the right variables.

## Step 3: Inspect control-plane logs

Expand Down
7 changes: 7 additions & 0 deletions docs/content/guides/install-tools/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
type: docs
title: "Radius Install Tooling"
linkTitle: "Install Tools"
description: "Learn about Radius tools for managing your Radius installation and applications"
weight: 100
---
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ tags: ["dashboard"]

## What is the Radius Dashboard?

The Radius Dashboard is the frontend experience for Radius and provides a graphical interface for visualizing your [Application Graph]({{< ref "guides/author-apps/application/overview#query-and-understand-your-application-with-the-radius-application-graph" >}}), [Environments]({{< ref "guides/deploy-apps/environments/overview" >}}), and [Recipes]({{< ref "guides/recipes/overview" >}}). It provides both textual and visual representations of your Radius Applications and resources, as well as a directory of Recipes that are available in each Environment.
The Radius Dashboard is the frontend experience for Radius and provides a graphical interface for visualizing your [Application Graph]({{< ref "guides/author-apps/application/overview#query-and-understand-your-application-with-the-radius-application-graph" >}}), [Environments]({{< ref "guides/setup-platform/environments/overview" >}}), and [Recipes]({{< ref "guides/recipes/overview" >}}). It provides both textual and visual representations of your Radius Applications and resources, as well as a directory of Recipes that are available in each Environment.

{{< image src="dashboard-home.png" alt="screenshot of an example Radius Dashboard home page" width=800 >}}

Expand All @@ -23,15 +23,15 @@ The Radius Dashboard is built on [Backstage](https://backstage.io/), an open-sou
The Radius Dashboard currently provides the following features:

- **Application graph visualization**: A visualization of the [application graph]({{< ref "guides/author-apps/application/overview#query-and-understand-your-application-with-the-radius-application-graph" >}}) that shows how resources within an application are connected to each other and the underlying infrastructure.
- **Resource overview and details**: Detailed information about resources within Radius, including [applications]({{< ref "guides/author-apps/application/overview" >}}), [environments]({{< ref "guides/deploy-apps/environments/overview" >}}), and infrastructure.
- **Resource overview and details**: Detailed information about resources within Radius, including [applications]({{< ref "guides/author-apps/application/overview" >}}), [environments]({{< ref "guides/setup-platform/environments/overview" >}}), and infrastructure.
- **Recipes directory**: A listing of all the Radius [Recipes]({{< ref "guides/recipes/overview" >}}) available to the user for a given environment.

## Installation

The Radius Dashboard is installed by default as a part of your Radius initialization and deployment.

{{< alert title="Opting-out" color="warning" >}}
To opt-out of installing the dashboard, you can use the `--set dashboard.enabled=false` flag when running `rad init` or `rad install kubernetes`. See more instructions in the Radius [initialization]({{< ref "installation#step-3-initialize-radius" >}}) and [installation]({{< ref "guides/operations/kubernetes/kubernetes-install" >}}) guides.
To opt-out of installing the dashboard, you can use the `--set dashboard.enabled=false` flag when running `rad init` or `rad install kubernetes`. See more instructions in the Radius [initialization]({{< ref "installation#step-3-initialize-radius" >}}) and [installation]({{< ref "guides/setup-platform/kubernetes/kubernetes-install" >}}) guides.
{{< /alert >}}

To remove the dashboard from your existing installation of Radius on your cluster, you can run:
Expand Down
Loading
Loading