gcloud help

crawl

This repo automatically scrapes the help text for gcloud and puts it in this Git repo.

Scraping is automated with GitHub Actions. Every day, the workflow installs the latest gcloud release, and crawls the output of gcloud help and all subgroups and subcommands. The output is placed in the gcloud/ directory.

This produces the same content as the official CLI reference, in text form, with history. This enables diffing the help text of two gcloud releases.

How is this useful?

You can use this repo to identify changes in gcloud releases.

For example, compare 374.0.0 and 375.0.0 (looks like lots of help text formatting...).

GitHub also provides an undocumented RSS feed feature, which even lets you filter changes in certain paths. For example, you can subscribe to changes to the gcloud builds surface in your RSS reader of choice. Party like it's 2009!

Using this information you can count the number of unique CLI surfaces provided by gcloud:

$ find gcloud -type f | wc -l
    9816

Or find the longest CLI surface:

$ find gcloud -type f | awk '{print length, $0}' | sort -rn | head -10 | sed -e "s+/+ +g"
81 gcloud alpha compute instance-groups managed rolling-action stop-proactive-update
80 gcloud beta compute instance-groups managed rolling-action stop-proactive-update
79 gcloud alpha compute resource-policies create vm-maintenance maintenance-window
78 gcloud alpha compute resource-policies create vm-maintenance concurrency-limit
76 gcloud alpha compute public-delegated-prefixes delegated-sub-prefixes delete
76 gcloud alpha compute public-delegated-prefixes delegated-sub-prefixes create
75 gcloud compute instance-groups managed rolling-action stop-proactive-update
75 gcloud beta compute public-delegated-prefixes delegated-sub-prefixes delete
75 gcloud beta compute public-delegated-prefixes delegated-sub-prefixes create
74 gcloud alpha metastore services databases tables remove-iam-policy-binding

All text content is owned by Google, licensed under the Creative Commons Attribution 4.0 License.

Code in the repo is owned by me, licensed under the Apache 2.0 license.