{"action":"created","comment":{"url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/pulls/comments/173592715","pull_request_review_id":102819103,"id":173592715,"diff_hunk":"@@ -0,0 +1,264 @@\n+= Deploying a Chart Repository for Helm Charts\n+:toc:\n+:icons:\n+:linkcss:\n+:imagesdir: ../../resources/images\n+\n+You learned about using `helm` in the module\n+link:../../03-path-application-development/306-app-management-with-helm/readme.adoc[306\n+Application Management with Helm] this module will teach you how to deploy your\n+own Chart Repository to your Kubernetes cluster so that you can deploy custom\n+applications.\n+\n+== Prerequisites\n+\n+This chapter uses a cluster with 3 master nodes and 5 worker nodes as described here: link:../cluster-install#multi-master-multi-node-multi-az-gossip-based-cluster[multi-master, multi-node gossip based cluster].\n+\n+All configuration files for this chapter are in the `sample` directory. Make\n+sure to `cd` into this directory before running any commands.\n+\n+This chapter expects that you have gone through \n+link:../../03-path-application-development/306-app-management-with-helm/readme.adoc[306\n+Application Management with Helm] meaning you should have installed `helm`.\n+\n+== ChartMuseum\n+\n+Chart Museum is an Open Source Chart Repository, it helps you to deploy your\n+custom charts to an Amazon S3 bucket and allows you to easily access your charts\n+like you would a `stable` release from something like \n+link:https://hub.kubeapps.com/[Kubeapps]. \n+\n+== Installing ChartMuseum\n+\n+To install `chartmuseum` you first need to add the incubator helm repo.\n+\n+    $ helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com\n+    \"incubator\" has been added to your repositories\n+\n+After you have added the incubator repo, you can install like any other `helm`\n+package.\n+\n+    helm install incubator/chartmuseum --name chartmuseum\n+\n+This will deploy the `chartmuseum` using the standard configuration without\n+long term storage for your charts.\n+\n+Once you have this installed you can use `kubectl port-forward` to get access to\n+the service.\n+\n+    $ kubectl port-forward $(kubectl get po -l app=chartmuseum -o jsonpath=\"{.items..metadata.name}\") 8080:8080\n+    Forwarding from 127.0.0.1:8080 -> 8080\n+    Forwarding from [::1]:8080 -> 8080\n+\n+== Configuration\n+\n+Now that you have `chartmuseum` running in your cluster we need to make a couple\n+edits, first we should use the built in mechanisms for storage, exposing, and \n+authentication.\n+\n+=== Remote Storage\n+\n+With the default deploy the charts are stored on a mounted volume, for a\n+Kubernetes deployment where you don't always run on the same node this can cause\n+issues where the server can't find the charts. To fix this we need to create an\n+Amazon S3 Bucket for our charts.\n+\n+    $ export CHART_BUCKET=s3://example-chart-store-$(cat /dev/random | LC_ALL=C tr -dc \"[:alpha:]\" | tr '[:upper:]' '[:lower:]' | head -c 32)\n+    $ aws s3 mb $CHART_BUCKET\n+    make_bucket: example-chart-store-zohaenqynbcctothqpmacoicaytzjach\n+\n+Now that the bucket has been created we need to edit the node IAM policy to\n+allow access to read, write, delete.\n+\n+    kops edit cluster example.cluster.k8s.local\n+\n+You will need to add `additionalPolicies` that will allow all nodes to have\n+access to the bucket, to do so use:\n+\n+    additionalPolicies:\n+      node: |\n+        [\n+          {\n+            \"Sid\": \"AllowListObjects\",\n+            \"Effect\": \"Allow\",\n+            \"Action\": [\n+              \"s3:ListBucket\"\n+            ],\n+            \"Resource\": \"arn:aws:s3:::{BUCKET_NAME}\"\n+          },\n+          {\n+            \"Sid\": \"AllowObjectsCRUD\",\n+            \"Effect\": \"Allow\",\n+            \"Action\": [\n+              \"s3:DeleteObject\",\n+              \"s3:GetObject\",\n+              \"s3:PutObject\"\n+            ],\n+            \"Resource\": \"arn:aws:s3:::{BUCKET_NAME}/*\"\n+          }\n+        ]\n+\n+WARNING: Make sure to replace `{BUCKET_NAME}` in each of the statements with the\n+`$CHART_BUCKET` without `s3://`\n+\n+After you have saved the file you can update the cluster thus adding the new\n+policies to the nodes.\n+\n+    kops update cluster example.cluster.k8s.local --yes\n+\n+To test this we need to first remove the deployed `chartmuseum`.","path":"03-path-application-development/309-deploying-a-chart-repository/readme.adoc","position":109,"original_position":109,"commit_id":"6fd2d65899a9eb107051e2db551eb111abef50e9","original_commit_id":"6fd2d65899a9eb107051e2db551eb111abef50e9","user":{"login":"christopherhein","id":177822,"avatar_url":"https://avatars1.githubusercontent.com/u/177822?v=4","gravatar_id":"","url":"https://api.github.com/users/christopherhein","html_url":"https://github.com/christopherhein","followers_url":"https://api.github.com/users/christopherhein/followers","following_url":"https://api.github.com/users/christopherhein/following{/other_user}","gists_url":"https://api.github.com/users/christopherhein/gists{/gist_id}","starred_url":"https://api.github.com/users/christopherhein/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/christopherhein/subscriptions","organizations_url":"https://api.github.com/users/christopherhein/orgs","repos_url":"https://api.github.com/users/christopherhein/repos","events_url":"https://api.github.com/users/christopherhein/events{/privacy}","received_events_url":"https://api.github.com/users/christopherhein/received_events","type":"User","site_admin":false},"body":"Rather then adding in `helm upgrade` which I realized we don't discuss in the 306 module i figured use what they have already learned. Should I switch this to using `helm upgrade`?","created_at":"2018-03-09T23:18:26Z","updated_at":"2018-03-09T23:18:26Z","html_url":"https://github.com/aws-samples/aws-workshop-for-kubernetes/pull/395#discussion_r173592715","pull_request_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/pulls/395","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/pulls/comments/173592715"},"html":{"href":"https://github.com/aws-samples/aws-workshop-for-kubernetes/pull/395#discussion_r173592715"},"pull_request":{"href":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/pulls/395"}},"in_reply_to_id":173565146},"pull_request":{"url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/pulls/395","id":174099891,"html_url":"https://github.com/aws-samples/aws-workshop-for-kubernetes/pull/395","diff_url":"https://github.com/aws-samples/aws-workshop-for-kubernetes/pull/395.diff","patch_url":"https://github.com/aws-samples/aws-workshop-for-kubernetes/pull/395.patch","issue_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/issues/395","number":395,"state":"open","locked":false,"title":"Adding Chart Museum Module for Custom Chart Repos","user":{"login":"christopherhein","id":177822,"avatar_url":"https://avatars1.githubusercontent.com/u/177822?v=4","gravatar_id":"","url":"https://api.github.com/users/christopherhein","html_url":"https://github.com/christopherhein","followers_url":"https://api.github.com/users/christopherhein/followers","following_url":"https://api.github.com/users/christopherhein/following{/other_user}","gists_url":"https://api.github.com/users/christopherhein/gists{/gist_id}","starred_url":"https://api.github.com/users/christopherhein/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/christopherhein/subscriptions","organizations_url":"https://api.github.com/users/christopherhein/orgs","repos_url":"https://api.github.com/users/christopherhein/repos","events_url":"https://api.github.com/users/christopherhein/events{/privacy}","received_events_url":"https://api.github.com/users/christopherhein/received_events","type":"User","site_admin":false},"body":"**Why:**\r\n\r\n* This walks a user through deploying `chartmuseum` which allows you to\r\nrun your own custom `helm` repo backed by s3 with auth.\r\n\r\n**This change addresses the need by:**\r\n\r\n* closes #70\r\n\r\nSigned-off-by: Christopher Hein <me@christopherhein.com>\r\n\r\nBy submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.\r\n","created_at":"2018-03-09T20:22:51Z","updated_at":"2018-03-09T23:18:26Z","closed_at":null,"merged_at":null,"merge_commit_sha":"55bf5a99aa5420ff2faf4d7e46b4f9e0aa0d9890","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/pulls/395/commits","review_comments_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/pulls/395/comments","review_comment_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/pulls/comments{/number}","comments_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/issues/395/comments","statuses_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/statuses/6fd2d65899a9eb107051e2db551eb111abef50e9","head":{"label":"christopherhein:feature/host-a-chart-repo","ref":"feature/host-a-chart-repo","sha":"6fd2d65899a9eb107051e2db551eb111abef50e9","user":{"login":"christopherhein","id":177822,"avatar_url":"https://avatars1.githubusercontent.com/u/177822?v=4","gravatar_id":"","url":"https://api.github.com/users/christopherhein","html_url":"https://github.com/christopherhein","followers_url":"https://api.github.com/users/christopherhein/followers","following_url":"https://api.github.com/users/christopherhein/following{/other_user}","gists_url":"https://api.github.com/users/christopherhein/gists{/gist_id}","starred_url":"https://api.github.com/users/christopherhein/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/christopherhein/subscriptions","organizations_url":"https://api.github.com/users/christopherhein/orgs","repos_url":"https://api.github.com/users/christopherhein/repos","events_url":"https://api.github.com/users/christopherhein/events{/privacy}","received_events_url":"https://api.github.com/users/christopherhein/received_events","type":"User","site_admin":false},"repo":{"id":105686215,"name":"aws-workshop-for-kubernetes","full_name":"christopherhein/aws-workshop-for-kubernetes","owner":{"login":"christopherhein","id":177822,"avatar_url":"https://avatars1.githubusercontent.com/u/177822?v=4","gravatar_id":"","url":"https://api.github.com/users/christopherhein","html_url":"https://github.com/christopherhein","followers_url":"https://api.github.com/users/christopherhein/followers","following_url":"https://api.github.com/users/christopherhein/following{/other_user}","gists_url":"https://api.github.com/users/christopherhein/gists{/gist_id}","starred_url":"https://api.github.com/users/christopherhein/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/christopherhein/subscriptions","organizations_url":"https://api.github.com/users/christopherhein/orgs","repos_url":"https://api.github.com/users/christopherhein/repos","events_url":"https://api.github.com/users/christopherhein/events{/privacy}","received_events_url":"https://api.github.com/users/christopherhein/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/christopherhein/aws-workshop-for-kubernetes","description":"Kubernetes on AWS Workshop","fork":true,"url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes","forks_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/forks","keys_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/teams","hooks_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/hooks","issue_events_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/issues/events{/number}","events_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/events","assignees_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/assignees{/user}","branches_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/branches{/branch}","tags_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/tags","blobs_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/git/refs{/sha}","trees_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/statuses/{sha}","languages_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/languages","stargazers_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/stargazers","contributors_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/contributors","subscribers_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/subscribers","subscription_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/subscription","commits_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/commits{/sha}","git_commits_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/git/commits{/sha}","comments_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/comments{/number}","issue_comment_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/issues/comments{/number}","contents_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/contents/{+path}","compare_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/merges","archive_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/downloads","issues_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/issues{/number}","pulls_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/pulls{/number}","milestones_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/milestones{/number}","notifications_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/labels{/name}","releases_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/releases{/id}","deployments_url":"https://api.github.com/repos/christopherhein/aws-workshop-for-kubernetes/deployments","created_at":"2017-10-03T18:14:21Z","updated_at":"2018-02-24T01:18:25Z","pushed_at":"2018-03-09T20:21:44Z","git_url":"git://github.com/christopherhein/aws-workshop-for-kubernetes.git","ssh_url":"git@github.com:christopherhein/aws-workshop-for-kubernetes.git","clone_url":"https://github.com/christopherhein/aws-workshop-for-kubernetes.git","svn_url":"https://github.com/christopherhein/aws-workshop-for-kubernetes","homepage":null,"size":64228,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","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":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"aws-samples:master","ref":"master","sha":"58fd648422e8693be3556247b1480b8df52aa15c","user":{"login":"aws-samples","id":8931462,"avatar_url":"https://avatars1.githubusercontent.com/u/8931462?v=4","gravatar_id":"","url":"https://api.github.com/users/aws-samples","html_url":"https://github.com/aws-samples","followers_url":"https://api.github.com/users/aws-samples/followers","following_url":"https://api.github.com/users/aws-samples/following{/other_user}","gists_url":"https://api.github.com/users/aws-samples/gists{/gist_id}","starred_url":"https://api.github.com/users/aws-samples/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aws-samples/subscriptions","organizations_url":"https://api.github.com/users/aws-samples/orgs","repos_url":"https://api.github.com/users/aws-samples/repos","events_url":"https://api.github.com/users/aws-samples/events{/privacy}","received_events_url":"https://api.github.com/users/aws-samples/received_events","type":"Organization","site_admin":false},"repo":{"id":98671610,"name":"aws-workshop-for-kubernetes","full_name":"aws-samples/aws-workshop-for-kubernetes","owner":{"login":"aws-samples","id":8931462,"avatar_url":"https://avatars1.githubusercontent.com/u/8931462?v=4","gravatar_id":"","url":"https://api.github.com/users/aws-samples","html_url":"https://github.com/aws-samples","followers_url":"https://api.github.com/users/aws-samples/followers","following_url":"https://api.github.com/users/aws-samples/following{/other_user}","gists_url":"https://api.github.com/users/aws-samples/gists{/gist_id}","starred_url":"https://api.github.com/users/aws-samples/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aws-samples/subscriptions","organizations_url":"https://api.github.com/users/aws-samples/orgs","repos_url":"https://api.github.com/users/aws-samples/repos","events_url":"https://api.github.com/users/aws-samples/events{/privacy}","received_events_url":"https://api.github.com/users/aws-samples/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/aws-samples/aws-workshop-for-kubernetes","description":"AWS Workshop for Kubernetes","fork":false,"url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes","forks_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/forks","keys_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/teams","hooks_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/hooks","issue_events_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/issues/events{/number}","events_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/events","assignees_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/assignees{/user}","branches_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/branches{/branch}","tags_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/tags","blobs_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/git/refs{/sha}","trees_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/statuses/{sha}","languages_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/languages","stargazers_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/stargazers","contributors_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/contributors","subscribers_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/subscribers","subscription_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/subscription","commits_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/commits{/sha}","git_commits_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/git/commits{/sha}","comments_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/comments{/number}","issue_comment_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/issues/comments{/number}","contents_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/contents/{+path}","compare_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/merges","archive_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/downloads","issues_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/issues{/number}","pulls_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/pulls{/number}","milestones_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/milestones{/number}","notifications_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/labels{/name}","releases_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/releases{/id}","deployments_url":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/deployments","created_at":"2017-07-28T17:19:40Z","updated_at":"2018-03-09T21:11:15Z","pushed_at":"2018-03-09T20:22:52Z","git_url":"git://github.com/aws-samples/aws-workshop-for-kubernetes.git","ssh_url":"git@github.com:aws-samples/aws-workshop-for-kubernetes.git","clone_url":"https://github.com/aws-samples/aws-workshop-for-kubernetes.git","svn_url":"https://github.com/aws-samples/aws-workshop-for-kubernetes","homepage":"","size":64193,"stargazers_count":895,"watchers_count":895,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":244,"mirror_url":null,"archived":false,"open_issues_count":71,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":244,"open_issues":71,"watchers":895,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/pulls/395"},"html":{"href":"https://github.com/aws-samples/aws-workshop-for-kubernetes/pull/395"},"issue":{"href":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/issues/395"},"comments":{"href":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/issues/395/comments"},"review_comments":{"href":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/pulls/395/comments"},"review_comment":{"href":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/pulls/395/commits"},"statuses":{"href":"https://api.github.com/repos/aws-samples/aws-workshop-for-kubernetes/statuses/6fd2d65899a9eb107051e2db551eb111abef50e9"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"christopherhein"}}