{"action":"created","comment":{"url":"https://api.github.com/repos/mesosphere/dcos-commons/pulls/comments/133332702","pull_request_review_id":56491450,"id":133332702,"diff_hunk":"@@ -0,0 +1,281 @@\n+---\n+title: Secrets Tutorial\n+---\n+\n+\n+# Secrets Tutorial\n+\n+\n+\n+`dcos-commons` enables integration of DC/OS secrets both in declarative YAML API and flexible JAVA API. In YAML, secrets are declared within the `secret:` section in a pod specification. Similarly, in JAVA API, a `SecretSpec` is added to the `PodSpec` object. \n+\n+Please refer to [Developer Guide](developer-guide.html)  for more information about the JAVA API. Please refer to [Operations Guide](operations-guide.html) for detailed explaination of how DC/OS secrets can be used in dcos-commons. \n+\n+In this tutorial, we will use the existing `hello-world` service to experiment with secrets. First of all, create a DC/OS Enterprise 1.10 cluster (at least 3 nodes is recommended). Please note that integration of secrets in dcos-commons is only supported in DC/OS Enterprise 1.10 onwards.\n+\n+\n+## Create Secrets\n+\n+\n+Use DCOS CLI to create a secret.  You must have the Enterprise DC/OS CLI installed.\n+\n+Install DC/OS Enterprise CLI:\n+\n+```\n+$ dcos package install --cli dcos-enterprise-cli\n+```\n+\n+Create a secret with path `hello-world/secret1`:\n+\n+```\n+$ dcos security secrets  create -v \"the value of secret1\" hello-world/secret1\n+```\n+\n+Now, lets create a key and add its private key to a secret with path `hello-world/secret2` and its public key to another secret with path `hello-world/secret3`.\n+\n+Create key and cert:\n+\n+```\n+$openssl genrsa -out privatekey.pem 1024\n+$openssl req -new -x509 -key privatekey.pem -out publickey.cer -days 1825\n+```\n+\n+Create secrets with value from these private and public key files:\n+\n+```\n+$ dcos security secrets  create -f privatekey.pem  hello-world/secret2\n+```\n+```\n+$ dcos security secrets  create -f publickey.cer  hello-world/secret3\n+```\n+\n+\n+You can list secrets and view the content of a secret as follow:\n+\n+```\n+$ dcos security secrets list  hello-world\n+```\n+```\n+$ dcos security secrets get hello-world/secret3\n+```\n+\n+\n+## Install Service with Secrets\n+\n+\n+\n+The `hello-world` package includes a sample YAML file for secrets. Please examine the following `examples/secrets.yml` file to grasp how secrets are declared:\n+\n+```\n+name: {{FRAMEWORK_NAME}}\n+scheduler:\n+  principal: {{SERVICE_PRINCIPAL}}\n+  user: {{SERVICE_USER}}\n+pods:\n+  hello:\n+    container:\n+      image-name: ubuntu:14.04\n+    count: {{HELLO_COUNT}}\n+    placement: {{HELLO_PLACEMENT}}\n+    secrets:\n+      s1:\n+        secret: {{HELLO_SECRET1}}\n+        env-key: HELLO_SECRET1_ENV\n+        file: HELLO_SECRET1_FILE\n+      s2:\n+        secret: {{HELLO_SECRET2}}\n+        file: HELLO_SECRET2_FILE\n+    tasks:\n+      server:\n+        goal: RUNNING\n+        cmd: >\n+               env &&\n+               ls -la &&\n+               cat HELLO_SECRET*_FILE &&\n+        ................\n+  world:\n+    count: {{WORLD_COUNT}}\n+    placement: {{WORLD_PLACEMENT}}\n+    secrets:\n+      s1:\n+        secret: {{WORLD_SECRET1}}\n+        env-key: WORLD_SECRET1_ENV\n+      s2:\n+        secret: {{WORLD_SECRET2}}\n+        file: WORLD_SECRET2_FILE\n+      s3:\n+        secret: {{WORLD_SECRET3}}\n+    tasks:\n+      server:\n+        goal: RUNNING\n+        cmd: >\n+               env &&\n+               ls -la &&\n+               cat WORLD_SECRET*_FILE &&\n+        ................\n+```\n+\n+\n+The `hello` pod has two secrets. The first secret with path `hello-world/secret1` is exposed both as an environment variable and as a file. The second one is exposed only as a file. The value of the second secret with path `hello-world/secret2`, that is the private key, will be copied to the `HELLO_SECRET2_FILE` file located in the sandbox. \n+  \n+The `world` pod has three secrets. The first one is exposed only as an environment variable. The second and third secrets are exposed only as files. All `server` tasks in the `world` pod will have access to the value of these three secrets, either as a file and/or as an evironment variable.  Please note that the secret path is the default file path if no `file` keyword is given. Therefore, the file path for the third secret is same as the secret path.","path":"docs/pages/tutorials/secrets-tutorial.md","position":121,"original_position":121,"commit_id":"b62bafd8139917d01f1ed1fcbc091d547934c3e7","original_commit_id":"b62bafd8139917d01f1ed1fcbc091d547934c3e7","user":{"login":"sascala","id":13338969,"avatar_url":"https://avatars2.githubusercontent.com/u/13338969?v=4","gravatar_id":"","url":"https://api.github.com/users/sascala","html_url":"https://github.com/sascala","followers_url":"https://api.github.com/users/sascala/followers","following_url":"https://api.github.com/users/sascala/following{/other_user}","gists_url":"https://api.github.com/users/sascala/gists{/gist_id}","starred_url":"https://api.github.com/users/sascala/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sascala/subscriptions","organizations_url":"https://api.github.com/users/sascala/orgs","repos_url":"https://api.github.com/users/sascala/repos","events_url":"https://api.github.com/users/sascala/events{/privacy}","received_events_url":"https://api.github.com/users/sascala/received_events","type":"User","site_admin":false},"body":"or as an environment variable\r\n\r\n**Note:** The secret path is the default...","created_at":"2017-08-15T23:59:07Z","updated_at":"2017-08-16T00:03:33Z","html_url":"https://github.com/mesosphere/dcos-commons/pull/1421#discussion_r133332702","pull_request_url":"https://api.github.com/repos/mesosphere/dcos-commons/pulls/1421","_links":{"self":{"href":"https://api.github.com/repos/mesosphere/dcos-commons/pulls/comments/133332702"},"html":{"href":"https://github.com/mesosphere/dcos-commons/pull/1421#discussion_r133332702"},"pull_request":{"href":"https://api.github.com/repos/mesosphere/dcos-commons/pulls/1421"}}},"pull_request":{"url":"https://api.github.com/repos/mesosphere/dcos-commons/pulls/1421","id":135245431,"html_url":"https://github.com/mesosphere/dcos-commons/pull/1421","diff_url":"https://github.com/mesosphere/dcos-commons/pull/1421.diff","patch_url":"https://github.com/mesosphere/dcos-commons/pull/1421.patch","issue_url":"https://api.github.com/repos/mesosphere/dcos-commons/issues/1421","number":1421,"state":"open","locked":false,"title":"[INFINITY-1877] Add Secrets Tutorial","user":{"login":"mbdcos","id":22774486,"avatar_url":"https://avatars2.githubusercontent.com/u/22774486?v=4","gravatar_id":"","url":"https://api.github.com/users/mbdcos","html_url":"https://github.com/mbdcos","followers_url":"https://api.github.com/users/mbdcos/followers","following_url":"https://api.github.com/users/mbdcos/following{/other_user}","gists_url":"https://api.github.com/users/mbdcos/gists{/gist_id}","starred_url":"https://api.github.com/users/mbdcos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbdcos/subscriptions","organizations_url":"https://api.github.com/users/mbdcos/orgs","repos_url":"https://api.github.com/users/mbdcos/repos","events_url":"https://api.github.com/users/mbdcos/events{/privacy}","received_events_url":"https://api.github.com/users/mbdcos/received_events","type":"User","site_admin":false},"body":"I have been preparing a tutorial with a real application such as NGINX secure web server. There is a branch ready about secure-NGINX with secrets.\r\nThe problem is that we need to create a new framework for this tutorial. And we do not have a framework generation procedure. Generating a new framework from template is not automated and it requires a lot of explanation.\r\nEventually, secret tutorial would become more about how to write a standalone framework using SDK.\r\nSince we do not have a automated and easy way to create a new framework, and we do not want to go into all build and universe details about how to generate a framework, it is best to skip secure-NGINX example, and use something that already exists in dcos-commons, such as hello-world for secrets tutorial.","created_at":"2017-08-10T23:48:00Z","updated_at":"2017-08-16T00:03:33Z","closed_at":null,"merged_at":null,"merge_commit_sha":"776deff0e0b3889749562b1f73049addad1a1c55","assignee":{"login":"mbdcos","id":22774486,"avatar_url":"https://avatars2.githubusercontent.com/u/22774486?v=4","gravatar_id":"","url":"https://api.github.com/users/mbdcos","html_url":"https://github.com/mbdcos","followers_url":"https://api.github.com/users/mbdcos/followers","following_url":"https://api.github.com/users/mbdcos/following{/other_user}","gists_url":"https://api.github.com/users/mbdcos/gists{/gist_id}","starred_url":"https://api.github.com/users/mbdcos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbdcos/subscriptions","organizations_url":"https://api.github.com/users/mbdcos/orgs","repos_url":"https://api.github.com/users/mbdcos/repos","events_url":"https://api.github.com/users/mbdcos/events{/privacy}","received_events_url":"https://api.github.com/users/mbdcos/received_events","type":"User","site_admin":false},"assignees":[{"login":"mbdcos","id":22774486,"avatar_url":"https://avatars2.githubusercontent.com/u/22774486?v=4","gravatar_id":"","url":"https://api.github.com/users/mbdcos","html_url":"https://github.com/mbdcos","followers_url":"https://api.github.com/users/mbdcos/followers","following_url":"https://api.github.com/users/mbdcos/following{/other_user}","gists_url":"https://api.github.com/users/mbdcos/gists{/gist_id}","starred_url":"https://api.github.com/users/mbdcos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbdcos/subscriptions","organizations_url":"https://api.github.com/users/mbdcos/orgs","repos_url":"https://api.github.com/users/mbdcos/repos","events_url":"https://api.github.com/users/mbdcos/events{/privacy}","received_events_url":"https://api.github.com/users/mbdcos/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"keithchambers","id":1405432,"avatar_url":"https://avatars0.githubusercontent.com/u/1405432?v=4","gravatar_id":"","url":"https://api.github.com/users/keithchambers","html_url":"https://github.com/keithchambers","followers_url":"https://api.github.com/users/keithchambers/followers","following_url":"https://api.github.com/users/keithchambers/following{/other_user}","gists_url":"https://api.github.com/users/keithchambers/gists{/gist_id}","starred_url":"https://api.github.com/users/keithchambers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/keithchambers/subscriptions","organizations_url":"https://api.github.com/users/keithchambers/orgs","repos_url":"https://api.github.com/users/keithchambers/repos","events_url":"https://api.github.com/users/keithchambers/events{/privacy}","received_events_url":"https://api.github.com/users/keithchambers/received_events","type":"User","site_admin":false},{"login":"ArtRand","id":8851152,"avatar_url":"https://avatars0.githubusercontent.com/u/8851152?v=4","gravatar_id":"","url":"https://api.github.com/users/ArtRand","html_url":"https://github.com/ArtRand","followers_url":"https://api.github.com/users/ArtRand/followers","following_url":"https://api.github.com/users/ArtRand/following{/other_user}","gists_url":"https://api.github.com/users/ArtRand/gists{/gist_id}","starred_url":"https://api.github.com/users/ArtRand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ArtRand/subscriptions","organizations_url":"https://api.github.com/users/ArtRand/orgs","repos_url":"https://api.github.com/users/ArtRand/repos","events_url":"https://api.github.com/users/ArtRand/events{/privacy}","received_events_url":"https://api.github.com/users/ArtRand/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/mesosphere/dcos-commons/pulls/1421/commits","review_comments_url":"https://api.github.com/repos/mesosphere/dcos-commons/pulls/1421/comments","review_comment_url":"https://api.github.com/repos/mesosphere/dcos-commons/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mesosphere/dcos-commons/issues/1421/comments","statuses_url":"https://api.github.com/repos/mesosphere/dcos-commons/statuses/b62bafd8139917d01f1ed1fcbc091d547934c3e7","head":{"label":"mesosphere:mb/secrets","ref":"mb/secrets","sha":"b62bafd8139917d01f1ed1fcbc091d547934c3e7","user":{"login":"mesosphere","id":3458585,"avatar_url":"https://avatars0.githubusercontent.com/u/3458585?v=4","gravatar_id":"","url":"https://api.github.com/users/mesosphere","html_url":"https://github.com/mesosphere","followers_url":"https://api.github.com/users/mesosphere/followers","following_url":"https://api.github.com/users/mesosphere/following{/other_user}","gists_url":"https://api.github.com/users/mesosphere/gists{/gist_id}","starred_url":"https://api.github.com/users/mesosphere/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mesosphere/subscriptions","organizations_url":"https://api.github.com/users/mesosphere/orgs","repos_url":"https://api.github.com/users/mesosphere/repos","events_url":"https://api.github.com/users/mesosphere/events{/privacy}","received_events_url":"https://api.github.com/users/mesosphere/received_events","type":"Organization","site_admin":false},"repo":{"id":60286497,"name":"dcos-commons","full_name":"mesosphere/dcos-commons","owner":{"login":"mesosphere","id":3458585,"avatar_url":"https://avatars0.githubusercontent.com/u/3458585?v=4","gravatar_id":"","url":"https://api.github.com/users/mesosphere","html_url":"https://github.com/mesosphere","followers_url":"https://api.github.com/users/mesosphere/followers","following_url":"https://api.github.com/users/mesosphere/following{/other_user}","gists_url":"https://api.github.com/users/mesosphere/gists{/gist_id}","starred_url":"https://api.github.com/users/mesosphere/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mesosphere/subscriptions","organizations_url":"https://api.github.com/users/mesosphere/orgs","repos_url":"https://api.github.com/users/mesosphere/repos","events_url":"https://api.github.com/users/mesosphere/events{/privacy}","received_events_url":"https://api.github.com/users/mesosphere/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mesosphere/dcos-commons","description":"Simplifying stateful services","fork":false,"url":"https://api.github.com/repos/mesosphere/dcos-commons","forks_url":"https://api.github.com/repos/mesosphere/dcos-commons/forks","keys_url":"https://api.github.com/repos/mesosphere/dcos-commons/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mesosphere/dcos-commons/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mesosphere/dcos-commons/teams","hooks_url":"https://api.github.com/repos/mesosphere/dcos-commons/hooks","issue_events_url":"https://api.github.com/repos/mesosphere/dcos-commons/issues/events{/number}","events_url":"https://api.github.com/repos/mesosphere/dcos-commons/events","assignees_url":"https://api.github.com/repos/mesosphere/dcos-commons/assignees{/user}","branches_url":"https://api.github.com/repos/mesosphere/dcos-commons/branches{/branch}","tags_url":"https://api.github.com/repos/mesosphere/dcos-commons/tags","blobs_url":"https://api.github.com/repos/mesosphere/dcos-commons/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mesosphere/dcos-commons/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mesosphere/dcos-commons/git/refs{/sha}","trees_url":"https://api.github.com/repos/mesosphere/dcos-commons/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mesosphere/dcos-commons/statuses/{sha}","languages_url":"https://api.github.com/repos/mesosphere/dcos-commons/languages","stargazers_url":"https://api.github.com/repos/mesosphere/dcos-commons/stargazers","contributors_url":"https://api.github.com/repos/mesosphere/dcos-commons/contributors","subscribers_url":"https://api.github.com/repos/mesosphere/dcos-commons/subscribers","subscription_url":"https://api.github.com/repos/mesosphere/dcos-commons/subscription","commits_url":"https://api.github.com/repos/mesosphere/dcos-commons/commits{/sha}","git_commits_url":"https://api.github.com/repos/mesosphere/dcos-commons/git/commits{/sha}","comments_url":"https://api.github.com/repos/mesosphere/dcos-commons/comments{/number}","issue_comment_url":"https://api.github.com/repos/mesosphere/dcos-commons/issues/comments{/number}","contents_url":"https://api.github.com/repos/mesosphere/dcos-commons/contents/{+path}","compare_url":"https://api.github.com/repos/mesosphere/dcos-commons/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mesosphere/dcos-commons/merges","archive_url":"https://api.github.com/repos/mesosphere/dcos-commons/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mesosphere/dcos-commons/downloads","issues_url":"https://api.github.com/repos/mesosphere/dcos-commons/issues{/number}","pulls_url":"https://api.github.com/repos/mesosphere/dcos-commons/pulls{/number}","milestones_url":"https://api.github.com/repos/mesosphere/dcos-commons/milestones{/number}","notifications_url":"https://api.github.com/repos/mesosphere/dcos-commons/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mesosphere/dcos-commons/labels{/name}","releases_url":"https://api.github.com/repos/mesosphere/dcos-commons/releases{/id}","deployments_url":"https://api.github.com/repos/mesosphere/dcos-commons/deployments","created_at":"2016-06-02T18:09:08Z","updated_at":"2017-08-09T03:20:40Z","pushed_at":"2017-08-15T23:29:11Z","git_url":"git://github.com/mesosphere/dcos-commons.git","ssh_url":"git@github.com:mesosphere/dcos-commons.git","clone_url":"https://github.com/mesosphere/dcos-commons.git","svn_url":"https://github.com/mesosphere/dcos-commons","homepage":"https://mesosphere.github.io/dcos-commons/","size":51205,"stargazers_count":85,"watchers_count":85,"language":"Java","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":80,"mirror_url":null,"open_issues_count":59,"forks":80,"open_issues":59,"watchers":85,"default_branch":"master"}},"base":{"label":"mesosphere:master","ref":"master","sha":"df41cdaa13f56379ebd183a75bde0436d490250a","user":{"login":"mesosphere","id":3458585,"avatar_url":"https://avatars0.githubusercontent.com/u/3458585?v=4","gravatar_id":"","url":"https://api.github.com/users/mesosphere","html_url":"https://github.com/mesosphere","followers_url":"https://api.github.com/users/mesosphere/followers","following_url":"https://api.github.com/users/mesosphere/following{/other_user}","gists_url":"https://api.github.com/users/mesosphere/gists{/gist_id}","starred_url":"https://api.github.com/users/mesosphere/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mesosphere/subscriptions","organizations_url":"https://api.github.com/users/mesosphere/orgs","repos_url":"https://api.github.com/users/mesosphere/repos","events_url":"https://api.github.com/users/mesosphere/events{/privacy}","received_events_url":"https://api.github.com/users/mesosphere/received_events","type":"Organization","site_admin":false},"repo":{"id":60286497,"name":"dcos-commons","full_name":"mesosphere/dcos-commons","owner":{"login":"mesosphere","id":3458585,"avatar_url":"https://avatars0.githubusercontent.com/u/3458585?v=4","gravatar_id":"","url":"https://api.github.com/users/mesosphere","html_url":"https://github.com/mesosphere","followers_url":"https://api.github.com/users/mesosphere/followers","following_url":"https://api.github.com/users/mesosphere/following{/other_user}","gists_url":"https://api.github.com/users/mesosphere/gists{/gist_id}","starred_url":"https://api.github.com/users/mesosphere/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mesosphere/subscriptions","organizations_url":"https://api.github.com/users/mesosphere/orgs","repos_url":"https://api.github.com/users/mesosphere/repos","events_url":"https://api.github.com/users/mesosphere/events{/privacy}","received_events_url":"https://api.github.com/users/mesosphere/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mesosphere/dcos-commons","description":"Simplifying stateful services","fork":false,"url":"https://api.github.com/repos/mesosphere/dcos-commons","forks_url":"https://api.github.com/repos/mesosphere/dcos-commons/forks","keys_url":"https://api.github.com/repos/mesosphere/dcos-commons/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mesosphere/dcos-commons/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mesosphere/dcos-commons/teams","hooks_url":"https://api.github.com/repos/mesosphere/dcos-commons/hooks","issue_events_url":"https://api.github.com/repos/mesosphere/dcos-commons/issues/events{/number}","events_url":"https://api.github.com/repos/mesosphere/dcos-commons/events","assignees_url":"https://api.github.com/repos/mesosphere/dcos-commons/assignees{/user}","branches_url":"https://api.github.com/repos/mesosphere/dcos-commons/branches{/branch}","tags_url":"https://api.github.com/repos/mesosphere/dcos-commons/tags","blobs_url":"https://api.github.com/repos/mesosphere/dcos-commons/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mesosphere/dcos-commons/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mesosphere/dcos-commons/git/refs{/sha}","trees_url":"https://api.github.com/repos/mesosphere/dcos-commons/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mesosphere/dcos-commons/statuses/{sha}","languages_url":"https://api.github.com/repos/mesosphere/dcos-commons/languages","stargazers_url":"https://api.github.com/repos/mesosphere/dcos-commons/stargazers","contributors_url":"https://api.github.com/repos/mesosphere/dcos-commons/contributors","subscribers_url":"https://api.github.com/repos/mesosphere/dcos-commons/subscribers","subscription_url":"https://api.github.com/repos/mesosphere/dcos-commons/subscription","commits_url":"https://api.github.com/repos/mesosphere/dcos-commons/commits{/sha}","git_commits_url":"https://api.github.com/repos/mesosphere/dcos-commons/git/commits{/sha}","comments_url":"https://api.github.com/repos/mesosphere/dcos-commons/comments{/number}","issue_comment_url":"https://api.github.com/repos/mesosphere/dcos-commons/issues/comments{/number}","contents_url":"https://api.github.com/repos/mesosphere/dcos-commons/contents/{+path}","compare_url":"https://api.github.com/repos/mesosphere/dcos-commons/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mesosphere/dcos-commons/merges","archive_url":"https://api.github.com/repos/mesosphere/dcos-commons/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mesosphere/dcos-commons/downloads","issues_url":"https://api.github.com/repos/mesosphere/dcos-commons/issues{/number}","pulls_url":"https://api.github.com/repos/mesosphere/dcos-commons/pulls{/number}","milestones_url":"https://api.github.com/repos/mesosphere/dcos-commons/milestones{/number}","notifications_url":"https://api.github.com/repos/mesosphere/dcos-commons/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mesosphere/dcos-commons/labels{/name}","releases_url":"https://api.github.com/repos/mesosphere/dcos-commons/releases{/id}","deployments_url":"https://api.github.com/repos/mesosphere/dcos-commons/deployments","created_at":"2016-06-02T18:09:08Z","updated_at":"2017-08-09T03:20:40Z","pushed_at":"2017-08-15T23:29:11Z","git_url":"git://github.com/mesosphere/dcos-commons.git","ssh_url":"git@github.com:mesosphere/dcos-commons.git","clone_url":"https://github.com/mesosphere/dcos-commons.git","svn_url":"https://github.com/mesosphere/dcos-commons","homepage":"https://mesosphere.github.io/dcos-commons/","size":51205,"stargazers_count":85,"watchers_count":85,"language":"Java","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":80,"mirror_url":null,"open_issues_count":59,"forks":80,"open_issues":59,"watchers":85,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mesosphere/dcos-commons/pulls/1421"},"html":{"href":"https://github.com/mesosphere/dcos-commons/pull/1421"},"issue":{"href":"https://api.github.com/repos/mesosphere/dcos-commons/issues/1421"},"comments":{"href":"https://api.github.com/repos/mesosphere/dcos-commons/issues/1421/comments"},"review_comments":{"href":"https://api.github.com/repos/mesosphere/dcos-commons/pulls/1421/comments"},"review_comment":{"href":"https://api.github.com/repos/mesosphere/dcos-commons/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mesosphere/dcos-commons/pulls/1421/commits"},"statuses":{"href":"https://api.github.com/repos/mesosphere/dcos-commons/statuses/b62bafd8139917d01f1ed1fcbc091d547934c3e7"}}}}
{"actor":{"display_login":"sascala"}}