All Projects → jthegedus → asdf-gcloud

jthegedus / asdf-gcloud

Licence: MIT License
☁️ GCloud CLI (Google Cloud SDK) plugin for asdf version manager. Pin gcloud versions for each project!

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to asdf-gcloud

google-cloud-utilities
Docker images and scripts to deploy to Google Cloud
Stars: ✭ 26 (+8.33%)
Mutual labels:  google-cloud, gcloud, gcloud-sdk
asdf-deno
Deno plugin for the asdf version manager
Stars: ✭ 71 (+195.83%)
Mutual labels:  asdf, asdf-plugin
asdf-crystal
Crystal plugin for the asdf version manager
Stars: ✭ 60 (+150%)
Mutual labels:  asdf, asdf-plugin
asdf-poetry
Poetry plugin for the asdf version manager
Stars: ✭ 23 (-4.17%)
Mutual labels:  asdf, asdf-plugin
steampipe-plugin-gcp
Use SQL to instantly query GCP resources across regions, projects and organizations. Open source CLI. No DB required.
Stars: ✭ 12 (-50%)
Mutual labels:  gcloud, gcloud-cli
asdf-ocaml
OCaml plugin for the asdf version manager
Stars: ✭ 20 (-16.67%)
Mutual labels:  asdf, asdf-plugin
multer-sharp
Streaming multer storage engine permit to resize and upload to Google Cloud Storage.
Stars: ✭ 21 (-12.5%)
Mutual labels:  google-cloud, gcloud
asdf-gleam
Gleam plugin for the asdf version manager
Stars: ✭ 22 (-8.33%)
Mutual labels:  asdf, asdf-plugin
asdf-php
PHP plugin for the asdf version manager
Stars: ✭ 159 (+562.5%)
Mutual labels:  asdf, asdf-plugin
appengine-plugins-core
A client Java library to manage App Engine Java applications for any project that performs App Engine Java application management. For example, the Maven, Gradle and Eclipse App Engine plugins, custom user tools, etc.
Stars: ✭ 23 (-4.17%)
Mutual labels:  gcloud, gcloud-sdk
asdf-flutter
Flutter plugin for the asdf version manager
Stars: ✭ 68 (+183.33%)
Mutual labels:  asdf, asdf-plugin
asdf-haxe
Haxe plugin for the asdf version manager
Stars: ✭ 13 (-45.83%)
Mutual labels:  asdf, asdf-plugin
asdf-elm
elm version manager plugin for asdf.
Stars: ✭ 26 (+8.33%)
Mutual labels:  asdf, asdf-plugin
asdf-yarn
asdf plugin for Yarn.
Stars: ✭ 111 (+362.5%)
Mutual labels:  asdf, asdf-plugin
asdf-elm
Elm plugin for the asdf version manager
Stars: ✭ 18 (-25%)
Mutual labels:  asdf, asdf-plugin
speech to text
how to use the Google Cloud Speech API to transcribe audio/video files.
Stars: ✭ 35 (+45.83%)
Mutual labels:  google-cloud
nodejs-talent
Node.js client for Google Cloud Talent Solutions. Transform your job search and candidate matching capabilities with Cloud Talent Solution.
Stars: ✭ 21 (-12.5%)
Mutual labels:  google-cloud
Google-Cloud-Study-Jams
Resources for 30 Days of Google Cloud program workshops and events conducted by GDSC VJTI
Stars: ✭ 13 (-45.83%)
Mutual labels:  google-cloud
self-hosted-runners-anthos
GitHub Actions Self Hosted Runners on Anthos GKE
Stars: ✭ 17 (-29.17%)
Mutual labels:  google-cloud
healthcare-dicom-dicomweb-adapter
Adapter which transforms DIMSE requests to DICOMweb requests
Stars: ✭ 92 (+283.33%)
Mutual labels:  google-cloud

asdf-gcloud Build Lint

GCloud CLI plugin for asdf version manager allowing you to pin gcloud versions for each GCP project.

asdf-gcloud

Contents

Dependencies

Are tracked in lib/dependencies.txt and checked on installation of plugin and asdf install gcloud *. The core dependencies are: bash, curl, python, sort, tar.

Install

Plugin:

asdf plugin add gcloud https://github.com/jthegedus/asdf-gcloud

GCloud:

asdf install gcloud latest

Set global version:

asdf global gcloud 286.0.0

or if https://github.com/asdf-vm/asdf/pull/633 is merged:

asdf global gcloud latest

These commands also apply to asdf local gcloud <version>.

Why?

The asdf config file, .tool-versions, allows pinning each tool in your project to a specific version. This ensures that ALL developers are using the same version of each tool. Same python, same gcloud, same terraform etc.

When you update a version in .tool-versions, asdf will prompt all users who do not have the correct versions to upgrade. This enables whole teams to update their tools in unison.

Default Cloud SDK Components

