{"id":28426882,"url":"https://github.com/dineshgowda24/alfred-gcp-workflow","last_synced_at":"2025-06-14T02:04:46.673Z","repository":{"id":295450603,"uuid":"840818759","full_name":"dineshgowda24/alfred-gcp-workflow","owner":"dineshgowda24","description":"An Alfred workflow to open GCP services and browse resources within","archived":false,"fork":false,"pushed_at":"2025-06-01T14:44:19.000Z","size":22877,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-01T23:30:33.504Z","etag":null,"topics":["alfred","alfred-workflow","alfred3-workflow","alfred4-workflow","gcloud","gcloud-cli","gcp","golang","google","google-cloud-platform"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dineshgowda24.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"buy_me_a_coffee":"dineshgowda"}},"created_at":"2024-08-10T19:23:53.000Z","updated_at":"2025-06-01T14:44:17.000Z","dependencies_parsed_at":"2025-05-25T16:54:09.482Z","dependency_job_id":null,"html_url":"https://github.com/dineshgowda24/alfred-gcp-workflow","commit_stats":null,"previous_names":["dineshgowda24/alfred-gcp-workflow"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/dineshgowda24/alfred-gcp-workflow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dineshgowda24%2Falfred-gcp-workflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dineshgowda24%2Falfred-gcp-workflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dineshgowda24%2Falfred-gcp-workflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dineshgowda24%2Falfred-gcp-workflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dineshgowda24","download_url":"https://codeload.github.com/dineshgowda24/alfred-gcp-workflow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dineshgowda24%2Falfred-gcp-workflow/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259747213,"owners_count":22905310,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alfred","alfred-workflow","alfred3-workflow","alfred4-workflow","gcloud","gcloud-cli","gcp","golang","google","google-cloud-platform"],"created_at":"2025-06-05T11:30:59.128Z","updated_at":"2025-06-14T02:04:46.660Z","avatar_url":"https://github.com/dineshgowda24.png","language":"Go","funding_links":["https://buymeacoffee.com/dineshgowda","https://www.buymeacoffee.com/dineshgowda"],"categories":["Developer"],"sub_categories":[],"readme":"# \u003cimg src=\"./assets/docs/gcp.png\" width=\"26\"\u003e alfred-gcp-workflow\n\n![Services Covered](https://img.shields.io/badge/Services--Covered-250+-blue?logo=google-cloud)\n![Alfred](https://img.shields.io/badge/Alfred-3+-purple?logo=alfred)\n![Go](https://img.shields.io/badge/Built%20with-Go-1f425f?logo=go)\n![Version](https://img.shields.io/github/v/release/dineshgowda24/alfred-gcp-workflow)\n![License](https://img.shields.io/github/license/dineshgowda24/alfred-gcp-workflow)\n\nAn Alfred workflow that lets you instantly open Google Cloud services or search GCP resources—fast, simple, and right from your Alfred.\n\n \u003cp align=\"center\"\u003e \u003cimg src=\"./docs/assets/demo.gif\" alt=\"Demo GIF\" width=\"700\"/\u003e \u003c/p\u003e\n\n## Requirements\n\n- [Alfred 3+](https://www.alfredapp.com/) (with Powerpack)\n- [Google Cloud CLI](https://cloud.google.com/sdk/docs/install) installed and authenticated\n\n## Installation\n\n1. Make sure you have the [Google Cloud CLI](https://cloud.google.com/sdk/docs/install) installed and authenticated.\n2. Download the latest release from the [releases page](https://github.com/dineshgowda24/alfred-gcp-workflow/releases).\n3. Double-click the downloaded `.alfredworkflow` file to install it in Alfred.\n4. Follow the instructions in the workflow to set up your gcloud binary path and you are good to go!\n\n\u003e 🆘 **Still stuck?** [Read the full installation guide](INSTALLATION.md) for step-by-step help.\n\n## ✨ Features at a Glance\n\n- 🔍 Fuzzy search across 250+ Google Cloud services and subservices  \n- 🔍⚡️ Search live GCP resources across 20+ services, right from Alfred  \n- ⚡ Instantly copy, paste or open GCP Console links without touching your browser \n- 🧠 Config and region overrides using simple symbols (`@` and `$`)  \n- 🔐 Secure by design, uses your local `gcloud` CLI, never touches credentials  \n- 💾 Fast performance with safe caching (customizable via env var)  \n- 🛠️ Built-in tools to install new updates, clear cache, view logs, or reset internal data  \n\n## Design Philosophy\n\n1. This workflow never sees your credentials, authentication is handled entirely by the `gcloud` CLI.\n2. Only non-sensitive data is cached, such as project names, regions, resource names etc. Jusk enough keep things snappy.\n3. Every command fetches only the non sensitive data it needs, keeping it lightweight and efficient.\n4. Set your `gcloud` path once, and the workflow runs smoothly without surprises.\n\n\u003e If you notice anything that doesn't align with this, it's unintentional, please open an issue 🙏\n\n## Usage\n\n1. Open Alfred and type `gcp` to see the available services and commands.\n2. The home page will display useful links to Google Cloud:  \n   \u003cimg src=\"assets/docs/home.png\" alt=\"Home Page\" width=\"500\"/\u003e  \n   _Example: Home screen with quick links to GCP Console, Health Status, tools etc._\n3. Type `gcp` followed by a service name.  \n   _Example: `gcp comp` will fuzzy-match and show services like Compute Engine._\n4. If a service has 🗂️ in its subtitle, \u003ckbd\u003eTab\u003c/kbd\u003e to autocomplete into the subservices section.\n5. You can filter subservices directly by typing their name.  \n   _Example: Typing `gcp compute inst` will fuzzy-match and show subservices like instances for Compute Engine._\n6. If a subservice has 🔍⚡️ in its subtitle, it supports **resource search**.  \n   _Example: after typing `gcp compute`, \u003ckbd\u003eTab\u003c/kbd\u003e into `instances` to list all instances in your project._\n   [See full list of searchable resources.](#️-supported-resource-searches)\n7. The workflow uses your currently active gcloud configuration by default.  \n   To override it, type `@` in your query to list and \u003ckbd\u003eTab\u003c/kbd\u003e to select the desired configuration.\n8. To override specific region, type `$` in your query to list and \u003ckbd\u003eTab\u003c/kbd\u003e to select the desired region.\n\n---\n\n### ⚠️ Heads up about regions\n\n- Not all services support all regions. The workflow checks if the selected region is supported by the searcher **before** calling `gcloud`, so you'll get immediate feedback instead of a failure.\n- Some resources are **global**, meaning they aren't tied to a region or zone. Selecting a region won't affect those results.\n\n**Examples of global resources:**\n- Compute snapshots  \n- Compute instance templates  \n- Pub/Sub topics and subscriptions  \n_This is not an exhaustive list: if changing the region has no effect, the resource is likely global._\n\n\n### Advanced Usage\n\n1. Type `gcp tools:` to list the maintenance options powered by [AwGo Magic Actions](https://pkg.go.dev/github.com/deanishe/awgo#MagicAction).You can use \u003ckbd\u003eTab\u003c/kbd\u003e to navigate between actions like clearing the cache, viewing logs, or resetting internal data folders, then press \u003ckbd\u003eEnter\u003c/kbd\u003e to run the selected action. \u003cbr\u003e\n   \u003cimg src=\"./assets/docs/tools.png\" alt=\"Tools\" width=\"500\"/\u003e\u003cbr\u003e\n   _Example: Maintenance tools screen with options like clear cache and view logs._ \u003cbr\u003e\n2. The workflow supports [Fuzzy Filtering](https://pkg.go.dev/github.com/deanishe/awgo/fuzzy), so you can quickly find services or resources, even with partial or out-of-order matches.\n3. By default, resource searches are cached for 7 days. To customize this duration, set the `ALFRED_GCP_WORKFLOW_CACHE_TTL_SECONDS` environment variable in Alfred. Learn how to do this here: [Alfred Environment Variables Guide](https://www.alfredapp.com/help/workflows/advanced/variables/#environment).\n\n\n## 🔍⚡️ Supported Resource Searches\n\nHere are the GCP resources currently searchable through the workflow:\n\n| Service | Resource |\n|---------|----------|\n| 🛢️ Cloud SQL | Instances |\n| 🧠 Memorystore | Redis Instances |\n| 📬 Pub/Sub | Topics, Subscriptions |\n| 📦 Storage | Buckets |\n| 🖥️ Compute Engine | Instances, Disks, Images, Instance Templates, Machine Images, Snapshots |\n| ☸️ Kubernetes Engine (GKE) | Clusters |\n| 🗄️ Filestore | Instances |\n| 🌐 Cloud DNS (Network Services) | DNS Zones |\n| 🛤️ VPC | Networks, Routes |\n| 🔐 Network Connectivity | VPN Tunnel, VPN Gateway, Cloud Router |\n| 🗃️ Artifact Registry | Repositories |\n| 🏃‍♂️ Cloud Run | Functions (Gen1), Services (Gen2) |\n| 📋 Cloud Tasks | Queues |\n\n\n## Contributing\n\nPlease refer to the [contributing guidelines](CONTRIBUTING.md) for instructions on setting up your environment and submitting contributions.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for full license information.\n\n## Donate ♥️\n\nIf this workflow saved you time or made your day a little easier, consider showing some support:\n\n\u003ca href=\"https://www.buymeacoffee.com/dineshgowda\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png\" alt=\"Buy Me A Coffee\" style=\"height: 60px !important;width: 217px !important;\" \u003e\u003c/a\u003e\n\n## 🙏 Acknowledgements\n\nThis workflow is inspired by the amazing [aws-alfred-workflow](https://github.com/rkoval/alfred-aws-console-services-workflow).\nAs a past user of that workflow before switching to GCP, I wanted to create a similar experience for GCP users.\nHuge thanks to the original author for the idea and inspiration,  without which this workflow wouldn't exist!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdineshgowda24%2Falfred-gcp-workflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdineshgowda24%2Falfred-gcp-workflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdineshgowda24%2Falfred-gcp-workflow/lists"}