Skip to content

Commit

Permalink
Merge branch 'edge' into aacrawfi/kubernetes-overview
Browse files Browse the repository at this point in the history
  • Loading branch information
AaronCrawfis authored Sep 22, 2023
2 parents 1f765c4 + febd0fc commit 4bbba6f
Show file tree
Hide file tree
Showing 25 changed files with 136 additions and 33 deletions.
5 changes: 0 additions & 5 deletions .github/scripts/release-docs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -67,11 +67,6 @@ mv docs/config.toml.tmp docs/config.toml
awk '{gsub(/indexName: '\''radapp-dev-edge'\''/, "indexName: '\''radapp-dev'\''"); print}' docs/layouts/partials/hooks/body-end.html > docs/layouts/partials/hooks/body-end.html.tmp
mv docs/layouts/partials/hooks/body-end.html.tmp docs/layouts/partials/hooks/body-end.html

# In docs/content/getting-started/install/index.md, update the binary download links with the new version number
BINARY_STRING_REPLACEMENT=": https:\/\/get\.radapp\.dev\/tools\/rad\/${CHANNEL}\/"
awk -v REPLACEMENT="${BINARY_STRING_REPLACEMENT}" '{gsub(/: https:\/\/get\.radapp\.dev\/tools\/rad\/[^\/]+\//, REPLACEMENT); print}' docs/content/getting-started/install/index.md > docs/content/getting-started/install/index.md.tmp
mv docs/content/getting-started/install/index.md.tmp docs/content/getting-started/install/index.md

# Push changes to GitHub
git add --all
git commit -m "Update docs for ${VERSION}"
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
30 changes: 18 additions & 12 deletions docs/content/guides/author-apps/application/overview/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,25 @@
type: docs
title: "Overview: Radius applications"
linkTitle: "Overview"
description: "Learn about Radius applications"
description: "Learn about Radius applications and how they bring all of your services, dependencies, and relationships together."
weight: 100
categories: "Overview"
tags: ["applications"]
---

## Overview
<img src="application.png" alt="Diagram of an application" width=350px >

An [application]({{< ref application-graph>}}) is the primary resource that contains all of your services and relationships.
A Radius application is the primary resource that brings all your "stuff" together. This can include services, dependencies, and relationships. Radius apps give you a single description and view into your entire application, and allow you to deploy and manage it easily.

Because Radius has all the relationships and requirements of an application, deployments and configurations are simplified. Developers no longer need to specify all the identity, networking, or other configuration that is normally required, and operators don't need to write custom deployment scripts.
## Add portability to your application

For example, if you want a container to read from an Azure Storage Account without using Radius, this normally requires creating managed identities, RBAC roles, identity federation, Kubernetes service accounts, and more. With Radius, developers can define a single [connection]({{< ref "guides/author-apps/containers/overview#connections" >}}) from their container to a Storage Account, and Radius sets up all the required configuration automatically.
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.

<img src="graph-automation.png" alt="A diagram showing a connection from a Radius container to an Azure storage account resulting in managed identities, role-based access control, and CSI drivers." width=600px >
<img src="portable-resources.png" alt="Diagram of portable resources binding to different clouds" width=600px >

## Extensions
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" >}})

## Customize your application with extensions

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

Expand All @@ -28,12 +30,16 @@ The Kubernetes namespace extension allows you to customize how all of the resour

### 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/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.

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

Radius applications are more than just client-side configuration and automation, they also provide a server-side graph of your application. This graph can be queried and used to understand your application, and can be used to power other Radius features and custom tooling. Refer to the [API concept docs]({{< ref "api-concept" >}}) and [Postman How-To guide]({{< ref "guides/operations/control-plane/howto-postman" >}}) for more information on how to query the application graph.

- [Application schema]({{< ref application-schema >}})
<img src="app-graph.png" alt="Diagram of the application graph" width=500px >

## Resource schema

## Further reading
Refer to the [application schema docs]({{< ref application-schema >}}) for more information on how to define an application.

