Skip to content

Conversation

@brooke-hamilton
Copy link
Member

@brooke-hamilton brooke-hamilton commented Sep 23, 2025

Migrate Container Resource Deployment to Bicep

This PR migrates container resource deployment from Go-based renderer chains (Applications.Core/containers) to a declarative Bicep recipe for Radius.Compute/containers. The approach uses the Bicep Kubernetes extension (preview) to generate native Kubernetes resources, supporting multi-container setups, volumes, identity, RBAC, connections, and all core extensions (Dapr sidecars, manual scaling, metadata).

Highlights:

  • Declarative Bicep replaces imperative Go logic for container resources.
  • Full support for new Radius.Compute/containers schema.
  • Extension logic (Dapr, scaling, metadata) replicated in Bicep.
  • VS Code integration and IntelliSense for resource authoring.
  • Legacy renderer chain remains for existing resources; new deployments use recipes.

Signed-off-by: Brooke Hamilton <[email protected]>
@brooke-hamilton brooke-hamilton requested review from a team as code owners September 23, 2025 12:53
@brooke-hamilton brooke-hamilton changed the title Container design[Copilot is generating a summary...] Container design Sep 23, 2025
Signed-off-by: Brooke Hamilton <[email protected]>
Signed-off-by: Brooke Hamilton <[email protected]>
@brooke-hamilton brooke-hamilton changed the title Container design Container recipe design for RRT Sep 24, 2025
- URL parsing for connection sources
- Type conversion and JSON marshaling for complex values
- Secret reference handling

Copy link
Contributor

Choose a reason for hiding this comment

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

This might be OK, since we do have RRT2RRT connections support, which does the same environment variable processing for sources that are resource ids .

@ytimocin
Copy link
Contributor

Can you explain how migrating container resource deployment from Go-based renderer chains (Applications.Core/containers) to a declarative Bicep recipe for Radius.Compute/containers help Radius? I am trying to understand the main goal here.

@brooke-hamilton
Copy link
Member Author

Can you explain how migrating container resource deployment from Go-based renderer chains (Applications.Core/containers) to a declarative Bicep recipe for Radius.Compute/containers help Radius? I am trying to understand the main goal here.

Another way of saying this is that we are moving all the kubernetes deployment logic that is currently in Go over to a Bicep recipe (and a Terraform recipe.)

Signed-off-by: Brooke Hamilton <[email protected]>
Signed-off-by: Brooke Hamilton <[email protected]>
@ytimocin ytimocin requested a review from Copilot October 8, 2025 18:11
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR introduces a container recipe design document for migrating Radius container resource deployment from imperative Go renderer chains to declarative Bicep recipes. The migration targets the new Radius.Compute/containers resource type and leverages the Bicep Kubernetes extension for native Kubernetes resource generation.

Key changes:

  • Container resource migration strategy: Comprehensive design for replacing Applications.Core/containers Go renderers with Bicep recipes for Radius.Compute/containers
  • Bicep Kubernetes extension integration: Detailed approach using the preview extension for direct Kubernetes resource creation with type safety and VS Code support
  • Feature parity analysis: Complete mapping of current renderer chain functionality (multi-container support, extensions, volumes, identity, RBAC) to recipe-based implementation

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
recipe/2025-09-container.md Design document outlining the migration from Go renderer chains to Bicep recipes for container resources
.github/config/en-custom.txt Added custom dictionary terms related to Kubernetes and container concepts used in the design document

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants