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 documentation for Radius Dashboard #1047

Merged
merged 9 commits into from
Feb 29, 2024
Merged
Show file tree
Hide file tree
Changes from 4 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
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.
24 changes: 18 additions & 6 deletions docs/content/getting-started/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,14 +87,21 @@ This command:

- Runs the application in your Kubernetes cluster
- Creates a port-forward from localhost to port 3000 inside the container so you can navigate to the app's frontend UI
- Creates a port-forward from localhost to port 7007 inside the container so you can navigate to your Radius Dashboard
- Streams container logs to your terminal

<br>
In your browser you should see the demo app:

{{< image src="demo-screenshot.png" alt="Screenshot of the demo container" width=600px >}}
<br /><br />
<br>

Access your Radius Dashboard by opening [http://localhost:7007](http://localhost:7007) in a browser. In your browser, you should see the Radius Dashboard, which includes visualizations of the application graph, environments, and recipes:
Copy link
Contributor

Choose a reason for hiding this comment

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

For the getting started guide, the environment name and application name are well known. Can we deep-link directly into the application graph page to drop the user directly into the application graph, so that they instantly go from authoring their app to seeing their app without needing to pause and navigate the UI?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

great idea, i've modified the link here to be deep-linked


Congrats! You're running your first Radius app. When you're ready to move on to the next step, use <kbd>CTRL</kbd>+ <kbd>C</kbd> to exit the command.
{{< image src="demo-dashboard-home.png" alt="screenshot of an example Radius Dashboard home page" width=800 >}}
<br><br>

> Congrats! You're running your first Radius app. <br> When you're ready to move on to the next step, use <kbd>CTRL</kbd>+ <kbd>C</kbd> to exit the command.

## 5. Add Database

Expand Down Expand Up @@ -136,17 +143,22 @@ You should see the Radius Connections section with new environment variables add

Navigate to the Todo List tab and test out the application. Using the Todo page will update the saved state in Redis:

{{< image src="./images/demo-with-todolist.png" alt="Screenshot of the todolist" width=700px >}}
{{< image src="demo-with-todolist.png" alt="Screenshot of the todolist" width=700px >}}
<br /><br />

Press <kbd>CTRL</kbd>+ <kbd>C</kbd> when you are finished with the website.
Access your Radius Dashboard again by opening [http://localhost:7007](http://localhost:7007) in a browser and navigate to the `APP GRAPH` link for your demo application. You should see a visualization of the application graph for your `demo` app, including the connection to the `db` Redis Cache:

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

> Press <kbd>CTRL</kbd>+ <kbd>C</kbd> when you are finished with the websites.

## 7. View the application connections
## 7. View the application graph

Radius Connections are more than just environment variables and configuration. You can also access the "application graph" and understand the connections within your application with the following command:

```bash
rad app connections
rad app graph
```

You should see the following output, detailing the connections between the `demo` container and the `db` Redis Cache, along with information about the underlying Kubernetes resources running the app:
Expand Down
7 changes: 7 additions & 0 deletions docs/content/guides/tooling/dashboard/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
type: docs
title: "Radius dashboard"
linkTitle: "Dashboard"
description: "Documentation on the Radius dashboard"
weight: 100
---
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
37 changes: 37 additions & 0 deletions docs/content/guides/tooling/dashboard/overview/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
type: docs
title: "Overview: Radius Dashboard"
linkTitle: "Overview"
description: "Learn about using the Radius Dashboard to visualize your application graph, environments, and recipes"
weight: 100
categories: "Overview"
tags: ["dashboard"]
---

Radius Dashboard is the frontend experience for Radius and built on [Backstage](https://backstage.io/), an open-source platform for building developer portals that provides a rich set of components to accelerate UI development. The Radius Dashboard is a skinned deployment of Backstage that includes a set of plugins that provide the Radius experience. The components that make up the dashboard are built with extensibility in mind so that they can be used in other contexts beyond Backstage in the future.
Copy link
Contributor

Choose a reason for hiding this comment

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

Small nit: do we want to call this "Radius Dashboard", or "The Radius Dashboard"? The latter seems more natural to me, but overall I'm good with both

Copy link
Contributor

Choose a reason for hiding this comment

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

This first paragraph goes straight into implementation details which end-users may not necessarily care about. Instead, maybe the first paragraph should focus on why the Dashboard is useful to users, and then we have a dedicated section on implementation?

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 like it, updated to reflect your suggestion.


Key features of the Radius Dashboard currently include:

- _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.
- _Recipes directory_: A listing of all the Radius [Recipes]({{< ref "guides/recipes/overview" >}}) available to the user for a given environment.
Copy link
Contributor

Choose a reason for hiding this comment

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

Instead of italics for the main points, I think bold text would look better 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.

good suggestion, updated


{{< alert title="Dashboard installation" color="warning" >}}
The Radius Dashboard is installed by default as a part of your Radius initialization and deployment. To opt-out of installing the dashboard, you can use the `--set dashboard.enabled=false` flag when running `rad install kubernetes`. See more instructions in the [CLI reference documentation]({{< ref "/reference/cli" >}}).
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we want to point to the CLI reference here? Would the installation docs make more sense?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

agreed, updated

{{< /alert >}}

When you run your application with the `rad run` command, Radius creates a port-forward from `localhost` to port `7007` inside the container that you may use to access your Radius Dashboard.
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we add some headers to break up this page into sections? Looks like we have Overview, Key Features, Usage, and Reference documentation. Will help break up large chunks of text.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

good suggestion, updated


Alternatively, you can manually create a port-forward from `localhost` to the port number of your choice to provide access to your Radius Dashboard:

```bash
kubectl port-forward --namespace=radius-system svc/dashboard 7007:80
```

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

## Reference documentation

Visit the [API reference documentation]({{< ref "concepts/technical/api" >}}) to learn more about the underlying [Radius Application Graph]({{< ref "guides/author-apps/application/overview#query-and-understand-your-application-with-the-radius-application-graph" >}}) data on which the dashboard visualizations are built.

{{< button text="API reference" page="concepts/technical/api" >}}
Loading