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.45k stars 92 forks source link

Allow any Terraform provider to be configured and used in a Recipe #6539

Closed AaronCrawfis closed 2 months ago

AaronCrawfis commented 11 months ago

Overview of feature request

Today we support Terraform templates for Recipes. For the Azure, Kubernetes, and AWS providers we automatically setup the provider configuration with the identity of where to deploy and we pass in where to deploy via the context parameter.

Additionally, any additional provider can be used in a Recipe, however there is no way to securely configure the provider with credentials. For example, there is no way to use the GCP Terraform Provider in a Recipe without hard-coding the credentials in the Recipe module.

This feature is for allowing credentials to be securely configured and passed into the Recipe so any Terraform Provider can be used.

Acceptance criteria

Once this feature is implemented I should be able to use the GCP, Oracle Cloud, or any other Terraform provider and pass in the credentials. I should be able to follow documentation that walks me through the steps I should take to accomplish this, with snippets showing an example.

There should be unit tests confirming that credentials are passed in correctly.

Additional context

There are a couple ways to implement this, as each Terraform provider handles auth in various ways (managed identities, service principals, IAM roles, etc.). We should take a look at how most providers handle credentials and see what makes sense to implement to cast the widest nest. Could be parameters that are passed in with the credentials, or could be a Terraform RC file pass through.

Community ask

Please comment below with any Terraform modules that you would like to use.

AB#9883

willdavsmith commented 11 months ago

Here's one reported on Discord: https://registry.terraform.io/providers/ovh/ovh/latest/docs

ockhamlabs commented 11 months ago

@AaronCrawfis @shalabhms is this on your roadmap ? If so any ETA?

AaronCrawfis commented 10 months ago

@AaronCrawfis @shalabhms is this on your roadmap ? If so any ETA?

Hi @ockhamlabs, this is high up on our roadmap for Recipes. We're working on a published Roadmap link, hope to have that available soon. We'll make sure this Issue is added to the roadmap project and stack ranked soon.