Skip to content

Commit ae70c79

Browse files
authored
Merge branch 'v0.22' into aacrawfi/app-graph
2 parents 31f8b81 + c60d0b1 commit ae70c79

File tree

34 files changed

+336
-254
lines changed

34 files changed

+336
-254
lines changed

.gitattributes

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# text files use OS defaults on checkout, LF on checkin
2+
* text eol=auto
3+
4+
# shell scripts always use LF
5+
*.sh text eol=lf
6+
7+
# images are binary
8+
*.png binary

.github/config/en-custom.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -421,3 +421,4 @@ kubernetesMetadata
421421
daprSidecar
422422
manualScaling
423423
roadmap
424+
Balancer

.github/workflows/spellcheck.yaml

Lines changed: 35 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,20 @@ on:
66
branches:
77
- v*.*
88
- edge
9-
paths:
10-
- 'docs/**'
11-
- '.github/workflows/spellcheck.yaml'
12-
- '.github/config/**'
139
pull_request:
1410
types: [opened, synchronize, reopened]
1511
branches:
1612
- v*.*
1713
- edge
18-
paths:
19-
- 'docs/**'
20-
- '.github/workflows/spellcheck.yaml'
21-
- '.github/config/**'
14+
15+
env:
16+
ACTION_LINK: '${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}'
17+
18+
concurrency:
19+
group: spellcheck-${{ github.ref }}-${{ github.event.pull_request.number || github.sha }}
2220

2321
jobs:
24-
build:
22+
spellcheck:
2523
name: Spellcheck
2624
runs-on: ubuntu-latest
2725
steps:
@@ -31,3 +29,31 @@ jobs:
3129
uses: rojopolis/[email protected]
3230
with:
3331
config_path: .github/config/.pyspelling.yml
32+
- name: Post GitHub workkflow output on failure
33+
if: failure()
34+
run: |
35+
echo "## :x: Spellcheck Failed" >> $GITHUB_STEP_SUMMARY
36+
echo "There are spelling errors in your PR. Visit [the workflow output](${{ env.ACTION_LINK }}) to see what words are failing." >> $GITHUB_STEP_SUMMARY
37+
echo "### Adding new words" >> $GITHUB_STEP_SUMMARY
38+
echo "If you are adding a new custom word refer to the [docs guide](https://docs.radapp.dev/contributing/docs/#spelling)" >> $GITHUB_STEP_SUMMARY
39+
- name: Post GitHub workflow output on success
40+
run: |
41+
echo "## :white_check_mark: Spellcheck Passed" >> $GITHUB_STEP_SUMMARY
42+
echo "There are no spelling errors in your PR." >> $GITHUB_STEP_SUMMARY
43+
- name: Post GitHub comment on failure
44+
if: failure()
45+
uses: marocchino/sticky-pull-request-comment@v2
46+
with:
47+
header: spellcheck
48+
recreate: true
49+
message: |
50+
## :x: Spellcheck Failed
51+
There are spelling errors in your PR. Visit [the workflow output](${{ env.ACTION_LINK }}) to see what words are failing.
52+
### Adding new words
53+
If you are adding a new custom word refer to the [docs guide](https://docs.radapp.dev/contributing/docs/#spelling)
54+
- name: Clear GitHub comment on success
55+
uses: marocchino/sticky-pull-request-comment@v2
56+
continue-on-error: true
57+
with:
58+
header: spellcheck
59+
delete: true

docs/assets/scss/_sidebar-tree.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@
5858

5959
&__page {
6060
color: $gray-700;
61-
font-weight: $font-weight-light;
6261
}
6362
}
6463

docs/config.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,4 +93,5 @@ version_menu = "Releases"
9393
[params.ui]
9494
sidebar_menu_compact = true
9595
sidebar_search_disable = true
96+
sidebar_menu_foldable = true
9697
ul_show = 1

docs/content/author-apps/dev-environment/initialize-environment.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Radius development environments enable you to quickly get started with Radius an
2525

2626
## How-to: Initialize a new dev environment
2727

28-
1. Initialize a new [Radius environment]{{(< ref "operations/environments">)}} with `rad init --dev` command:
28+
1. Initialize a new [Radius environment]({{< ref "operations/environments/overview">}}) with `rad init --dev` command:
2929
```bash
3030
rad init --dev
3131
```

docs/content/author-apps/networking/_index.md

