radius-project / radius

Radius is a cloud-native, portable application platform that makes app development easier for teams building cloud-native apps.
https://radapp.io
Apache License 2.0
1.43k stars 87 forks source link

Pull-based "GitOps" deployments of Radius #6689

Open AaronCrawfis opened 7 months ago

AaronCrawfis commented 7 months ago

Scenario

I want to be able to treat my git repository as my "source of truth", where I check in my app templates, and then my cluster "picks up" the new app template to get it deployed.

This model is similar to flux: https://fluxcd.io/

Note that there the deployment occurs when the cluster looks for the app definition and uses that, instead of a service reaching out to the cluster to deploy the app.

Proposal

We should see if we can either leverage flux for Radius applications or see if not, create a feature in UCP/DE that allows for pull-based deployments

End result

I am an application developer using Radius. I push an update of my app's definition (in Bicep) to a git repository. After some amount of time my Radius environment picks up the new application definition and applies it.

AB#10285

radius-triage-bot[bot] commented 7 months ago

:wave: @AaronCrawfis Thanks for filing this feature request.

A project maintainer will review this feature request and get back to you soon.

We also welcome community contributions! If you would like to pick this item up sooner and submit a pull request, please visit our contribution guidelines and assign this to yourself by commenting "/assign" on this issue.

For more information on our triage process please visit our triage overview

radius-triage-bot[bot] commented 7 months ago

:+1: We've reviewed this issue and have agreed to add it to our backlog. Please subscribe to this issue for notifications, we'll provide updates when we pick it up.

We also welcome community contributions! If you would like to pick this item up sooner and submit a pull request, please visit our contribution guidelines and assign this to yourself by commenting "/assign" on this issue.

For more information on our triage process please visit our triage overview

nicolejms commented 7 months ago

radius integration with flux for continuous deployment on app definition changes

dtzar commented 4 months ago

You might alternatively want to consider ArgoCD agent for Bicep reconciliation loop functionality

cveld commented 2 months ago

This could be a two step architecture:

The radius cli could just convert bicep specs into manifest files for argocd to consume.

cveld commented 2 weeks ago

Would it be possible to run a small api server in container apps? Not sure if this would the most efficient architecture. Maybe radius should just requiring this mininal footprint. At least in MVP.