From 43d690514cdd6716db76d472817a8756505e5cd1 Mon Sep 17 00:00:00 2001 From: Emanuel Palm Date: Mon, 27 Nov 2023 14:51:14 -0800 Subject: [PATCH] Whitespace removal and formatting (#979) * whitespace and markdown formatting Signed-off-by: Emanuel Palm * Markdown numbered lists changed to 1 Signed-off-by: Emanuel Palm --------- Signed-off-by: Emanuel Palm Co-authored-by: Aaron Crawfis --- docs/assets/scss/_nav.scss | 31 +++++----- .../contributing/contributing-docs/index.md | 4 +- docs/content/concepts/api-concept/index.md | 14 ++--- .../concepts/collaboration-concept/index.md | 5 +- docs/content/concepts/faq/index.md | 20 +++---- .../overview/snippets/appmodel-concept.bicep | 2 +- .../concepts/why-radius-concept/index.md | 6 +- docs/content/getting-started/index.md | 24 ++++---- .../author-apps/application/overview/index.md | 2 +- .../aws/howto-aws-resources/index.md | 19 +++--- .../guides/author-apps/aws/overview/index.md | 6 +- .../aws/overview/snippets/aws.bicep | 2 +- .../azure/howto-azure-resources/index.md | 6 +- .../snippets/container-wi.bicep | 4 +- .../howto-connect-dependencies/index.md | 3 +- .../containers/howto-keyvault-volume/index.md | 10 ++-- .../snippets/keyvault-wi.bicep | 6 +- .../containers/howto-volumes/index.md | 4 +- .../author-apps/containers/overview/index.md | 8 +-- .../guides/author-apps/dapr/overview/index.md | 2 +- .../kubernetes/how-to-patch-pod/index.md | 3 +- .../author-apps/networking/howto-tls/index.md | 7 ++- .../secrets/howto-new-secretstore/index.md | 10 ++-- .../author-apps/secrets/overview/index.md | 2 +- .../environments/howto-environment/index.md | 59 ++++++++++--------- .../guides/deploy-apps/howto-delete/index.md | 4 +- .../howto-deploy/howto-deploy-cicd/index.md | 3 +- .../howto-deploy-rad-cli/index.md | 5 +- .../howto-deploy/howto-run-app/index.md | 5 +- .../howto-troubleshootapps/index.md | 6 +- .../control-plane/howto-postman/index.md | 9 ++- .../control-plane/logs/fluentd/index.md | 14 ++--- .../control-plane/metrics/grafana/index.md | 10 ++-- .../control-plane/traces/jaeger/index.md | 4 +- .../groups/howto-resourcegroups/index.md | 2 +- .../kubernetes/kubernetes-install/index.md | 5 ++ .../kubernetes/kubernetes-metadata/index.md | 4 +- .../kubernetes/kubernetes-upgrade/index.md | 4 +- .../providers/howto-aws-provider/index.md | 28 +++++---- .../providers/howto-azure-provider/index.md | 31 ++++++---- .../workspaces/howto-workspaces/index.md | 20 ++++++- .../operations/workspaces/overview/index.md | 5 ++ .../snippets/redis-kubernetes-main.tf | 2 +- .../snippets/redis-kubernetes.bicep | 2 +- .../guides/recipes/howto-dev-recipes/index.md | 5 +- docs/content/guides/recipes/overview/index.md | 8 +-- .../tooling/rad-cli/howto-rad-cli/index.md | 2 +- .../guides/tooling/rad-cli/overview/index.md | 7 +-- docs/content/tutorials/eshop/_index.md | 4 +- docs/content/tutorials/helm/index.md | 6 +- docs/content/tutorials/new-app/index.md | 57 ++++++++---------- .../tutorials/tutorial-add-radius/index.md | 24 ++++---- docs/content/tutorials/tutorial-dapr/index.md | 8 +-- .../tutorials/tutorial-recipe/index.md | 19 +++--- docs/layouts/partials/page-meta-links.html | 2 +- docs/layouts/partials/section-index.html | 4 +- docs/layouts/shortcodes/categorizeby.html | 7 +-- docs/layouts/shortcodes/redoc.html | 2 +- .../install-radius/initialize-radius.md | 2 +- .../vscode-bicep/install-vscode-bicep.md | 2 +- 60 files changed, 311 insertions(+), 270 deletions(-) diff --git a/docs/assets/scss/_nav.scss b/docs/assets/scss/_nav.scss index 9b5137509..7027a480c 100644 --- a/docs/assets/scss/_nav.scss +++ b/docs/assets/scss/_nav.scss @@ -122,12 +122,12 @@ text-rendering: auto; -webkit-font-smoothing: antialiased; font-family: "Font Awesome 5 Free"; - font-weight: 900; + font-weight: 900; content: "\f0d9"; padding-left: 0.5em; padding-right: 0.5em; } - } + } } // Foldable sidebar menu @@ -136,18 +136,18 @@ nav.foldable-nav { &#td-section-nav { position: relative; } - + &#td-section-nav label { margin-bottom: 0; width: 100%; } - + .td-sidebar-nav__section, .with-child ul { list-style: none; padding: 0; margin: 0; } - + .ul-1 > li { padding-left: 1.5em; } @@ -165,8 +165,8 @@ nav.foldable-nav { input[type=checkbox] { display: none; } - .with-child, .without-child { - position: relative; + .with-child, .without-child { + position: relative; padding-left: 1.3em; } @@ -189,30 +189,29 @@ nav.foldable-nav { } } - .ul-1 .with-child > input:checked ~ label:before { + .ul-1 .with-child > input:checked ~ label:before { color: $primary; transform: rotate(90deg); - transition: transform 0.5s; + transition: transform 0.5s; } .with-child ul { margin-top: 0.1em; } - -} +} @media (hover: hover) and (pointer: fine) { - + nav.foldable-nav { - .ul-1 .with-child > label:hover:before { + .ul-1 .with-child > label:hover:before { color: $primary; transform: rotate(30deg); - transition: transform 0.5s; + transition: transform 0.5s; } - .ul-1 .with-child > input:checked ~ label:hover:before { + .ul-1 .with-child > input:checked ~ label:hover:before { color: $primary; transform: rotate(60deg) !important; - transition: transform 0.5s; + transition: transform 0.5s; } } } diff --git a/docs/content/community/contributing/contributing-docs/index.md b/docs/content/community/contributing/contributing-docs/index.md index cab4ec1f4..9d49159fd 100644 --- a/docs/content/community/contributing/contributing-docs/index.md +++ b/docs/content/community/contributing/contributing-docs/index.md @@ -146,6 +146,7 @@ Visit [Diátaxis](https://diataxis.fr/explanation/) for more information on expl ### How-To guides Visit [Diátaxis](https://diataxis.fr/how-to-guides/) for more information on how-to documentation that helps the user accomplish a specific task. + - Do not assume the reader is using a specific environment unless the article itself is specific to an environment. This includes OS (Windows/Linux/MacOS), deployment target (Kubernetes, IoT, etc.), or programming language. If instructions vary between operating systems, provide guidance for all. - Include code/sample/config snippets that can be easily copied and pasted. - Provide the reader with related links if needed (this can be other concepts, overviews, how-to guides, or references) @@ -344,7 +345,6 @@ resource app 'radius.dev/Application@v1alpha1' = { //BINDINGS connections: { backend: { - source: other.id } } @@ -591,7 +591,7 @@ By default, buttons are padded with new lines below the button. To remove these {{< button text="Previous" link="https://example.com" newline="false" >}} {{< button text="Next" link="https://example.com" >}} -#### Categorize content +#### Categorize content You can use the `categorizeby` shortcode to pull and organize content by either categories and tags. This is useful when you want to categorize content by tags and the type of the document diff --git a/docs/content/concepts/api-concept/index.md b/docs/content/concepts/api-concept/index.md index 10930fb4e..b4e06ec14 100644 --- a/docs/content/concepts/api-concept/index.md +++ b/docs/content/concepts/api-concept/index.md @@ -27,10 +27,10 @@ In the example provided, the virtual machine is the **resource** and the API pro Resource providers sometimes provide operations in addition to the CRUDL operations that are specific to the type of resource. For a virtual machine, a resource provider might provide additional operations like: - - Rebooting a virtual machine - - Restoring a virtual machine from backup +- Rebooting a virtual machine +- Restoring a virtual machine from backup -As a result the set of operations is sometimes written as **CRUDL+**, meaning that a resource provider must implement the **CRUDL** operations at a minimum and sometimes more. +As a result the set of operations is sometimes written as **CRUDL+**, meaning that a resource provider must implement the **CRUDL** operations at a minimum and sometimes more. Resources have a type (in the programming sense) and a means of being identified (name or id). For example an AWS virtual machine's type would be `AWS::EC2::Instance` and might have a generated name like `i-0123456789abcdef`. The name must be provided to operations like Update so that the resource provider can identify which resource to update. The name and type can also be combined with additional context to form a unique identifier. For example on AWS the virtual machine name would be combined with the user's account id and the selected region to form a unique identifier called an [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). These identifiers are useful because they provide a universal way to identify which resource is being named. @@ -38,11 +38,11 @@ A resource could be anything that's useful to manage through an API. For example ## Principles for the Radius API -Radius provides a general resource manager that can manage cloud or on-premises resources as well as opinionated support cloud-native application concerns like containers and databases. Such an API needs to be powerful, flexible, and extensible enough to communicate with a variety of existing systems that were created by different organizations. +Radius provides a general resource manager that can manage cloud or on-premises resources as well as opinionated support cloud-native application concerns like containers and databases. Such an API needs to be powerful, flexible, and extensible enough to communicate with a variety of existing systems that were created by different organizations. The design of the Radius API incorporates the following principles: -- Universal addressing: every resource has a unique identifier called a resource id. +- Universal addressing: every resource has a unique identifier called a resource id. - CRUDL+ lifecycle: resources their functionality through a common set of HTTP contracts in a consistent way. - Federation based on metadata: rather that duplicate the functionality of existing resource managers, Radius delegates functionality to external APIs and is powered by the metadata of those APIs. @@ -62,9 +62,9 @@ The common structure of a resource id is the following: {rootScope}/{resourceNamespace}/{resourceType}/{resourceName} ``` -### Root scope +### Root scope -A hierarchical set of key-value pairs that identify the origin of the resource. Root scopes answer questions like: +A hierarchical set of key-value pairs that identify the origin of the resource. Root scopes answer questions like: - *"What cloud is this resource from?"* - *"What cloud account contains this resource?"* diff --git a/docs/content/concepts/collaboration-concept/index.md b/docs/content/concepts/collaboration-concept/index.md index 6516130ea..862b94aa7 100644 --- a/docs/content/concepts/collaboration-concept/index.md +++ b/docs/content/concepts/collaboration-concept/index.md @@ -17,10 +17,9 @@ An emerging group of enterprises have a created a *platform engineering* effort A few common challenges emerged from our conversations. The platform engineering philosophy also aims to address these concerns: -- Developers benefit from paved-paths for best-practices: enterprises gain operational efficiency by standardizing how applications are deployed, report diagnostics, and provision cloud resources. When this is done well, developers find and use the recommended technologies with ease. When this is done poorly, developers struggle with many templates, dependencies, and other assets to manage over time. +- Developers benefit from paved-paths for best-practices: enterprises gain operational efficiency by standardizing how applications are deployed, report diagnostics, and provision cloud resources. When this is done well, developers find and use the recommended technologies with ease. When this is done poorly, developers struggle with many templates, dependencies, and other assets to manage over time. - Developer velocity is improved by self-service for the cloud: Platform engineering efforts optimize the developer workflow with self-service tools that provide guardrails to drive adherence to best-practices. These guardrails help manage costs and increase an organization's security posture by providing correctly configured tools and infrastructure. In addition, self-service minimizes inefficient manual workflows that add friction to the development process. - ## Introducing the Environment Environments in Radius provide a landing-zone for Applications that is configured with the organization's chosen best-practices, settings, and Recipes. Environments encapsulate and store configuration for the compute platform, networking configuration, diagnostics systems, and other operational concerns. Environments enable a *separation of concerns* between developers and the IT organizations supporting those developers. Environments allow the configuration to vary across different types of deployments (like a staging deployment), deployment regions or even different clouds. @@ -35,7 +34,7 @@ When an Application is deployed, Radius will *bind* the Application to the confi Recipes use infrastructure-as-code templates stored in the Environment to create cloud resources on-demand when an Application is deployed. Since the Recipes are stored in the Environment, the set of available cloud resources and the configuration used for provisioning can be tightly controlled. Recipes use the credentials stored in the Environment when provisioning cloud resources to limit those who need access to cloud accounts. The Recipes configured in an Environment are versioned, and can be updated in a granular way to lower the risk of unforeseen changes. When a Recipe is executed, it automatically catalogs the infrastructure used as part of the Radius Application Graph where it is visible to the whole organization. Because Recipes are part of the Environment, they can also vary across environments. For example, a cache might need to be bigger in one cloud region, like Europe, than it was in a different cloud region, like North America. For a multi-cloud Application, an enterprise could create an Environment for an AWS region and a different Environment for an Azure region. The recipe to create a Redis cache in the AWS Environment might deploy Amazon Elasticache for Redis and the recipe in the Azure Environment might deploy Azure Cache for Redis. The Application would just use the Redis cache recipe, unaware of what underlying infrastructure was deployed to provide the cache. Lastly, the infrastructure created by Recipes is stored by Radius, so it can be automatically cleaned up to help manage costs. -Within an IT or platform engineering team, many organizations have defined specialized roles like SecOps, FinOps, and cloud centers-of-excellence to address their complex needs for using the cloud. Recipes are designed for these engineers to standardize and govern the organizations use of the cloud while still supporting self-service deployment. Since the Recipes are stored in the Environment they do not need to be shared directly with or understood and managed by application developers. By providing Recipes, platform engineers can streamline and simplify the interface to the cloud used by application developers. Since Recipes execute as part of Application deployment, the provisioning of cloud resources is part of an existing process rather than a manual step. +Within an IT or platform engineering team, many organizations have defined specialized roles like SecOps, FinOps, and cloud centers-of-excellence to address their complex needs for using the cloud. Recipes are designed for these engineers to standardize and govern the organizations use of the cloud while still supporting self-service deployment. Since the Recipes are stored in the Environment they do not need to be shared directly with or understood and managed by application developers. By providing Recipes, platform engineers can streamline and simplify the interface to the cloud used by application developers. Since Recipes execute as part of Application deployment, the provisioning of cloud resources is part of an existing process rather than a manual step. Applications use Recipes to create cloud infrastructure during deployment without describing how that infrastructure will be provisioned. For example a developer, might include a Redis Cache as part of an Application. When the Application is deployed, the Redis Cache will be created according to the Recipe, ensuring that it uses a supported configuration. Recipes make it easy for the Application to connect to the cloud resources by automatically configuring access-policies, networking, and connection settings for the Application code. Since that Application can rely on the recipe to provision the correct infrastructure and deliver the correct configuration, it is easy to deploy the same Application to different Environments without code changes. diff --git a/docs/content/concepts/faq/index.md b/docs/content/concepts/faq/index.md index 58925a22d..89b8f7197 100644 --- a/docs/content/concepts/faq/index.md +++ b/docs/content/concepts/faq/index.md @@ -8,7 +8,7 @@ weight: 999 ## General -### Is Kubernetes required to use Radius? +### Is Kubernetes required to use Radius? Currently yes. Although Radius is architected to run on any platform, today Kubernetes is the only hosting platform for Radius for the Radius control-plane and for containerized workloads. In the future, we plan to support other hosting platforms for serverless platforms. @@ -16,11 +16,11 @@ Currently yes. Although Radius is architected to run on any platform, today Kube Yes. The easiest way to add Radius to an existing application is through [Radius annotations](#TODO). Simply add the annotations to your existing Helm chart or Kubernetes YAML and you can use the Radius app graph, connections, and Recipes. [Try the tutorial](#TODO) to learn more. -### Do I have to self-host Radius? Is there a managed service for Radius? +### Do I have to self-host Radius? Is there a managed service for Radius? Open-source Radius requires that you self-host and run your own Radius instance in your Kubernetes cluster. In the future, we hope for providers to include Radius as a part of their managed service offerings. -### What languages does Radius support? +### What languages does Radius support? For application code, Radius supports any programming language as long as it is containerized. @@ -45,7 +45,7 @@ Users can employ multiple environments for isolation and organization, for examp Recipes currently support the set of [Radius portable resources]({{< ref "/guides/author-apps/portable-resources/overview" >}}): Redis, Mongo, RabbitMQ, SQL, Dapr State Stores, Dapr Secret Stores, Dapr Pub/Sub, and the untyped extender resource. Additional support for other resources (_Azure, AWS, etc._) will come in a future release. -### What infrastructure can Recipes deploy? +### What infrastructure can Recipes deploy? Radius Recipes support any resources that can be modeled in Bicep, or the AWS, Azure, and Kubernetes Terraform providers. @@ -53,9 +53,9 @@ Radius Recipes support any resources that can be modeled in Bicep, or the AWS, A Terraform Recipes currently support the Azure, AWS, and Kubernetes providers, plus any provider that does not require any credentials or configuration to be passed in (_e.g. Oracle, GCP, etc. are not currently supported_). Support for provider configuration is a high priority we plan to address in an upcoming release. -### Do developers need write access to a cloud provider (_Azure subscription, AWS account, etc._) to use Recipes? +### Do developers need write access to a cloud provider (_Azure subscription, AWS account, etc._) to use Recipes? -No. Recipes are deployed on-behalf-of the Radius Environment so developers do not need any write access to an Azure subscription, resource group, or AWS account. This allows a least-privilege access model to cloud resources and for IT operators to only allow approved IaC templates to be deployed to their cloud environments. +No. Recipes are deployed on-behalf-of the Radius Environment so developers do not need any write access to an Azure subscription, resource group, or AWS account. This allows a least-privilege access model to cloud resources and for IT operators to only allow approved IaC templates to be deployed to their cloud environments. ## Cloud/platform support @@ -63,17 +63,17 @@ No. Recipes are deployed on-behalf-of the Radius Environment so developers do no Radius Applications can include AWS services that are also supported by the AWS cloud control API. See the [AWS resource library]({{< ref "/guides/author-apps/aws/overview#resource-library" >}}) for the complete list of supported AWS resources. Connections from a Radius container to an AWS resource are not yet supported. Properties such as hostnames, ports, endpoints, and connection strings need to be manually specified as environment variables. Additional support for Connections to AWS resources is on our backlog. -### What Azure services does Radius support? +### What Azure services does Radius support? Radius Applications can include any Azure service, with support for direct connections and managed identities. Compute services (Web Apps, Container Apps, App Service, Functions, Logic Apps, and others) can be deployed but cannot currently declare connections to other resources. -### Does Radius support Google Cloud Platform (GCP)? +### Does Radius support Google Cloud Platform (GCP)? Not yet, but it is on the backlog. -### Does Radius support Dapr? +### Does Radius support Dapr? -Yes. Radius has first-class support for [Dapr building blocks]({{< ref "/guides/author-apps/dapr" >}}) such as state stores, secret stores, and pub/sub brokers. Developers can add Dapr resources to their applications and operators can define Recipes that deploy and manage the underlying infrastructure. +Yes. Radius has first-class support for [Dapr building blocks]({{< ref "/guides/author-apps/dapr" >}}) such as state stores, secret stores, and pub/sub brokers. Developers can add Dapr resources to their applications and operators can define Recipes that deploy and manage the underlying infrastructure. ## Comparison to other tools diff --git a/docs/content/concepts/overview/snippets/appmodel-concept.bicep b/docs/content/concepts/overview/snippets/appmodel-concept.bicep index 0b2ddceff..3d8af9cc8 100644 --- a/docs/content/concepts/overview/snippets/appmodel-concept.bicep +++ b/docs/content/concepts/overview/snippets/appmodel-concept.bicep @@ -31,7 +31,7 @@ resource frontend 'Applications.Core/containers@2023-10-01-preview' = { } } //CONTAINER - // Connect container to database + // Connect container to database connections: { itemstore: { source: databaseId diff --git a/docs/content/concepts/why-radius-concept/index.md b/docs/content/concepts/why-radius-concept/index.md index 68add0a2c..a570ebecc 100644 --- a/docs/content/concepts/why-radius-concept/index.md +++ b/docs/content/concepts/why-radius-concept/index.md @@ -43,11 +43,11 @@ We hope that this holistic way of thinking about applications becomes the standa ## What we're not rethinking -Many practices and technologies in cloud-native development are a success and don't need to be re-thought. +Many practices and technologies in cloud-native development are a success and don't need to be re-thought. -- Radius makes is easy for application developers to adopt because it supports your existing containerized code, Dockerfiles, and Helm charts. +- Radius makes is easy for application developers to adopt because it supports your existing containerized code, Dockerfiles, and Helm charts. - We believe that [twelve-factor](https://12factor.net/) is still a great set of ideas and so any twelve-factor style application should be easy to use with Radius. -- We like infrastructure-as-code as for its repeatability and use it for both Recipes and application descriptions. +- We like infrastructure-as-code as for its repeatability and use it for both Recipes and application descriptions. - There are plenty of great CI/CD systems, application delivery pipelines, and Gitops systems out there and Radius can work with any of them. ## Open-source from the start diff --git a/docs/content/getting-started/index.md b/docs/content/getting-started/index.md index e2425f0b7..c9b17ed5e 100644 --- a/docs/content/getting-started/index.md +++ b/docs/content/getting-started/index.md @@ -46,7 +46,7 @@ mkdir first-app cd first-app ``` -Initialize Radius. For this example, accept all the default options (press ENTER to confirm): +Initialize Radius. For this example, accept all the default options (press ENTER to confirm): ```bash rad init @@ -55,21 +55,21 @@ rad init Example output: ``` -Initializing Radius... +Initializing Radius... -✅ Install Radius {{< param version >}} - - Kubernetes cluster: k3d-k3s-default - - Kubernetes namespace: radius-system -✅ Create new environment default - - Kubernetes namespace: default - - Recipe pack: local-dev -✅ Scaffold application docs -✅ Update local configuration +✅ Install Radius {{< param version >}} + - Kubernetes cluster: k3d-k3s-default + - Kubernetes namespace: radius-system +✅ Create new environment default + - Kubernetes namespace: default + - Recipe pack: local-dev +✅ Scaffold application docs +✅ Update local configuration Initialization complete! Have a RAD time 😎 ``` -In addition to starting Radius services in your Kubernetes cluster, this initialization command creates a default application (`app.bicep`) as your starting point. It contains a single container definition (`demo`). +In addition to starting Radius services in your Kubernetes cluster, this initialization command creates a default application (`app.bicep`) as your starting point. It contains a single container definition (`demo`). {{< rad file="snippets/app.bicep" embed=true markdownConfig="{linenos=table,linenostart=1}" >}} @@ -175,7 +175,7 @@ Resources: ## Recap and next steps -It's easy to build on the default app and add more resources to the app. +It's easy to build on the default app and add more resources to the app. To delete your app, see [rad app delete]({{< ref rad_application_delete >}}). diff --git a/docs/content/guides/author-apps/application/overview/index.md b/docs/content/guides/author-apps/application/overview/index.md index 26d5edd71..339d9d0c7 100644 --- a/docs/content/guides/author-apps/application/overview/index.md +++ b/docs/content/guides/author-apps/application/overview/index.md @@ -38,7 +38,7 @@ Radius Applications are more than just client-side configuration and automation, {{< image src="app-graph.png" alt="Diagram of the application graph" width=500px >}} -## Resource schema +## Resource schema Refer to the [application schema docs]({{< ref application-schema >}}) for more information on how to define an application. diff --git a/docs/content/guides/author-apps/aws/howto-aws-resources/index.md b/docs/content/guides/author-apps/aws/howto-aws-resources/index.md index 5aa3b5e4d..12e5005da 100644 --- a/docs/content/guides/author-apps/aws/howto-aws-resources/index.md +++ b/docs/content/guides/author-apps/aws/howto-aws-resources/index.md @@ -13,25 +13,25 @@ This how-to guide will show you: - How to model an AWS S3 resource in Bicep - How to use a sample application to interact with AWS S3 bucket - {{< image src="s3appdiagram.png" alt="Screenshot of the sample application to interact with s3 bucket " width=400 >}} +{{< image src="s3appdiagram.png" alt="Screenshot of the sample application to interact with s3 bucket " width=400 >}} ## Prerequisites - Make sure you have an [AWS account](https://aws.amazon.com/premiumsupport/knowledge-center/create-and-activate-aws-account) and an [IAM user](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) - - [Create an IAM AWS access key](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html) and copy the AWS Access Key ID and the AWS Secret Access Key to a secure location for use later. If you have already created an Access Key pair, you can use that instead. + - [Create an IAM AWS access key](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html) and copy the AWS Access Key ID and the AWS Secret Access Key to a secure location for use later. If you have already created an Access Key pair, you can use that instead. - [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) - - Configure your CLI with [`aws configure`](https://docs.aws.amazon.com/cli/latest/reference/configure/index.html), specifying your configuration values + - Configure your CLI with [`aws configure`](https://docs.aws.amazon.com/cli/latest/reference/configure/index.html), specifying your configuration values - [eksctl CLI](https://docs.aws.amazon.com/eks/latest/userguide/eksctl.html) -- [kubectl CLI](https://kubernetes.io/docs/tasks/tools/install-kubectl/) +- [kubectl CLI](https://kubernetes.io/docs/tasks/tools/install-kubectl/) - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) - [Radius Bicep VSCode extension]({{< ref "installation#step-2-install-the-radius-bicep-extension" >}}) ## Step 1: Create an EKS Cluster -Create an EKS cluster by using the `eksctl` CLI. +Create an EKS cluster by using the `eksctl` CLI. ```bash -eksctl create cluster --name --region= +eksctl create cluster --name --region= ``` ## Step 2: Create a Radius Environment with the AWS cloud provider @@ -79,9 +79,10 @@ This creates a container that will be deployed to your Kubernetes cluster. This ```bash rad deploy ./app.bicep -p aws_access_key_id= -p aws_secret_access_key= ``` + > Replace `` and `` with the values obtained from the previous step. - {{% alert title="Warning" color="warning" %}}It is always recommended to have separate IAM credentials for your container to communicate with S3 or any other data store. + {{% alert title="Warning" color="warning" %}}It is always recommended to have separate IAM credentials for your container to communicate with S3 or any other data store. Radius is currently working on supporting direct connections to AWS resources so that your container can automatically communicate with the data store securely without having to manage separate credentials for data plane operations{{% /alert %}} 1. Port-forward the container to your machine with [`rad resource expose`]({{< ref rad_resource_expose >}}): @@ -111,6 +112,7 @@ If you hit errors while deploying the application, please follow the steps below ```bash rad debug-logs ``` + Inspect the UCP logs to see if there are any errors If you have issues with the sample application, where the container doesn't connect with the S3 bucket, please follow the steps below to troubleshoot: @@ -120,10 +122,11 @@ If you have issues with the sample application, where the container doesn't conn ```bash rad resource logs containers frontend -a s3app ``` + Also make sure to [open an Issue](https://github.com/radius-project/radius/issues/new/choose) if you encounter a generic `Internal server error` message or an error message that is not self-serviceable, so we can address the root error not being forwarded to the user. ## Further Reading {{< categorizeby category="Overview" tag="AWS" >}} -{{< categorizeby category="How-To" tag="AWS" >}} \ No newline at end of file +{{< categorizeby category="How-To" tag="AWS" >}} diff --git a/docs/content/guides/author-apps/aws/overview/index.md b/docs/content/guides/author-apps/aws/overview/index.md index a00005157..71a3743ea 100644 --- a/docs/content/guides/author-apps/aws/overview/index.md +++ b/docs/content/guides/author-apps/aws/overview/index.md @@ -21,13 +21,13 @@ The AWS provider allows you to deploy and connect to AWS resources from a Radius {{< tabs Bicep >}} {{% codetab %}} -In the following example, a [Container]({{< ref "guides/author-apps/containers" >}}) is connecting to an S3 bucket. +In the following example, a [Container]({{< ref "guides/author-apps/containers" >}}) is connecting to an S3 bucket. {{< rad file="snippets/aws.bicep" embed=true >}} -{{% /codetab %}} +{{% /codetab %}} {{< /tabs >}} ## Resource library -{{< button text="AWS resource library" link="/reference/resource-schema/aws" newtab="true" >}} \ No newline at end of file +{{< button text="AWS resource library" link="/reference/resource-schema/aws" newtab="true" >}} diff --git a/docs/content/guides/author-apps/aws/overview/snippets/aws.bicep b/docs/content/guides/author-apps/aws/overview/snippets/aws.bicep index 906c4fc52..c1db7cbd4 100644 --- a/docs/content/guides/author-apps/aws/overview/snippets/aws.bicep +++ b/docs/content/guides/author-apps/aws/overview/snippets/aws.bicep @@ -7,7 +7,7 @@ param environment string param bucket string = 'mybucket' @secure() -param aws_access_key_id string +param aws_access_key_id string @secure() param aws_secret_access_key string diff --git a/docs/content/guides/author-apps/azure/howto-azure-resources/index.md b/docs/content/guides/author-apps/azure/howto-azure-resources/index.md index a21fb0a73..03b4fa6ee 100644 --- a/docs/content/guides/author-apps/azure/howto-azure-resources/index.md +++ b/docs/content/guides/author-apps/azure/howto-azure-resources/index.md @@ -2,7 +2,7 @@ type: docs title: "How-To: Connect a container to an Azure resource" linkTitle: "Deploy Azure resources" -description: "Learn how to connect a container to an Azure resource with managed identities and RBAC" +description: "Learn how to connect a container to an Azure resource with managed identities and RBAC" weight: 600 slug: 'azure-connection' categories: "How-To" @@ -24,7 +24,7 @@ The steps below will showcase a "rad-ified" version of the existing [Azure AD wo - [Setup a supported Kubernetes cluster]({{< ref "/guides/operations/kubernetes/overview#supported-clusters" >}}) - [Azure AD Workload Identity](https://azure.github.io/azure-workload-identity/docs/installation.html) installed in your cluster, including the [Mutating Admission Webhook](https://azure.github.io/azure-workload-identity/docs/installation/mutating-admission-webhook.html) -## Step 1: Initialize Radius +## Step 1: Initialize Radius Begin by running [`rad init --full`]({{< ref rad_init >}}). Make sure to configure an Azure cloud provider: @@ -32,7 +32,7 @@ Begin by running [`rad init --full`]({{< ref rad_init >}}). Make sure to configu rad init --full ``` -## Step 2: Define a Radius Environment +## Step 2: Define a Radius Environment Create a file named `app.bicep` and define a Radius Environment with [identity property]({{< ref "/guides/deploy-apps/environments/overview" >}}) set. This configures your environment to use your Azure AD workload identity installation with your cluster's OIDC endpoint: diff --git a/docs/content/guides/author-apps/azure/howto-azure-resources/snippets/container-wi.bicep b/docs/content/guides/author-apps/azure/howto-azure-resources/snippets/container-wi.bicep index 9840e5735..e57420aad 100644 --- a/docs/content/guides/author-apps/azure/howto-azure-resources/snippets/container-wi.bicep +++ b/docs/content/guides/author-apps/azure/howto-azure-resources/snippets/container-wi.bicep @@ -5,7 +5,7 @@ import radius as radius param azLocation string = resourceGroup().location @description('Specifies the OIDC issuer URL') -param oidcIssuer string +param oidcIssuer string resource env 'Applications.Core/environments@2023-10-01-preview' = { name: 'iam-quickstart' @@ -68,7 +68,7 @@ resource keyvault 'Microsoft.KeyVault/vaults@2021-10-01' = { properties: { enabledForTemplateDeployment: true tenantId: subscription().tenantId - enableRbacAuthorization:true + enableRbacAuthorization: true sku: { name: 'standard' family: 'A' diff --git a/docs/content/guides/author-apps/containers/howto-connect-dependencies/index.md b/docs/content/guides/author-apps/containers/howto-connect-dependencies/index.md index 9cdf24527..54e22b152 100644 --- a/docs/content/guides/author-apps/containers/howto-connect-dependencies/index.md +++ b/docs/content/guides/author-apps/containers/howto-connect-dependencies/index.md @@ -41,10 +41,11 @@ Connections from a container to a resource result in environment variables for c ```bash rad run ./app.bicep -a demo ``` + 1. Visit [localhost:3000](http://localhost:3000) in your browser. You should see the following page, now showing injected environment variables: {{< image src="./demo-with-redis-screenshot.png" alt="Screenshot of the demo app with all environment variables" width=1000px >}} - + ## Step 5: View the Application Connections 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: diff --git a/docs/content/guides/author-apps/containers/howto-keyvault-volume/index.md b/docs/content/guides/author-apps/containers/howto-keyvault-volume/index.md index 97b054876..210bd5a92 100644 --- a/docs/content/guides/author-apps/containers/howto-keyvault-volume/index.md +++ b/docs/content/guides/author-apps/containers/howto-keyvault-volume/index.md @@ -2,7 +2,7 @@ type: docs title: "How-To: Mount an Azure Key Vault as a volume to a container" linkTitle: "Mount a Key Vault" -description: "Learn how to mount an Azure Key Vault as a volume to a container" +description: "Learn how to mount an Azure Key Vault as a volume to a container" weight: 600 slug: 'volume-keyvault' categories: "How-To" @@ -23,9 +23,9 @@ This how-to guide will provide an overview of how to: - [Supported Kubernetes cluster]({{< ref "guides/operations/kubernetes" >}}) - [Azure AD Workload Identity](https://azure.github.io/azure-workload-identity/docs/installation.html) installed on your cluster - [Azure Keyvault Provider](https://azure.github.io/secrets-store-csi-driver-provider-azure/docs/getting-started/installation/) - - The above installation will also install the required [Secrets Store CSI Driver](https://secrets-store-csi-driver.sigs.k8s.io/getting-started/installation.html) + - The above installation will also install the required [Secrets Store CSI Driver](https://secrets-store-csi-driver.sigs.k8s.io/getting-started/installation.html) -## Step 1: Initialize Radius +## Step 1: Initialize Radius Begin by running [`rad init --full`]({{< ref rad_init >}}). Make sure to configure an Azure cloud provider: @@ -73,7 +73,7 @@ rad deploy ./app.bicep -p oidcIssuer= [myapp-mycontainer-d8b4fc44-qrhnn] secret context : supersecret ``` - Note: You might need to wait 1-2 minutes for the pods and identities to be set up completely. Retry in a few minutes if you are unable to view the secret contents. + Note: You might need to wait 1-2 minutes for the pods and identities to be set up completely. Retry in a few minutes if you are unable to view the secret contents. ## Cleanup @@ -82,5 +82,5 @@ rad deploy ./app.bicep -p oidcIssuer= ```bash rad app delete myapp --yes ``` - + 2. Delete the deployed Azure Key Vault via the Azure portal or the Azure CLI diff --git a/docs/content/guides/author-apps/containers/howto-keyvault-volume/snippets/keyvault-wi.bicep b/docs/content/guides/author-apps/containers/howto-keyvault-volume/snippets/keyvault-wi.bicep index a2910e02e..774c42e21 100644 --- a/docs/content/guides/author-apps/containers/howto-keyvault-volume/snippets/keyvault-wi.bicep +++ b/docs/content/guides/author-apps/containers/howto-keyvault-volume/snippets/keyvault-wi.bicep @@ -84,13 +84,11 @@ resource container 'Applications.Core/containers@2023-10-01-preview' = { volkv: { kind: 'persistent' source: volume.id - mountPath: '/var/secrets' + mountPath: '/var/secrets' } } - + } } } //CONTAINER - - diff --git a/docs/content/guides/author-apps/containers/howto-volumes/index.md b/docs/content/guides/author-apps/containers/howto-volumes/index.md index 0be989c3f..e510b0818 100644 --- a/docs/content/guides/author-apps/containers/howto-volumes/index.md +++ b/docs/content/guides/author-apps/containers/howto-volumes/index.md @@ -34,11 +34,13 @@ The `samples/volumes` container will display the status and contents of the `/tm ```bash rad deploy ./app.bicep ``` + 1. Once complete, port forward to your container with [`rad resource expose`]({{< ref rad_resource_expose >}}): ```bash rad resource expose containers mycontainer -a myapp --port 5000 ``` + 1. Visit [localhost:5000](http://localhost:5000) in your browser. You should see a message warning that the directory `/tmpdir` does not exist: {{< image src="screenshot-error.jpg" width=500px alt="Screenshot of container showing that the tmp directory does not exist" >}} @@ -62,7 +64,7 @@ Within the `container.volume` property, add a new volume named `temp` and config ```bash rad resource expose containers mycontainer -a myapp --port 5000 ``` - + 1. Visit [localhost:5000](http://localhost:5000) in your browser. You should see the contents of `/tmpdir`, showing an empty directory. {{< image src="screenshot-empty.jpg" width=500px alt="Screenshot of container showing that the tmp directory has no items" >}} diff --git a/docs/content/guides/author-apps/containers/overview/index.md b/docs/content/guides/author-apps/containers/overview/index.md index bbf5e125a..5782682f0 100644 --- a/docs/content/guides/author-apps/containers/overview/index.md +++ b/docs/content/guides/author-apps/containers/overview/index.md @@ -30,7 +30,7 @@ Radius provides a way to apply custom Kubernetes configurations to container res You can provide a Kubernetes YAML definition as a base or foundation upon which Radius will build your containers, enabling you to incrementally adopting Radius by starting with your existing YAML definition and use applying Radius customizations on top. The provided YAML is fully passed through to Kubernetes when Radius creates the container resource, which means that you may even provide a definition for a CRD that Radius has no visibility into. -Radius currently supports the following Kubernetes resource types for the `base` property: +Radius currently supports the following Kubernetes resource types for the `base` property: | Kubernetes Resource Types | Number of resources | Limitation | |---------------------------|---------------------|------------| @@ -66,7 +66,7 @@ Health probes are used to determine the health of a container. There are two typ ### Readiness Probe -Readiness probes detect when a container begins reporting it is ready to receive traffic, such as after loading a large configuration file that may take a couple seconds to process. There are three types of probes available, httpGet, tcp and exec. +Readiness probes detect when a container begins reporting it is ready to receive traffic, such as after loading a large configuration file that may take a couple seconds to process. There are three types of probes available, httpGet, tcp and exec. For an **httpGet** probe, an HTTP GET request at the specified endpoint will be used to probe the application. If a success code is returned, the probe passes. If no code or an error code is returned, the probe fails, and the container won’t receive any requests after a specified number of failures. Any code greater than or equal to 200 and less than 400 indicates success. Any other code indicates failure. @@ -92,7 +92,7 @@ Refer to the probes section of the [container resource schema]({{< ref "containe When a connection between two resources is declared, Radius injects resource related information into environment variables that are then used to access the respective resource without having to hard code URIs, connection strings, access keys, or anything that application code needs to successfully communicate. -These environment variables follow a naming convention that makes their use predictable. The naming pattern is derived from the connection name and resource type, which determines what values are required. This way the code that needs to read the values gets to define how they are named. Refer to the [reference documentation]({{< ref resource-schema >}}) of each resource for more information. +These environment variables follow a naming convention that makes their use predictable. The naming pattern is derived from the connection name and resource type, which determines what values are required. This way the code that needs to read the values gets to define how they are named. Refer to the [reference documentation]({{< ref resource-schema >}}) of each resource for more information. For example, adding a connection called `database` that connects to a MongoDB resource would result in the following environment variables being injected: @@ -103,7 +103,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. +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. diff --git a/docs/content/guides/author-apps/dapr/overview/index.md b/docs/content/guides/author-apps/dapr/overview/index.md index bdfad1fe4..c26f7668e 100644 --- a/docs/content/guides/author-apps/dapr/overview/index.md +++ b/docs/content/guides/author-apps/dapr/overview/index.md @@ -10,7 +10,7 @@ tags: ["Dapr"] Radius offers first-class support for the [Dapr](https://dapr.io) runtime and building blocks to make it easy to make your code fully portable across code and infrastructure. Simply drop in your Dapr building blocks as resources and Radius will automatically configure and apply the accompanying Dapr configuration. -## Installation +## Installation Follow the [Dapr installation instructions](https://docs.dapr.io/operations/hosting/kubernetes/kubernetes-deploy/) to install Dapr in your Kubernetes cluster. Once installed, you can begin adding Dapr sidecars and building blocks. diff --git a/docs/content/guides/author-apps/kubernetes/how-to-patch-pod/index.md b/docs/content/guides/author-apps/kubernetes/how-to-patch-pod/index.md index 5a4c58e32..c1b3344eb 100644 --- a/docs/content/guides/author-apps/kubernetes/how-to-patch-pod/index.md +++ b/docs/content/guides/author-apps/kubernetes/how-to-patch-pod/index.md @@ -58,7 +58,6 @@ Begin by creating a file named `app.bicep` with a Radius [container]({{< ref "gu 2. Run the command below, which will list the pods in your Kubernetes cluster, using the `-o` flag to specify the relevant information to output: - ```bash kubectl get pods -A -l app.kubernetes.io/name=demo -o custom-columns=POD:.metadata.name,STATUS:.status.phase,CONTAINER_NAMES:spec.containers[:].name,CONTAINER_IMAGES:spec.containers[:].image ``` @@ -126,7 +125,7 @@ Add the following [`runtimes`]({{< ref "reference/resource-schema/core-schema/co ## Cleanup Run the following command to [delete]({{< ref "guides/deploy-apps/howto-delete" >}}) your app and container: - + ```bash rad app delete demo ``` diff --git a/docs/content/guides/author-apps/networking/howto-tls/index.md b/docs/content/guides/author-apps/networking/howto-tls/index.md index fd8718a4c..2c68a3679 100644 --- a/docs/content/guides/author-apps/networking/howto-tls/index.md +++ b/docs/content/guides/author-apps/networking/howto-tls/index.md @@ -16,8 +16,8 @@ This guide will show you how to add TLS and HTTPS to an application with a gatew - [Radius Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-radius" >}}) - Domain name + DNS A-record pointing to your Kubernetes cluster - - 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. - - If running Radius on an Elastic Kubernetes Service (EKS) cluster you can optionally leverage an [Application Load Balancer](https://docs.aws.amazon.com/eks/latest/userguide/alb-ingress.html) for a hosted DNS name and record. + - 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. + - If running Radius on an Elastic Kubernetes Service (EKS) cluster you can optionally leverage an [Application Load Balancer](https://docs.aws.amazon.com/eks/latest/userguide/alb-ingress.html) for a hosted DNS name and record. ## Step 1: Define a container @@ -37,7 +37,6 @@ TLS certificates need to be referenced via a Radius [secret store]({{< ref "/gui [cert-manager](https://cert-manager.io/docs/) is a great way to manage certificates in Kubernetes and make them available as a Kubernetes secret. This example uses a Kubernetes secret that was setup by cert-manager {{< /alert >}} - {{< rad file="snippets/app-existing.bicep" marker="//SECRETS" embed=true >}} {{< /codetab >}} @@ -65,6 +64,7 @@ Now that your certificate data is ready add a gateway and reference the secret s ```sh rad deploy app.bicep -a tlsdemo ``` + {{% /codetab %}} {{% codetab %}} @@ -72,6 +72,7 @@ rad deploy app.bicep -a tlsdemo ```sh rad deploy app.bicep -a tlsdemo -p tlscrt= -p tlskey= ``` + {{% /codetab %}} {{< /tabs >}} diff --git a/docs/content/guides/author-apps/secrets/howto-new-secretstore/index.md b/docs/content/guides/author-apps/secrets/howto-new-secretstore/index.md index 5f9e0c67c..9589ceee6 100644 --- a/docs/content/guides/author-apps/secrets/howto-new-secretstore/index.md +++ b/docs/content/guides/author-apps/secrets/howto-new-secretstore/index.md @@ -12,10 +12,10 @@ Radius secret stores securely manage secrets for your Environment and Applicatio By default, Radius leverages the hosting platform's secrets management solution to create and store the secret. For example, if you are deploying to Kubernetes, the secret store will be created as a Kubernetes Secret. -## Pre-requisites +## Pre-requisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [kubectl CLI](https://kubernetes.io/docs/tasks/tools/install-kubectl/) +- [kubectl CLI](https://kubernetes.io/docs/tasks/tools/install-kubectl/) - [Radius Bicep VSCode extension]({{< ref "installation#step-2-install-the-radius-bicep-vs-code-extension" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-the-radius-control-plane-and-the-radius-environment" >}}) @@ -25,7 +25,7 @@ Open the `app.bicep` from the current working directory and add a new Secret Sto {{< rad file="snippets/secretstore.bicep" embed=true marker="//SECRET_STORE_NEW" >}} -In this example a new secret store resource is created for storing a TLS certificate in it. +In this example a new secret store resource is created for storing a TLS certificate in it. ## Step 2: Deploy the application @@ -35,9 +35,9 @@ Deploy the application with [`rad deploy`]({{< ref "rad_deploy" >}}): rad deploy app.bicep -a secretdemo ``` -## Step 3: Verify the secrets are deployed +## Step 3: Verify the secrets are deployed -Use the below command to verify if the secret got deployed +Use the below command to verify if the secret got deployed: ```bash kubectl get secret -n default-secretdemo diff --git a/docs/content/guides/author-apps/secrets/overview/index.md b/docs/content/guides/author-apps/secrets/overview/index.md index fba40d2c3..8a4e1f9fa 100644 --- a/docs/content/guides/author-apps/secrets/overview/index.md +++ b/docs/content/guides/author-apps/secrets/overview/index.md @@ -14,7 +14,7 @@ Sensitive data, such as TLS certificates, tokens, passwords, and keys that serve An independent resource with its own lifecycle, a Radius Secret Store ensures that data is persisted across container restarts or mounts and can interact directly with the Radius Application Model. For instance, an Applications.Core/gateways resource can use this resource to store a TLS certificate and reference it. -## Create a new Secret Store +## Create a new Secret Store Radius leverages the secrets management solution available on the hosting platform to create and store the secret. For example, if you are deploying to Kubernetes, the secret will be created in Kubernetes Secrets. Follow the [how-to guide on creating new secret store]({{< ref "/guides/author-apps/secrets/howto-new-secretstore" >}}) to learn more about creating a new secret store resource and storing a TLS certificate in it. diff --git a/docs/content/guides/deploy-apps/environments/howto-environment/index.md b/docs/content/guides/deploy-apps/environments/howto-environment/index.md index bf1241797..dddb7263c 100644 --- a/docs/content/guides/deploy-apps/environments/howto-environment/index.md +++ b/docs/content/guides/deploy-apps/environments/howto-environment/index.md @@ -24,21 +24,21 @@ Radius Environments can be setup with the rad CLI via two paths: interactive or ```bash rad init ``` - + Select `Yes` to setup the app.bicep in the current directory ``` - Initializing Radius... - - 🕔 Install Radius {{< param version >}} + Initializing Radius... + + 🕔 Install Radius {{< param version >}} - Kubernetes cluster: kind - - Kubernetes namespace: radius-system - ⏳ Create new environment default - - Kubernetes namespace: default - - Recipe pack: local-dev - ⏳ Scaffold application - ⏳ Update local configuration - ``` + - Kubernetes namespace: radius-system + ⏳ Create new environment default + - Kubernetes namespace: default + - Recipe pack: local-dev + ⏳ Scaffold application + ⏳ Update local configuration + ``` 2. Verify the initialization by running: ```bash @@ -56,24 +56,29 @@ Radius Environments can be setup with the rad CLI via two paths: interactive or ``` You can also use [`rad env list`]({{< ref rad_env_list.md >}}) to view your environment: - + ```bash rad env list ``` + 3. Use `rad recipe list` to see the list of available Recipes: + ```bash rad recipe list ``` + ``` NAME TYPE TEMPLATE KIND TEMPLATE default Applications.Datastores/mongoDatabases bicep ghcr.io/radius-project/recipes/local-dev/mongodatabases:latest default Applications.Datastores/redisCaches bicep ghcr.io/radius-project/recipes/local-dev/rediscaches:latest - ``` + ``` + You can follow the [Recipes]({{< ref "/guides/recipes/overview" >}}) documentation to learn more about the Recipes and how to use them in your application. ## Create an environment interactively 1. Initialize a new environment with [`rad init --full`]({{< ref rad_init >}}): + ```bash rad init --full ``` @@ -87,21 +92,22 @@ Radius Environments can be setup with the rad CLI via two paths: interactive or You should see the following output: ``` - Initializing Radius... + Initializing Radius... - ✅ Install Radius {{< param version >}} - - Kubernetes cluster: k3d-k3s-default - - Kubernetes namespace: radius-system - ✅ Create new environment default - - Kubernetes namespace: default - - Recipe pack: dev - ✅ Scaffold application samples - ✅ Update local configuration + ✅ Install Radius {{< param version >}} + - Kubernetes cluster: k3d-k3s-default + - Kubernetes namespace: radius-system + ✅ Create new environment default + - Kubernetes namespace: default + - Recipe pack: dev + ✅ Scaffold application samples + ✅ Update local configuration Initialization complete! Have a RAD time 😎 ``` 1. Verify the Radius services were installed by running: + ```bash kubectl get deployments -n radius-system ``` @@ -152,7 +158,6 @@ Radius can also be installed and an environment created with manual rad CLI comm Run [`rad install kubernetes`]({{< ref rad_install_kubernetes >}}) to install Radius into your default Kubernetes context and cluster: - ```bash rad install kubernetes ``` @@ -181,9 +186,9 @@ Radius can also be installed and an environment created with manual rad CLI comm 1. Create your Radius Environment: - + Run [`rad env create`]({{< ref rad_env_create >}}) to create a new environment in your resource group. Specify the `--namespace` flag to select the Kubernetes namespace to deploy resources into: - + ```bash rad env create myEnvironment --group myGroup --namespace my-namespace ``` @@ -223,6 +228,6 @@ Radius can also be installed and an environment created with manual rad CLI comm myEnvironment ``` -## Next steps +## Next steps -Follow the [cloud provider guides]({{< ref providers >}}) to configure cloud providers for your environment to deploy and manage cloud resources \ No newline at end of file +Follow the [cloud provider guides]({{< ref providers >}}) to configure cloud providers for your environment to deploy and manage cloud resources. \ No newline at end of file diff --git a/docs/content/guides/deploy-apps/howto-delete/index.md b/docs/content/guides/deploy-apps/howto-delete/index.md index ff1275a3b..5f553016d 100644 --- a/docs/content/guides/deploy-apps/howto-delete/index.md +++ b/docs/content/guides/deploy-apps/howto-delete/index.md @@ -12,7 +12,7 @@ tags: ["delete"] - A [deployed application]({{< ref deploy-apps >}}) in a Radius Environment. -## Step 1: Delete the Radius Application from the environment +## Step 1: Delete the Radius Application from the environment You can delete the Radius Application using the [`rad app delete`]({{< ref rad_application_delete >}}) command: @@ -21,7 +21,7 @@ rad app delete ``` This will delete the following resources from the Radius Environment - + 1. All the resources created by Radius on the Kubernetes cluster under the `-` namespace 2. All the resources provisioned by Recipes diff --git a/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/index.md b/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/index.md index 1cedabc3d..6d65551ec 100644 --- a/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/index.md +++ b/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/index.md @@ -2,7 +2,7 @@ type: docs title: "How-To: Deploy an application with Github Actions" linkTitle: "Deploy via GitHub Actions" -description: "Learn about adding your Radius apps to your deployment pipelines with GitHub Actions" +description: "Learn about adding your Radius apps to your deployment pipelines with GitHub Actions" weight: 300 categories: "How-To" tags: ["CI/CD"] @@ -71,6 +71,7 @@ Ensure the service principal created above has the proper RBAC assignment to dow - name: Configure kubectl context run: az aks get-credentials --name ${CLUSTER} --resource-group ${RESOURCE_GROUP} --subscription ${SUBSCRIPTION_ID} ``` + {{% /codetab %}} {{% codetab %}} diff --git a/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-rad-cli/index.md b/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-rad-cli/index.md index 407f39bf4..3d6d33397 100644 --- a/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-rad-cli/index.md +++ b/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-rad-cli/index.md @@ -8,7 +8,8 @@ categories: "How-To" tags: ["deployments"] --- -## Pre-requisites +## Pre-requisites + - [An authored Radius Application]({{< ref author-apps >}}) ## Step 1 : Deploy an application into a Radius Environment @@ -21,6 +22,7 @@ An application can be deployed to an environment with [`rad deploy`]({{< ref rad ```bash rad deploy app.bicep ``` + This will deploy the application to the created Radius Environment. {{% /codetab %}} @@ -39,4 +41,3 @@ Parameters can be included as part of `rad deploy` via the `-p/--parameters` fla {{< /tabs >}} > Follow the [how-to guide]({{< ref howto-troubleshootapps >}}) for guidance on troubleshooting your Radius Application - diff --git a/docs/content/guides/deploy-apps/howto-deploy/howto-run-app/index.md b/docs/content/guides/deploy-apps/howto-deploy/howto-run-app/index.md index baf03af94..b9f168d21 100644 --- a/docs/content/guides/deploy-apps/howto-deploy/howto-run-app/index.md +++ b/docs/content/guides/deploy-apps/howto-deploy/howto-run-app/index.md @@ -8,7 +8,8 @@ categories: "How-To" tags: ["deployments"] --- -## Pre-requisites +## Pre-requisites + - [An authored Radius Application]({{< ref author-apps >}}) ## Step 1: Run an application @@ -39,4 +40,4 @@ You can find more examples of deploying applications with parameters [here]({{< {{< /tabs >}} - > Follow the [how-to guide]({{< ref howto-troubleshootapps >}}) for guidance on troubleshooting your apps + > Follow the [how-to guide]({{< ref howto-troubleshootapps >}}) for guidance on troubleshooting your apps. diff --git a/docs/content/guides/deploy-apps/howto-troubleshootapps/index.md b/docs/content/guides/deploy-apps/howto-troubleshootapps/index.md index f22ef1fb4..d7570acc5 100644 --- a/docs/content/guides/deploy-apps/howto-troubleshootapps/index.md +++ b/docs/content/guides/deploy-apps/howto-troubleshootapps/index.md @@ -19,6 +19,7 @@ Use the below command to port-forward the container to your local machine. This ```bash rad resource expose containers -a --port ``` + Refer to [`rad resource expose`]({{< ref rad_resource_expose >}}) for more details on the command. ## Step 2: Inspect container logs @@ -29,7 +30,7 @@ If your Radius Application is unresponsive or does not connect to its dependenci rad resource logs containers -a ``` -> Also refer to the [connections section]({{< ref "guides/author-apps/containers/overview#connections" >}}) to know about the naming convention of the environment variables and inspect if your application uses the right variables. +> Also refer to the [connections section]({{< ref "guides/author-apps/containers/overview#connections" >}}) to know about the naming convention of the environment variables and inspect if your application uses the right variables. ## Step 3: Inspect control-plane logs @@ -38,6 +39,7 @@ If you hit errors while deploying the application, look at the control plane log ```bash rad debug-logs ``` -Inspect the UCP and DE logs to see if there are any errors + +Inspect the UCP and DE logs to see if there are any errors. >Also make sure to [open an Issue](https://github.com/radius-project/radius/issues/new/choose) if you encounter a generic `Internal server error` message or an error message that is not self-serviceable, so we can address the root error not being forwarded to the user. diff --git a/docs/content/guides/operations/control-plane/howto-postman/index.md b/docs/content/guides/operations/control-plane/howto-postman/index.md index 1597b4b5b..6533ff1ff 100644 --- a/docs/content/guides/operations/control-plane/howto-postman/index.md +++ b/docs/content/guides/operations/control-plane/howto-postman/index.md @@ -73,7 +73,7 @@ Now that you have created the necessary Kubernetes objects, you can generate a t 1. Run the following command to generate a token for the `postman-account` service account: ```bash - kubectl create token postman-account -n radius-system + kubectl create token postman-account -n radius-system ``` This will create a token with the default expiration time of 1 hour. If you want to set a different expiration time, you can use the `--duration` flag to specify a duration in seconds (up to 48 hours). @@ -98,13 +98,13 @@ Next, you'll need to get the control plane API endpoint and use Postman to inter 1. Open Postman and create a new request 1. Set the method to `GET` 1. Set the URL to the following, which will [retrieve all your resource groups]({{< ref api-ucp >}}): - + ``` /apis/api.ucp.dev/v1alpha3/planes/radius/local/resourcegroups?api-version=2023-10-01-preview ``` {{< image src="postman-url.png" width=900px alt="Screenshot of Postman with filled out URL" >}} - + 1. Open the `Authorization` tab and select `Bearer Token` from the `Type` dropdown. Paste the token you generated in step 2 into the `Token` field: {{< image src="postman-auth.png" width=900px alt="Screenshot of Postman with filled out auth token" >}} @@ -124,6 +124,7 @@ Next, you'll need to get the control plane API endpoint and use Postman to inter ] } ``` + 1. Update your request URL to [list all the Radius Environments]({{< ref api-environments >}}) in your resource group (_make sure to update the name of your resource group in the URL. In this example the resource group name is default_): ``` @@ -155,8 +156,6 @@ Next, you'll need to get the control plane API endpoint and use Postman to inter } ``` - - ## Next step: Explore the Radius API Now that you have successfully authenticated to the Radius API and interacted with resources, you can explore the API using the [Radius API reference]({{< ref api >}}). diff --git a/docs/content/guides/operations/control-plane/logs/fluentd/index.md b/docs/content/guides/operations/control-plane/logs/fluentd/index.md index 59c6e3e1d..1b46e4a71 100644 --- a/docs/content/guides/operations/control-plane/logs/fluentd/index.md +++ b/docs/content/guides/operations/control-plane/logs/fluentd/index.md @@ -96,7 +96,7 @@ tags: ["logs","observability"] fluentd-sdrld 1/1 Running 0 14s ``` -## Install Radius control plane +## Install Radius control plane Visit the [Kubernetes docs]({{< ref "guides/operations/kubernetes" >}}) to learn how to install the Radius control plane. By default, Radius has JSON logging enabled. @@ -117,9 +117,9 @@ _Note: There is a small delay for Elastic Search to index the logs that Fluentd ```bash kubectl port-forward svc/kibana-kibana 5601 -n radius-monitoring ``` - + You should see: - + ``` Forwarding from 127.0.0.1:5601 -> 5601 Forwarding from [::1]:5601 -> 5601 @@ -167,7 +167,7 @@ _Note: There is a small delay for Elastic Search to index the logs that Fluentd ## References -* [Fluentd for Kubernetes](https://docs.fluentd.org/v/0.12/articles/kubernetes-fluentd) -* [Elastic search helm chart](https://github.com/elastic/helm-charts/tree/master/elasticsearch) -* [Kibana helm chart](https://github.com/elastic/helm-charts/tree/master/kibana) -* [Kibana Query Language](https://www.elastic.co/guide/en/kibana/current/kuery-query.html) +- [Fluentd for Kubernetes](https://docs.fluentd.org/v/0.12/articles/kubernetes-fluentd) +- [Elastic search helm chart](https://github.com/elastic/helm-charts/tree/master/elasticsearch) +- [Kibana helm chart](https://github.com/elastic/helm-charts/tree/master/kibana) +- [Kibana Query Language](https://www.elastic.co/guide/en/kibana/current/kuery-query.html) diff --git a/docs/content/guides/operations/control-plane/metrics/grafana/index.md b/docs/content/guides/operations/control-plane/metrics/grafana/index.md index 61ced907d..73e2cd9d8 100644 --- a/docs/content/guides/operations/control-plane/metrics/grafana/index.md +++ b/docs/content/guides/operations/control-plane/metrics/grafana/index.md @@ -37,7 +37,6 @@ The [radius-resource-provider-dashboard.json](https://raw.githubusercontent.com/ - [Setup Prometheus]({{}}) on your Kubernetes cluster - [Helm 3](https://helm.sh/) - ### Install Grafana 1. Add the Grafana Helm repo: @@ -72,6 +71,7 @@ The [radius-resource-provider-dashboard.json](https://raw.githubusercontent.com/ ```bash kubectl get pods -n radius-monitoring ``` + You should see something similar to the following: ``` @@ -135,13 +135,13 @@ Now that Grafana is installed, you need to configure it to use Prometheus as a d ### Import dashboards in Grafana 1. Download the Grafana dashboard templates: - - [radius-overview-dashboard.json](https://raw.githubusercontent.com/radius-project/radius/main/grafana/radius-overview-dashboard.json) + - [radius-overview-dashboard.json](https://raw.githubusercontent.com/radius-project/radius/main/grafana/radius-overview-dashboard.json) - [radius-resource-provider-dashboard.json](https://raw.githubusercontent.com/radius-project/radius/main/grafana/radius-resource-provider-dashboard.json) 1. In the upper left corner of the Grafana home screen, click the "+" option, then "Import", and select your templates. 1. Select the dashboard that you imported and enjoy! ## References -* [Prometheus Installation](https://github.com/prometheus-community/helm-charts) -* [Prometheus on Kubernetes](https://github.com/coreos/kube-prometheus) -* [Prometheus Query Language](https://prometheus.io/docs/prometheus/latest/querying/basics/) +- [Prometheus Installation](https://github.com/prometheus-community/helm-charts) +- [Prometheus on Kubernetes](https://github.com/coreos/kube-prometheus) +- [Prometheus Query Language](https://prometheus.io/docs/prometheus/latest/querying/basics/) diff --git a/docs/content/guides/operations/control-plane/traces/jaeger/index.md b/docs/content/guides/operations/control-plane/traces/jaeger/index.md index 68329e2c3..c69848960 100644 --- a/docs/content/guides/operations/control-plane/traces/jaeger/index.md +++ b/docs/content/guides/operations/control-plane/traces/jaeger/index.md @@ -55,7 +55,7 @@ The following steps show you how to configure the Radius control plane to send d 1. Port forward the Jaeger service to your local machine: ```bash - kubectl port-forward svc/tracing 16686 -n radius-monitoring + kubectl port-forward svc/tracing 16686 -n radius-monitoring ``` 2. In your browser, go to [http://localhost:16686](http://localhost:16686) to see the Jaeger UI: @@ -64,4 +64,4 @@ The following steps show you how to configure the Radius control plane to send d ## References -- [Jaeger Getting Started](https://www.jaegertracing.io/docs/1.21/getting-started/#all-in-one) \ No newline at end of file +- [Jaeger Getting Started](https://www.jaegertracing.io/docs/1.21/getting-started/#all-in-one) diff --git a/docs/content/guides/operations/groups/howto-resourcegroups/index.md b/docs/content/guides/operations/groups/howto-resourcegroups/index.md index 2f870c40c..7ff18769e 100644 --- a/docs/content/guides/operations/groups/howto-resourcegroups/index.md +++ b/docs/content/guides/operations/groups/howto-resourcegroups/index.md @@ -49,7 +49,7 @@ rad group show myGroup You should see: ``` -ID NAME +ID NAME /planes/radius/local/resourcegroups/myGroup myGroup ``` diff --git a/docs/content/guides/operations/kubernetes/kubernetes-install/index.md b/docs/content/guides/operations/kubernetes/kubernetes-install/index.md index 917d46f15..55ea0b343 100644 --- a/docs/content/guides/operations/kubernetes/kubernetes-install/index.md +++ b/docs/content/guides/operations/kubernetes/kubernetes-install/index.md @@ -26,15 +26,20 @@ rad install kubernetes --set global.zipkin.url=http://jaeger-collector.radius-mo ## Install with Helm 1. Begin by adding the Radius Helm repository: + ```bash helm repo add radius https://radius.azurecr.io/helm/v1/repo helm repo update ``` + 1. Get all available versions: + ```bash helm search repo radius --versions ``` + 1. Install the specified chart: + ```bash helm upgrade radius radius/radius --install --create-namespace --namespace radius-system --version {{< param chart_version >}} --wait --timeout 15m0s ``` diff --git a/docs/content/guides/operations/kubernetes/kubernetes-metadata/index.md b/docs/content/guides/operations/kubernetes/kubernetes-metadata/index.md index f4f3c8310..e2c4d7755 100644 --- a/docs/content/guides/operations/kubernetes/kubernetes-metadata/index.md +++ b/docs/content/guides/operations/kubernetes/kubernetes-metadata/index.md @@ -65,7 +65,7 @@ Other extensions may set Kubernetes metadata. For example, the `daprSidecar` ext The order in which extensions are executed is as follows, from first to last: -1. Dapr sidecar extension +1. Dapr sidecar extension 1. Manual scale extension 1. Kubernetes metadata extension @@ -116,4 +116,4 @@ The labels & annotations were set based on the following: | `radapp.io/resource-type` | `applications.core-containers` | Radius-injected label | **Annotations** | `prometheus.io/port` | `9090` | Application annotation is applied -| `prometheus.io/scrape` | `true `| Application annotation is applied +| `prometheus.io/scrape` | `true`| Application annotation is applied diff --git a/docs/content/guides/operations/kubernetes/kubernetes-upgrade/index.md b/docs/content/guides/operations/kubernetes/kubernetes-upgrade/index.md index 600eb76d6..dc942e341 100644 --- a/docs/content/guides/operations/kubernetes/kubernetes-upgrade/index.md +++ b/docs/content/guides/operations/kubernetes/kubernetes-upgrade/index.md @@ -9,12 +9,12 @@ categories: "How-To" Radius does not offer backward compatibility with previous releases. Breaking changes may happen between releases and we recommend doing a fresh installation of the latest version of Radius after every release. -## Step 1 : Delete any existing Radius Environments +## Step 1 : Delete any existing Radius Environments To delete any existing Radius Environments, run the following command: ```bash -rad env delete +rad env delete ``` ## Step 2: Uninstall the existing Radius control-plane diff --git a/docs/content/guides/operations/providers/howto-aws-provider/index.md b/docs/content/guides/operations/providers/howto-aws-provider/index.md index 341138bc8..8d5aa4042 100644 --- a/docs/content/guides/operations/providers/howto-aws-provider/index.md +++ b/docs/content/guides/operations/providers/howto-aws-provider/index.md @@ -9,6 +9,7 @@ tags: ["AWS"] --- The AWS provider allows you to deploy and connect to AWS resources from a Radius Environment on an EKS cluster. It can be configured: + - [Interactively via `rad init`](#interactive-configuration) - [Manually via `rad env update` and `rad credential register`](#manual-configuration) @@ -20,6 +21,7 @@ The AWS provider allows you to deploy and connect to AWS resources from a Radius ## Interactive configuration 1. Initialize a new environment with [`rad init --full`]({{< ref rad_init >}}): + ```bash rad init --full ``` @@ -32,17 +34,17 @@ The AWS provider allows you to deploy and connect to AWS resources from a Radius You should see the following output: ``` - Initializing Radius... - - ✅ Install Radius {{< param version >}} - - Kubernetes cluster: k3d-k3s-default - - Kubernetes namespace: radius-system - - AWS IAM access key ID: **** - ✅ Create new environment default - - Kubernetes namespace: default - - AWS: account ***** and region: us-west-2 - ✅ Scaffold application samples - ✅ Update local configuration + Initializing Radius... + + ✅ Install Radius {{< param version >}} + - Kubernetes cluster: k3d-k3s-default + - Kubernetes namespace: radius-system + - AWS IAM access key ID: **** + ✅ Create new environment default + - Kubernetes namespace: default + - AWS: account ***** and region: us-west-2 + ✅ Scaffold application samples + ✅ Update local configuration Initialization complete! Have a RAD time 😎 ``` @@ -50,13 +52,17 @@ The AWS provider allows you to deploy and connect to AWS resources from a Radius ## Manual configuration 1. Update your Radius Environment with your AWS region and AWS account ID: + ```bash rad env update myEnvironment --aws-region myAwsRegion --aws-account-id myAwsAccountId ``` + This command updates the configuration of an environment for properties that are able to be changed. For more information visit [`rad env update`]({{< ref rad_env_update >}}) 2. Add your AWS cloud provider credentials: + ```bash rad credential register aws --access-key-id myAccessKeyId --secret-access-key mySecretAccessKey ``` + For more information on the command arguments visit [`rad credential register aws`]({{< ref rad_credential_register_aws >}}) diff --git a/docs/content/guides/operations/providers/howto-azure-provider/index.md b/docs/content/guides/operations/providers/howto-azure-provider/index.md index e1a62e13f..5d0472cb1 100644 --- a/docs/content/guides/operations/providers/howto-azure-provider/index.md +++ b/docs/content/guides/operations/providers/howto-azure-provider/index.md @@ -9,6 +9,7 @@ tags: ["Azure"] --- The Azure provider allows you to deploy and connect to Azure resources from a self-hosted Radius Environment. It can be configured: + - [Interactively via `rad init`](#interactive-configuration) - [Manually via `rad env update` and `rad credential register`](#manual-configuration) @@ -21,6 +22,7 @@ The Azure provider allows you to deploy and connect to Azure resources from a se ## Interactive configuration 1. Initialize a new environment with [`rad init --full`]({{< ref rad_init >}}): + ```bash rad init --full ``` @@ -29,6 +31,7 @@ The Azure provider allows you to deploy and connect to Azure resources from a se - **Namespace** - The Kubernetes namespace where your application containers and networking resources will be deployed (different than the Radius control-plane namespace, `radius-system`) - **Add an Azure provider** - Pick the subscription and resource group to deploy your Azure resources to Run `az ad sp create-for-rbac` to create a Service Principal without a role assignment and obtain your `appId`, `displayName`, `password`, and `tenant` information. + ``` { "appId": "****", @@ -38,26 +41,27 @@ The Azure provider allows you to deploy and connect to Azure resources from a se } ``` Enter the `appId`, `password`, and `tenant` information when prompted. + - **Environment name** - The name of the environment to create You should see the following output: ``` - Initializing Radius... - - ✅ Install Radius {{< param version >}} - - Kubernetes cluster: k3d-k3s-default - - Kubernetes namespace: radius-system - - Azure service principal: **** - ✅ Create new environment default - - Kubernetes namespace: default - - Azure: subscription ***** and resource group *** - ✅ Scaffold application samples - ✅ Update local configuration + Initializing Radius... + + ✅ Install Radius {{< param version >}} + - Kubernetes cluster: k3d-k3s-default + - Kubernetes namespace: radius-system + - Azure service principal: **** + ✅ Create new environment default + - Kubernetes namespace: default + - Azure: subscription ***** and resource group *** + ✅ Scaffold application samples + ✅ Update local configuration Initialization complete! Have a RAD time 😎 ``` - + ## Manual configuration 1. Use [`rad env update`]({{< ref rad_env_update >}}) to update your Radius Environment with your Azure subscription ID and Azure resource group: @@ -77,9 +81,10 @@ The Azure provider allows you to deploy and connect to Azure resources from a se } ``` - 3. Use [`rad credential register azure`]({{< ref rad_credential_register_azure >}}) to add the Azure service principal to your Radius installation: + ```bash rad credential register azure --client-id myClientId --client-secret myClientSecret --tenant-id myTenantId ``` + Radius will use the provided service principal for all interactions with Azure, including Bicep and Recipe deployments. diff --git a/docs/content/guides/operations/workspaces/howto-workspaces/index.md b/docs/content/guides/operations/workspaces/howto-workspaces/index.md index ebc6802e8..65dd7b5d3 100644 --- a/docs/content/guides/operations/workspaces/howto-workspaces/index.md +++ b/docs/content/guides/operations/workspaces/howto-workspaces/index.md @@ -17,35 +17,50 @@ categories: "How-To" When you have multiple environments initialized for different purposes workspaces enable you to switch between different environments easily. You can create separate workspaces and switch between them as you are working through your deployment lifecycle. 1. Install the Radius control plane on kubernetes cluster + ```sh rad install kubernetes ``` + 1. Create a resource group named `myworkspace` using [`rad group create`]({{< ref rad_group_create >}}): + ```sh rad group create myworkspace ``` + 1. Create an environment named `myworkspace` using [`rad env create`]({{< ref rad_env_create >}}): + ```sh rad env create myworkspace ``` + 1. Create a workspace named `myworkspace` using [`rad workspace create`]({{< ref rad_workspace_create >}}): - ```sh + + ```sh rad workspace create kubernetes myworkspace --group myworkspace --environment myworkspace ``` + Radius writes the workspace details to your local configuration file (`~/.rad/config.yaml` on Linux and macOS, `%USERPROFILE%\.rad\config.yaml` on Windows). 1. Create another resource group named `yourworkspace` using [`rad group create`]({{< ref rad_group_create >}}): + ```sh rad group create yourworkspace ``` + 1. Create an environment named `yourworkspace` using [`rad env create`]({{< ref rad_env_create >}}): + ```sh rad env create yourworkspace ``` + 1. Create a workspace named `yourworkspace` using [`rad workspace create`]({{< ref rad_workspace_create >}}): - ```sh + + ```sh rad workspace create kubernetes yourworkspace --group yourworkspace --environment yourworkspace ``` + 1. Verify your `config.yaml` file. It should show both `myworkspace` and `yourworkspace` workspaces, with your environments: + ```yaml workspaces: default: yourworkspace @@ -65,4 +80,5 @@ When you have multiple environments initialized for different purposes workspace /providers/applications.core/environments/myworkspace scope: /planes/radius/local/resourceGroups/myworkspace ``` + 1. You can now deploy applications to both myworkspace and yourworkspace using [`rad deploy`]({{< ref rad_deploy >}}), specifying the `-w` flag. diff --git a/docs/content/guides/operations/workspaces/overview/index.md b/docs/content/guides/operations/workspaces/overview/index.md index 5400e10a3..ea9eb1f7f 100644 --- a/docs/content/guides/operations/workspaces/overview/index.md +++ b/docs/content/guides/operations/workspaces/overview/index.md @@ -23,6 +23,7 @@ The following commands let you interact with Radius Environments: ```bash rad workspace init kubernetes ``` + {{% /codetab %}} {{% codetab %}} @@ -31,6 +32,7 @@ rad workspace init kubernetes ```bash rad workspacae list ``` + {{% /codetab %}} {{% codetab %}} @@ -39,6 +41,7 @@ rad workspacae list ```bash rad workspace show ``` + {{% /codetab %}} {{% codetab %}} @@ -47,6 +50,7 @@ rad workspace show ```bash rad workspace delete -w myenv ``` + {{% /codetab %}} {{% codetab %}} @@ -55,6 +59,7 @@ rad workspace delete -w myenv ```bash rad env switch -e myenv ``` + {{% /codetab %}} {{< /tabs >}} diff --git a/docs/content/guides/recipes/howto-author-recipes/snippets/redis-kubernetes-main.tf b/docs/content/guides/recipes/howto-author-recipes/snippets/redis-kubernetes-main.tf index 936060371..68308f203 100644 --- a/docs/content/guides/recipes/howto-author-recipes/snippets/redis-kubernetes-main.tf +++ b/docs/content/guides/recipes/howto-author-recipes/snippets/redis-kubernetes-main.tf @@ -35,7 +35,7 @@ resource "kubernetes_deployment" "redis" { spec { container { name = "redis" - image = "redis:6" + image = "redis:6" port { container_port = 6379 } diff --git a/docs/content/guides/recipes/howto-author-recipes/snippets/redis-kubernetes.bicep b/docs/content/guides/recipes/howto-author-recipes/snippets/redis-kubernetes.bicep index 27c1b6a6e..b8d1d2469 100644 --- a/docs/content/guides/recipes/howto-author-recipes/snippets/redis-kubernetes.bicep +++ b/docs/content/guides/recipes/howto-author-recipes/snippets/redis-kubernetes.bicep @@ -75,7 +75,7 @@ resource svc 'core/Service@v1' = { output result object = { values: { host: '${svc.metadata.name}.${svc.metadata.namespace}.svc.cluster.local' - port: svc.spec.ports[0].port + port: svc.spec.ports[0].port username: '' } secrets: { diff --git a/docs/content/guides/recipes/howto-dev-recipes/index.md b/docs/content/guides/recipes/howto-dev-recipes/index.md index 053adf59a..8e9a6724b 100644 --- a/docs/content/guides/recipes/howto-dev-recipes/index.md +++ b/docs/content/guides/recipes/howto-dev-recipes/index.md @@ -24,6 +24,7 @@ Local development environments created by the rad init command include a set of mkdir recipes cd recipes ``` + 2. Initialize a new dev environment: ```bash @@ -39,7 +40,7 @@ Local development environments created by the rad init command include a set of ``` You should see a table of available Recipes: - + ``` NAME TYPE TEMPLATE KIND TEMPLATE VERSION TEMPLATE default Applications.Datastores/sqlDatabases bicep ghcr.io/radius-project/recipes/local-dev/sqldatabases:latest @@ -50,6 +51,7 @@ Local development environments created by the rad init command include a set of default Applications.Datastores/mongoDatabases bicep ghcr.io/radius-project/recipes/local-dev/mongodatabases:latest default Applications.Datastores/redisCaches bicep ghcr.io/radius-project/recipes/local-dev/rediscaches:latest ``` + > Visit the [Recipes repo](https://github.com/radius-project/recipes) to learn more about the definition of these `local-dev` recipe templates. When a Recipe is named "default" it will be used automatically when a resource doesn't specify a Recipe name. This makes it easy for applications to fully defer to the Environment for how to manage infrastructure. @@ -71,6 +73,7 @@ Note that no Recipe name is specified within 'db', so it will be using the defau ``` You should see the following output: + ``` Building app.bicep... Deploying template './app.bicep' for application 'local-dev-app' and environment 'default' from workspace 'default'... diff --git a/docs/content/guides/recipes/overview/index.md b/docs/content/guides/recipes/overview/index.md index 0588d0ba5..222288c4e 100644 --- a/docs/content/guides/recipes/overview/index.md +++ b/docs/content/guides/recipes/overview/index.md @@ -25,7 +25,7 @@ Recipes enable a **separation of concerns** between IT operators and developers Recipes can be used in any environment, from dev to prod. You can run a default recipe registered in your environment or select the specific Recipe you want to run. To run a default recipe, simply add the resource you want to your app and omit the Recipe name: -{{< rad file="snippets/recipe-link-example.bicep" embed=true marker="//DEFAULT" >}} +{{< rad file="snippets/recipe-link-example.bicep" embed=true marker="//DEFAULT" >}} If you want to use a specific Recipe, you can specify the Recipe name in the `recipe` parameter: @@ -53,11 +53,11 @@ It's easy to author and register your own Recipes which define how to deploy and Recipes currently support the following resources. Support for additional resources is actively being worked on. -| Supported resources | +| Supported resources | |---------------------| -| [`Applications.Datastores/redisCaches`]({{< ref redis >}}) | +| [`Applications.Datastores/redisCaches`]({{< ref redis >}}) | | [`Applications.Datastores/mongoDatabases`]({{< ref mongodb >}}) | -| [`Applications.Datastores/sqlDatabases`]({{< ref microsoft-sql >}}) | +| [`Applications.Datastores/sqlDatabases`]({{< ref microsoft-sql >}}) | | [`Applications.Messaging/rabbitmqQueues`]({{< ref rabbitmq >}}) | | [`Applications.Dapr/stateStores`]({{< ref dapr-statestore >}}) | | [`Applications.Dapr/pubSubBrokers`]({{< ref dapr-pubsub >}}) | diff --git a/docs/content/guides/tooling/rad-cli/howto-rad-cli/index.md b/docs/content/guides/tooling/rad-cli/howto-rad-cli/index.md index 6c0f359b2..005d5727e 100644 --- a/docs/content/guides/tooling/rad-cli/howto-rad-cli/index.md +++ b/docs/content/guides/tooling/rad-cli/howto-rad-cli/index.md @@ -8,4 +8,4 @@ categories: "How-To" tags: ["rad CLI", "Bicep"] --- -{{< read file= "/shared-content/installation/rad-cli/install-rad-cli.md" >}} \ No newline at end of file +{{< read file= "/shared-content/installation/rad-cli/install-rad-cli.md" >}} diff --git a/docs/content/guides/tooling/rad-cli/overview/index.md b/docs/content/guides/tooling/rad-cli/overview/index.md index 6cfd8f96d..1dfbb1e50 100644 --- a/docs/content/guides/tooling/rad-cli/overview/index.md +++ b/docs/content/guides/tooling/rad-cli/overview/index.md @@ -63,7 +63,7 @@ export RADIUS_INSTALL_DIR=~/ By default, the rad CLI installation script installs the rad CLI to `%LOCALAPPDATA%\radius\rad.exe` {{% /codetab %}} - + {{< /tabs >}} ### Configuration location @@ -79,12 +79,11 @@ The rad CLI stores configuration under `~/.rad` {{% codetab %}} The rad CLI stores configuration under `%USERPROFILE%\rad` {{% /codetab %}} - -{{< /tabs >}} +{{< /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" >}} \ No newline at end of file +{{< button text="Reference docs" page="/reference/cli" >}} diff --git a/docs/content/tutorials/eshop/_index.md b/docs/content/tutorials/eshop/_index.md index 8d62f42d1..bdb3a4457 100644 --- a/docs/content/tutorials/eshop/_index.md +++ b/docs/content/tutorials/eshop/_index.md @@ -26,7 +26,7 @@ eShop on Containers uses a microservice oriented architecture implementation wit [Deploying eShop without Radius](https://github.com/dotnet-architecture/eShopOnContainers/tree/dev/deploy/k8s) requires deploying a cluster and the backing infrastructure, configuring multiple CLIs and tools, running deployment scripts, and manually copying/pasting credentials and endpoints. -eShop provides instructions to [deploy to Azure](https://github.com/dotnet-architecture/eShopOnContainers/wiki/Deploying-Azure-resources) or to [deploy to an AKS cluster](https://github.com/dotnet-architecture/eShopOnContainers/wiki/Deploy-to-Azure-Kubernetes-Service-(AKS)) (and even to [deploy to AKS using ARM/Bicep templates](https://github.com/Azure/bicep/tree/main/docs/examples/101/aks)). +eShop provides instructions to [deploy to Azure](https://github.com/dotnet-architecture/eShopOnContainers/wiki/Deploying-Azure-resources) or to [deploy to an AKS cluster](https://github.com/dotnet-architecture/eShopOnContainers/wiki/Deploy-to-Azure-Kubernetes-Service-(AKS)) (and even to [deploy to AKS using ARM/Bicep templates](https://github.com/Azure/bicep/tree/main/docs/examples/101/aks)). Once the cluster and infrastructure resources are deployed, you can [deploy the eShop application using Helm charts and PowerShell](https://github.com/dotnet-architecture/eShopOnContainers/wiki/Deploy-to-Azure-Kubernetes-Service-(AKS)#install-eshoponcontainers-using-helm). @@ -40,4 +40,4 @@ Adding Radius to the eShop on containers application allows teams to: {{< button text="View eShop sample" githubRepo="samples" githubPath="samples/eshop" color="success" size="btn-lg" >}} -*Visit the [GitHub docs]({{< ref github >}}) if you need access to the organization* \ No newline at end of file +*Visit the [GitHub docs]({{< ref github >}}) if you need access to the organization* diff --git a/docs/content/tutorials/helm/index.md b/docs/content/tutorials/helm/index.md index 33343bc59..66bbdab64 100644 --- a/docs/content/tutorials/helm/index.md +++ b/docs/content/tutorials/helm/index.md @@ -112,7 +112,7 @@ rad init ```bash kubectl create namespace demo - kubectl create secret generic --namespace demo --from-literal=url=redis://fake-server redis-secret + kubectl create secret generic --namespace demo --from-literal=url=redis://fake-server redis-secret helm upgrade demo ./Chart -n demo --install ``` @@ -122,7 +122,7 @@ rad init > kubectl create namespace demo namespace/demo created - > kubectl create secret generic --namespace demo --from-literal=url=redis://fake-server redis-secret + > kubectl create secret generic --namespace demo --from-literal=url=redis://fake-server redis-secret secret/redis-secret created > helm upgrade demo ./Chart -n demo --install @@ -297,7 +297,7 @@ In this step you will: {{< alert title="💡 Recipes" color="info" >}} Radius includes Recipes for local development when you use `rad init`. These [**local-dev**](https://github.com/radius-project/recipes/tree/main/local-dev) Recipes run popular OSS technologies as containerized infrastructure without requiring a cloud account. - + In a production environment you can substitute recipes that will create cloud or on-premises dependencies instead. {{< /alert >}} diff --git a/docs/content/tutorials/new-app/index.md b/docs/content/tutorials/new-app/index.md index 7cadf5464..ef4103987 100644 --- a/docs/content/tutorials/new-app/index.md +++ b/docs/content/tutorials/new-app/index.md @@ -37,7 +37,7 @@ By the end of the tutorial, you will have created and deployed a new Radius Appl ``` 1. Initialize a new Radius Environment with [`rad init`]({{< ref rad_init >}}): - + ```bash rad init ``` @@ -59,7 +59,7 @@ Radius Applications are where all your app's resources and relationships come to ``` You will see the full App definition in its raw JSON format: - + ``` { "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/applications/myapp", @@ -80,7 +80,7 @@ Radius Applications are where all your app's resources and relationships come to "type": "Applications.Core/applications" } ``` - + There are a few important things to note about the application definition: - **`id`** is the fully-qualified UCP resource ID of the application. This value is used to uniquely identify the application in the Radius system. @@ -98,7 +98,7 @@ Radius Applications are where all your app's resources and relationships come to ``` Displaying application: myapp - + (empty) ``` @@ -126,7 +126,6 @@ Radius Applications are where all your app's resources and relationships come to Deployment In Progress... - Deployment Complete Resources: @@ -138,12 +137,12 @@ Radius Applications are where all your app's resources and relationships come to ```bash rad app connections ``` - + You should see the container you just deployed, along with the underlying Kubernetes resources that were created to run it: - + ``` Displaying application: myapp - + Name: demo (Applications.Core/containers) Connections: (none) Resources: @@ -157,7 +156,7 @@ Radius Applications are where all your app's resources and relationships come to {{< alert title="💡 Kubernetes mapping" color="info" >}} Radius Environments map how Applications "bind" to a particular platform. Earlier we saw the Application compute was set to `kubernetes` and the namespace was set to `default-myapp`. This means the container resources were deployed to the `default-myapp` namespace in the Kubernetes cluster where Radius is installed. Visit the [Kubernetes mapping docs]({{< ref "/guides/operations/kubernetes/overview#resource-mapping" >}}) to learn more. {{< /alert >}} - + ## Step 4: Run your application When working with Radius Applications you will probably want to access container endpoints and view logs. [`rad run`]({{< ref rad_run >}}) makes it simple to deploy your application and automatically set up port-forwarding and log streaming: @@ -212,13 +211,13 @@ In addition to containers, you can add dependencies like Redis caches, Dapr Stat ```bash rad recipe show default --resource-type Applications.Datastores/mongoDatabases ``` - + You'll see details on the Recipe, including available parameters and defaults: ``` NAME TYPE TEMPLATE KIND TEMPLATE VERSION TEMPLATE default Applications.Datastores/mongoDatabases bicep ghcr.io/radius-project/recipes/local-dev/mongodatabases:latest - + PARAMETER NAME TYPE DEFAULT VALUE MIN MAX username string admin - - password secureString Password1234== - - @@ -244,17 +243,16 @@ In addition to containers, you can add dependencies like Redis caches, Dapr Stat ``` Building .\app.bicep... Deploying template '.\app.bicep' for application 'myapp' and environment 'default' from workspace 'default'... - + Deployment In Progress... - - + Deployment Complete - + Resources: myapp Applications.Core/applications demo Applications.Core/containers mongodb Applications.Datastores/mongoDatabases - + Starting log stream... ``` @@ -269,12 +267,12 @@ In addition to containers, you can add dependencies like Redis caches, Dapr Stat ```bash rad app connections ``` - + You should see the container and Mongo database you just deployed, along with the underlying Kubernetes resources that were created to run them: - + ``` Displaying application: myapp - + Name: demo (Applications.Core/containers) Connections: demo -> mongodb (Applications.Datastores/mongoDatabases) @@ -285,7 +283,7 @@ In addition to containers, you can add dependencies like Redis caches, Dapr Stat demo (kubernetes: core/ServiceAccount) demo (kubernetes: rbac.authorization.k8s.io/Role) demo (kubernetes: rbac.authorization.k8s.io/RoleBinding) - + Name: mongodb (Applications.Datastores/mongoDatabases) Connections: demo (Applications.Core/containers) -> mongodb @@ -315,17 +313,16 @@ In addition to dependencies, you can add more containers to make your applicatio ``` Building .\app.bicep... Deploying template '.\app.bicep' for application 'myapp' and environment 'default' from workspace 'default'... - + Deployment In Progress... - - + Deployment Complete - + Resources: demo Applications.Core/containers backend Applications.Core/containers mongodb Applications.Datastores/mongoDatabases - + Starting log stream... ``` @@ -352,18 +349,17 @@ Finally, you can add a gateway to your application. Gateways are used to expose ``` Building .\app.bicep... Deploying template '.\app.bicep' for application 'myapp' and environment 'default' from workspace 'default'... - + Deployment In Progress... - - + Deployment Complete - + Resources: demo Applications.Core/containers backend Applications.Core/containers gateway Applications.Core/gateways mongodb Applications.Datastores/mongoDatabases - + Public Endpoints: gateway Applications.Core/gateways http://localhost ``` @@ -375,4 +371,3 @@ Finally, you can add a gateway to your application. Gateways are used to expose ## Next steps Now that you've created your first application, try out more [tutorials]({{< ref tutorials >}}) or jump into the [user guides]({{< ref guides >}}) to learn more about Radius. - diff --git a/docs/content/tutorials/tutorial-add-radius/index.md b/docs/content/tutorials/tutorial-add-radius/index.md index 01d2ee96d..6cb5fc0ad 100644 --- a/docs/content/tutorials/tutorial-add-radius/index.md +++ b/docs/content/tutorials/tutorial-add-radius/index.md @@ -49,24 +49,24 @@ The Guestbook application consists of a web front end along with primary and sec > The `kubernetes/guestbook` directory contains the Kubernetes YAML manifest files for their Guestbook sample application, copied directly from the [Kubernetes examples repo](https://github.com/kubernetes/examples/tree/master/guestbook). 3. Initialize Radius - + Run this command to initialize Radius. For this example, answer **NO** when asked whether to set up an application: ```bash rad init ``` - + You should see output similar to: ``` - Initializing Radius... - ✅ Install Radius {{< param version >}} - - Kubernetes cluster: k3d-k3s-default - - Kubernetes namespace: radius-system - ✅ Create new environment default - - Kubernetes namespace: default - - Recipe pack: local-dev - ✅ Update local configuration + Initializing Radius... + ✅ Install Radius {{< param version >}} + - Kubernetes cluster: k3d-k3s-default + - Kubernetes namespace: radius-system + ✅ Create new environment default + - Kubernetes namespace: default + - Recipe pack: local-dev + ✅ Update local configuration Initialization complete! Have a RAD time 😎 ``` @@ -222,7 +222,7 @@ You will now add Radius to the Guestbook application's Kubernetes deployment man 2. Verify that the application successfully deployed: ```bash - kubectl get deployments -n demo; + kubectl get deployments -n demo kubectl get services -n demo ``` @@ -319,4 +319,4 @@ This output shows that Radius has detected the three container resources in the - To learn more about authoring Radius applications, visit the [Authoring applications guide]({{< ref "guides/author-apps" >}}) - To learn more about deploying applications using Radius, visit the [Deploying applications guide]({{< ref "guides/deploy-apps" >}}) -- To learn more about Radius Recipes, visit the [Recipes guide]({{< ref "guides/recipes" >}}) \ No newline at end of file +- To learn more about Radius Recipes, visit the [Recipes guide]({{< ref "guides/recipes" >}}) diff --git a/docs/content/tutorials/tutorial-dapr/index.md b/docs/content/tutorials/tutorial-dapr/index.md index 7b82b66bb..48f1b9901 100644 --- a/docs/content/tutorials/tutorial-dapr/index.md +++ b/docs/content/tutorials/tutorial-dapr/index.md @@ -32,9 +32,9 @@ For more details on the app and access to the source code, visit the `tutorials/ mkdir dapr cd dapr ``` - + 2. Initialize a new dev environment: - + *Select 'Yes' when prompted to create an application.* ```bash @@ -82,8 +82,8 @@ Begin by creating a new file named `dapr.bicep` with a Radius Application that c You should see the following output: ``` - NAMESPACE NAME TYPE VERSION SCOPES CREATED AGE - default-dapr statestore state.redis v1 2023-07-21 16:04.27 21m + NAMESPACE NAME TYPE VERSION SCOPES CREATED AGE + default-dapr statestore state.redis v1 2023-07-21 16:04.27 21m ``` ## Step 4: Define the `frontend` container diff --git a/docs/content/tutorials/tutorial-recipe/index.md b/docs/content/tutorials/tutorial-recipe/index.md index 12b63d0b0..bc2af1987 100644 --- a/docs/content/tutorials/tutorial-recipe/index.md +++ b/docs/content/tutorials/tutorial-recipe/index.md @@ -55,11 +55,11 @@ Developers don't need to specify what cloud resources they're using in their app 3. Use [`rad recipe list`]({{< ref rad_recipe_list >}}) to view the Recipes in your environment: ```bash - rad recipe list + rad recipe list ``` You should see a table of available Recipes: - + ``` NAME TYPE TEMPLATE KIND TEMPLATE VERSION TEMPLATE default Applications.Datastores/sqlDatabases bicep ghcr.io/radius-project/recipes/local-dev/sqldatabases:latest @@ -159,7 +159,7 @@ This step requires an Azure subscription or an AWS account to deploy cloud resou 2. Register the Recipe to your Radius Environment: ```bash - rad recipe register azure --environment default --template-kind bicep --template-path ghcr.io/radius-project/recipes/azure/rediscaches:{{< param tag_version >}} --resource-type Applications.Datastores/redisCaches + rad recipe register azure --environment default --template-kind bicep --template-path ghcr.io/radius-project/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: @@ -169,7 +169,7 @@ This step requires an Azure subscription or an AWS account to deploy cloud resou 4. Redeploy your application to your environment: ```bash - rad deploy ./app.bicep + rad deploy ./app.bicep ``` This operation may take some time, as the 'azure' Recipe is deploying an Azure Cache for Redis resource into your Azure subscription. Once complete, you should see: @@ -193,7 +193,7 @@ This step requires an Azure subscription or an AWS account to deploy cloud resou 5. Use the az CLI to see your newly deployed Azure Cache for Redis: ```bash - az redis list --subscription "My Subscription" --query "[].name" + az redis list --subscription "My Subscription" --query "[].name" ``` You should see the name of your Redis cache, which is prefixed `cache`: @@ -211,7 +211,7 @@ This step requires an Azure subscription or an AWS account to deploy cloud resou 1. Visit [`http://localhost:3000`](http://localhost:3000) in your browser. - You can now see environment variables of your container under Radius Connections updated with the details of the Azure Cache for Redis and the Todo app now uses the Azure cache for Redis as the data store + You can now see environment variables of your container under Radius Connections updated with the details of the Azure Cache for Redis, and the Todo app now uses the Azure cache for Redis as the data store. {{< image src="todoapp.png" width="700px" alt="screenshot of the todo application" >}} @@ -247,7 +247,7 @@ This step requires an Azure subscription or an AWS account to deploy cloud resou 1. Deploy your application to your environment: ```bash - rad deploy ./app.bicep + rad deploy ./app.bicep ``` This operation may take some time, as the ‘aws’ Recipe is deploying an AWS MemoryDB for Redis resource in your AWS account. Once complete, you should see: @@ -276,7 +276,7 @@ This step requires an Azure subscription or an AWS account to deploy cloud resou 1. Visit [`http://localhost:3000`](http://localhost:3000) in your browser. - You can now see environment variables of your container under Radius Connections updated with the details of the Amazon Memory Db for Redis and the Todo app now uses the Amazon Memory Db for Redis as the data store + You can now see environment variables of your container under Radius Connections updated with the details of the Amazon Memory Db for Redis, and the Todo app now uses the Amazon Memory Db for Redis as the data store. {{< image src="todoapp.png" width="700px" alt="screenshot of the todo application" >}} @@ -284,11 +284,10 @@ This step requires an Azure subscription or an AWS account to deploy cloud resou {{< /tabs >}} - ## Step 5: Cleanup your environment 1. You can use the rad CLI to [delete your environment]({{< ref rad_env_delete.md >}}) and all the Radius resources running on your cluster: - + ```bash rad env delete default --yes ``` diff --git a/docs/layouts/partials/page-meta-links.html b/docs/layouts/partials/page-meta-links.html index 2e117191d..623fdcd9b 100644 --- a/docs/layouts/partials/page-meta-links.html +++ b/docs/layouts/partials/page-meta-links.html @@ -7,7 +7,7 @@ {{ $gh_branch := (default "master" ($.Param "github_branch")) }}
{{ if $gh_url }} - {{ T "post_edit_this" }} + {{ T "post_edit_this" }} {{ else if $gh_repo }} {{ $gh_repo_path := printf "%s/content/%s" $gh_branch $pathFormatted }} {{ if and ($gh_subdir) (.Site.Language.Lang) }} diff --git a/docs/layouts/partials/section-index.html b/docs/layouts/partials/section-index.html index 06635e17a..04d814f1e 100644 --- a/docs/layouts/partials/section-index.html +++ b/docs/layouts/partials/section-index.html @@ -82,10 +82,10 @@
function filterCards() { // Get the search input value var searchInput = document.getElementById('search-input').value; - + // Get all the cards var cards = document.querySelectorAll('.card'); - + // Loop through the cards and show only the ones that match the search input value for (var i = 0; i < cards.length; i++) { var card = cards[i]; diff --git a/docs/layouts/shortcodes/categorizeby.html b/docs/layouts/shortcodes/categorizeby.html index f33236cd7..2853f4674 100644 --- a/docs/layouts/shortcodes/categorizeby.html +++ b/docs/layouts/shortcodes/categorizeby.html @@ -5,7 +5,7 @@ {{ $pages := where site.Pages "Params.categories" (printf "%s" $categories) }} {{ $pages = where $pages "Params.tags" "intersect" (slice $tags ) }} -
+
 
@@ -32,12 +32,9 @@

{{ $key }}

  • {{ .Title }}
  • {{ end }} {{ end }} -
    +
    {{end}} {{ end }} {{ end }} - - - diff --git a/docs/layouts/shortcodes/redoc.html b/docs/layouts/shortcodes/redoc.html index 720e4b6fc..4f8816e0f 100644 --- a/docs/layouts/shortcodes/redoc.html +++ b/docs/layouts/shortcodes/redoc.html @@ -108,4 +108,4 @@ }, document.getElementById('redoc-container') ) - \ No newline at end of file + \ No newline at end of file diff --git a/docs/shared-content/installation/install-radius/initialize-radius.md b/docs/shared-content/installation/install-radius/initialize-radius.md index da2c78385..4f12ce4cf 100644 --- a/docs/shared-content/installation/install-radius/initialize-radius.md +++ b/docs/shared-content/installation/install-radius/initialize-radius.md @@ -2,7 +2,7 @@ Initializing Radius installs the Radius control-plane and creates a Radius Envir 1. Create a Kubernetes cluster - Radius runs inside [Kubernetes]({{< ref "guides/operations/kubernetes" >}}). Create one from the [supported k8s clusters]({{< ref "/guides/operations/kubernetes/overview#supported-kubernetes-clusters" >}}) + Radius runs inside [Kubernetes]({{< ref "guides/operations/kubernetes" >}}). Create one from the [supported k8s clusters]({{< ref "/guides/operations/kubernetes/overview#supported-kubernetes-clusters" >}}) > *If you don't have a preferred way to create Kubernetes clusters, you could try using [k3d](https://k3d.io/), which runs a minimal Kubernetes distribution in Docker.* Ensure your cluster is set as your current context: diff --git a/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md b/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md index e74e1b9db..0cb2f4f6d 100644 --- a/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md +++ b/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md @@ -20,7 +20,7 @@ To verify you've installed the extension, open any file with the .bicep file ext In VSCode, manually install the extension using the *Install from VSIX* command in the Extensions view command drop-down. Screenshot of installing a vsix extension
    - + You can also import this extension on the [command-line](https://code.visualstudio.com/docs/editor/extension-gallery#_install-from-a-vsix) with: ```bash