Skip to content

radius-project/recipes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Radius Community Recipes

This repo contains commonly used Recipe templates for Radius environments.

Recipes

Recipes provide self-service infrastructure provisioning for developers. Developers select the resource(s) they need, and operators can configure Recipes with secure, approved, infrastructure.

Available Recipes

local-dev

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 Description Template Path
local-dev/daprpubsubbrokers 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 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 A lightweight container running the rabbitmq image for development purposes. radius.azurecr.io/recipes/local-dev/rabbitmqmessagequeues:TAG
local-dev/rediscaches A lightweight container running the redis image for development purposes. radius.azurecr.io/recipes/local-dev/rediscaches:TAG
local-dev/mongodatabases A lightweight container running the mongo image for development purposes. radius.azurecr.io/recipes/local-dev/mongodatabases:TAG
local-dev/sqldatabases A lightweight container running the azure-sql-edge image for development purposes. radius.azurecr.io/recipes/local-dev/sqldatabases:TAG

azure

The azure directory contains Recipes for Azure resources. They are configurable via parameters, with the default values optimizing for cost and security.

Recipe Description Template Path
azure/rediscaches An Azure Cache for Redis resource with a configurable size and SKU. radius.azurecr.io/recipes/azure/rediscaches:TAG

aws

The aws directory contains Recipes for AWS resources. They are configurable via parameters, with the default values optimizing for cost and security.

Recipe Description Template Path
aws/rediscaches An AWS MemoryDB resource with a configurable size and SKU. radius.azurecr.io/recipes/aws/rediscaches:TAG

Versioning and Tags

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

Patching

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.

Usage

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:

CLI

rad recipe register azure \
  --environment myenv \
  --template-kind bicep \ 
  --template-path "radius.azurecr.io/recipes/azure/rediscaches:TAG" \
  --resource-type "Applications.Link/redisCaches"

Bicep

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.

Contributing

We welcome contributions to this repo! Please see our contributing guide for more information.

Code of Conduct

Please refer to our Radius Community Code of Conduct