kubevela / kubevela/terraform-controller

[Feature] Support the InjectedIdentity credential source in terraform-controller

Open
#293 1 comment 3 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
163
Forks
74
PR merge metrics
No merged PRs in 30d

Description

Support the InjectedIdentity credential source in terraform-controller, to enable use workload identity like [IRSA](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) - iam-roles for service accounts on AWS and [Workload Identity](https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity) on Google Cloud.

Part of this implementation has been done by crossplane-runtime -
https://github.com/oam-dev/terraform-controller/blob/3b4fde8230fb1bf4c840e6b9691e37a291367731/api/types/crossplane-runtime/resource.go#L36

The CRD providers.terraform.core.oam.dev already support this - https://github.com/oam-dev/terraform-controller/blob/d89c4c2507e99add0afcfac6eb3539c0f88fc86b/config/crd/bases/terraform.core.oam.dev_providers.yaml#L62

Contributor guide

Open the contributing guide

Research direction

Start with api/types/crossplane-runtime/resource.go and the existing provider CRD at config/crd/bases/terraform.core.oam.dev_providers.yaml, which the issue identifies as partial support for InjectedIdentity. Trace how the credential source is represented and consumed in terraform-controller. Done means providers can use workload identity credentials for the AWS and Google Cloud scenarios described.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, gcp, go, kubernetes, terraform
Domain
authentication, cloud, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.