This repository contains the Resource Type definitions and Recipes for deploying those Resource Types via Radius. It includes:
- Resource Type Defintions: Schema definitions for Resource Types available for developers to use while defining their application
- Recipes: Platform-specific Infrastructure as Code used to deploy the associated Resource Type
- Recipe Packs: Bundled collections of Recipes organized compute platform or deployment scenario (coming soon)
Resource Types are abstractions that define the schema for resources in the Radius. They provide a consistent interface that enables developers to define their application's resources that is separated from the platform engineer's implementation.
Recipes define how the Resource Types are provisioned on different compute platforms and cloud environments. Recipes provide the implementation of the interface defined in the Resource Type definition. To learn more about Recipes, please visit Recipes overview in the Radius documentation.
Recipe Packs are collections of Recipes that are grouped together to provide a complete solution for a specific compute platform or deployment scenario. Recipe Packs enable platform engineers to easily add an entire collection of Recipes to a Radius Environment. The Recipe Packs feature is currently under development.
resource-types-contrib/
├── <resource_type_namespace>/ # Namespace excluding Radius; the namespace Radius.Data is in the Data directory
│ └── <resource_type_name>/ # e.g., redisCaches/
│ ├── README.md # Documentation for platform engineers
│ ├── <resource_type_name>.yaml/ # e.g., redisCaches.yaml
│ └── recipes/ # Recipes for this type
│ ├── <platform-service> # e.g., aws-memorydb/
│ │ ├── bicep
│ │ │ ├── aws-memorydb.bicep
│ │ │ └── aws-memorydb.params
│ │ └── terraform
│ │ ├── main.tf
│ │ └── var.tf
│ ├── <platform-service> # e.g., azure-cache/
│ │ ├── bicep
│ │ │ ├── azure-cache.bicep
│ │ │ └── azure-cache.params
│ │ └── terraform
│ │ ├── main.tf
│ │ └── var.tf
│ └── <platform-service> # e.g., kubernetes/
│ ├── bicep
│ │ ├── kubernetes-redis.bicep
│ │ └── kubernetes-redis.params
│ └── terraform
│ ├── main.tf
│ └── var.tf
└── recipe-packs/
├── azure-aci/ # Azure Container Instances Recipes
├── kubernetes/ # Kubernetes platform Recipes
└── ...
Community members can contribute new Resource Types, Recipes, and Recipe Packs to this repository. We welcome contributions in many forms: submitting issues, writing code, participating in discussions, reviewing pull requests. For information on contributing, follow these guides:
- Contributing Resource Types and Radius Recipes: This guide provides an overview of how to write a Resource Type and one or more Recipes.
- Contributing Recipe Packs: Coming soon!
- Submitting Issues: This guide provides an overview of how to submit issues related to Resource Types or Recipes.
This project is licensed under the MIT License - see the LICENSE file for details.
Please refer to our Radius Community Code of Conduct