Refer to the [applications]({{< ref "/tags/applications" >}}) tag for more guides on the application resource.
{{< button text="📄 Application schema" page="application-schema" >}}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ CONNECTION_MYCONNECTION_DATABASE="my-database"
CONNECTION_MYCONNECTION_USERNAME="admin"
```

Alternatively, if you already have another convention you would like to follow or if you just prefer to be explicit, you may ignore the values generated by a connection and instead override it by setting your own environment variable values. Refer to the [environment variables quickstart]({{< ref howto-environment-variables >}}) for more details.
Alternatively, if you already have another convention you would like to follow or if you just prefer to be explicit, you may ignore the values generated by a connection and instead override it by setting your own environment variable values. Refer to the [environment variables how-to guide]({{< ref howto-environment-variables >}}) for more details.

### Extensions

Expand Down
7 changes: 7 additions & 0 deletions docs/content/guides/author-apps/dapr/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
type: docs
title: "Dapr building blocks"
linkTitle: "Dapr"
description: "Easily leverage Dapr building blocks in your application for code and infrastructure portability"
weight: 500
---
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
---
type: docs
title: "Dapr building blocks"
linkTitle: "Dapr"
title: "Overview: Dapr building blocks"
linkTitle: "Overview"
description: "Easily leverage Dapr building blocks in your application for code and infrastructure portability"
weight: 500
slug: "dapr"
categories: "Concept"
weight: 100
categories: "Overview"
tags: ["Dapr"]
---

Expand Down
7 changes: 7 additions & 0 deletions docs/content/guides/operations/groups/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
type: docs
title: "Resource groups"
linkTitle: "Resource groups"
description: "Manage collections of resources with resource groups"
weight: 600
---
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
---
type: docs
title: "How-To: Manage resource groups"
linkTitle: "Manage groups"
description: "Learn how to manage resource groups in Radius"
weight: 200
---

This guide will walk you through the process of managing resource groups in Radius. For more information on resource groups, see [Resource groups]({{< ref groups >}}).

## Pre-requisites

- [Supported Kubernetes cluster]({{< ref supported-clusters >}})
- [Radius CLI]({{< ref howto-rad-cli >}})

## Step 1: Ensure Radius is installed

Begin by making sure that Radius is installed on your Kubernetes cluster:

```bash
rad install kubernetes
```

## Step 2: Create a resource group

Run [`rad group create`]({{< ref rad_group_create >}}) to create a resource group:

```bash
rad group create myGroup
```

You should see:

```
creating resource group "myGroup" in namespace "default"...
resource group "myGroup" created
```

## Step 3: View your resource group

Run [`rad group show`]({{< ref rad_group_show >}}) to view the your resource group:

```bash
rad group show myGroup
```

You should see:

```
ID NAME
/planes/radius/local/resourcegroups/myGroup myGroup
```

You can use the `-o json` flag to view more information about the resource group:

```bash
rad group show -o json
```

You should see:

```
{
"id": "/planes/radius/local/resourcegroups/myGroup",
"location": "global",
"name": "myGroup",
"tags": {},
"type": "System.Resources/resourceGroups",
}
```

## Step 4: Set your resource group as the default

Setting a default resource group allows you to run commands like `rad deploy` without specifying the `-g/--group` flag explicitly every time. Run [`rad group switch`]({{< ref rad_group_switch >}}) to set your new resource group as the default:

```bash
rad group switch myGroup
```

You can now run `rad deploy` or `rad recipe list` without needing to specify the group.

## Step 5: Delete your resource group

Run [`rad group delete`]({{< ref rad_group_delete >}}) to delete a resource group:

```bash
rad group delete myGroup
```
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
type: docs
title: "Resource groups"
linkTitle: "Resource groups"
description: "Manage collections of resources with resource groups"
title: "Overview: Resource groups"
linkTitle: "Overview"
description: "Learn how to manage collections of resources with resource groups"
weight: 100
---

Expand Down
4 changes: 2 additions & 2 deletions docs/content/guides/recipes/howto-author-recipes/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ Now that your Recipe template has been stored, you can add it your Radius enviro
{{% codetab %}}

```bash
rad recipe register myrecipe --environment myenv --link-type Applications.Datastores/redisCaches --template-kind bicep --template-path myregistry.azurecr.io/recipes/myrecipe:1.1.0
rad recipe register myrecipe --environment myenv --resource-type Applications.Datastores/redisCaches --template-kind bicep --template-path myregistry.azurecr.io/recipes/myrecipe:1.1.0
```

{{% /codetab %}}
Expand All @@ -137,7 +137,7 @@ rad recipe register myrecipe --environment myenv --link-type Applications.Datast
The template path value should represent the source path found in your Terraform module registry.

```bash
rad recipe register myrecipe --environment myenv --link-type Applications.Datastores/redisCaches --template-kind terraform --template-path user/recipes/myrecipe --template-version "1.1.0"
rad recipe register myrecipe --environment myenv --resource-type Applications.Datastores/redisCaches --template-kind terraform --template-path user/recipes/myrecipe --template-version "1.1.0"
```

{{% /codetab %}}
Expand Down
2 changes: 1 addition & 1 deletion docs/content/reference/cli/rad_resource_list.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ rad resource list [resourceType] [flags]

```
sample list of resourceType: containers, gateways, httpRoutes, daprPubSubBrokers, extenders, mongoDatabases, rabbitMQMessageQueues, redisCaches, sqlDatabases, daprStateStores, daprSecretStores
sample list of resourceType: containers, gateways, httpRoutes, pubSubBrokers, extenders, mongoDatabases, rabbitMQMessageQueues, redisCaches, sqlDatabases, stateStores, secretStores
# list all resources of a specified type in the default environment
Expand Down
4 changes: 2 additions & 2 deletions docs/content/reference/context-schema/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,5 +90,5 @@ The `context` object is automatically injected to Bicep templates when a Recipe

