{"id":15318451,"url":"https://github.com/appleboy/drone-secret-sync","last_synced_at":"2026-01-19T06:02:10.050Z","repository":{"id":164674542,"uuid":"640116242","full_name":"appleboy/drone-secret-sync","owner":"appleboy","description":"Update drone secrets for organization or repository automatically","archived":false,"fork":false,"pushed_at":"2024-11-18T20:10:36.000Z","size":84,"stargazers_count":5,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-14T23:08:05.961Z","etag":null,"topics":["drone-plugin"],"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/appleboy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":["https://www.paypal.me/appleboy46"]}},"created_at":"2023-05-13T03:36:37.000Z","updated_at":"2025-04-01T01:33:42.000Z","dependencies_parsed_at":"2023-11-24T22:31:55.123Z","dependency_job_id":"38cd7271-7a78-452d-8101-65e1f3121df6","html_url":"https://github.com/appleboy/drone-secret-sync","commit_stats":{"total_commits":39,"total_committers":2,"mean_commits":19.5,"dds":0.05128205128205132,"last_synced_commit":"b5502c81bbe8068b9e80c7607f5adb87b92491d3"},"previous_names":["appleboy/drone-secrets"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/appleboy/drone-secret-sync","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appleboy%2Fdrone-secret-sync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appleboy%2Fdrone-secret-sync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appleboy%2Fdrone-secret-sync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appleboy%2Fdrone-secret-sync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/appleboy","download_url":"https://codeload.github.com/appleboy/drone-secret-sync/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appleboy%2Fdrone-secret-sync/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28562237,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T03:31:16.861Z","status":"ssl_error","status_checked_at":"2026-01-19T03:31:15.069Z","response_time":67,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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-plugin"],"created_at":"2024-10-01T09:00:11.915Z","updated_at":"2026-01-19T06:02:10.034Z","avatar_url":"https://github.com/appleboy.png","language":"Go","funding_links":["https://www.paypal.me/appleboy46"],"categories":[],"sub_categories":[],"readme":"# drone-secret-sync\n\n[![Lint and Testing](https://github.com/appleboy/drone-secret-sync/actions/workflows/testing.yml/badge.svg)](https://github.com/appleboy/drone-secret-sync/actions/workflows/testing.yml)\n\nSynchronize Drone secrets across multiple organizations or repository configurations.\n\n## Motivation\n\nWhen using Drone as a CI/CD system, there are many organizations or repositories that require the same set of shared secrets, such as Docker credentials or Kubernetes secrets. Consequently, it becomes necessary to reconfigure these secrets every time a new repository or organization is created. This package is designed to address this issue.\n\n## How it works\n\nThis package uses the Drone API to synchronize secrets across multiple organizations or repository configurations. It can be used as a CLI tool or as a Docker image.\n\n### Using CLI\n\nCreate a `.env` file with the following content. You can also use the `export` command to set the environment variables.\n\n```sh\nDRONE_SERVER=https://cloud.drone.io\nDRONE_TOKEN=xxxxx\nORG_LIST=appleboy\nREPO_LIST=go-training/golang-in-ecr-ecs,go-training/drone-git-push-example\nKEY_LIST=FOOBAR2\nFOOBAR2=1234\n```\n\n* DRONE_SERVER: Drone server URL.\n* DRONE_TOKEN: Drone token.\n* ORG_LIST: Comma-separated list of organizations.\n* REPO_LIST: Comma-separated list of repositories.\n* KEY_LIST: Comma-separated list of secret keys.\n\nDownload the latest release from [GitHub](https://github.com/appleboy/drone-secret-sync/releases) and run the following command:\n\n```sh\ndrone-secret-sync\n```\n\nThe above command will sync the `FOOBAR2` secret to the `appleboy` organization and `go-training/golang-in-ecr-ecs` and `go-training/drone-git-push-example` repositories. See the following output:\n\n```sh\nlogin user: appleboy\norg: appleboy, update secret key: foobar2\nrepo: go-training/golang-in-ecr-ecs, update secret key: foobar2\nrepo: go-training/drone-git-push-example, update secret key: foobar2\n```\n\n### Using Drone CI/CD\n\nYou can also use this package as a Docker image in your Drone CI/CD pipeline. See the following example:\n\n```yaml\n---\nkind: pipeline\nname: linux-amd64\n\nplatform:\n  os: linux\n  arch: amd64\n\nsteps:\n\n- name: publish\n  pull: always\n  image: ghcr.io/appleboy/drone-secret-sync:1\n  settings:\n    drone_token:\n      from_secret: drone_token\n    drone_server:\n      from_secret: drone_server\n    org_list: appleboy,go-training\n    repo_list: go-training/golang-in-ecr-ecs,go-training/drone-git-push-example\n    key_list: foobar,docker_test_username,docker_test_token\n    foobar: test\n  environment:\n    DOCKER_TEST_USERNAME: appleboy\n    DOCKER_TEST_TOKEN: 1234\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappleboy%2Fdrone-secret-sync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fappleboy%2Fdrone-secret-sync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappleboy%2Fdrone-secret-sync/lists"}