Lines changed: 0 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -7,71 +7,3 @@ weight: 400
77
categories: "Concept"
88
tags: ["routes","gateways"]
99
---
10-
11-
Radius networking resources allow you to model:
12-
13-
- Communication between a user and a service
14-
- Communication between services
15-
16-
## HTTP Routes
17-
18-
An `HttpRoute` resources defines HTTP communication between two [services]({{< ref container >}}). They can be used to define both one-way communication, as well as cycles of communication between services.
19-
20-
<img src="networking-cycles.png" style="width:400px" alt="Diagram of Radius service-to-service networking with cycles" /><br />
21-
22-
Refer to the [HTTP Route schema]({{< ref httproute >}}) for more information on how to model HTTP routes.
23-
24-
A gateway can optionally be added for external users to access the Route.
25-
26-
## Gateways
27-
28-
`Gateway` defines how requests are routed to different resources, and also provides the ability to expose traffic to the internet. Conceptually, gateways allow you to have a single point of entry for traffic in your application, whether it be internal or external traffic.
29-
30-
`Gateway` in Radius are split into two main pieces; the `Gateway` resource itself, which defines which port and protocol to listen on, and Route(s) which define the rules for routing traffic to different resources.
31-
32-
<img src="networking-gateways.png" style="width:400px" alt="Diagram of Radius gateways" /><br />
33-
34-
Refer to the [Gateway schema]({{< ref gateway >}}) for more information on how to model gateways.
35-
36-
### TLS Termination
37-
38-
Gateways support TLS termination. This allows incoming encrypted traffic to be decrypted with a user-specific certificate and then routed, unencrypted, to the specified routes. TLS certificates can be stored or referenced via a [Radius secret store]({{< ref secretstore >}}).
39-
40-
### SSL Passthrough
41-
42-
A gateway can be configured to passthrough encrypted SSL traffic to an HTTP route and container. This is useful for applications that already have SSL termination configured, and do not want to terminate SSL at the gateway.
43-
44-
To set up SSL passthrough, set `tls.sslPassthrough` to `true` on the gateway, and set a single route with no `path` defined (just `destination`).
45-
46-
## Example
47-
48-
### Path-based HTTP routing
49-
50-
{{< tabs Bicep >}}
51-
52-
{{< codetab >}}
53-
{{< rad file="snippets/networking.bicep" embed=true >}}
54-
{{< /codetab >}}
55-
56-
{{< /tabs >}}
57-
58-
### TLS termination
59-
60-
{{< tabs Bicep >}}
61-
62-
{{< codetab >}}
63-
{{< rad file="snippets/networking-tlstermination.bicep" embed=true marker="//GATEWAY" >}}
64-
{{< /codetab >}}
65-
66-
{{< /tabs >}}
67-
68-
69-
### SSL Passthrough
70-
71-
{{< tabs Bicep >}}
72-
73-
{{< codetab >}}
74-
{{< rad file="snippets/networking-sslpassthrough.bicep" embed=true marker="//GATEWAY" >}}
75-
{{< /codetab >}}
76-
77-
{{< /tabs >}}

docs/content/author-apps/networking/howto-tls-termination-cert-manager/index.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ This guide will show you how to integrate Radius with cert-manager and Let's Enc
1515

