2.9 KiB
2.9 KiB
gcloud (Google Cloud CLI)
What it is
Google Cloud's CLI: gcloud (projects, compute, IAM, GKE), bundled with
gsutil (Cloud Storage) and bq (BigQuery).
Install
Official apt repo (Debian/Ubuntu):
sudo apt install apt-transport-https ca-certificates gnupg curl
curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg \
| sudo gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" \
| sudo tee /etc/apt/sources.list.d/google-cloud-sdk.list
sudo apt update && sudo apt install google-cloud-cli
Alternative: the versioned tarballs from the
install docs (linux-x86_64 or
linux-arm); extract and run ./google-cloud-sdk/install.sh.
Authenticate
gcloud auth login # browser OAuth, user account
gcloud config set project <project-id>
gcloud auth application-default login # for SDKs/tools using ADC
Credentials land in ~/.config/gcloud/. For service accounts, store the JSON
key in Vaultwarden (https://vault.portugalfuturista.org) and activate with:
gcloud auth activate-service-account --key-file=<path> --project=<project-id>
Configure for this environment
Named configurations keep personal/lab projects apart:
gcloud config configurations create lab
gcloud config set project <lab-project-id>
gcloud config configurations list
gcloud config configurations activate lab
Self-hosted equivalent
There is no real self-hosted GCP. Dev stand-ins we use instead:
- Firebase Emulator Suite (
firebase emulators:start, vianpm i -g firebase-tools) for Firestore/Auth/Functions. - fake-gcs-server for Cloud Storage:
docker run -p 4443:4443 fsouza/fake-gcs-server -scheme http, thenSTORAGE_EMULATOR_HOST=http://localhost:4443for client libraries. - For plain object storage, prefer MinIO (
http://192.168.0.40:9000) — S3-compatible and already on the LAN.
Aurélio integration
The cli-gcloud skill wraps gcloud/gsutil for project and storage ops.
Connector registry id: google-cloud.
Verify
gcloud --version
# Google Cloud SDK x.y.z
gcloud auth list
# Credentialed Accounts
# ACTIVE ACCOUNT
# * you@example.com
gcloud config list project
# [core]
# project = <project-id>
Troubleshooting
- Old SDK from distro packages — only use the Google apt repo above;
distro
google-cloud-sdkpackages are frequently broken/stale. gcloud auth loginopens no browser — rungcloud auth login --no-browserand paste the code back.- ADC errors in scripts — you authenticated
gcloudbut not application-default credentials; rungcloud auth application-default login. - Wrong project billed — check
gcloud config get-value projectbefore provisioning; use named configurations.