Skip to content

First draft of GitHub Radius feature spec#154

Open
zachcasper wants to merge 3 commits intoradius-project:mainfrom
zachcasper:github-radius
Open

First draft of GitHub Radius feature spec#154
zachcasper wants to merge 3 commits intoradius-project:mainfrom
zachcasper:github-radius

Conversation

@zachcasper
Copy link
Copy Markdown
Contributor

This pull request adds a comprehensive feature specification document for the GitHub Radius prototype. The document outlines how Radius will be integrated into GitHub repositories and Copilot, detailing user journeys, technical flow, and UI mock-ups for deploying applications to AWS and Azure via GitHub. It serves as a foundational reference for the prototype's scope, user experience, and technical requirements.

Key additions in this specification:

Feature Overview and Scope:

  • Introduces "GitHub Radius" as a prototype integrating open-source Radius with GitHub Actions, Copilot, and a mock GitHub GUI, enabling users to define and deploy applications from GitHub repositories to AWS and Azure.
  • Clearly delineates in-scope and out-of-scope user journeys for the initial prototype, including future plans for Google Cloud and more advanced Copilot integration.

User Experience and Journeys:

  • Provides detailed, step-by-step user journeys for deploying an open-source application to AWS, including UI mock-ups, forking workflows, application definition, environment creation, and deployment monitoring.
  • Describes the process for defining applications using Copilot and the Radius platform constitution, including architectural patterns, resource types, and composition rules.

Technical and Security Details:

  • Outlines the technical flow for creating AWS environments, including OIDC identity provider setup, IAM role

Signed-off-by: Zach Casper <zachcasper@microsoft.com>
@zachcasper zachcasper requested review from a team as code owners March 31, 2026 18:53
Signed-off-by: Zach Casper <zachcasper@microsoft.com>
Signed-off-by: Zach Casper <zachcasper@microsoft.com>
1. As an open-source developer, I want to deploy an application stored in a public GitHub repository to my cloud environment. I expect GitHub Radius to build and deploy the application:
1. Using AWS
1. Using Azure

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

are we intentionally leaving out local K8s?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yes. Since Radius is running in GitHub it must have a publicly accessible API end point. This eliminates local and on-premises Kubernetes clusters.


1. A CloudFormation stack is opened. The user reviews the stack then clicks Create stack.

![image10](2026-03-github-radius-feature-spec/image10.png)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

idea: how about keeping templates in OCI registry? we will get out of box: versioning, immutable releases, mature well-known technology.


### Step 3: Creating an AWS environment

1. The user clicks Deploy and sees options for creating AWS, Azure, or Google Cloud environments. The user clicks **Create AWS environment**.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Are Github environments meant to be a replacement for Radius environments

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The spec is saying that Github environments are where environment definitions are mastered.

- AWS Region
- AWS IAM Role ARN
- A workflow is dispatched which performs an AWS login test and confirms the adequate IAM permissions are available

Copy link
Copy Markdown
Contributor

@nithyatsu nithyatsu Mar 31, 2026

Choose a reason for hiding this comment

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

This would be backed by radius environments and credentials too, when the ephemeral radius comes up correct?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

No, this would be a standalone workflow separate from Radius.

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