{"id":19601242,"url":"https://github.com/tonglil/auth-gcloud","last_synced_at":"2025-04-27T16:32:32.493Z","repository":{"id":25434829,"uuid":"103990421","full_name":"tonglil/auth-gcloud","owner":"tonglil","description":"Activate the service account for gcloud using a GCP service account JSON credential","archived":false,"fork":false,"pushed_at":"2024-08-20T16:22:44.000Z","size":48,"stargazers_count":4,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-05T01:32:24.436Z","etag":null,"topics":["drone","drone-plugin","gcloud","gcloud-sdk","gcp","google-cloud","google-cloud-platform"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/tonglil/auth-gcloud/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tonglil.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2017-09-18T20:49:03.000Z","updated_at":"2024-05-29T02:35:55.000Z","dependencies_parsed_at":"2023-02-14T09:16:48.238Z","dependency_job_id":"303fe0ab-d343-464d-8967-3ac512a5694b","html_url":"https://github.com/tonglil/auth-gcloud","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonglil%2Fauth-gcloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonglil%2Fauth-gcloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonglil%2Fauth-gcloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonglil%2Fauth-gcloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tonglil","download_url":"https://codeload.github.com/tonglil/auth-gcloud/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251171741,"owners_count":21547153,"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":["drone","drone-plugin","gcloud","gcloud-sdk","gcp","google-cloud","google-cloud-platform"],"created_at":"2024-11-11T09:17:41.614Z","updated_at":"2025-04-27T16:32:31.789Z","avatar_url":"https://github.com/tonglil.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# auth-gcloud\n\nActivate the service account for gcloud using a GCP service account JSON credential.\n\nAlso see https://github.com/tonglil/auth-gke/.\n\n## Usage\n\n```sh\ndocker run \\\n  -e TOKEN=\"$(cat service-account.json)\" \\\n  tonglil/auth-gcloud\n```\n\n## Example\n\n### Drone 1+\n\n```yml\nsteps:\n- name: gcp-actions\n  image: tonglil/auth-gcloud\n  environment:\n    TOKEN:\n      from_secret: google_credentials\n  commands:\n    - auth-gcloud\n    - gcloud ...\n```\n\n### Drone 0.5+\n\n\u003cdetails\u003e\n  \u003csummary\u003eExpand\u003c/summary\u003e\n\n```yml\npipeline:\n  gcp-actions:\n    image: tonglil/auth-gcloud\n    commands:\n      - auth-gcloud\n      - gcloud ...\n    secrets: [google_credentials]\n```\n\u003c/details\u003e\n\n### Drone 0.4\n\n\u003cdetails\u003e\n  \u003csummary\u003eExpand\u003c/summary\u003e\n\n```yml\nbuild:\n  image: google/cloud-sdk\n  environment:\n    TOKEN_B64: $$GOOGLE_CREDENTIALS_B64\n    GOOGLE_APPLICATION_CREDENTIALS: /tmp/gcloud.json\n  commands:\n    # Pass base 64 encoded credential and decode for gcloud login\n    - echo $TOKEN_B64 | base64 -d \u003e $GOOGLE_APPLICATION_CREDENTIALS\n    - gcloud auth activate-service-account --key-file \"$GOOGLE_APPLICATION_CREDENTIALS\"\n    - gcloud ...\n```\n\u003c/details\u003e\n\n## Releasing\n\nUse the base image's `gcloud` version number as the tag:\n\n```\nmake pull\nmake version\n```\n\n## Common uses\n\nCleanup GCR:\n\n```yml\n- name: gcr-cleanup\n  image: tonglil/auth-gcloud:alpine\n  environment:\n    REGISTRY: us.gcr.io\n    REPO: project/image\n    TOKEN:\n      from_secret: google_credentials\n  commands:\n    - auth-gcloud\n      # delete untagged images\n    - gcloud container images list-tags \"$REGISTRY/$REPO\" --filter='-tags:*' --format='get(digest)' --limit=unlimited | xargs -I {arg} gcloud container images delete \"$REGISTRY/$REPO@{arg}\" --quiet\n      # only keep most recent 50 images\n    - gcloud container images list-tags \"$REGISTRY/$REPO\" --format='get(digest)' --limit=unlimited | tail -n +51 | xargs -I {arg} gcloud container images delete \"$REGISTRY/$REPO@{arg}\" --quiet --force-delete-tags\n```\n\nTag an existing GCR image on release:\n\n```yml\n- name: gcr-tag\n  image: tonglil/auth-gcloud:alpine\n  environment:\n    REGISTRY: us.gcr.io\n    REPO: project/image\n    TOKEN:\n      from_secret: google_credentials\n  commands:\n    - auth-gcloud\n    - gcloud container images add-tag \"$REGISTRY/$REPO:${DRONE_COMMIT}\" \"$REGISTRY/$REPO:${DRONE_TAG}\" \"$REGISTRY/$REPO:stable\" --quiet\n  when:\n    event: tag\n```\n\nCopy an existing GCR image on release:\n\n```yml\n- name: gcr-tag\n  image: tonglil/auth-gcloud:alpine\n  environment:\n    SRC_REGISTRY: us.gcr.io\n    SRC_REPO: project/image1\n    DST_REGISTRY: us.gcr.io\n    DST_REPO: project/image2\n    TOKEN:\n      from_secret: google_credentials\n  commands:\n    - auth-gcloud\n    # it is possible to tag/copy to multiple destinations\n    - gcloud container images add-tag \"$SRC_REGISTRY/$SRC_REPO:${DRONE_COMMIT}\" \"$DST_REGISTRY/$DST_REPO:${DRONE_TAG}\" --quiet\n  when:\n    event: tag\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftonglil%2Fauth-gcloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftonglil%2Fauth-gcloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftonglil%2Fauth-gcloud/lists"}