This repo contains commonly used Recipe templates for Radius Environments.
Recipes provide self-service infrastructure provisioning for developers. Developers select the resource(s) they need, and operators can configure Recipes with secure, approved, infrastructure.
The local-dev directory contains lightweight Recipes for development purposes. They run containerized infrastructure which is not persisted across restarts and is optimized for CPU and memory usage on a local machine.
Note: These Recipes are automatically installed via
rad init
Recipe | Resource | Description | Template Path |
---|---|---|---|
local-dev/daprpubsubbrokers |
Applications.Dapr/pubSubBrokers |
A lightweight container running the redis image and a Redis Dapr Pub/Sub component for development purposes. |
radius.azurecr.io/recipes/local-dev/daprpubsubbrokers:TAG |
local-dev/daprstatestores |
Applications.Dapr/stateStores |
A lightweight container running the redis image and a Redis Dapr state store component for development purposes. |
radius.azurecr.io/recipes/local-dev/daprstatestores:TAG |
local-dev/rabbitmqmessagequeues |
Applications.Messaging/rabbitMQQueues |
A lightweight container running the rabbitmq image for development purposes. |
radius.azurecr.io/recipes/local-dev/rabbitmqmessagequeues:TAG |
local-dev/rediscaches |
Applications.Datastores/redisCaches |
A lightweight container running the redis image for development purposes. |
radius.azurecr.io/recipes/local-dev/rediscaches:TAG |
local-dev/mongodatabases |
Applications.Datastores/mongoDatabases |
A lightweight container running the mongo image for development purposes. |
radius.azurecr.io/recipes/local-dev/mongodatabases:TAG |
local-dev/sqldatabases |
Applications.Datastores/sqlDatabases |
A lightweight container running the azure-sql-edge image for development purposes. |
radius.azurecr.io/recipes/local-dev/sqldatabases:TAG |
The azure directory contains Recipes for Azure resources. They are configurable via parameters, with the default values optimizing for cost and security.
Recipe | Resource | Description | Template Path |
---|---|---|---|
azure/rediscaches |
Applications.Datastores/redisCaches |
An Azure Cache for Redis resource with a configurable size and SKU. | radius.azurecr.io/recipes/azure/rediscaches:TAG |
The aws directory contains Recipes for AWS resources. They are configurable via parameters, with the default values optimizing for cost and security.
Recipe | Resource | Description | Template Path |
---|---|---|---|
aws/rediscaches |
Applications.Datastores/redisCaches |
An AWS MemoryDB resource with a configurable size and SKU. | radius.azurecr.io/recipes/aws/rediscaches:TAG |
Recipes are versioned using semantic versioning. Each Recipe is tagged with its version number, and the latest
tag points to the latest version of each Recipe. For example, Radius v0.21 uses the 0.21
tag for each Recipe:
radius.azurecr.io/recipes/azure/rediscaches:0.21
Patched versions of Recipes are tagged with the patch number, e.g. 0.21.1
. When the tag is created for a patch, the patch and minor tags are updated to point to the new patch version. For example, if 0.21.1
is released, the 0.21
and 0.21.1
tags will be pushed. Consumers of 0.21
will automatically receive the patch update. It is recommended to use the minor tag when consuming Recipes, e.g. 0.21
.
To use a community recipe from this repo, simply use rad recipe register
with the Recipe's template path, or update your environment's Bicep definition with the Recipe:
rad recipe register azure \
--environment myenv \
--template-kind bicep \
--template-path "radius.azurecr.io/recipes/azure/rediscaches:TAG" \
--resource-type "Applications.Datastores/redisCaches"
import radius as rad
resource myenv 'Applications.Core/environments' = {
name: 'myenv'
properties: {
compute: {...}
recipes: {
'Applications.Core/redisCaches': {
'azure': {
template-kind: 'bicep'
template-path: 'radius.azurecr.io/recipes/azure/rediscaches:0.21'
}
}
}
}
}
For more information on using Recipes refer to the Radius docs.
We welcome contributions to this repo! Please see our contributing guide for more information.
Please refer to our Radius Community Code of Conduct