Skip to content

Commit

Permalink
Merge branch 'edge' into aacrawfi/containers
Browse files Browse the repository at this point in the history
  • Loading branch information
AaronCrawfis committed Sep 25, 2023
2 parents 2a5b1fd + fdb948d commit 02efd4d
Show file tree
Hide file tree
Showing 115 changed files with 372 additions and 272 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
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ param environment string
param databaseId string

// Define application
resource app 'Applications.Core/applications@2022-03-15-privatepreview' = {
resource app 'Applications.Core/applications@2023-10-01-preview' = {
name: 'myapp'
//PROPERTIES
properties: {
Expand All @@ -17,7 +17,7 @@ resource app 'Applications.Core/applications@2022-03-15-privatepreview' = {
}

// Define container resource to run app code
resource frontend 'Applications.Core/containers@2022-03-15-privatepreview' = {
resource frontend 'Applications.Core/containers@2023-10-01-preview' = {
name: 'frontend'
properties: {
application: app.id
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import radius as radius
param application string

//CONNECTION
resource demo 'Applications.Core/containers@2022-03-15-privatepreview' = {
resource demo 'Applications.Core/containers@2023-10-01-preview' = {
name: 'demo'
properties: {
application: application
Expand All @@ -30,7 +30,7 @@ resource demo 'Applications.Core/containers@2022-03-15-privatepreview' = {
@description('The environment ID of your Radius application. Set automatically by the rad CLI.')
param environment string

resource db 'Applications.Datastores/redisCaches@2022-03-15-privatepreview' = {
resource db 'Applications.Datastores/redisCaches@2023-10-01-preview' = {
name: 'db'
properties: {
application: application
Expand Down
4 changes: 2 additions & 2 deletions docs/content/getting-started/snippets/app-with-redis.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import radius as radius
@description('The app ID of your Radius application. Set automatically by the rad CLI.')
param application string

resource demo 'Applications.Core/containers@2022-03-15-privatepreview' = {
resource demo 'Applications.Core/containers@2023-10-01-preview' = {
name: 'demo'
properties: {
application: application
Expand All @@ -25,7 +25,7 @@ resource demo 'Applications.Core/containers@2022-03-15-privatepreview' = {
}

param environment string
resource db 'Applications.Datastores/redisCaches@2022-03-15-privatepreview' = {
resource db 'Applications.Datastores/redisCaches@2023-10-01-preview' = {
name: 'db'
properties: {
application: application
Expand Down
2 changes: 1 addition & 1 deletion docs/content/getting-started/snippets/app.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import radius as radius
@description('The app ID of your Radius application. Set automatically by the rad CLI.')
param application string

resource demo 'Applications.Core/containers@2022-03-15-privatepreview' = {
resource demo 'Applications.Core/containers@2023-10-01-preview' = {
name: 'demo'
properties: {
application: application
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.
32 changes: 19 additions & 13 deletions docs/content/guides/author-apps/application/overview/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,38 +2,44 @@
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.

### 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 kubernetes-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/operations/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/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 @@ -3,7 +3,7 @@ import radius as radius
@description('The environment ID of your Radius application. Set automatically by the rad CLI.')
param environment string

resource myapp 'Applications.Core/applications@2022-03-15-privatepreview' = {
resource myapp 'Applications.Core/applications@2023-10-01-preview' = {
name: 'my-application'
properties: {
environment: environment
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ resource s3 'AWS.S3/Bucket@default' = {
@description('The environment ID of your Radius application. Set automatically by the rad CLI.')
param environment string

resource app 'Applications.Core/applications@2022-03-15-privatepreview' = {
resource app 'Applications.Core/applications@2023-10-01-preview' = {
name: 's3app'
properties: {
environment: environment
Expand All @@ -34,7 +34,7 @@ param aws_secret_access_key string
param aws_region string = 'us-west-2'

// get a radius container which uses the s3 bucket
resource frontend 'Applications.Core/containers@2022-03-15-privatepreview' = {
resource frontend 'Applications.Core/containers@2023-10-01-preview' = {
name: 'frontend'
properties: {
application: app.id
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ resource s3 'AWS.S3/Bucket@default' = {
@description('The environment ID of your Radius application. Set automatically by the rad CLI.')
param environment string

resource app 'Applications.Core/applications@2022-03-15-privatepreview' = {
resource app 'Applications.Core/applications@2023-10-01-preview' = {
name: 's3app'
properties: {
environment: environment
Expand All @@ -35,7 +35,7 @@ param aws_secret_access_key string
param aws_region string = 'us-west-2'

// get a radius container which uses the s3 bucket
resource frontend 'Applications.Core/containers@2022-03-15-privatepreview' = {
resource frontend 'Applications.Core/containers@2023-10-01-preview' = {
name: 'frontend'
properties: {
application: app.id
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@ resource s3 'AWS.S3/Bucket@default' = {
}

// get a radius container which uses the s3 bucket
resource app 'Applications.Core/applications@2022-03-15-privatepreview' = {
resource app 'Applications.Core/applications@2023-10-01-preview' = {
name: 's3app'
properties: {
environment: environment
}
}

resource frontend 'Applications.Core/containers@2022-03-15-privatepreview' = {
resource frontend 'Applications.Core/containers@2023-10-01-preview' = {
name: 's3container'
properties: {
application: app.id
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ param azLocation string = resourceGroup().location
@description('Specifies the OIDC issuer URL')
param oidcIssuer string

resource env 'Applications.Core/environments@2022-03-15-privatepreview' = {
resource env 'Applications.Core/environments@2023-10-01-preview' = {
name: 'iam-quickstart'
properties: {
compute: {
Expand All @@ -29,14 +29,14 @@ resource env 'Applications.Core/environments@2022-03-15-privatepreview' = {
//ENVIRONMENT

//CONTAINER
resource app 'Applications.Core/applications@2022-03-15-privatepreview' = {
resource app 'Applications.Core/applications@2023-10-01-preview' = {
name: 'myapp'
properties: {
environment: env.id
}
}

resource container 'Applications.Core/containers@2022-03-15-privatepreview' = {
resource container 'Applications.Core/containers@2023-10-01-preview' = {
name: 'mycontainer'
properties: {
application: app.id
Expand Down
2 changes: 1 addition & 1 deletion docs/content/guides/author-apps/azure/overview/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ 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 clusters]({{< ref supported-clusters>}}). To configure an Azure provider, you can follow the documentation [here]({{< ref "/guides/operations/providers/howto-azure-provider" >}}).
The Azure provider allows you to deploy and connect to Azure resources from a Radius environment on any of the [supported clusters]({{< ref "/guides/operations/kubernetes/overview#supported-clusters" >}}). To configure an Azure provider, you can follow the documentation [here]({{< ref "/guides/operations/providers/howto-azure-provider" >}}).

## Resource library

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@ resource cache 'Microsoft.Cache/Redis@2019-07-01' = {
}
}

resource app 'Applications.Core/applications@2022-03-15-privatepreview' = {
resource app 'Applications.Core/applications@2023-10-01-preview' = {
name: 'myapp'
properties: {
environment: environment
}
}

resource container 'Applications.Core/containers@2022-03-15-privatepreview' = {
resource container 'Applications.Core/containers@2023-10-01-preview' = {
name: 'mycontainer'
properties: {
application: app.id
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ import radius as rad

param environment string

resource app 'Applications.Core/applications@2022-03-15-privatepreview' = {
resource app 'Applications.Core/applications@2023-10-01-preview' = {
name: 'myapp'
properties: {
environment: environment
}
}

resource container 'Applications.Core/containers@2022-03-15-privatepreview' = {
resource container 'Applications.Core/containers@2023-10-01-preview' = {
name: 'mycontainer'
properties: {
application: app.id
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@ import radius as rad

param environment string

resource app 'Applications.Core/applications@2022-03-15-privatepreview' = {
resource app 'Applications.Core/applications@2023-10-01-preview' = {
name: 'myapp'
properties: {
environment: environment
}
}

//CONTAINER
resource container 'Applications.Core/containers@2022-03-15-privatepreview' = {
resource container 'Applications.Core/containers@2023-10-01-preview' = {
name: 'mycontainer'
properties: {
application: app.id
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@ import radius as rad

param environment string

resource app 'Applications.Core/applications@2022-03-15-privatepreview' = {
resource app 'Applications.Core/applications@2023-10-01-preview' = {
name: 'myapp'
properties: {
environment: environment
}
}

//CONTAINER
resource container 'Applications.Core/containers@2022-03-15-privatepreview' = {
resource container 'Applications.Core/containers@2023-10-01-preview' = {
name: 'mycontainer'
properties: {
application: app.id
Expand All @@ -31,7 +31,7 @@ resource container 'Applications.Core/containers@2022-03-15-privatepreview' = {
//CONTAINER

//LINK
resource mongoDatabase 'Applications.Datastores/mongoDatabases@2022-03-15-privatepreview' = {
resource mongoDatabase 'Applications.Datastores/mongoDatabases@2023-10-01-preview' = {
name: 'mongo-db'
properties: {
environment: environment
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ param azLocation string = resourceGroup().location
@description('Specifies the environment for resources.')
param oidcIssuer string

resource env 'Applications.Core/environments@2022-03-15-privatepreview' = {
resource env 'Applications.Core/environments@2023-10-01-preview' = {
name: 'kv-volume-quickstart'
properties: {
compute: {
Expand All @@ -29,14 +29,14 @@ resource env 'Applications.Core/environments@2022-03-15-privatepreview' = {
//ENVIRONMENT

//APP
resource app 'Applications.Core/applications@2022-03-15-privatepreview' = {
resource app 'Applications.Core/applications@2023-10-01-preview' = {
name: 'myapp'
properties: {
environment: env.id
}
}

resource volume 'Applications.Core/volumes@2022-03-15-privatepreview' = {
resource volume 'Applications.Core/volumes@2023-10-01-preview' = {
name: 'myvolume'
properties: {
application: app.id
Expand Down Expand Up @@ -72,7 +72,7 @@ resource keyvault 'Microsoft.KeyVault/vaults@2021-10-01' = {
//APP

//CONTAINER
resource container 'Applications.Core/containers@2022-03-15-privatepreview' = {
resource container 'Applications.Core/containers@2023-10-01-preview' = {
name: 'mycontainer'
properties: {
application: app.id
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ import radius as rad

param environment string

resource app 'Applications.Core/applications@2022-03-15-privatepreview' = {
resource app 'Applications.Core/applications@2023-10-01-preview' = {
name: 'myapp'
properties: {
environment: environment
}
}

resource container 'Applications.Core/containers@2022-03-15-privatepreview' = {
resource container 'Applications.Core/containers@2023-10-01-preview' = {
name: 'mycontainer'
properties: {
application: app.id
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@ import radius as rad

param environment string

resource app 'Applications.Core/applications@2022-03-15-privatepreview' = {
resource app 'Applications.Core/applications@2023-10-01-preview' = {
name: 'myapp'
properties: {
environment: environment
}
}

//CONTAINER
resource container 'Applications.Core/containers@2022-03-15-privatepreview' = {
resource container 'Applications.Core/containers@2023-10-01-preview' = {
name: 'mycontainer'
properties: {
application: app.id
Expand Down
6 changes: 5 additions & 1 deletion docs/content/guides/author-apps/containers/overview/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ Containers are deployed to the same Kubernetes cluster as your Radius installati

Radius containers allow you to specify your image, ports, environment variables, volumes, and more. Refer to the [container resource schema]({{< ref "container-schema" >}}) for more information.

### Ports

Ports allow you to expose your container to incoming network traffic. Refer to the [networking guide]({{< ref networking >}}) for more information on container networking.

## Volumes

Volumes can be mounted to the container to provide access to data. There are two types of volumes, ephemeral and persistent.
Expand Down Expand Up @@ -77,7 +81,7 @@ For example, adding a connection called `database` that connects to a MongoDB re
| `CONNECTION_DATABASE_USERNAME` | Username of the target database |
| `CONNECTION_DATABASE_PASSWORD` | Password of the target database |

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
Loading

0 comments on commit 02efd4d

Please sign in to comment.