| Key | Type | Description |
|-----|------|-------------|
| [`region`] | string | Represents the region where AWS resources are deployed.
| [`account`] | string | Represents the account id of the AWS account.
| `region` | string | Represents the region where AWS resources are deployed.
| `account` | string | Represents the account id of the AWS account.
4 changes: 2 additions & 2 deletions docs/content/tutorials/tutorial-recipe/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ This how-to guide will teach you:

This application is a simple to-do list which stores and visualizes to-do items. It consists of a frontend [container]({{< ref "guides/author-apps/containers" >}}) and a backend [Redis Cache]({{< ref redis >}}).

<img src="recipe-quickstart-diagram.png" alt="Screenshot of the todoapp with Kubernetes, Azure and AWS Redis Cache options" style="width:500px" >
<img src="recipe-tutorial-diagram.png" alt="Screenshot of the todoapp with Kubernetes, Azure and AWS Redis Cache options" style="width:500px" >

{{< alert title="💡 Portable resources" color="info" >}}
Developers don't need to specify what cloud resources they're using in their application. Instead, they choose the portable Redis API which can be provided by any cloud provider (or a Docker container). When deployed, a Recipe will select what infrastructure to deploy and run.
Expand Down Expand Up @@ -153,7 +153,7 @@ This step requires an Azure subscription to deploy cloud resources, which will i
2. Register the Recipe to your Radius Environment:

```bash
rad recipe register azure --environment default --template-kind bicep --template-path radius.azurecr.io/recipes/azure/rediscaches:{{< param tag_version >}} --link-type Applications.Datastores/redisCaches
rad recipe register azure --environment default --template-kind bicep --template-path radius.azurecr.io/recipes/azure/rediscaches:{{< param tag_version >}} --resource-type Applications.Datastores/redisCaches
```

3. Update your db resource to use the `azure` Recipe, instead of the default Recipe:
Expand Down

0 comments on commit 4bbba6f

Please sign in to comment.