AWS credential helper for GCP.
Call AWS API using GCP credentials.
- GCP
- Authenticate with 
gcloud auth application-default login - Service Accounts that allow you to impersonate(
roles/iam.serviceAccountTokenCreator) 
 - Authenticate with 
 - AWS
- IAM Roles that allow service accounts to 
sts:AssumeRoleWithWebIdentity 
 - IAM Roles that allow service accounts to 
 
go install github.com/porkbeans/gcp2aws@latestUsing GitHub Releases
curl -sSL '<TAR_GZ_URL>' | tar -xz -C ~/.local/bin gcp2awscurl -sSL '<TAR_GZ_URL>' | sudo tar -xz --no-same-owner -C /usr/local/bin gcp2awsSYNOPSIS
    gcp2aws -i <SERVICE ACCOUNT EMAIL> -r <ROLE ARN> [-d <DURATION>]
OPTIONS
    -i <SERVICE ACCOUNT EMAIL>
        Service account email to impersonate.
    -r <ROLE ARN>
        Role ARN to AssumeRoleWithWebIdentity.
    -d <DURATION>
        Credential duration. Accept format for Go time.ParseDuration.
        See https://pkg.go.dev/time#ParseDuration
See Terraform Example to set up GCP Service Account and AWS IAM Role.
AssumeRole with impersonated GCP service account identity.
~/.aws/config
[profile example]
credential_process = /path/to/gcp2aws -r <ROLE ARN> -i <SERVICE ACCOUNT EMAIL>
region = <YOUR REGION>
- go for compiling and testing
 - GNU make for task runner
 - direnv for loading environment variables for tests
 - gibo for updating .gitignore boilerplate
 
cp example.env secret.envand edit each values insecret.envfor your test environment.direnv allowmake testto confirm that you can run tests