{"action":"created","comment":{"url":"https://api.github.com/repos/plus3it/watchmaker/pulls/comments/197551075","pull_request_review_id":131324880,"id":197551075,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5NzU1MTA3NQ==","diff_hunk":"@@ -60,6 +60,84 @@ The sources for `watchmaker` are available from the [GitHub repo][2].\n     pip install .\n     ```\n \n+## From standalone executable package\n+\n+Watchmaker can also be downloaded and executed in an all-in-one\n+package containing Watchmaker's dependencies, such as Python and\n+necessary Python packages.  Packages are available for Windows and\n+Linux.\n+\n+1.  Download the standalone package for your desired platform.\n+\n+    *   Watchmaker standalone packages can be downloaded from a GitHub\n+        Releases page or an AWS S3 bucket.\n+    *   The [GitHub Releases][3] page shows the available\n+        Watchmaker versions and includes links to the\n+        Windows and Linux packages, and SHA256 hashes.\n+    *   The [AWS S3 bucket][4] also contains versions of Watchmaker packages\n+        and corresponding SHA256 hashes.\n+    *   The latest version of Watchmaker,\n+        for Windows and Linux, is available in a special [latest bucket][5].\n+    *   On S3, the latest version of Watchmaker is available in a Windows\n+        package called\n+        `watchmaker-latest-standalone-windows-amd64.exe`. The\n+        corresponding SHA256 hash is called\n+        `watchmaker-latest-sha256-windows-amd64.json`.\n+\n+        From PowerShell, the Windows package can be downloaded\n+        as follows:\n+\n+        ```powershell\n+        PS C:\\wam> $url = \"https://s3.amazonaws.com/watchmaker/releases/latest/watchmaker-latest-standalone-windows-amd64.exe\"\n+        PS C:\\wam> (New-Object System.Net.WebClient).DownloadFile($url, \"watchmaker.exe\")\n+        ```\n+\n+    *   The Linux package is called\n+        `watchmaker-latest-standalone-linux-x86_64`. The\n+        corresponding SHA256 hash is called\n+        `watchmaker-latest-sha256-linux-x86_64.json`.\n+\n+        From the command line, the Linux package can be downloaded\n+        as follows:\n+\n+        ```shell\n+        # curl -so watchmaker https://s3.amazonaws.com/watchmaker/releases/latest/watchmaker-latest-standalone-linux-x86_64\n+        ```\n+\n+    *   For the latest package, the version of Watchmaker can be determined by\n+        viewing the contents of the SHA256 hash file or by executing the\n+        package with the `--version` flag.\n+\n+2.  Verify the integrity of the standalone package.\n+\n+    Compare the SHA256 hash contained in the downloaded hash file to\n+    a hash you compute for the package.\n+\n+    For Linux, execute this command to compute the SHA256 hash:\n+      \n+    ```shell\n+    # shasum -a 256 watchmaker-latest-standalone-linux-x86_64\n+    ```\n+\n+    For Windows, execute this command to compute the SHA256 hash:\n+\n+    ```powershell\n+    PS C:\\wam> Get-FileHash watchmaker-latest-standalone-windows-amd64.exe | Format-List\n+    ```\n+\n+3.  Set executable access permission.\n+\n+    For Linux, you will need to set the access permissions to allow the\n+    standalone executable to run. Below is an example:\n+    \n+    ```shell\n+    # chmod +x watchmaker-latest-standalone-linux-x86_64\n+    ```\n+\n+\n [0]: https://pip.pypa.io/en/stable/\n [1]: https://python-guide.readthedocs.io/en/latest/starting/installation/\n [2]: https://github.com/plus3it/watchmaker\n+[3]: https://github.com/plus3it/watchmaker/releases/\n+[4]: https://s3.console.aws.amazon.com/s3/buckets/watchmaker/releases/","path":"docs/installation.md","position":92,"original_position":92,"commit_id":"e529bd9f3d82f9f73c306ee5a27dd690f0c5a481","original_commit_id":"e529bd9f3d82f9f73c306ee5a27dd690f0c5a481","user":{"login":"lorengordon","id":8457307,"node_id":"MDQ6VXNlcjg0NTczMDc=","avatar_url":"https://avatars3.githubusercontent.com/u/8457307?v=4","gravatar_id":"","url":"https://api.github.com/users/lorengordon","html_url":"https://github.com/lorengordon","followers_url":"https://api.github.com/users/lorengordon/followers","following_url":"https://api.github.com/users/lorengordon/following{/other_user}","gists_url":"https://api.github.com/users/lorengordon/gists{/gist_id}","starred_url":"https://api.github.com/users/lorengordon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lorengordon/subscriptions","organizations_url":"https://api.github.com/users/lorengordon/orgs","repos_url":"https://api.github.com/users/lorengordon/repos","events_url":"https://api.github.com/users/lorengordon/events{/privacy}","received_events_url":"https://api.github.com/users/lorengordon/received_events","type":"User","site_admin":false},"body":"These console links are not accessible by users... And S3 buckets don't have a \"directory\" view, so users won't be able to see the directory structure and files. We should probably just describe the URL format so they can construct versioned URLs if they want, and for the \"latest\" pkg just provide the full URLs since they don't change.","created_at":"2018-06-22T19:46:06Z","updated_at":"2018-06-22T19:46:06Z","html_url":"https://github.com/plus3it/watchmaker/pull/629#discussion_r197551075","pull_request_url":"https://api.github.com/repos/plus3it/watchmaker/pulls/629","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/plus3it/watchmaker/pulls/comments/197551075"},"html":{"href":"https://github.com/plus3it/watchmaker/pull/629#discussion_r197551075"},"pull_request":{"href":"https://api.github.com/repos/plus3it/watchmaker/pulls/629"}}},"pull_request":{"url":"https://api.github.com/repos/plus3it/watchmaker/pulls/629","id":195919488,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk1OTE5NDg4","html_url":"https://github.com/plus3it/watchmaker/pull/629","diff_url":"https://github.com/plus3it/watchmaker/pull/629.diff","patch_url":"https://github.com/plus3it/watchmaker/pull/629.patch","issue_url":"https://api.github.com/repos/plus3it/watchmaker/issues/629","number":629,"state":"open","locked":false,"title":"Update docs to include standalone","user":{"login":"YakDriver","id":31492422,"node_id":"MDQ6VXNlcjMxNDkyNDIy","avatar_url":"https://avatars0.githubusercontent.com/u/31492422?v=4","gravatar_id":"","url":"https://api.github.com/users/YakDriver","html_url":"https://github.com/YakDriver","followers_url":"https://api.github.com/users/YakDriver/followers","following_url":"https://api.github.com/users/YakDriver/following{/other_user}","gists_url":"https://api.github.com/users/YakDriver/gists{/gist_id}","starred_url":"https://api.github.com/users/YakDriver/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/YakDriver/subscriptions","organizations_url":"https://api.github.com/users/YakDriver/orgs","repos_url":"https://api.github.com/users/YakDriver/repos","events_url":"https://api.github.com/users/YakDriver/events{/privacy}","received_events_url":"https://api.github.com/users/YakDriver/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-06-19T18:33:57Z","updated_at":"2018-06-22T19:46:06Z","closed_at":null,"merged_at":null,"merge_commit_sha":"608581bc82aa81c625687db3ab75f4593a4f15be","assignee":null,"assignees":[],"requested_reviewers":[{"login":"KevinPlus3","id":18513726,"node_id":"MDQ6VXNlcjE4NTEzNzI2","avatar_url":"https://avatars3.githubusercontent.com/u/18513726?v=4","gravatar_id":"","url":"https://api.github.com/users/KevinPlus3","html_url":"https://github.com/KevinPlus3","followers_url":"https://api.github.com/users/KevinPlus3/followers","following_url":"https://api.github.com/users/KevinPlus3/following{/other_user}","gists_url":"https://api.github.com/users/KevinPlus3/gists{/gist_id}","starred_url":"https://api.github.com/users/KevinPlus3/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KevinPlus3/subscriptions","organizations_url":"https://api.github.com/users/KevinPlus3/orgs","repos_url":"https://api.github.com/users/KevinPlus3/repos","events_url":"https://api.github.com/users/KevinPlus3/events{/privacy}","received_events_url":"https://api.github.com/users/KevinPlus3/received_events","type":"User","site_admin":false},{"login":"eemperor","id":31355535,"node_id":"MDQ6VXNlcjMxMzU1NTM1","avatar_url":"https://avatars1.githubusercontent.com/u/31355535?v=4","gravatar_id":"","url":"https://api.github.com/users/eemperor","html_url":"https://github.com/eemperor","followers_url":"https://api.github.com/users/eemperor/followers","following_url":"https://api.github.com/users/eemperor/following{/other_user}","gists_url":"https://api.github.com/users/eemperor/gists{/gist_id}","starred_url":"https://api.github.com/users/eemperor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eemperor/subscriptions","organizations_url":"https://api.github.com/users/eemperor/orgs","repos_url":"https://api.github.com/users/eemperor/repos","events_url":"https://api.github.com/users/eemperor/events{/privacy}","received_events_url":"https://api.github.com/users/eemperor/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/plus3it/watchmaker/pulls/629/commits","review_comments_url":"https://api.github.com/repos/plus3it/watchmaker/pulls/629/comments","review_comment_url":"https://api.github.com/repos/plus3it/watchmaker/pulls/comments{/number}","comments_url":"https://api.github.com/repos/plus3it/watchmaker/issues/629/comments","statuses_url":"https://api.github.com/repos/plus3it/watchmaker/statuses/e529bd9f3d82f9f73c306ee5a27dd690f0c5a481","head":{"label":"YakDriver:standalone-docs","ref":"standalone-docs","sha":"e529bd9f3d82f9f73c306ee5a27dd690f0c5a481","user":{"login":"YakDriver","id":31492422,"node_id":"MDQ6VXNlcjMxNDkyNDIy","avatar_url":"https://avatars0.githubusercontent.com/u/31492422?v=4","gravatar_id":"","url":"https://api.github.com/users/YakDriver","html_url":"https://github.com/YakDriver","followers_url":"https://api.github.com/users/YakDriver/followers","following_url":"https://api.github.com/users/YakDriver/following{/other_user}","gists_url":"https://api.github.com/users/YakDriver/gists{/gist_id}","starred_url":"https://api.github.com/users/YakDriver/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/YakDriver/subscriptions","organizations_url":"https://api.github.com/users/YakDriver/orgs","repos_url":"https://api.github.com/users/YakDriver/repos","events_url":"https://api.github.com/users/YakDriver/events{/privacy}","received_events_url":"https://api.github.com/users/YakDriver/received_events","type":"User","site_admin":false},"repo":{"id":121773889,"node_id":"MDEwOlJlcG9zaXRvcnkxMjE3NzM4ODk=","name":"watchmaker","full_name":"YakDriver/watchmaker","owner":{"login":"YakDriver","id":31492422,"node_id":"MDQ6VXNlcjMxNDkyNDIy","avatar_url":"https://avatars0.githubusercontent.com/u/31492422?v=4","gravatar_id":"","url":"https://api.github.com/users/YakDriver","html_url":"https://github.com/YakDriver","followers_url":"https://api.github.com/users/YakDriver/followers","following_url":"https://api.github.com/users/YakDriver/following{/other_user}","gists_url":"https://api.github.com/users/YakDriver/gists{/gist_id}","starred_url":"https://api.github.com/users/YakDriver/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/YakDriver/subscriptions","organizations_url":"https://api.github.com/users/YakDriver/orgs","repos_url":"https://api.github.com/users/YakDriver/repos","events_url":"https://api.github.com/users/YakDriver/events{/privacy}","received_events_url":"https://api.github.com/users/YakDriver/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/YakDriver/watchmaker","description":"Applied Configuration Management","fork":true,"url":"https://api.github.com/repos/YakDriver/watchmaker","forks_url":"https://api.github.com/repos/YakDriver/watchmaker/forks","keys_url":"https://api.github.com/repos/YakDriver/watchmaker/keys{/key_id}","collaborators_url":"https://api.github.com/repos/YakDriver/watchmaker/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/YakDriver/watchmaker/teams","hooks_url":"https://api.github.com/repos/YakDriver/watchmaker/hooks","issue_events_url":"https://api.github.com/repos/YakDriver/watchmaker/issues/events{/number}","events_url":"https://api.github.com/repos/YakDriver/watchmaker/events","assignees_url":"https://api.github.com/repos/YakDriver/watchmaker/assignees{/user}","branches_url":"https://api.github.com/repos/YakDriver/watchmaker/branches{/branch}","tags_url":"https://api.github.com/repos/YakDriver/watchmaker/tags","blobs_url":"https://api.github.com/repos/YakDriver/watchmaker/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/YakDriver/watchmaker/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/YakDriver/watchmaker/git/refs{/sha}","trees_url":"https://api.github.com/repos/YakDriver/watchmaker/git/trees{/sha}","statuses_url":"https://api.github.com/repos/YakDriver/watchmaker/statuses/{sha}","languages_url":"https://api.github.com/repos/YakDriver/watchmaker/languages","stargazers_url":"https://api.github.com/repos/YakDriver/watchmaker/stargazers","contributors_url":"https://api.github.com/repos/YakDriver/watchmaker/contributors","subscribers_url":"https://api.github.com/repos/YakDriver/watchmaker/subscribers","subscription_url":"https://api.github.com/repos/YakDriver/watchmaker/subscription","commits_url":"https://api.github.com/repos/YakDriver/watchmaker/commits{/sha}","git_commits_url":"https://api.github.com/repos/YakDriver/watchmaker/git/commits{/sha}","comments_url":"https://api.github.com/repos/YakDriver/watchmaker/comments{/number}","issue_comment_url":"https://api.github.com/repos/YakDriver/watchmaker/issues/comments{/number}","contents_url":"https://api.github.com/repos/YakDriver/watchmaker/contents/{+path}","compare_url":"https://api.github.com/repos/YakDriver/watchmaker/compare/{base}...{head}","merges_url":"https://api.github.com/repos/YakDriver/watchmaker/merges","archive_url":"https://api.github.com/repos/YakDriver/watchmaker/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/YakDriver/watchmaker/downloads","issues_url":"https://api.github.com/repos/YakDriver/watchmaker/issues{/number}","pulls_url":"https://api.github.com/repos/YakDriver/watchmaker/pulls{/number}","milestones_url":"https://api.github.com/repos/YakDriver/watchmaker/milestones{/number}","notifications_url":"https://api.github.com/repos/YakDriver/watchmaker/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/YakDriver/watchmaker/labels{/name}","releases_url":"https://api.github.com/repos/YakDriver/watchmaker/releases{/id}","deployments_url":"https://api.github.com/repos/YakDriver/watchmaker/deployments","created_at":"2018-02-16T16:34:57Z","updated_at":"2018-06-14T13:11:38Z","pushed_at":"2018-06-22T19:45:10Z","git_url":"git://github.com/YakDriver/watchmaker.git","ssh_url":"git@github.com:YakDriver/watchmaker.git","clone_url":"https://github.com/YakDriver/watchmaker.git","svn_url":"https://github.com/YakDriver/watchmaker","homepage":"https://watchmaker.readthedocs.io/","size":1052,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"develop"}},"base":{"label":"plus3it:develop","ref":"develop","sha":"4fd96b89abb15caa99ba5fd552fff1edabbd9645","user":{"login":"plus3it","id":15047853,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE1MDQ3ODUz","avatar_url":"https://avatars0.githubusercontent.com/u/15047853?v=4","gravatar_id":"","url":"https://api.github.com/users/plus3it","html_url":"https://github.com/plus3it","followers_url":"https://api.github.com/users/plus3it/followers","following_url":"https://api.github.com/users/plus3it/following{/other_user}","gists_url":"https://api.github.com/users/plus3it/gists{/gist_id}","starred_url":"https://api.github.com/users/plus3it/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/plus3it/subscriptions","organizations_url":"https://api.github.com/users/plus3it/orgs","repos_url":"https://api.github.com/users/plus3it/repos","events_url":"https://api.github.com/users/plus3it/events{/privacy}","received_events_url":"https://api.github.com/users/plus3it/received_events","type":"Organization","site_admin":false},"repo":{"id":59046255,"node_id":"MDEwOlJlcG9zaXRvcnk1OTA0NjI1NQ==","name":"watchmaker","full_name":"plus3it/watchmaker","owner":{"login":"plus3it","id":15047853,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE1MDQ3ODUz","avatar_url":"https://avatars0.githubusercontent.com/u/15047853?v=4","gravatar_id":"","url":"https://api.github.com/users/plus3it","html_url":"https://github.com/plus3it","followers_url":"https://api.github.com/users/plus3it/followers","following_url":"https://api.github.com/users/plus3it/following{/other_user}","gists_url":"https://api.github.com/users/plus3it/gists{/gist_id}","starred_url":"https://api.github.com/users/plus3it/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/plus3it/subscriptions","organizations_url":"https://api.github.com/users/plus3it/orgs","repos_url":"https://api.github.com/users/plus3it/repos","events_url":"https://api.github.com/users/plus3it/events{/privacy}","received_events_url":"https://api.github.com/users/plus3it/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/plus3it/watchmaker","description":"Applied Configuration Management","fork":false,"url":"https://api.github.com/repos/plus3it/watchmaker","forks_url":"https://api.github.com/repos/plus3it/watchmaker/forks","keys_url":"https://api.github.com/repos/plus3it/watchmaker/keys{/key_id}","collaborators_url":"https://api.github.com/repos/plus3it/watchmaker/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/plus3it/watchmaker/teams","hooks_url":"https://api.github.com/repos/plus3it/watchmaker/hooks","issue_events_url":"https://api.github.com/repos/plus3it/watchmaker/issues/events{/number}","events_url":"https://api.github.com/repos/plus3it/watchmaker/events","assignees_url":"https://api.github.com/repos/plus3it/watchmaker/assignees{/user}","branches_url":"https://api.github.com/repos/plus3it/watchmaker/branches{/branch}","tags_url":"https://api.github.com/repos/plus3it/watchmaker/tags","blobs_url":"https://api.github.com/repos/plus3it/watchmaker/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/plus3it/watchmaker/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/plus3it/watchmaker/git/refs{/sha}","trees_url":"https://api.github.com/repos/plus3it/watchmaker/git/trees{/sha}","statuses_url":"https://api.github.com/repos/plus3it/watchmaker/statuses/{sha}","languages_url":"https://api.github.com/repos/plus3it/watchmaker/languages","stargazers_url":"https://api.github.com/repos/plus3it/watchmaker/stargazers","contributors_url":"https://api.github.com/repos/plus3it/watchmaker/contributors","subscribers_url":"https://api.github.com/repos/plus3it/watchmaker/subscribers","subscription_url":"https://api.github.com/repos/plus3it/watchmaker/subscription","commits_url":"https://api.github.com/repos/plus3it/watchmaker/commits{/sha}","git_commits_url":"https://api.github.com/repos/plus3it/watchmaker/git/commits{/sha}","comments_url":"https://api.github.com/repos/plus3it/watchmaker/comments{/number}","issue_comment_url":"https://api.github.com/repos/plus3it/watchmaker/issues/comments{/number}","contents_url":"https://api.github.com/repos/plus3it/watchmaker/contents/{+path}","compare_url":"https://api.github.com/repos/plus3it/watchmaker/compare/{base}...{head}","merges_url":"https://api.github.com/repos/plus3it/watchmaker/merges","archive_url":"https://api.github.com/repos/plus3it/watchmaker/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/plus3it/watchmaker/downloads","issues_url":"https://api.github.com/repos/plus3it/watchmaker/issues{/number}","pulls_url":"https://api.github.com/repos/plus3it/watchmaker/pulls{/number}","milestones_url":"https://api.github.com/repos/plus3it/watchmaker/milestones{/number}","notifications_url":"https://api.github.com/repos/plus3it/watchmaker/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/plus3it/watchmaker/labels{/name}","releases_url":"https://api.github.com/repos/plus3it/watchmaker/releases{/id}","deployments_url":"https://api.github.com/repos/plus3it/watchmaker/deployments","created_at":"2016-05-17T17:58:39Z","updated_at":"2018-06-21T22:48:50Z","pushed_at":"2018-06-22T19:45:11Z","git_url":"git://github.com/plus3it/watchmaker.git","ssh_url":"git@github.com:plus3it/watchmaker.git","clone_url":"https://github.com/plus3it/watchmaker.git","svn_url":"https://github.com/plus3it/watchmaker","homepage":"https://watchmaker.readthedocs.io/","size":1029,"stargazers_count":9,"watchers_count":9,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":16,"mirror_url":null,"archived":false,"open_issues_count":9,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":16,"open_issues":9,"watchers":9,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/plus3it/watchmaker/pulls/629"},"html":{"href":"https://github.com/plus3it/watchmaker/pull/629"},"issue":{"href":"https://api.github.com/repos/plus3it/watchmaker/issues/629"},"comments":{"href":"https://api.github.com/repos/plus3it/watchmaker/issues/629/comments"},"review_comments":{"href":"https://api.github.com/repos/plus3it/watchmaker/pulls/629/comments"},"review_comment":{"href":"https://api.github.com/repos/plus3it/watchmaker/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/plus3it/watchmaker/pulls/629/commits"},"statuses":{"href":"https://api.github.com/repos/plus3it/watchmaker/statuses/e529bd9f3d82f9f73c306ee5a27dd690f0c5a481"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"lorengordon"}}