{"id":19042469,"url":"https://github.com/serverless/serverless-meta-sync","last_synced_at":"2025-04-23T22:28:40.132Z","repository":{"id":65412257,"uuid":"54529327","full_name":"serverless/serverless-meta-sync","owner":"serverless","description":"Secure syncing of serverless project meta data across teams","archived":false,"fork":false,"pushed_at":"2016-06-13T04:36:31.000Z","size":17,"stargazers_count":44,"open_issues_count":11,"forks_count":14,"subscribers_count":30,"default_branch":"master","last_synced_at":"2025-04-12T15:04:15.903Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/serverless.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}},"created_at":"2016-03-23T03:51:58.000Z","updated_at":"2020-04-30T06:39:23.000Z","dependencies_parsed_at":"2023-01-22T07:35:11.836Z","dependency_job_id":null,"html_url":"https://github.com/serverless/serverless-meta-sync","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverless%2Fserverless-meta-sync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverless%2Fserverless-meta-sync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverless%2Fserverless-meta-sync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverless%2Fserverless-meta-sync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/serverless","download_url":"https://codeload.github.com/serverless/serverless-meta-sync/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250525757,"owners_count":21445073,"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-11-08T22:37:55.384Z","updated_at":"2025-04-23T22:28:40.097Z","avatar_url":"https://github.com/serverless.png","language":"JavaScript","readme":"# [Serverless](http://serverless.com/) Meta Sync Plugin\n\n[![serverless](http://public.serverless.com/badges/v3.svg)](http://www.serverless.com)\n[![gitter](https://img.shields.io/gitter/room/serverless/serverless.svg)](https://gitter.im/serverless/serverless)\n[![version](https://img.shields.io/npm/v/serverless-meta-sync.svg)](https://www.npmjs.com/package/serverless-meta-sync)\n[![downloads](https://img.shields.io/npm/dm/serverless-meta-sync.svg)](https://www.npmjs.com/package/serverless-meta-sync)\n[![dependencies](https://img.shields.io/david/serverless/serverless-meta-sync.svg)](https://www.npmjs.com/package/serverless-meta-sync)\n[![license](https://img.shields.io/npm/l/serverless-meta-sync.svg)](https://www.npmjs.com/package/serverless-meta-sync)\n\nSecure syncing of Serverless project's meta data across teams (via S3 bucket).\n\nThis plugin adds a `serverless meta sync` command.  When you run it with a stage or a region `-s dev -r us-east-1`, this plugin will first find or create an S3 bucket using the credentials you have set for that stage, then sync the variables files you have locally with the ones on the S3 bucket.  For example, running `serverless meta sync -s dev` will sync your project's `s-variables-dev.json` with the `s-variables-dev.json` located on the S3 bucket.\n\nWhen used via the CLI and conflicts are found, an interactive screen will let you easily select which option to use.  When used without the CLI, the files located remotely automatically overwrite the files located locally, which is useful when used in the beginning of CI processes.\n\n## Demo\n[![asciicast](https://asciinema.org/a/40566.png)](https://asciinema.org/a/40566)\n\n## Setup\n\n* Install via npm in the root of your Serverless Project:\n```\nnpm install serverless-meta-sync --save\n```\n\n* Add the plugin to the `plugins` array and to the `custom` object in your Serverless Project's `s-project.json`, like this:\n\n```js\n\"custom\": {\n  \"meta\": {\n    \"name\": \"YOUR_SYNC_S3_BUCKET_NAME\",\n    \"region\": \"S3_BUCKET_REGION\",\n\n    // Optional, by default: \"serverless/PROJECT_NAME/variables/\"\n    \"keyPrefix\": \"S3_KEY_PREFIX\"\n  }\n},\n\"plugins\": [\n    \"serverless-meta-sync\"\n]\n```\n\n* All done!\n\n## Usage\nRun: `serverless meta sync`.\n\n### Options\n* `-s` `--stage` — Stage. Optional if only one stage is defined in project. This will only sync the variables file of the specified stage (e.g., `s-variables-dev.json`).\n* `-r` `--region` — Region. Optional. This will only sync the variables file for the specified region in the specified stage (e.g., `s-variables-dev-useast1.json`).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserverless%2Fserverless-meta-sync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fserverless%2Fserverless-meta-sync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserverless%2Fserverless-meta-sync/lists"}