Skip to content
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

Add "Tooling" guides section #782

Merged
merged 6 commits into from
Sep 28, 2023
Merged
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
5 changes: 5 additions & 0 deletions .github/config/en-custom.txt
Original file line number Diff line number Diff line change
Expand Up @@ -464,5 +464,10 @@ PortableResource
runtime's
imagePullPolicy
otelhttp
hashicorp
HashiCorp
intellisense
itemName
visualstudio
RoleBinding
tcrra
7 changes: 7 additions & 0 deletions docs/content/guides/tooling/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
type: docs
title: "Radius Tooling"
linkTitle: "Tooling"
description: "Learn about Radius tools for managing your applications and Radius installation"
weight: 99
---
7 changes: 7 additions & 0 deletions docs/content/guides/tooling/rad-cli/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
type: docs
title: "rad CLI"
linkTitle: "rad CLI"
description: "Documentation on the rad CLI"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: "Documentation on the rad CLI"
description: "rad CLI"

weight: 100
---
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ type: docs
title: "How-To: Install the rad CLI"
linkTitle: "Install rad CLI"
description: "Learn how to install the rad CLI on your local machine"
weight: 100
weight: 200
categories: "How-To"
tags: ["rad CLI", "Bicep"]
---
Expand Down
90 changes: 90 additions & 0 deletions docs/content/guides/tooling/rad-cli/overview/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
---
type: docs
title: "Overview: rad CLI"
linkTitle: "Overview"
description: "Learn about the rad CLI and how to interact with Radius from your local machine"
weight: 100
categories: "Overview"
tags: ["rad CLI"]
---

The rad Command Line Interface (CLI) allows you to interact with Radius from your local machine. It is the primary way to interact with Radius and is used to create, deploy, and manage your applications, environments, and resources.

```bash
$ rad
Radius CLI

Usage:
rad [command]

Available Commands:
application Manage Radius applications
bicep Manage bicep compiler
completion Generates shell completion scripts
AaronCrawfis marked this conversation as resolved.
Show resolved Hide resolved
credential Manage cloud provider credential for a Radius installation.
debug-logs Capture logs from Radius control plane for debugging and diagnostics.
deploy Deploy a template
env Manage Radius environments
group Manage resource groups
help Help about any command
init Initialize Radius
install Installs Radius for a given platform
AaronCrawfis marked this conversation as resolved.
Show resolved Hide resolved
recipe Manage recipes
resource Manage resources
run Run an application
uninstall Uninstall Radius for a specific platform
version Prints the versions of the rad cli
AaronCrawfis marked this conversation as resolved.
Show resolved Hide resolved
workspace Manage workspaces
```

## Installation

The rad CLI is distributed as a single binary that can be installed on Linux, macOS, and Windows. Visit the [installation guide]({{< ref howto-rad-cli >}}) to learn how to install the rad CLI.

{{< button text="Install rad CLI" page="howto-rad-cli" >}}

### Binary location

{{< tabs "macOS/Linux/WSL" "Windows" >}}

{{% codetab %}}
By default, the rad CLI installation script installs the rad CLI to `/usr/local/bin/rad`

If you would like to install the rad CLI to a different path, you can specify the path with the `RADIUS_INSTALL_DIR` environment variable:

```bash
# Install to home directory
export RADIUS_INSTALL_DIR=~/
```

{{% /codetab %}}

{{% codetab %}}
By default, the rad CLI installation script installs the rad CLI to `%LOCALAPPDATA%\radius\rad.exe`

{{% /codetab %}}

{{< /tabs >}}

### Configuration location

The rad CLI stores workspaces, the rad-Bicep compiler, and other configuration under the `rad` directory.

{{< tabs "macOS/Linux/WSL" "Windows" >}}

{{% codetab %}}
The rad CLI stores configuration under `~/.rad`
{{% /codetab %}}

{{% codetab %}}
The rad CLI stores configuration under `%USERPROFILE%\rad`
{{% /codetab %}}

{{< /tabs >}}


## Reference documentation

Visit the [reference documentation]({{< ref "/reference/cli" >}}) to learn more about the rad CLI and its commands.

{{< button text="Reference docs" page="/reference/cli" >}}
9 changes: 9 additions & 0 deletions docs/content/guides/tooling/vscode/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
type: docs
title: "Visual Studio Code tooling"
linkTitle: "VS Code"
description: "Learn how to use Radius in Visual Studio Code"
weight: 200
categories: "How-To"
tags: ["VSCode"]
---
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
type: docs
title: "How-To: Install the Radius-Bicep VSCode extension"
linkTitle: "Install VS Code extension"
linkTitle: "Radius Bicep Extension"
description: "Learn how to use Radius in Visual Studio Code"
weight: 150
weight: 200
categories: "How-To"
tags: ["Bicep", "VSCode"]
---
Expand Down
32 changes: 32 additions & 0 deletions docs/content/guides/tooling/vscode/overview/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
type: docs
title: "Overview: Using Radius in Visual Studio Code"
linkTitle: "Overview"
description: "Learn how to use Radius in Visual Studio Code"
weight: 100
categories: "Overview"
tags: ["VSCode"]
---

When using Visual Studio Code with Radius there are a set of extensions you can install to help author, validate, and manage your Radius applications and environments.

## Radius Bicep extension

The Radius Bicep extension provides formatting, intellisense, and validation for Bicep templates.

<img src="vscode-bicep.png" alt="Screenshot of the Radius Bicep extension showing available Radius resource types" width=600px >
<br /><br/>

{{< button text="Radius Bicep guide" page="howto-vscode-bicep" >}}

{{< alert title="Note" color="secondary" >}}
The Radius Bicep extension is a temporary extension that exists to model Radius and AWS resource types. Radius Bicep extension will be deprecated once we upstream our extensibility updates to the official Bicep. Stay tuned for updates.

**The Radius Bicep extension is not compatible with the official Bicep extension.** If you have the official Bicep extension installed you will need to disable or uninstall it before installing the Radius Bicep extension.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this be a separate warning instead of a note? It can also be part of the how-to guide

{{< /alert >}}

## Terraform extension

When authoring [Terraform Recipes]({{< ref "/guides/recipes/overview" >}}) you can use the HashiCorp Terraform extension to help author, validate, and manage your Terraform templates.

{{< button text="Terraform extension" link="https://marketplace.visualstudio.com/items?itemName=hashicorp.terraform" newtab="true" >}}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions docs/content/installation/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ Visit the [rad CLI how-to guide]({{< ref howto-rad-cli >}}) for more information

## Step 2: Install the Radius-Bicep VS Code extension
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We do surface terraform extensions for terraform recipes in vscode tooling overview page. Should that be included here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think so, since it's an optional experience only needed if creating Terraform Recipes. Versus the Radius-Bicep extension that is required in 99% of cases.


The Radius-Bicep VS Code extension provides a set of tools for working with Bicep files in VS Code. Visit the [VSCode how-to guide]({{< ref howto-vscode >}}) for more information on how to install the Radius-Bicep VS Code extension.
The Radius-Bicep VS Code extension provides a set of tools for working with Bicep files in VS Code. Visit the [VSCode how-to guide]({{< ref howto-vscode-bicep >}}) for more information on how to install the Radius-Bicep VS Code extension.

{{< button text="How-To: VS Code" page="howto-vscode" newtab="true" >}}
{{< button text="How-To: VS Code" page="howto-vscode-bicep" newtab="true" >}}

## Step 3: Initialize the Radius control-plane

Expand Down