cloudposse / cloudposse/geodesic

GCP PS1 Prompt Support for GCP Accounts and Projects

Open
#926 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
1.1k
Forks
121
PR merge metrics
No merged PRs in 30d

Description

## Feature Request

I know that Geodesic tends to lean more into the AWS landscape, but would y’all consider offering some GCP PS1 prompt support for GCP accounts like:

```bash
function role_name() {
local role_name
# Could be a primary or assumed role. If we have assumed a role, cut off the session name.
local current_role=$(gcloud auth list --filter=status:ACTIVE --format="value(account)" 2>/dev/null | cut -d '@' -f1)
if [[ -z $current_role ]]; then
unset ASSUME_ROLE
return 0
fi
export ASSUME_ROLE="$current_role"
}
role_name
```

From my understanding, GCP has a few different authentication flows, but when it comes to the credentials used by SDK tools like `gcloud` or `gsutil`, they are stored in a DB file located at `~/.config/gcloud/credentials.db`. Whenever someone runs `gcloud auth login`, it appends an entry to this file. I also found credentials inside of `access_tokens.db`, and was able to extrapolate them using Sqlite.

When I look in `~/.config/gcloud/configurations/config_default` :

I see:

```console
[core]
account = [michael@gmail.com](mailto:michael@gmail.com)
project = projectexample
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.