-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmetadata.json
29 lines (29 loc) · 3.08 KB
/
metadata.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{
"name": "s3nsync",
"description": "Installs/Configures S3nsync",
"long_description": "s3nsync Cookbook\n=======================\nThis cookbook probides a LWRP that keeps a local directory synced to an S3 bucket. It does an initial sync from an S3 bucket to a local directory (if it's empty), and then syncs that directory with a folder in that S3 bucket each Chef run. This is an easy way to back a recent backup copy of data in S3 and have new nodes grab it when they are launched.\n\nRequirements\n------------\nThis cookbook does not depend on any other cookbooks. It requires that the [AWS CLI tool](https://aws.amazon.com/cli/) is installed.\n\nUsage\n-----\n#### s3nsync resource\n\n```\ns3nsync \"/var/lib/git-repos\" do\n bucket \"s3-sync-bucket\"\n region \"us-east-1\"\n action :create\nend\n```\nThis example would keep a local /var/lib/git-repos directory synced to a folder in the \"s3-sync-bucket\" S3 bucket.\n\nThe name of the resource is the directory to keep in sync with the S3 bucket. You need to specify a `bucket`. The default `region` is 'us-east-1'. The default and only action is create.\n\nThe first time this runs, if the directory is empty, the recipe will look for a \"CURRENT\" file in the specified S3 bucket. This file should contain the path within the S3 bucket of the current folder to sync locally. It will sync the contents of that folder locally, then create an /etc/chef/.initial_s3_sync_<bucket> file so that this initial sync only happens once. If the local directory was not empty to begin with, it will not do an initial sync and will require you to create this .initial_s3_sync_<bucket> file manually (for safety).\n\nIf the initial sync has previously completed successfully, then the only action upon a chef-client run will be to sync the local directory to the S3 bucket into a subfolder named with the node.name attribute. This way if a new instance is brought up, it will not accidentally overwrite files from a previous instance. If an instance successfully syncs to S3, the CURRENT file will be updated with it's foldername. This allows a simple way to keep a very recent backup in S3 and have new instances grab a copy of this data when they are launched and start syncing to S3 themselved.\n\nAdditionally, an init script and service will be configured which does a final sync on shutdown or reboot, such as when an instance is terminated.\n\nContributing\n------------\n1. Fork the repository on Github\n2. Create a named feature branch (like `add_component_x`)\n3. Write your change\n4. Write tests for your change (if applicable)\n5. Run the tests, ensuring they all pass\n6. Submit a Pull Request using Github\n\nLicense and Authors\n-------------------\nAuthors: Joe Richards <nospam-github@disconformity.net>\n",
"maintainer": "Joe Richards",
"maintainer_email": "nospam-github@disconformity.net",
"license": "GPL v3",
"platforms": {
},
"dependencies": {
},
"recommendations": {
},
"suggestions": {
},
"conflicting": {
},
"providing": {
},
"replacing": {
},
"attributes": {
},
"groupings": {
},
"recipes": {
},
"version": "0.2.0"
}