{"id":24684887,"url":"https://github.com/cluther/ulauncher-google-cloud-console","last_synced_at":"2025-10-17T18:29:16.285Z","repository":{"id":274257897,"uuid":"922365795","full_name":"cluther/ulauncher-google-cloud-console","owner":"cluther","description":"Ulauncher extension to open Google Cloud Console to a specific area and project.","archived":false,"fork":false,"pushed_at":"2025-02-14T13:52:56.000Z","size":486,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-14T14:40:18.541Z","etag":null,"topics":["gcp","google-cloud","ulauncher","ulauncher-extensions"],"latest_commit_sha":null,"homepage":"https://ext.ulauncher.io/-/github-cluther-ulauncher-google-cloud-console","language":"Python","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/cluther.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2025-01-26T02:03:57.000Z","updated_at":"2025-02-14T13:53:00.000Z","dependencies_parsed_at":"2025-02-14T14:32:21.249Z","dependency_job_id":"766dcc27-9be7-4251-90b9-72ff70edc078","html_url":"https://github.com/cluther/ulauncher-google-cloud-console","commit_stats":null,"previous_names":["cluther/ulauncher-google-cloud-console"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cluther%2Fulauncher-google-cloud-console","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cluther%2Fulauncher-google-cloud-console/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cluther%2Fulauncher-google-cloud-console/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cluther%2Fulauncher-google-cloud-console/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cluther","download_url":"https://codeload.github.com/cluther/ulauncher-google-cloud-console/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244867994,"owners_count":20523581,"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":["gcp","google-cloud","ulauncher","ulauncher-extensions"],"created_at":"2025-01-26T15:16:53.749Z","updated_at":"2025-10-17T18:29:16.263Z","avatar_url":"https://github.com/cluther.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ulauncher-google-cloud-console\n\nThis is a [Ulauncher](https://ulauncher.io/) extension to open [Google Cloud Console](https://console.cloud.google.com) to a specific area and project.\n\n![Filtered by project and area](screenshots/areas-filtered-project.png \"Filtered by project and area\")\n\n![Preferences](screenshots/preferences.png \"Preferences\")\n\n## Usage\n\nUsage is as simple as typing the configured keyword (default is `gcloud`)\nfollowed by space or enter. This will present you with the top list of areas.\nChoosing any result will take you to it in your default web browser. As you\ntype additional letters after the keyword, the list of results will be filtered\nto those that contain what you've typed.\n\n### Projects\n\nProject support is what differentiates this extension from the others described\nbelow. By entering a comma-separated list of projects in the extension's\npreferences, your web browser can be opened to the desired area within your\nchoice of project.\n\nFor example, let's say you have added `xyz-dev,xyz-prod1,xyz-prod2` into the\nprojects preference. When you type `gcloud prod logs` you will be presented\nwith the following two options.\n\n- Logs for xyz-prod1\n- Logs for xyz-prod2\n\n## Supported Services\n\nThe list of supported Google Cloud services and areas within those services is\nmaintained within this project, and will probably never be complete. It's easy\nto add new services and areas by adding to the `AREAS` dictionary in `main.py`,\nand I encourage pull requests that do so.\n\nCurrently the supported services and areas are the following.\n\n- Artifact Registry – Repositories\n- Bigtable – Instances\n- Billing\n- Compute – Overview\n- Compute – VM Instances\n- Dataflow – Jobs\n- Datastore – Databases\n- Filestore – Instances\n- Firestore – Databases\n- IAM \u0026 Admin – IAM\n- IAM \u0026 Admin – Service Accounts\n- Kubernetes Engine – Kubernetes clusters\n- Monitoring – Overview\n- Monitoring – Dashboards\n- Monitoring – Metrics explorer\n- Monitoring – Logs explorer\n- Monitoring – Alerting\n- Monitoring – Incidents\n- Network Security\n- Network Security - Cloud Armor policies\n- Network Services – Load Balancing\n- Network Services – DNS Zones\n- Network Services - Cloud NAT\n- Pub/Sub – Overview\n- Pub/Sub – Topics\n- Pub/Sub – Subscriptions\n- Pub/Sub – Lite Reservations\n- Pub/Sub – Lite Topics\n- Pub/Sub – Lite Subscriptions\n- SQL – Instances\n- Storage – Overview\n- Storage – Buckets\n- Vertex AI - Dashboard\n- Vertex AI - Training - Custom jobs\n\n## Similar Projects\n\nAs of now (2025-01-25) there are two other extensions that do a similar thing\nto this one.\n\n- [Google Cloud Extension](https://ext.ulauncher.io/-/github-dhollinger-ulauncher-gcp)\n- [GCP Launcher](https://ext.ulauncher.io/-/github-zeue-ulauncher-gcp)\n\nAs far as I can tell, their features are the same. However, the GitHub\nrepository associated with _GCP Launcher_ is no longer available.\n\nThe reason I created yet another plugin for opening Google Cloud Console is\nbecause in my daily work I work with many different Google Cloud services, and\nin many different Google Cloud projects. The aforementioned extensions don't\noffer a way to open a page for the correct project, and that's always what I\nwant to do.\n\n## Hacking\n\nNotes for those who might want to contribute to this extension\n\n### Icons\n\nI capture the icons for the areas from the SVG used on\nhttps://console.cloud.google.com. However, those are typically greyscale and\nuse transparencies and use a background of #1967d2 to achieve the blue color\nwhen active. The problem is that this doesn't end up looking right when used\nwith any of Ulauncher's dark themes. So I replace the transparency with a\nspecific color from Google's blue palette.\n\nHow to replace greyscale colors with their blue counterparts:\n\n- #4285f4 (dark - replaces #424242)\n- #669df6 (medium - replaces #616161)\n- #aecbfa (light - replaces #757575)\n\nHow to replace base colors and transparency.\n\n- #1967d2 (replaces top-level fill=\"currentColor\")\n- #3076d6 (replaces opacity=\".9\")\n- #4785db (replaces opacity=\".8\")\n- #75a4e4 (replaces opacity=\".6\")\n- #a3c2ed (replaces opacity=\".4\")\n- #bad2f2 (replaces opacity=\".3\")\n\nWhen replacing the base and transparency style icons that are used for\nsections, I find the following `vim` command useful. Yank it into your `v`\nregister with `\"vy`, then execute it in the SVG buffer with `:@v`.\n\n```vimrc\n%s/ aria-hidden=\\\"true\\\"//ge\n\\ | %s/fill=\\\"currentColor\\\"/fill=\\\"#1967d2\\\"/ge\n\\ | %s/\\(fill-\\)\\=opacity=\\\".9\\d*\\\"/fill=\\\"#3076d6\\\"/ge\n\\ | %s/\\(fill-\\)\\=opacity=\\\".8\\d*\\\"/fill=\\\"#4785db\\\"/ge\n\\ | %s/\\(fill-\\)\\=opacity=\\\".7\\d*\\\"/fill=\\\"#5e94df\\\"/ge\n\\ | %s/\\(fill-\\)\\=opacity=\\\".6\\d*\\\"/fill=\\\"#75a4e4\\\"/ge\n\\ | %s/\\(fill-\\)\\=opacity=\\\".5\\d*\\\"/fill=\\\"#8cb3e8\\\"/ge\n\\ | %s/\\(fill-\\)\\=opacity=\\\".4\\d*\\\"/fill=\\\"#a3c2ed\\\"/ge\n\\ | %s/\\(fill-\\)\\=opacity=\\\".3\\d*\\\"/fill=\\\"#bad2f2\\\"/ge\n```\n\nThis is the `vim` command for replacing greyscale colors.\n\n```vimrc\n%s/ aria-hidden=\\\"true\\\"//ge\n\\ | %s/fill=\\\"#424242\\\"/fill=\\\"#4285f4\\\"/ge\n\\ | %s/fill=\\\"#616161\\\"/fill=\\\"#669df6\\\"/ge\n\\ | %s/fill=\\\"#757575\\\"/fill=\\\"#aecbfa\\\"/ge\n```\n\nI then generate the PNG that Ulauncher uses using Inkscape as follows.\n\n```sh\ninkscape -w 48 --export-type=png name.svg\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcluther%2Fulauncher-google-cloud-console","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcluther%2Fulauncher-google-cloud-console","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcluther%2Fulauncher-google-cloud-console/lists"}