1616
- [rad CLI]({{< ref getting-started >}})
1717
- [kubectl CLI](https://kubernetes.io/docs/tasks/tools/)
18+
- Domain name + DNS A-record: In order to setup TLS communication to Radius you will need to make sure you have a domain name and DNS A-record pointing to your Kubernetes cluster's IP address. This is required for Let's Encrypt to issue a certificate and for traffic to be routed to your application.
19+
- If running Radius on an Azure Kubernetes Service (AKS) cluster you can optionally use a [DNS label](https://learn.microsoft.com/azure/virtual-network/ip-services/public-ip-addresses#dns-name-label) to create a DNS A-record pointing to your cluster. Refer to the [tips and tricks](#using-an-azure-dns-label) section for more information.
20+
- If running Radius on an Elastic Kubernetes Service (EKS) cluster you can optionally leverage [Application Load Balancer](https://docs.aws.amazon.com/eks/latest/userguide/alb-ingress.html) for a hosted DNS name and record.
1821

1922
## Step 1: Initialize a Radius environment
2023

@@ -23,6 +26,7 @@ Begin by running `rad init` to initialize the Radius environment.
2326
```sh
2427
rad init
2528
```
29+
2630
## Step 2: Set up domain
2731

2832
You'll next need a DNS record to point to your Kubernetes cluster and service in order to issue the certificate and allow traffic to your application.
@@ -92,3 +96,17 @@ rad deploy app.bicep
9296
Once the deployment is complete the public endpoint of your application will be printed. Navigate to this public endpoint to access the application via HTTPS. You can view the certificate to see it has a Let's Encrypt issuer:
9397
9498
<img src="certificate.png" alt="Screenshot of the certificate information showing a Lets Encrypt issuer" width=700 />
99+
100+
## Tips and tricks
101+
102+
### Using an Azure DNS label
103+
104+
If you are running Radius on an Azure Kubernetes Service (AKS) cluster you can use a [DNS label](https://learn.microsoft.com/azure/virtual-network/ip-services/public-ip-addresses#dns-name-label) to create a DNS A-record pointing to your cluster. This is useful if you don't have a domain name or don't want to use a subdomain for your dev/test environments.
105+
106+
To setup a DNS label for your AKS cluster:
107+
108+
1. Open the Azure portal to the subscription where your AKS cluster is deployed.
109+
1. Open the resource group, prefixed with `MC_`, that contains your AKS cluster. (_i.e. `MC_myrg-mycluster_westus3`_)
110+
1. Select the Public IP address prefixed with `kubernetes-` (_i.e. `kubernetes-a6925d5f55dfa41419c3c93648dbb30a`_)
111+
1. Select 'Configuration' and add a DNS name label. Click save to create the DNS A-record.
112+
1. Update your Radius gateway to use the DNS label as the `fullyQualifiedHostname` value.
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
---
2+
type: docs
3+
title: "Overview: Application networking"
4+
linkTitle: "Application networking"
5+
description: "Learn how to add networking to your Radius application"
6+
weight: 100
7+
categories: "Overview"
8+
tags: ["routes","gateways"]
9+
---
10+
11+
Radius networking resources allow you to model:
12+
13+
- Communication between a user and a service
14+
- Communication between services
15+
16+
## HTTP Routes
17+
18+
An `HttpRoute` resources defines HTTP communication between two [services]({{< ref container >}}). They can be used to define both one-way communication, as well as cycles of communication between services.
19+
20+
<img src="networking-cycles.png" style="width:400px" alt="Diagram of Radius service-to-service networking with cycles" /><br />
21+
22+
Refer to the [HTTP Route schema]({{< ref httproute >}}) for more information on how to model HTTP routes.
23+
24+
A gateway can optionally be added for external users to access the Route.
25+
26+
## Gateways
27+
28+
`Gateway` defines how requests are routed to different resources, and also provides the ability to expose traffic to the internet. Conceptually, gateways allow you to have a single point of entry for traffic in your application, whether it be internal or external traffic.
29+
30+
`Gateway` in Radius are split into two main pieces; the `Gateway` resource itself, which defines which port and protocol to listen on, and Route(s) which define the rules for routing traffic to different resources.
31+
32+
<img src="networking-gateways.png" style="width:400px" alt="Diagram of Radius gateways" /><br />
33+
34+
Refer to the [Gateway schema]({{< ref gateway >}}) for more information on how to model gateways.
35+
36+
### TLS Termination
37+
38+
Gateways support TLS termination. This allows incoming encrypted traffic to be decrypted with a user-specific certificate and then routed, unencrypted, to the specified routes. TLS certificates can be stored or referenced via a [Radius secret store]({{< ref secretstore >}}).
39+
40+
### SSL Passthrough
41+
42+
A gateway can be configured to passthrough encrypted SSL traffic to an HTTP route and container. This is useful for applications that already have SSL termination configured, and do not want to terminate SSL at the gateway.
43+
44+
To set up SSL passthrough, set `tls.sslPassthrough` to `true` on the gateway, and set a single route with no `path` defined (just `destination`).
45+
46+
## Example
47+
48+
### Path-based HTTP routing
49+
50+
{{< tabs Bicep >}}
51+
52+
{{< codetab >}}
53+
{{< rad file="snippets/networking.bicep" embed=true >}}
54+
{{< /codetab >}}
55+
56+
{{< /tabs >}}
57+
58+
### TLS termination
59+
60+
{{< tabs Bicep >}}
61+
62+
{{< codetab >}}
63+
{{< rad file="snippets/networking-tlstermination.bicep" embed=true marker="//GATEWAY" >}}
64+
{{< /codetab >}}
65+
66+
{{< /tabs >}}
67+
68+
69+
### SSL Passthrough
70+
71+
{{< tabs Bicep >}}
72+
73+
{{< codetab >}}
74+
{{< rad file="snippets/networking-sslpassthrough.bicep" embed=true marker="//GATEWAY" >}}
75+
{{< /codetab >}}
76+
77+
{{< /tabs >}}

docs/content/community.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ To present a specific topic on the next Radius community call start by filling o
3636
| Thursday Apr 20th 9:00am Pacific Time (PST) | v0.19 release | - | [Stream](https://microsoft.sharepoint.com/:v:/r/teams/radius/Shared%20Documents/General/Community%20Calls/2023-04-20%20Project%20Radius%20Community%20Call.mp4?csf=1&web=1&e=RCA5Qx) |
3737
| Thursday May 18th 9:00am Pacific Time (PST) | v0.20 release | - | [Stream](https://microsoft.sharepoint.com/:v:/r/teams/radius/Shared%20Documents/General/Community%20Calls/2023-05-18%20Project%20Radius%20Community%20Call.mp4?csf=1&web=1&e=fKcbzm) |
3838
| Thursday June 15th 9:00am Pacific Time (PST) | v0.21 release | - | [Stream](https://microsoft.sharepoint.com/:v:/r/teams/radius/Shared%20Documents/General/Community%20Calls/2023-06-15%20Project%20Radius%20Community%20Call.mp4?csf=1&web=1&e=WIRhP5) |
39-
| Thursday July 13th 9:00am Pacific Time (PST) | v0.22 release | [Teams](https://teams.microsoft.com/l/meetup-join/19%3ameeting_NzI3ZTM1YmYtYTU3Yi00YWQ2LTk3OGQtOGQ5ZTQ5ODhmYmFm%40thread.v2/0?context=%7b%22Tid%22%3a%2272f988bf-86f1-41af-91ab-2d7cd011db47%22%2c%22Oid%22%3a%223e1a3c9c-fb21-4845-8053-1f53bf388796%22%7d) | |
39+
| Thursday July 13th 9:00am Pacific Time (PST) | v0.22 release | - | [Stream](https://microsoft.sharepoint.com/:v:/r/teams/radius/Shared%20Documents/General/Community%20Calls/2023-07-13%20Project%20Radius%20Community%20Call.mp4?csf=1&web=1&e=v30w8D) |
40+
| Thursday Aug 10th 9:00am Pacific Time (PST) | v0.23 release | TBD | - |
4041

4142
## GitHub Issues & repositories
4243

docs/content/getting-started/install/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ iwr -useb "https://get.radapp.dev/tools/rad/install.ps1" | iex
6262

6363
You may need to refresh your $PATH environment variable to access `rad`:
6464
```powershell
65-
$Env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine")
65+
$Env:Path = [System.Environment]::GetEnvironmentVariable("Path","User")
6666
```
6767
{{< /latest >}}
6868
{{< edge >}}

docs/content/getting-started/quickstarts/quickstart-aws/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ eksctl create cluster --name my-cluster --region=us-west-2 --zones=us-west-2a,us
3333
3434
## Step 2: Create a Radius environment with the AWS cloud provider
3535

36-
Create a [Radius environment]({{< ref "operations/environments" >}}) where you will deploy your application.
36+
Create a [Radius environment]({{< ref "operations/environments/overview" >}}) where you will deploy your application.
3737

3838
1. You can view the current context for kubectl by running:
3939

@@ -49,7 +49,7 @@ Create a [Radius environment]({{< ref "operations/environments" >}}) where you w
4949
rad init
5050
```
5151

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

5454
- **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.
5555
{{% 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.

docs/content/getting-started/quickstarts/quickstart-container-wi/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ rad init
3333

3434
## Step 2: Define a Radius environment
3535

36-
Create a file named `app.bicep` and define a Radius environment with [identity property]({{< ref "operations/environments" >}}) set. This configures your environment to use your Azure AD workload identity installation with your cluster's OIDC endpoint:
36+
Create a file named `app.bicep` and define a Radius environment with [identity property]({{< ref "operations/environments/overview" >}}) set. This configures your environment to use your Azure AD workload identity installation with your cluster's OIDC endpoint:
3737

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

docs/content/getting-started/quickstarts/quickstart-environment-variables/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ This quickstart will teach you:
1717
## Prerequisites
1818

1919
- [Radius CLI]({{< ref "getting-started" >}})
20-
- [Radius environment]({{< ref "operations/environments" >}})
20+
- [Radius environment]({{< ref "operations/environments/overview" >}})
2121

2222
## Step 1: Model an app and container
2323

docs/content/getting-started/quickstarts/quickstart-volumes/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ This quickstart will provide an overview of how to:
1616
## Prerequisites
1717

1818
- [rad CLI]({{< ref getting-started >}})
19-
- [Radius environment]({{< ref "operations/environments" >}})
19+
- [Radius environment]({{< ref "operations/environments/overview" >}})
2020

2121
## Step 1: Define an app and a container
2222

docs/content/getting-started/supported-languages/_index.md

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,3 @@ weight: 900
77
categories: "How-To"
88
tags: ["infrastructure-as-code"]
99
---
10-
11-
Radius supports a variety of infrastructure-as-code (IaC) languages.
12-
13-
{{% alert title="Other languages" color="info" %}}
14-
Currently, Radius supports Bicep. Terraform support is underway as our next priority IaC language.
15-
{{% /alert %}}
16-
17-
## Languages

0 commit comments

Comments
 (0)