{"id":15687820,"url":"https://github.com/orisano/gcs-upload","last_synced_at":"2025-03-30T11:42:23.894Z","repository":{"id":167078202,"uuid":"642649539","full_name":"orisano/gcs-upload","owner":"orisano","description":"gcs-upload is a command-line tool written in Go for uploading files to GCS","archived":false,"fork":false,"pushed_at":"2024-12-28T05:54:24.000Z","size":112,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-25T05:34:29.753Z","etag":null,"topics":[],"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/orisano.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":"2023-05-19T03:32:57.000Z","updated_at":"2024-12-28T05:54:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"4ee6450a-1200-432b-94ed-fcfc29856dfd","html_url":"https://github.com/orisano/gcs-upload","commit_stats":null,"previous_names":["orisano/gcs-upload"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orisano%2Fgcs-upload","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orisano%2Fgcs-upload/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orisano%2Fgcs-upload/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orisano%2Fgcs-upload/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orisano","download_url":"https://codeload.github.com/orisano/gcs-upload/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246314125,"owners_count":20757457,"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":[],"created_at":"2024-10-03T17:51:14.858Z","updated_at":"2025-03-30T11:42:23.872Z","avatar_url":"https://github.com/orisano.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gcs-upload\n\ngcs-upload is a command-line tool written in Go for uploading files to Google Cloud Storage (GCS). It provides a convenient alternative to the `gsutil -m cp -r` command.\n\n## Installation\n\n### Binary Installation\n\nYou can download the binary for gcs-upload from the [Releases](https://github.com/orisano/gcs-upload/releases) page. Choose the appropriate binary for your operating system and architecture, and download it.\n\nAlternatively, you can use the `go install` command to install gcs-upload directly:\n\n```shell\ngo install github.com/orisano/gcs-upload@latest\n```\n\n### Container Image\n\nA container image for gcs-upload is also available on \u003cu\u003eghcr.io\u003c/u\u003e. This image is intended for use with Cloud Build.\n\nTo use the container image, you can pull it using Docker:\n\n```shell\ndocker pull ghcr.io/orisano/gcs-upload:\u003ctag\u003e\n```\n\nReplace `\u003ctag\u003e` with the desired version or tag of the image.\n\n## Usage\n\nTo upload files to Google Cloud Storage (GCS) using gcs-upload, use the following command:\n\n```shell\ngcs-upload [options] \u003cdest\u003e\n```\n\nThe `\u003cdest\u003e` argument specifies the target directory on GCS where the files will be uploaded. It should be in the form of a GCS path starting with `gs://`.\n\nOptions\n- `-buf value`: Set the copy buffer size (default: 512k).\n- `-chunk value`: Set the upload chunk size (default: 16m).\n- `-d string`: Set the local directory containing the files to be uploaded.\n- `-gc int`: Set the garbage collection (GC) interval.\n- `-l string`: Upload files specified in the target list-file.\n- `-n int`: Set the number of goroutines for uploading (default: 24).\n- `-shuffle`: Shuffle the upload order.\n- `-v`: Show verbose output.\n\nNote: Square brackets in the command indicate optional parameters.\n\n### Examples\n\nUpload files from a specific local directory to a target directory on GCS:\n\n```shell\ngcs-upload -d \u003clocal-dir\u003e gs://\u003cdest\u003e\n```\n\n## License\nThis project is licensed under the MIT License. See the LICENSE file for details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forisano%2Fgcs-upload","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forisano%2Fgcs-upload","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forisano%2Fgcs-upload/lists"}