{"action":"created","comment":{"url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/pulls/comments/92643029","pull_request_review_id":13161178,"id":92643029,"diff_hunk":"@@ -1,70 +1,242 @@\n # Backendless Chef Stack\n \n-Cloudformation Templates to setup our Chef Stack utilizing AWS RDS and Elastic Search as the Chef Backend\n+Cloudformation Templates to build out a complete Backendless Chef Configuration\n \n-This requires the use of [backendless_chef](https://github.com/HearstAT/cookbook_backendless_chef) cookbook to function.\n+**Note:** No longer requires a Cookbook to build.\n \n ## Info\n-* Builds out customized Chef Server build out without any backends to zone lock your setup\n-* Built to utilize Ubuntu Trusty\n-* Uses Chef APT Repo for packages (Updated to the new repo)\n \n-## What's Setup\n-* Autoscaled Frontends that utilize AWS resources on backend to act as a Chef Backend.\n+-   Builds out customized Chef Server build out without any backends to zone lock your setup\n+-   Built to utilize Ubuntu Xenial\n+-   Allows you to choose versions to install on Chef-Server, Manage, and Reporting (Limited to Xenial Supported versions)\n+-   Builds out a RDS PostgreSQL Database, Version: 9.5.4\n+-   Builds out AWS Elasticsearch Domain (Node/Replication Configurable), Version: 2.3\n \n ## Diagram\n+\n ![Alt text](backendless_chef.png?raw=true \"Overview Diagram\")\n \n ## Requirements\n-* Existing VPC\n-  * IP Scheme of 172.33.0.0/16 or modify template to support whichever\n-  * SSH Security Group (Will lookup existing groups in AWS, make sure one exists)\n-* Route53 Hosted Domain/Zone\n-* Existing SSL Certificate (Loaded into AWS and provide in the params below)\n-* Existing Elasticsearch cluster\n-* Existing RDS Postgresql\n-\n-## Parameters\n-* Instance & Network Configuration\n-    * InstanceType\n-    * KeyName\n-    * SSLCertificateARN (See [here](http://docs.aws.amazon.com/cli/latest/reference/iam/index.html#cli-aws-iam) on how to get the Cert ARN)\n-      * `aws iam get-server-certificate --server-certificate-name`\n-    * VPC\n-    * SSHSecurityGroup\n-    * AvailabilityZoneA\n-    * AvailabilityZoneB\n-    * AvailabilityZoneC\n-    * HostedZone\n-* Bucket Configuration\n-    * UseExistingBucket (True/False, enables using a bucket rather than creating one. Good for re-deploys)\n-    * ExistingBucket (Bucket Name for the bucket you want to use)\n-* Re-Deploy Configuration\n-    * ExistingInstall (True/False, will touch bootstrapped file and pull everything necessary when using an external DB)\n-* Chef Configuration\n-    * ChefSubdomain\n-    * SignupDisable (True/False)\n-    * SupportEmail (Optional)\n-    * LicenseCount (Optional, default 25)\n-    * ChefDir (location for cookbook items)\n-    * S3DIR (Location to mount created S3 bucket for citadel items and chef backups, i.e.; /opt/chef-s3)\n-    * BackupEnable (True/False Option, enables a backup script that will run `knife ec` daily and copy to a S3 bucket, keeps only 10 days worth)\n-    * RestoreFile (optional)\n-* Mail Configuration (Optional)\n-    * MailCreds (Setup to noecho throught template)\n-    * MailHost (Optional)\n-    * MailPort (Optional)\n-* New Relic Configuration (Optional)\n-    * NewRelicEnable (Choose true/false)\n-    * NewRelicAppName (Name that shows up in New Relic APM)\n-    * NewRelicLicense (Setup to noecho throught template)\n-* Sumologic Configuration (Optional)\n-    * SumologicEnable (Choose true/false)\n-    * SumologicAccessID (Setup to noecho throught template)\n-    * SumologicAccessKey (Setup to noecho throught template)\n-    * SumologicPassword (Setup to noecho throught template)\n-* External Build Items\n-    * Cookbook (name of cookbook)\n-    * CookbookGit (URL for [backendless_chef](https://github.com/HearstAT/cookbook_backendless_chef))\n-    * CookbookGitBranch (if using something different from master)\n-    * UserDataScript (URL for the `userdata.sh` script in this repo)\n+\n+-   Existing VPC\n+    -   IP Scheme of 172.33.0.0/16 or modify template to support whichever (Take note of [Blue/Green](#subnet-switching) Section if changing)\n+    -   SSH Security Group (Will lookup existing groups in AWS, make sure one exists)\n+-   Route53 Hosted Domain/Zone; [Guide](http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingHostedZone.html)\n+-   Existing SSL Certificate (See [SSL Setup](#ssl-setup) Section for more info)\n+\n+## Usage\n+\n+### Getting Started\n+\n+#### Required Options\n+Info you need to find/decide on to successfully build our Stack\n+\n+-   Required Params to Fill Out\n+    -   HostedZone; A Domain Setup in Route53 [Guide](http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingHostedZone.html)\n+    -   SSLCertificateARN; See the [SSL Setup](#ssl-setup) Section\n+    -   LicenseCount; How many license you have purchased from Chef. (25 is the default, this is the amount of default \"free\" nodes you get starting off)\n+    -   DBUser; Username for DB (Required for Existing or New Setups)\n+    -   DBPassword; Password for DB (Required for Existing or New Setups)\n+-   Required Params to Select\n+    -   ChefSubdomain; See [Blue/Green](#bluegreen-deployment) Section for more Info\n+    -   ChefServerVersion; Select Version to install, versions listed are the only ones that have packages for Ubuntu Xenial\n+    -   ManageVersion; Select Version to install, versions listed are the only ones that have packages for Ubuntu Xenial\n+    -   ReportingVersion; Select Version to install, versions list are the only ones that support Elasticsearch\n+    -   DBMultiAZ; Select if you want the DB setup in Multiple Availability Zones\n+    -   ElasticInstanceType; Default is t2.small.elasticsearch, good for small or testing situations\n+    -   KeyName; Select SSH Key\n+    -   VPC; Select VPC to Build in\n+    -   SSHSecurityGroup; Select group for SSH access\n+\n+#### Options for Larger Setups\n+These are the items to best look when round 5k Nodes checking in\n+\n+-   Params to Change only if 4-5k+ Nodes (Estimated; still need to do actual load tests)\n+    -   DBInstanceType; Default (t2.large) is the minimum required for Chef DB Connections\n+    -   ESProxyInstanceType; Default is good for small-medium Chef Build Outs. Change as needed\n+    -   ElasticInstanceType; Default is probably not going to cut it for tons of requests\n+    -   DBMultiAZ; Would recommend setting this to true\n+\n+#### Optional Setup\n+\n+-   Restoring Setups; See the [Restore/Backup](#restorebackup-options) Section\n+-   NewRelic Setup; See the [NewRelic](#new-relic) Section\n+-   Sumologic Setup; See the [Sumologic](#sumologic) Section\n+\n+##### Mail Server Setup\n+If you fill out the following Params the script will setup a postfix relay to allow the Chef Server to send email.\n+\n+-   MailCreds; if the format `$username:$password`\n+-   MailHost; Such as mailgun.org\n+-   MailPort; Mail server port\n+\n+##### Development Selections\n+\n+Options that don't need to be bothered with except in development situations.\n+\n+See [Contributing](#contributing) for how to contribute to this project\n+\n+-   GitBranch; sets branch to pull scripts from\n+    -   Currently only affects NewRelic and Sumologic\n+\n+### SSL Setup\n+\n+To simplify the setup only the ELB (Public Side) is setup with SSL.\n+\n+Learn how to upload certificates to be used with this [Guide](http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html)\n+\n+To Get an existing SSL Cert in AWS Follow this [Guide](http://docs.aws.amazon.com/cli/latest/reference/iam/get-server-certificate.html)\n+\n+or run this command `aws iam get-server-certificate --server-certificate-name`\n+\n+You can also use the new [AWS Certificate Manager Service](http://docs.aws.amazon.com/acm/latest/userguide/gs-acm.html) to create and manage certificates\n+\n+### Blue/Green Deployment\n+\n+This setup supports doing staged deploys and/or blue/green deployments\n+\n+Below describes how this is accomplished, but there is a manual step require to complete the deploy.\n+\n+-   Manual step\n+    -   Change `chef.$HostedZone` in Route53 to/from `chef-a.$HostedZone` or `chef-b.$HostedZone`\n+\n+\n+-   Blue/Green Options:\n+    -   ChefSubdomain Param; Enabled having a chef-a, chef-b, and even a chef-test subdomain created\n+        -   Subnets are changed based on these settings\n+    -   Server names are created based on the Subdomain and a prime chef.domain.com to support the multi-dns setup; [Code](aws_backendless_chef_ha.yml#L1149)\n+    -   There is a workaround for the odd cert creation caused by the multiple server name setup;\n+        -   Specify Cert Location: [Code 01](aws_backendless_chef_ha.yml#L1147-L1148)\n+        -   Copy badly name cert to expected one: [Code 02](aws_backendless_chef_ha.yml#L1194-L1200)\n+\n+**In place upgrades are not supported yet.**\n+\n+#### Subnet Switching\n+\n+To support using the blue/green domains. There is a switch in place depending on if you select chef-a or chef-b\n+-   Subnet Section [Code 01](aws_backendless_chef_ha.yml#L357-L408)\n+-   Switch Command [Code 02](https://github.com/HearstAT/cfn_backendless_chef/blob/cfn_yml/aws_backendless_chef_ha.yml#L368)\n+-   Conditional [Code 03](aws_backendless_chef_ha.yml#L336-L337)\n+\n+Chef-a has it's own set of subnets.\n+\n+chef-b and chef-test chare subnets, as the intention for chef-test is to test your deploys/changes/etc in another region/vpc\n+\n+### Restore/Backup Options\n+\n+#### Database Snapshot\n+\n+This is the simplest option from a all AWS standpoint. You also keep the same pivotal credentials\n+\n+-   Required Items\n+    -   Existing S3 Bucket with:\n+        -   etc_opscode directory\n+        -   etc_reporting directory (can be empty)\n+        -   migration-level\n+    -   DB Snapshot (Same Region)\n+-   Required Params\n+    -   ExistingBucketName (e.g.; chef-data-bucket)\n+    -   DBSnapShot (e.g.; snaphot-date)\n+\n+#### Knife EC Restore\n+If looking to change architecture, DB credentials, or even Pivotal then this is the best option.\n+\n+This can be down outside the entire Cloudformation process, but if wanting to do it inline see below.\n+\n+-   Required Items\n+    -   [knife ec](https://github.com/chef/knife-ec-backup) backup in a tar file\n+    -   Exisitng S3 Bucket with:\n+        -   chef_ec_backups folder\n+        -   Tar file from above in chef_ec_backups folder\n+-   Required Params\n+    -   ExistingBucketName (e.g.; chef-data-bucket)\n+    -   BackupFilename (e.g.; backup_$date.tar)\n+\n+For External:\n+\n+If you want to sync down the S3 bucket utilized for the instance, there is a knife.rb in the root of the S3 bucket created at build time with all the config data to run the backup or restore commands. [Code 01](aws_backendless_chef_ha.yml#L1222-L1235)\n+\n+-   [knife ec](https://github.com/chef/knife-ec-backup) w/ the following items/info\n+    -   Backup (See backup command below)\n+    -   Folling Info: (This comes included in the knife.rb synced to the S3 Bucket)\n+        -   PostgreSQL Endpoint\n+        -   DB User\n+        -   DB Password\n+        -   webui_priv.pem (found in /etc/opscode on existing server or S3 sync bucket under etc_opscode)\n+-   Command to run\n+    -   Without knife.rb in S3 Bucket\n+        -   Backup: `knife ec backup /tmp/backup/ -s https://chef.hearst.at --webui-key /tmp/webui_priv.pem --with-user-sql --sql-host some-db.rds.amazonaws.com --sql-user dbuser --sql-password sup3rs3cr3ts`","path":"README.md","position":227,"original_position":227,"commit_id":"8933a7ed409c954a08f80201c072803980f9ceb8","original_commit_id":"8933a7ed409c954a08f80201c072803980f9ceb8","user":{"login":"aaronblythe","id":453982,"avatar_url":"https://avatars.githubusercontent.com/u/453982?v=3","gravatar_id":"","url":"https://api.github.com/users/aaronblythe","html_url":"https://github.com/aaronblythe","followers_url":"https://api.github.com/users/aaronblythe/followers","following_url":"https://api.github.com/users/aaronblythe/following{/other_user}","gists_url":"https://api.github.com/users/aaronblythe/gists{/gist_id}","starred_url":"https://api.github.com/users/aaronblythe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aaronblythe/subscriptions","organizations_url":"https://api.github.com/users/aaronblythe/orgs","repos_url":"https://api.github.com/users/aaronblythe/repos","events_url":"https://api.github.com/users/aaronblythe/events{/privacy}","received_events_url":"https://api.github.com/users/aaronblythe/received_events","type":"User","site_admin":false},"body":"Should the example use chef.example.com or something instead of hearst?","created_at":"2016-12-15T16:20:24Z","updated_at":"2016-12-15T16:21:29Z","html_url":"https://github.com/HearstAT/cfn_backendless_chef/pull/1#discussion_r92643029","pull_request_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/pulls/1","_links":{"self":{"href":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/pulls/comments/92643029"},"html":{"href":"https://github.com/HearstAT/cfn_backendless_chef/pull/1#discussion_r92643029"},"pull_request":{"href":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/pulls/1","id":97021255,"html_url":"https://github.com/HearstAT/cfn_backendless_chef/pull/1","diff_url":"https://github.com/HearstAT/cfn_backendless_chef/pull/1.diff","patch_url":"https://github.com/HearstAT/cfn_backendless_chef/pull/1.patch","issue_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/issues/1","number":1,"state":"open","locked":false,"title":"[WIP] YAML Conversion","user":{"login":"TheFynx","id":5805780,"avatar_url":"https://avatars.githubusercontent.com/u/5805780?v=3","gravatar_id":"","url":"https://api.github.com/users/TheFynx","html_url":"https://github.com/TheFynx","followers_url":"https://api.github.com/users/TheFynx/followers","following_url":"https://api.github.com/users/TheFynx/following{/other_user}","gists_url":"https://api.github.com/users/TheFynx/gists{/gist_id}","starred_url":"https://api.github.com/users/TheFynx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TheFynx/subscriptions","organizations_url":"https://api.github.com/users/TheFynx/orgs","repos_url":"https://api.github.com/users/TheFynx/repos","events_url":"https://api.github.com/users/TheFynx/events{/privacy}","received_events_url":"https://api.github.com/users/TheFynx/received_events","type":"User","site_admin":false},"body":"Work in Progress, do not merge.\r\n\r\nThis update will do the following\r\n- Covert Template to YAML\r\n- Add Creation of RDS Postgres DB\r\n  - w/ Option to clone from existing RDS DB\r\n- Add Creation of Elasticsearch Domain\r\n  - Upgrades ES Setup from 1.5 to 2.3\r\n  - Requires install of [es-auth-proxy](https://github.com/lucaagostini/aws-es-auth-proxy) to Authenticate request to ES via IAM Profile credentials. See [here](https://eladnava.com/secure-aws-elasticsearch-service-behind-vpc/) why this is required.\r\n- Remove the need for the cookbook for configuration\r\n- Correct NewRelic Install and Config\r\n- Add more log collectors for Sumologic\r\n- Removes tons of Params that weren't needed\r\n- Adds significant amount of comments and in-line documentation (THANKS YAML!)\r\n- Adds the option to Pick Chef Server, Manage, and Reporting versions to install (that support this setup)\r\n- Adds option to set a git branch for testing newrelic/sumo scripts","created_at":"2016-12-07T22:30:31Z","updated_at":"2016-12-15T16:21:29Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ea436f982b0eea258d68984ad815ea094a977748","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/pulls/1/commits","review_comments_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/pulls/1/comments","review_comment_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/pulls/comments{/number}","comments_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/issues/1/comments","statuses_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/statuses/8933a7ed409c954a08f80201c072803980f9ceb8","head":{"label":"HearstAT:cfn_yml","ref":"cfn_yml","sha":"8933a7ed409c954a08f80201c072803980f9ceb8","user":{"login":"HearstAT","id":15055031,"avatar_url":"https://avatars.githubusercontent.com/u/15055031?v=3","gravatar_id":"","url":"https://api.github.com/users/HearstAT","html_url":"https://github.com/HearstAT","followers_url":"https://api.github.com/users/HearstAT/followers","following_url":"https://api.github.com/users/HearstAT/following{/other_user}","gists_url":"https://api.github.com/users/HearstAT/gists{/gist_id}","starred_url":"https://api.github.com/users/HearstAT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HearstAT/subscriptions","organizations_url":"https://api.github.com/users/HearstAT/orgs","repos_url":"https://api.github.com/users/HearstAT/repos","events_url":"https://api.github.com/users/HearstAT/events{/privacy}","received_events_url":"https://api.github.com/users/HearstAT/received_events","type":"Organization","site_admin":false},"repo":{"id":59762076,"name":"cfn_backendless_chef","full_name":"HearstAT/cfn_backendless_chef","owner":{"login":"HearstAT","id":15055031,"avatar_url":"https://avatars.githubusercontent.com/u/15055031?v=3","gravatar_id":"","url":"https://api.github.com/users/HearstAT","html_url":"https://github.com/HearstAT","followers_url":"https://api.github.com/users/HearstAT/followers","following_url":"https://api.github.com/users/HearstAT/following{/other_user}","gists_url":"https://api.github.com/users/HearstAT/gists{/gist_id}","starred_url":"https://api.github.com/users/HearstAT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HearstAT/subscriptions","organizations_url":"https://api.github.com/users/HearstAT/orgs","repos_url":"https://api.github.com/users/HearstAT/repos","events_url":"https://api.github.com/users/HearstAT/events{/privacy}","received_events_url":"https://api.github.com/users/HearstAT/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/HearstAT/cfn_backendless_chef","description":"Cloudformation to build out a backend-less chef server","fork":false,"url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef","forks_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/forks","keys_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/keys{/key_id}","collaborators_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/teams","hooks_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/hooks","issue_events_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/issues/events{/number}","events_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/events","assignees_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/assignees{/user}","branches_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/branches{/branch}","tags_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/tags","blobs_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/git/refs{/sha}","trees_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/git/trees{/sha}","statuses_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/statuses/{sha}","languages_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/languages","stargazers_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/stargazers","contributors_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/contributors","subscribers_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/subscribers","subscription_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/subscription","commits_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/commits{/sha}","git_commits_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/git/commits{/sha}","comments_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/comments{/number}","issue_comment_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/issues/comments{/number}","contents_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/contents/{+path}","compare_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/compare/{base}...{head}","merges_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/merges","archive_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/downloads","issues_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/issues{/number}","pulls_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/pulls{/number}","milestones_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/milestones{/number}","notifications_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/labels{/name}","releases_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/releases{/id}","deployments_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/deployments","created_at":"2016-05-26T15:34:49Z","updated_at":"2016-09-19T20:04:30Z","pushed_at":"2016-12-14T22:50:14Z","git_url":"git://github.com/HearstAT/cfn_backendless_chef.git","ssh_url":"git@github.com:HearstAT/cfn_backendless_chef.git","clone_url":"https://github.com/HearstAT/cfn_backendless_chef.git","svn_url":"https://github.com/HearstAT/cfn_backendless_chef","homepage":null,"size":394,"stargazers_count":1,"watchers_count":1,"language":"Shell","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":1,"default_branch":"master"}},"base":{"label":"HearstAT:master","ref":"master","sha":"58a75bec2eefa6fb970aa415083422fb920c9474","user":{"login":"HearstAT","id":15055031,"avatar_url":"https://avatars.githubusercontent.com/u/15055031?v=3","gravatar_id":"","url":"https://api.github.com/users/HearstAT","html_url":"https://github.com/HearstAT","followers_url":"https://api.github.com/users/HearstAT/followers","following_url":"https://api.github.com/users/HearstAT/following{/other_user}","gists_url":"https://api.github.com/users/HearstAT/gists{/gist_id}","starred_url":"https://api.github.com/users/HearstAT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HearstAT/subscriptions","organizations_url":"https://api.github.com/users/HearstAT/orgs","repos_url":"https://api.github.com/users/HearstAT/repos","events_url":"https://api.github.com/users/HearstAT/events{/privacy}","received_events_url":"https://api.github.com/users/HearstAT/received_events","type":"Organization","site_admin":false},"repo":{"id":59762076,"name":"cfn_backendless_chef","full_name":"HearstAT/cfn_backendless_chef","owner":{"login":"HearstAT","id":15055031,"avatar_url":"https://avatars.githubusercontent.com/u/15055031?v=3","gravatar_id":"","url":"https://api.github.com/users/HearstAT","html_url":"https://github.com/HearstAT","followers_url":"https://api.github.com/users/HearstAT/followers","following_url":"https://api.github.com/users/HearstAT/following{/other_user}","gists_url":"https://api.github.com/users/HearstAT/gists{/gist_id}","starred_url":"https://api.github.com/users/HearstAT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HearstAT/subscriptions","organizations_url":"https://api.github.com/users/HearstAT/orgs","repos_url":"https://api.github.com/users/HearstAT/repos","events_url":"https://api.github.com/users/HearstAT/events{/privacy}","received_events_url":"https://api.github.com/users/HearstAT/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/HearstAT/cfn_backendless_chef","description":"Cloudformation to build out a backend-less chef server","fork":false,"url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef","forks_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/forks","keys_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/keys{/key_id}","collaborators_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/teams","hooks_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/hooks","issue_events_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/issues/events{/number}","events_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/events","assignees_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/assignees{/user}","branches_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/branches{/branch}","tags_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/tags","blobs_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/git/refs{/sha}","trees_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/git/trees{/sha}","statuses_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/statuses/{sha}","languages_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/languages","stargazers_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/stargazers","contributors_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/contributors","subscribers_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/subscribers","subscription_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/subscription","commits_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/commits{/sha}","git_commits_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/git/commits{/sha}","comments_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/comments{/number}","issue_comment_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/issues/comments{/number}","contents_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/contents/{+path}","compare_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/compare/{base}...{head}","merges_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/merges","archive_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/downloads","issues_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/issues{/number}","pulls_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/pulls{/number}","milestones_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/milestones{/number}","notifications_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/labels{/name}","releases_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/releases{/id}","deployments_url":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/deployments","created_at":"2016-05-26T15:34:49Z","updated_at":"2016-09-19T20:04:30Z","pushed_at":"2016-12-14T22:50:14Z","git_url":"git://github.com/HearstAT/cfn_backendless_chef.git","ssh_url":"git@github.com:HearstAT/cfn_backendless_chef.git","clone_url":"https://github.com/HearstAT/cfn_backendless_chef.git","svn_url":"https://github.com/HearstAT/cfn_backendless_chef","homepage":null,"size":394,"stargazers_count":1,"watchers_count":1,"language":"Shell","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/pulls/1"},"html":{"href":"https://github.com/HearstAT/cfn_backendless_chef/pull/1"},"issue":{"href":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/issues/1"},"comments":{"href":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/HearstAT/cfn_backendless_chef/statuses/8933a7ed409c954a08f80201c072803980f9ceb8"}}}}
{"actor":{"display_login":"aaronblythe"}}