{"action":"created","comment":{"url":"https://api.github.com/repos/pulumi/docs/pulls/comments/211766598","pull_request_review_id":148259084,"id":211766598,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxMTc2NjU5OA==","diff_hunk":"@@ -0,0 +1,373 @@\n+---\n+title: \"Create a Guestbook with Redis and PHP\"\n+---\n+\n+In this tutorial, we'll build and deploy\n+[the standard Kubernetes Guestbook example](https://github.com/kubernetes/examples/tree/master/guestbook) using Pulumi.\n+\n+The guestbook is a simple, multi-tier web application that uses Redis and Nginx, powered by Docker containers and\n+Kubernetes. The primary difference between this example and the standard Kubernetes one is that we'll be authoring it in\n+TypeScript instead of YAML, and we'll deploy it using `pulumi` rather than `kubectl`. This gives us the full power of\n+real languages, combined with immutable infrastructure with diffable updates, alongside reliable orchestration, status,\n+and robust state management.\n+\n+The code for this tutorial is\n+[available on GitHub](https://github.com/pulumi/examples/tree/master/kubernetes-ts-guestbook).\n+\n+## Objectives\n+\n+* Start up a Redis master\n+* Start up Redis slaves\n+* Start up the guestbook frontend\n+* Expose and view the frontend service\n+* Clean up\n+\n+## Before you begin\n+\n+You need to have the Pulumi CLI and a working Kubernetes cluster.\n+[Minikube](https://kubernetes.io/docs/getting-started-guides/minikube) is an easy way to get started.\n+\n+1. [Install Pulumi](../install)\n+2. [Connect Pulumi to a Kubernetes Cluster](../install/kubernetes.html)\n+\n+## Create a Project and Deploy It\n+\n+The guestbook application uses Redis to store its data. It writes its data to a Redis master instance and reads data\n+from multiple Redis slave instances.\n+\n+Normally we would write YAML files to configure them, and then run `kubectl` commands to create and manage the services.\n+Instead of doing that, we will author our program in code and deploy it with `pulumi`.\n+\n+To start, we'll need to create a project and stack (a deployment target) for our new project:\n+\n+1.  To create a new Pulumi project, let's use a template:\n+\n+    ```shell\n+    $ pulumi new kubernetes-typescript --dir guestbook && cd guestbook\n+    ```\n+\n+    There are a variety of ways to create a new project -- for instance, we could have started by cloning\n+    [the above repo](https://github.com/pulumi/examples/tree/master/kubernetes-ts-guestbook) -- but templates are easy\n+    and allow us walk through the process of creating a new project from scratch. This command will have initialized\n+    a fresh project in the `guestbook` directory, and our command has `cd`'d into it.\n+\n+2.  Next, replace the minimal contents of the template's `index.js` file with the full guestbook:\n+\n+    ```js\n+    import * as k8s from \"@pulumi/kubernetes\";\n+\n+    // REDIS MASTER\n+    let redisMasterLabels = { app: \"redis\", tier: \"backend\", role: \"master\"};\n+    let redisMasterService = new k8s.core.v1.Service(\"redis-master\", {\n+        metadata: {\n+            name: \"redis-master\",\n+            labels: redisMasterLabels,\n+        },\n+        spec: {\n+            ports: [{ port: 6379, targetPort: 6379 }],\n+            selector: redisMasterLabels,\n+        },\n+    });\n+    let redisMasterDeployment = new k8s.apps.v1.Deployment(\"redis-master\", {\n+        metadata: { name: \"redis-master\" },\n+        spec: {\n+            selector: { matchLabels: redisMasterLabels },\n+            replicas: 1,\n+            template: {\n+                metadata: { labels: redisMasterLabels },\n+                spec: {\n+                    containers: [{\n+                        name: \"master\",\n+                        image: \"k8s.gcr.io/redis:e2e\",\n+                        resources: {\n+                            requests: {\n+                                cpu: \"100m\",\n+                                memory: \"100Mi\",\n+                            },\n+                        },\n+                        ports: [{ containerPort: 6379 }],\n+                    }],\n+                },\n+            },\n+        },\n+    });\n+\n+    // REDIS SLAVE\n+    let redisSlaveLabels = { app: \"redis\", tier: \"backend\", role: \"slave\" };\n+    let redisSlaveService = new k8s.core.v1.Service(\"redis-slave\", {\n+        metadata: {\n+            name: \"redis-slave\",\n+            labels: redisSlaveLabels,\n+        },\n+        spec: {\n+            ports: [{ port: 6379, targetPort: 6379 }],\n+            selector: redisSlaveLabels,\n+        },\n+    });\n+    let redisSlaveDeployment = new k8s.apps.v1.Deployment(\"redis-slave\", {\n+        metadata: { name: \"redis-slave\" },\n+        spec: {\n+            selector: { matchLabels: redisSlaveLabels },\n+            replicas: 1,\n+            template: {\n+                metadata: { labels: redisSlaveLabels },\n+                spec: {\n+                    containers: [{\n+                        name: \"slave\",\n+                        image: \"gcr.io/google_samples/gb-redisslave:v1\",\n+                        resources: {\n+                            requests: {\n+                                cpu: \"100m\",\n+                                memory: \"100Mi\",\n+                            },\n+                        },\n+                        env: [{\n+                            name: \"GET_HOSTS_FROM\",\n+                            value: \"dns\",\n+                            // Using `GET_HOSTS_FROM=dns` requires your cluster to provide a dns service. As of\n+                            // Kubernetes 1.3, DNS is a built-in service launched automatically. However, if the\n+                            // cluster you are using does not have a built-in DNS service, you can instead access an\n+                            // environment variable to find the master service's host. To do so, comment out the\n+                            // 'value: \"dns\"' line above, and uncomment the line below:\n+                            // value: \"env\",\n+                        }],\n+                        ports: [{ containerPort: 6379 }],\n+                    }],\n+                },\n+            },\n+        },\n+    });\n+\n+    // FRONTEND\n+    let frontendLabels = { app: \"guestbook\", tier: \"frontend\" };\n+    let frontendService = new k8s.core.v1.Service(\"frontend\", {\n+        metadata: {\n+            name: \"frontend\",\n+            labels: frontendLabels,\n+        },\n+        spec: {\n+            // Comment or delete the following line if you want to use a LoadBalancer:\n+            type: \"NodePort\",\n+            // If your cluster supports it, uncomment the following to automatically create\n+            // an external load-balanced IP for the frontend service.\n+            // type: \"LoadBalancer\",\n+            ports: [{ port: 80 }],\n+            selector: frontendLabels,\n+        },\n+    });\n+    let frontendDeployment = new k8s.apps.v1.Deployment(\"frontend\", {\n+        metadata: { name: \"frontend\" },\n+        spec: {\n+            selector: { matchLabels: frontendLabels },\n+            replicas: 3,\n+            template: {\n+                metadata: { labels: frontendLabels },\n+                spec: {\n+                    containers: [{\n+                        name: \"php-redis\",\n+                        image: \"gcr.io/google-samples/gb-frontend:v4\",\n+                        resources: {\n+                            requests: {\n+                                cpu: \"100m\",\n+                                memory: \"100Mi\",\n+                            },\n+                        },\n+                        env: [{\n+                            name: \"GET_HOSTS_FROM\",\n+                            value: \"dns\",\n+                            // Using `GET_HOSTS_FROM=dns` requires your cluster to provide a dns service. As of\n+                            // Kubernetes 1.3, DNS is a built-in service launched automatically. However, if the\n+                            // cluster you are using does not have a built-in DNS service, you can instead access an\n+                            // environment variable to find the master service's host. To do so, comment out the\n+                            // 'value: \"dns\"' line above, and uncomment the line below:\n+                            // value: \"env\",\n+                        }],\n+                        ports: [{ containerPort: 80 }],\n+                    }],\n+                },\n+            },\n+        },\n+    });","path":"quickstart/kubernetes-guestbook.md","position":93,"original_position":190,"commit_id":"b63a38bc468ffcbee8bc76742ea0d60eac488271","original_commit_id":"b63a38bc468ffcbee8bc76742ea0d60eac488271","user":{"login":"joeduffy","id":3953235,"node_id":"MDQ6VXNlcjM5NTMyMzU=","avatar_url":"https://avatars3.githubusercontent.com/u/3953235?v=4","gravatar_id":"","url":"https://api.github.com/users/joeduffy","html_url":"https://github.com/joeduffy","followers_url":"https://api.github.com/users/joeduffy/followers","following_url":"https://api.github.com/users/joeduffy/following{/other_user}","gists_url":"https://api.github.com/users/joeduffy/gists{/gist_id}","starred_url":"https://api.github.com/users/joeduffy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joeduffy/subscriptions","organizations_url":"https://api.github.com/users/joeduffy/orgs","repos_url":"https://api.github.com/users/joeduffy/repos","events_url":"https://api.github.com/users/joeduffy/events{/privacy}","received_events_url":"https://api.github.com/users/joeduffy/received_events","type":"User","site_admin":false},"body":"I looked at doing that, but it was a little too \"advanced\" for a getting started tutorial, IMHO. Plus, it involves multiple files, which just makes the overall tutorial a little bit harder to follow.\r\n\r\nAs you noted below, I alluded to building on this example to demonstrate the benefits of \"real code\" and I thought this would be a nice progression (basically, \"quickstart 1a\").","created_at":"2018-08-21T21:30:03Z","updated_at":"2018-08-21T21:30:03Z","html_url":"https://github.com/pulumi/docs/pull/552#discussion_r211766598","pull_request_url":"https://api.github.com/repos/pulumi/docs/pulls/552","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/pulumi/docs/pulls/comments/211766598"},"html":{"href":"https://github.com/pulumi/docs/pull/552#discussion_r211766598"},"pull_request":{"href":"https://api.github.com/repos/pulumi/docs/pulls/552"}},"in_reply_to_id":211713826},"pull_request":{"url":"https://api.github.com/repos/pulumi/docs/pulls/552","id":209832383,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA5ODMyMzgz","html_url":"https://github.com/pulumi/docs/pull/552","diff_url":"https://github.com/pulumi/docs/pull/552.diff","patch_url":"https://github.com/pulumi/docs/pull/552.patch","issue_url":"https://api.github.com/repos/pulumi/docs/issues/552","number":552,"state":"open","locked":false,"title":"Add a Kubernetes quickstart","user":{"login":"joeduffy","id":3953235,"node_id":"MDQ6VXNlcjM5NTMyMzU=","avatar_url":"https://avatars3.githubusercontent.com/u/3953235?v=4","gravatar_id":"","url":"https://api.github.com/users/joeduffy","html_url":"https://github.com/joeduffy","followers_url":"https://api.github.com/users/joeduffy/followers","following_url":"https://api.github.com/users/joeduffy/following{/other_user}","gists_url":"https://api.github.com/users/joeduffy/gists{/gist_id}","starred_url":"https://api.github.com/users/joeduffy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joeduffy/subscriptions","organizations_url":"https://api.github.com/users/joeduffy/orgs","repos_url":"https://api.github.com/users/joeduffy/repos","events_url":"https://api.github.com/users/joeduffy/events{/privacy}","received_events_url":"https://api.github.com/users/joeduffy/received_events","type":"User","site_admin":false},"body":"This adds a Kubernetes quickstart based on the Guestbook application,\r\nand also updates our homepage and footer navigation to more closely\r\nalign to the more recent pulumi.com updates where Kubernetes takes the\r\nplace of CoLaDa as our \"fourth pillar.\"","created_at":"2018-08-21T13:48:42Z","updated_at":"2018-08-21T21:30:03Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c01a62a767f5faf8fe627f83d90650e5784a1c49","assignee":null,"assignees":[],"requested_reviewers":[{"login":"hausdorff","id":1409156,"node_id":"MDQ6VXNlcjE0MDkxNTY=","avatar_url":"https://avatars1.githubusercontent.com/u/1409156?v=4","gravatar_id":"","url":"https://api.github.com/users/hausdorff","html_url":"https://github.com/hausdorff","followers_url":"https://api.github.com/users/hausdorff/followers","following_url":"https://api.github.com/users/hausdorff/following{/other_user}","gists_url":"https://api.github.com/users/hausdorff/gists{/gist_id}","starred_url":"https://api.github.com/users/hausdorff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hausdorff/subscriptions","organizations_url":"https://api.github.com/users/hausdorff/orgs","repos_url":"https://api.github.com/users/hausdorff/repos","events_url":"https://api.github.com/users/hausdorff/events{/privacy}","received_events_url":"https://api.github.com/users/hausdorff/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/pulumi/docs/pulls/552/commits","review_comments_url":"https://api.github.com/repos/pulumi/docs/pulls/552/comments","review_comment_url":"https://api.github.com/repos/pulumi/docs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/pulumi/docs/issues/552/comments","statuses_url":"https://api.github.com/repos/pulumi/docs/statuses/b63a38bc468ffcbee8bc76742ea0d60eac488271","head":{"label":"pulumi:joeduffy/522_k8s_quickstart","ref":"joeduffy/522_k8s_quickstart","sha":"b63a38bc468ffcbee8bc76742ea0d60eac488271","user":{"login":"pulumi","id":21992475,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIxOTkyNDc1","avatar_url":"https://avatars0.githubusercontent.com/u/21992475?v=4","gravatar_id":"","url":"https://api.github.com/users/pulumi","html_url":"https://github.com/pulumi","followers_url":"https://api.github.com/users/pulumi/followers","following_url":"https://api.github.com/users/pulumi/following{/other_user}","gists_url":"https://api.github.com/users/pulumi/gists{/gist_id}","starred_url":"https://api.github.com/users/pulumi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pulumi/subscriptions","organizations_url":"https://api.github.com/users/pulumi/orgs","repos_url":"https://api.github.com/users/pulumi/repos","events_url":"https://api.github.com/users/pulumi/events{/privacy}","received_events_url":"https://api.github.com/users/pulumi/received_events","type":"Organization","site_admin":false},"repo":{"id":104365663,"node_id":"MDEwOlJlcG9zaXRvcnkxMDQzNjU2NjM=","name":"docs","full_name":"pulumi/docs","owner":{"login":"pulumi","id":21992475,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIxOTkyNDc1","avatar_url":"https://avatars0.githubusercontent.com/u/21992475?v=4","gravatar_id":"","url":"https://api.github.com/users/pulumi","html_url":"https://github.com/pulumi","followers_url":"https://api.github.com/users/pulumi/followers","following_url":"https://api.github.com/users/pulumi/following{/other_user}","gists_url":"https://api.github.com/users/pulumi/gists{/gist_id}","starred_url":"https://api.github.com/users/pulumi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pulumi/subscriptions","organizations_url":"https://api.github.com/users/pulumi/orgs","repos_url":"https://api.github.com/users/pulumi/repos","events_url":"https://api.github.com/users/pulumi/events{/privacy}","received_events_url":"https://api.github.com/users/pulumi/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/pulumi/docs","description":"Documentation for all things Pulumi!","fork":false,"url":"https://api.github.com/repos/pulumi/docs","forks_url":"https://api.github.com/repos/pulumi/docs/forks","keys_url":"https://api.github.com/repos/pulumi/docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pulumi/docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pulumi/docs/teams","hooks_url":"https://api.github.com/repos/pulumi/docs/hooks","issue_events_url":"https://api.github.com/repos/pulumi/docs/issues/events{/number}","events_url":"https://api.github.com/repos/pulumi/docs/events","assignees_url":"https://api.github.com/repos/pulumi/docs/assignees{/user}","branches_url":"https://api.github.com/repos/pulumi/docs/branches{/branch}","tags_url":"https://api.github.com/repos/pulumi/docs/tags","blobs_url":"https://api.github.com/repos/pulumi/docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pulumi/docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pulumi/docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/pulumi/docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pulumi/docs/statuses/{sha}","languages_url":"https://api.github.com/repos/pulumi/docs/languages","stargazers_url":"https://api.github.com/repos/pulumi/docs/stargazers","contributors_url":"https://api.github.com/repos/pulumi/docs/contributors","subscribers_url":"https://api.github.com/repos/pulumi/docs/subscribers","subscription_url":"https://api.github.com/repos/pulumi/docs/subscription","commits_url":"https://api.github.com/repos/pulumi/docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/pulumi/docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/pulumi/docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/pulumi/docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/pulumi/docs/contents/{+path}","compare_url":"https://api.github.com/repos/pulumi/docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pulumi/docs/merges","archive_url":"https://api.github.com/repos/pulumi/docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pulumi/docs/downloads","issues_url":"https://api.github.com/repos/pulumi/docs/issues{/number}","pulls_url":"https://api.github.com/repos/pulumi/docs/pulls{/number}","milestones_url":"https://api.github.com/repos/pulumi/docs/milestones{/number}","notifications_url":"https://api.github.com/repos/pulumi/docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pulumi/docs/labels{/name}","releases_url":"https://api.github.com/repos/pulumi/docs/releases{/id}","deployments_url":"https://api.github.com/repos/pulumi/docs/deployments","created_at":"2017-09-21T15:27:51Z","updated_at":"2018-08-20T04:04:11Z","pushed_at":"2018-08-21T13:49:29Z","git_url":"git://github.com/pulumi/docs.git","ssh_url":"git@github.com:pulumi/docs.git","clone_url":"https://github.com/pulumi/docs.git","svn_url":"https://github.com/pulumi/docs","homepage":"https://pulumi.io","size":16896,"stargazers_count":6,"watchers_count":6,"language":"CSS","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":14,"mirror_url":null,"archived":false,"open_issues_count":20,"license":null,"forks":14,"open_issues":20,"watchers":6,"default_branch":"master"}},"base":{"label":"pulumi:master","ref":"master","sha":"2dab6261f521ac925d7c976dc51e71813d0a122a","user":{"login":"pulumi","id":21992475,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIxOTkyNDc1","avatar_url":"https://avatars0.githubusercontent.com/u/21992475?v=4","gravatar_id":"","url":"https://api.github.com/users/pulumi","html_url":"https://github.com/pulumi","followers_url":"https://api.github.com/users/pulumi/followers","following_url":"https://api.github.com/users/pulumi/following{/other_user}","gists_url":"https://api.github.com/users/pulumi/gists{/gist_id}","starred_url":"https://api.github.com/users/pulumi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pulumi/subscriptions","organizations_url":"https://api.github.com/users/pulumi/orgs","repos_url":"https://api.github.com/users/pulumi/repos","events_url":"https://api.github.com/users/pulumi/events{/privacy}","received_events_url":"https://api.github.com/users/pulumi/received_events","type":"Organization","site_admin":false},"repo":{"id":104365663,"node_id":"MDEwOlJlcG9zaXRvcnkxMDQzNjU2NjM=","name":"docs","full_name":"pulumi/docs","owner":{"login":"pulumi","id":21992475,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIxOTkyNDc1","avatar_url":"https://avatars0.githubusercontent.com/u/21992475?v=4","gravatar_id":"","url":"https://api.github.com/users/pulumi","html_url":"https://github.com/pulumi","followers_url":"https://api.github.com/users/pulumi/followers","following_url":"https://api.github.com/users/pulumi/following{/other_user}","gists_url":"https://api.github.com/users/pulumi/gists{/gist_id}","starred_url":"https://api.github.com/users/pulumi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pulumi/subscriptions","organizations_url":"https://api.github.com/users/pulumi/orgs","repos_url":"https://api.github.com/users/pulumi/repos","events_url":"https://api.github.com/users/pulumi/events{/privacy}","received_events_url":"https://api.github.com/users/pulumi/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/pulumi/docs","description":"Documentation for all things Pulumi!","fork":false,"url":"https://api.github.com/repos/pulumi/docs","forks_url":"https://api.github.com/repos/pulumi/docs/forks","keys_url":"https://api.github.com/repos/pulumi/docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pulumi/docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pulumi/docs/teams","hooks_url":"https://api.github.com/repos/pulumi/docs/hooks","issue_events_url":"https://api.github.com/repos/pulumi/docs/issues/events{/number}","events_url":"https://api.github.com/repos/pulumi/docs/events","assignees_url":"https://api.github.com/repos/pulumi/docs/assignees{/user}","branches_url":"https://api.github.com/repos/pulumi/docs/branches{/branch}","tags_url":"https://api.github.com/repos/pulumi/docs/tags","blobs_url":"https://api.github.com/repos/pulumi/docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pulumi/docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pulumi/docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/pulumi/docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pulumi/docs/statuses/{sha}","languages_url":"https://api.github.com/repos/pulumi/docs/languages","stargazers_url":"https://api.github.com/repos/pulumi/docs/stargazers","contributors_url":"https://api.github.com/repos/pulumi/docs/contributors","subscribers_url":"https://api.github.com/repos/pulumi/docs/subscribers","subscription_url":"https://api.github.com/repos/pulumi/docs/subscription","commits_url":"https://api.github.com/repos/pulumi/docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/pulumi/docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/pulumi/docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/pulumi/docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/pulumi/docs/contents/{+path}","compare_url":"https://api.github.com/repos/pulumi/docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pulumi/docs/merges","archive_url":"https://api.github.com/repos/pulumi/docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pulumi/docs/downloads","issues_url":"https://api.github.com/repos/pulumi/docs/issues{/number}","pulls_url":"https://api.github.com/repos/pulumi/docs/pulls{/number}","milestones_url":"https://api.github.com/repos/pulumi/docs/milestones{/number}","notifications_url":"https://api.github.com/repos/pulumi/docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pulumi/docs/labels{/name}","releases_url":"https://api.github.com/repos/pulumi/docs/releases{/id}","deployments_url":"https://api.github.com/repos/pulumi/docs/deployments","created_at":"2017-09-21T15:27:51Z","updated_at":"2018-08-20T04:04:11Z","pushed_at":"2018-08-21T13:49:29Z","git_url":"git://github.com/pulumi/docs.git","ssh_url":"git@github.com:pulumi/docs.git","clone_url":"https://github.com/pulumi/docs.git","svn_url":"https://github.com/pulumi/docs","homepage":"https://pulumi.io","size":16896,"stargazers_count":6,"watchers_count":6,"language":"CSS","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":14,"mirror_url":null,"archived":false,"open_issues_count":20,"license":null,"forks":14,"open_issues":20,"watchers":6,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/pulumi/docs/pulls/552"},"html":{"href":"https://github.com/pulumi/docs/pull/552"},"issue":{"href":"https://api.github.com/repos/pulumi/docs/issues/552"},"comments":{"href":"https://api.github.com/repos/pulumi/docs/issues/552/comments"},"review_comments":{"href":"https://api.github.com/repos/pulumi/docs/pulls/552/comments"},"review_comment":{"href":"https://api.github.com/repos/pulumi/docs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/pulumi/docs/pulls/552/commits"},"statuses":{"href":"https://api.github.com/repos/pulumi/docs/statuses/b63a38bc468ffcbee8bc76742ea0d60eac488271"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"joeduffy"}}