asdf-gcloud can automatically install a set of Cloud SDK Components after each asdf install gcloud <version>. To enable this feature you must have a file that lists one COMPONENT_ID per line. For example:

alpha
beta
cloud-build-local
cloud-firestore-emulator

This file must be named .default-cloud-sdk-components and be at one of the following locations:

  • $HOME/.config/gcloud/.default-cloud-sdk-components: next to gcloud auth configurations
  • $(dirname ASDF_CONFIG_FILE)/.default-cloud-sdk-components: relative to .asdfrc if configured
  • $HOME/.default-cloud-sdk-components: Home dir

Below is the list of available components (as of version 342.0.0):

┌────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│                                                 Components                                                 │
├───────────────┬──────────────────────────────────────────────────────┬──────────────────────────┬──────────┤
│     Status    │                         Name                         │            ID            │   Size   │
├───────────────┼──────────────────────────────────────────────────────┼──────────────────────────┼──────────┤
│ Not Installed │ App Engine Go Extensions                             │ app-engine-go            │  4.9 MiB │
│ Not Installed │ Appctl                                               │ appctl                   │ 21.0 MiB │
│ Not Installed │ Cloud Bigtable Command Line Tool                     │ cbt                      │  7.7 MiB │
│ Not Installed │ Cloud Bigtable Emulator                              │ bigtable                 │  6.6 MiB │
│ Not Installed │ Cloud Datalab Command Line Tool                      │ datalab                  │  < 1 MiB │
│ Not Installed │ Cloud Datastore Emulator                             │ cloud-datastore-emulator │ 18.4 MiB │
│ Not Installed │ Cloud Firestore Emulator                             │ cloud-firestore-emulator │ 40.5 MiB │
│ Not Installed │ Cloud Pub/Sub Emulator                               │ pubsub-emulator          │ 60.4 MiB │
│ Not Installed │ Cloud SQL Proxy                                      │ cloud_sql_proxy          │  7.6 MiB │
│ Not Installed │ Cloud Spanner Emulator                               │ cloud-spanner-emulator   │ 21.8 MiB │
│ Not Installed │ Emulator Reverse Proxy                               │ emulator-reverse-proxy   │ 14.5 MiB │
│ Not Installed │ Google Cloud Build Local Builder                     │ cloud-build-local        │  6.3 MiB │
│ Not Installed │ Google Container Registry's Docker credential helper │ docker-credential-gcr    │  1.8 MiB │
│ Not Installed │ Kustomize                                            │ kustomize                │ 25.9 MiB │
│ Not Installed │ Minikube                                             │ minikube                 │ 50.4 MiB │
│ Not Installed │ Nomos CLI                                            │ nomos                    │ 22.9 MiB │
│ Not Installed │ On-Demand Scanning API extraction helper             │ local-extract            │ 13.6 MiB │
│ Not Installed │ Skaffold                                             │ skaffold                 │ 16.8 MiB │
│ Not Installed │ anthos-auth                                          │ anthos-auth              │ 16.8 MiB │
│ Not Installed │ config-connector                                     │ config-connector         │ 44.6 MiB │
│ Not Installed │ gcloud Alpha Commands                                │ alpha                    │  < 1 MiB │
│ Not Installed │ gcloud Beta Commands                                 │ beta                     │  < 1 MiB │
│ Not Installed │ gcloud app Java Extensions                           │ app-engine-java          │ 52.4 MiB │
│ Not Installed │ gcloud app Python Extensions                         │ app-engine-python        │  6.1 MiB │
│ Not Installed │ gcloud app Python Extensions (Extra Libraries)       │ app-engine-python-extras │ 27.1 MiB │
│ Not Installed │ kpt                                                  │ kpt                      │ 11.7 MiB │
│ Not Installed │ kubectl                                              │ kubectl                  │  < 1 MiB │
│ Not Installed │ kubectl-oidc                                         │ kubectl-oidc             │ 16.8 MiB │
│ Not Installed │ pkg                                                  │ pkg                      │          │
│ Installed     │ BigQuery Command Line Tool                           │ bq                       │  < 1 MiB │
│ Installed     │ Cloud SDK Core Libraries                             │ core                     │ 18.6 MiB │
│ Installed     │ Cloud Storage Command Line Tool                      │ gsutil                   │  3.9 MiB │
└───────────────┴──────────────────────────────────────────────────────┴──────────────────────────┴──────────┘

FAQ

~/.asdf/lib/commands/command-exec.bash: line 23: shim_args[@]: unbound variable

This is expected as gcloud requires a command. asdf-gcloud sets the Bash option for nounset variables which makes running gcloud without commands appear as an asdf error. You should always pass a command to gcloud.

Contributing

Contributions of any kind welcome! See the contributing guide.

Thanks goes to these contributors!

Why are there Node deps here?

I decided the value of commitlint & sharing Git Hooks with husky were greater than the cost of including these deps. Not only this, but dogfooding asdf for dev deps makes this less of an issue.

License

MIT License © James Hegedus

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].