{"action":"created","comment":{"url":"https://api.github.com/repos/gardener/documentation/pulls/comments/214645936","pull_request_review_id":151745587,"id":214645936,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxNDY0NTkzNg==","diff_hunk":"@@ -0,0 +1,354 @@\n+---\n+title: How to debug a pod\n+description: \"Your pod doesn't run as expected. Are there any log files? Where? How could I debug a pod?\"\n+type: tutorial-page\n+level: intermediate\n+index: 500\n+reviewer: Tieyan Fu\n+status: Reviewed\n+last_reviewed: 19.06.2018\n+category: Debugging\n+scope: app-developer\n+---\n+\n+## Introduction\n+\n+Kubernetes offers powerful options to get more details about startup or runtime failures of pods as e.g. described in \n+[Application Introspection and Debugging](https://kubernetes.io/docs/tasks/debug-application-cluster/debug-application-introspection/) \n+or [Debug Pods and Replication Controllers](https://kubernetes.io/docs/tasks/debug-application-cluster/debug-pod-replication-controller/).\n+\n+In order to identify pods with potential issus you could e.g. run `kubectl get pods --all-namespaces | grep -iv Running ` to filter \n+out the pods which are not in the state `Running`. One of frequent error state is `CrashLoopBackOff`, which tells that \n+a pod crashes right after the start. Kubernetes then tries to restart the pod but again, but often the pod startup fails again.\n+\n+Here is a short list of possible reasons which might lead to a pod crash:\n+1. error during image pull caused by e.g. wrong/missing secrets or wrong/missing image\n+1. the app runs in an error state caused e.g. by missing environmental variables (ConfigMaps) or secrets\n+1. liveness probe failed\n+1. too high resource consumption (memory and/or CPU) or too strict quota settings\n+1. persistent volumes can't be created/mounted\n+1. the container image is not updated\n+\n+\n+Basically, the commands `kubectl logs ...` and `kubectl describe ...` with different parameters are used to get more \n+detailed information. By calling e.g. `kubectl logs --help` you get more detailed information about the command and its \n+parameters.\n+\n+In the next sections you'll find some basic approaches to get some ideas what went wrong.\n+\n+Remarks:   \n+- Even if the pods seem to be running as the status `Running` indicates, a high counter of the `Restarts` shows potential problems\n+- There is as well an [interactive Tutorial Troubleshooting with Kubectl](https://kubernetes.io/docs/tutorials/kubernetes-basics/explore-intro/) \n+available which explains basic debugging activities\n+- The examples below are deployed into the namespace `default`. In case you want to change it use the optional \n+parameter `--namespace <your-namespace>` to select the target namespace. They require Kubernetes release &ge; _1.8_.\n+\n+## Prerequisites\n+Your deployment was successful (no logical/syntactical errors in the manifest files), but the pod(s) aren't running.\n+\n+## Error caused by wrong image name\n+You run `kubectl describe pod <your-pod> <your-namespace>` to get detailed information about the pod startup. \n+\n+In the `Events` section, you get an error message like `Failed to pull image ...` and `Reason: Failed`. The pod is \n+in state `ImagePullBackOff`.\n+\n+The example below is based on [demo in Kubernetes documentation](https://kubernetes.io/docs/tasks/debug-application-cluster/determine-reason-pod-failure/). In all examples the `default` namespace is used.\n+\n+First, cleanup  with  \n+\n+```kubectl delete pod termination-demo```\n+    \n+Next, create a resource based on the yaml content below\n+```yaml\n+apiVersion: v1\n+kind: Pod \n+metadata:\n+  name: termination-demo\n+spec:\n+  containers:\n+  - name: termination-demo-container\n+    image: debiann\n+    command: [\"/bin/sh\"]\n+    args: [\"-c\", \"sleep 10 && echo Sleep expired > /dev/termination-log\"]\n+```\n+`kubectl describe pod termination-demo` lists in the `Event` section the content \n+\n+```\n+Events:\n+  FirstSeen\tLastSeen\tCount\tFrom\t\t\t\t\t\t\tSubObjectPath\t\t\t\t\tType\t\tReason\t\t\tMessage\n+  ---------\t--------\t-----\t----\t\t\t\t\t\t\t-------------\t\t\t\t\t--------\t------\t\t\t-------\n+  2m\t\t2m\t\t1\tdefault-scheduler\t\t\t\t\t\t\t\t\t\t\tNormal\t\tScheduled\t\tSuccessfully assigned termination-demo to ip-10-250-17-112.eu-west-1.compute.internal\n+  2m\t\t2m\t\t1\tkubelet, ip-10-250-17-112.eu-west-1.compute.internal\t\t\t\t\t\t\tNormal\t\tSuccessfulMountVolume\tMountVolume.SetUp succeeded for volume \"default-token-sgccm\" \n+  2m\t\t1m\t\t4\tkubelet, ip-10-250-17-112.eu-west-1.compute.internal\tspec.containers{termination-demo-container}\tNormal\t\tPulling\t\t\tpulling image \"debiann\"\n+  2m\t\t1m\t\t4\tkubelet, ip-10-250-17-112.eu-west-1.compute.internal\tspec.containers{termination-demo-container}\tWarning\t\tFailed\t\t\tFailed to pull image \"debiann\": rpc error: code = Unknown desc = Error: image library/debiann:latest not found\n+  2m\t\t54s\t\t10\tkubelet, ip-10-250-17-112.eu-west-1.compute.internal\t\t\t\t\t\t\tWarning\t\tFailedSync\t\tError syncing pod\n+  2m\t\t54s\t\t6\tkubelet, ip-10-250-17-112.eu-west-1.compute.internal\tspec.containers{termination-demo-container}\tNormal\t\tBackOff\t\t\tBack-off pulling image \"debiann\"\n+  ```\n+The error message with `Reason: Failed` tells that there is an error during pulling the image. A closer look at the \n+image name indicates a misspelling.\n+\n+\n+\n+## Error in the app runs in an error state caused e.g. by missing environmental variables (ConfigMaps) or secrets\n+\n+This example illustrates the behavior in case of the app expects environment variables but the corresponding \n+Kubernetes artifacts are missing.\n+\n+First, cleanup  with  \n+\n+```yaml\n+kubectl delete deployment termination-demo\n+kubectl delete configmaps app-env\n+```\n+\n+Next, deploy this manifest \n+\n+```yaml\n+apiVersion: apps/v1beta2 \n+kind: Deployment\n+metadata:\n+  name: termination-demo\n+  labels:\n+     app: termination-demo\n+spec:\n+  replicas: 1\n+  selector:\n+    matchLabels:\n+      app: termination-demo\n+  template:\n+    metadata:\n+      labels:\n+        app: termination-demo\n+    spec:\n+      containers:\n+      - name: termination-demo-container\n+        image: debian\n+        command: [\"/bin/sh\"]\n+        args: [\"-c\", \"sed \\\"s/foo/bar/\\\" < $MYFILE\"]\n+```            \n+Now, the command `kubectl get pods` lists the pod `termination-demo-xxx` in the state `Error` or `CrashLoopBackOff`. \n+The command `kubectl describe pod termination-demo-xxx` tells that there is no error during startup but gives no clue\n+ about what caused the crash.\n+\n+```shell\n+Events:\n+  FirstSeen\tLastSeen\tCount\tFrom\t\t\t\t\t\t\tSubObjectPath\t\t\t\t\tType\t\tReason\t\tMessage\n+  ---------\t--------\t-----\t----\t\t\t\t\t\t\t-------------\t\t\t\t\t--------\t------\t\t-------\n+  19m\t\t19m\t\t1\tdefault-scheduler\t\t\t\t\t\t\t\t\t\t\tNormal\t\tScheduled\tSuccessfully assigned termination-demo-5fb484867d-xz2x9 to ip-10-250-17-112.eu-west-1.compute.internal\n+  19m\t\t19m\t\t1\tkubelet, ip-10-250-17-112.eu-west-1.compute.internal\t\t\t\t\t\t\tNormal\t\tSuccessfulMountVolume\tMountVolume.SetUp succeeded for volume \"default-token-sgccm\" \n+  19m\t\t19m\t\t4\tkubelet, ip-10-250-17-112.eu-west-1.compute.internal\tspec.containers{termination-demo-container}\tNormal\t\tPulling\t\tpulling image \"debian\"\n+  19m\t\t19m\t\t4\tkubelet, ip-10-250-17-112.eu-west-1.compute.internal\tspec.containers{termination-demo-container}\tNormal\t\tPulled\t\tSuccessfully pulled image \"debian\"\n+  19m\t\t19m\t\t4\tkubelet, ip-10-250-17-112.eu-west-1.compute.internal\tspec.containers{termination-demo-container}\tNormal\t\tCreated\t\tCreated container\n+  19m\t\t19m\t\t4\tkubelet, ip-10-250-17-112.eu-west-1.compute.internal\tspec.containers{termination-demo-container}\tNormal\t\tStarted\t\tStarted container\n+  19m\t\t14m\t\t24\tkubelet, ip-10-250-17-112.eu-west-1.compute.internal\tspec.containers{termination-demo-container}\tWarning\t\tBackOff\t\tBack-off restarting failed container\n+  19m\t\t4m\t\t69\tkubelet, ip-10-250-17-112.eu-west-1.compute.internal\t\t\t\t\t\t\tWarning\t\tFailedSync\tError syncing pod\n+  ```\n+The command `kubectl get logs termination-demo-xxx` gives access to the output, the application writes on stderr and \n+stdout. In this case, you get an output like\n+\n+```shell\n+/bin/sh: 1: cannot open : No such file\n+```\n+\n+So you need to have a closer look at the application. In this case the environmental variable `MYFILE`is missing. To fix this\n+issue you could e.g. add a ConfigMap to your deployment as it is shown in the  manifest listed below.\n+\n+```yaml\n+apiVersion: v1\n+kind: ConfigMap\n+metadata:\n+  name: app-env\n+data:\n+  MYFILE: \"/etc/profile\"\n+---\n+apiVersion: apps/v1beta2 \n+kind: Deployment\n+metadata:\n+  name: termination-demo\n+  labels:\n+     app: termination-demo\n+spec:\n+  replicas: 1\n+  selector:\n+    matchLabels:\n+      app: termination-demo\n+  template:\n+    metadata:\n+      labels:\n+        app: termination-demo\n+    spec:\n+      containers:\n+      - name: termination-demo-container\n+        image: debian\n+        command: [\"/bin/sh\"]\n+        args: [\"-c\", \"sed \\\"s/foo/bar/\\\" < $MYFILE\"]\n+        envFrom:\n+        - configMapRef:\n+            name: app-env \n+```\n+\n+Note that once you fix the error and re-run the scenario, you might still see the pod in `CrashLoopBackOff` status.\n+It is because the container finishes the command `sed ...` and run to completion.  In order to keep the container in `Running` status,\n+a long running task is required, e.g.\n+\n+```ymal\n+apiVersion: v1\n+kind: ConfigMap\n+metadata:\n+  name: app-env\n+data:\n+  MYFILE: \"/etc/profile\"\n+  SLEEP: \"5\"\n+---\n+apiVersion: apps/v1beta2\n+kind: Deployment\n+metadata:\n+  name: termination-demo\n+  labels:\n+     app: termination-demo\n+spec:\n+  replicas: 1\n+  selector:\n+    matchLabels:\n+      app: termination-demo\n+  template:\n+    metadata:\n+      labels:\n+        app: termination-demo\n+    spec:\n+      containers:\n+      - name: termination-demo-container\n+        image: debian\n+        command: [\"/bin/sh\"]\n+        # args: [\"-c\", \"sed \\\"s/foo/bar/\\\" < $MYFILE\"]\n+        args: [\"-c\", \"while true; do sleep $SLEEP; echo sleeping; done;\"]\n+        envFrom:\n+        - configMapRef:\n+            name: app-env\n+```\n+\n+\n+## Too high resource consumption (memory and/or CPU) or too strict quota settings\n+\n+You can optionally specify the amount of memory and/or CPU your container gets during runtime. In case these settings are missing, \n+the default requests settings are taken: CPU: 0m (in Milli CPU) and RAM: 0Gi which indicate no other limits than the \n+ones of the node(s) itself. More details e.g. about to configure limits see e.g. [Configure Default Memory Requests and \n+Limits for a Namespace](https://kubernetes.io/docs/tasks/administer-cluster/memory-default-namespace/),\n+\n+In case your application needs more resources, Kubernetes distinguishes between `requests` and `limit` settings: `requests` \n+specify the guaranteed amount of resource, whereas `limit` tells Kubernetes the maximum amount of resource the container might \n+need.  Mathematically both settings could be described by the relation `0 <= requests <= limit`. For both settings you need to \n+consider the total amount of resources your nodes provide. For a detailed description of the concept see [Resource Quality of \n+Service in Kubernetes](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node/resource-qos.md).\n+\n+Use `kubectl describe nodes` to get a first overview of the resource consumption in your cluster. Of special interest are the ","path":"hugo/content/050-tutorials/content/howto/debug-a-pod/_index.md","position":null,"original_position":244,"commit_id":"7cad38aa80b696ddaee6f0a467cecd34607c502a","original_commit_id":"f5e5105cd3db2a3c1df7135d89045d3fac7b7b8c","user":{"login":"freegroup","id":1155039,"node_id":"MDQ6VXNlcjExNTUwMzk=","avatar_url":"https://avatars1.githubusercontent.com/u/1155039?v=4","gravatar_id":"","url":"https://api.github.com/users/freegroup","html_url":"https://github.com/freegroup","followers_url":"https://api.github.com/users/freegroup/followers","following_url":"https://api.github.com/users/freegroup/following{/other_user}","gists_url":"https://api.github.com/users/freegroup/gists{/gist_id}","starred_url":"https://api.github.com/users/freegroup/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/freegroup/subscriptions","organizations_url":"https://api.github.com/users/freegroup/orgs","repos_url":"https://api.github.com/users/freegroup/repos","events_url":"https://api.github.com/users/freegroup/events{/privacy}","received_events_url":"https://api.github.com/users/freegroup/received_events","type":"User","site_admin":false},"body":"7cad38aa80b696ddaee6f0a467cecd34607c502a","created_at":"2018-09-03T10:41:03Z","updated_at":"2018-09-03T10:41:03Z","html_url":"https://github.com/gardener/documentation/pull/21#discussion_r214645936","pull_request_url":"https://api.github.com/repos/gardener/documentation/pulls/21","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/gardener/documentation/pulls/comments/214645936"},"html":{"href":"https://github.com/gardener/documentation/pull/21#discussion_r214645936"},"pull_request":{"href":"https://api.github.com/repos/gardener/documentation/pulls/21"}},"in_reply_to_id":210318350},"pull_request":{"url":"https://api.github.com/repos/gardener/documentation/pulls/21","id":207292723,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA3MjkyNzIz","html_url":"https://github.com/gardener/documentation/pull/21","diff_url":"https://github.com/gardener/documentation/pull/21.diff","patch_url":"https://github.com/gardener/documentation/pull/21.patch","issue_url":"https://api.github.com/repos/gardener/documentation/issues/21","number":21,"state":"open","locked":false,"title":"refactor the old landingpage to the new site generation tool \"Hugo\". …","user":{"login":"freegroup","id":1155039,"node_id":"MDQ6VXNlcjExNTUwMzk=","avatar_url":"https://avatars1.githubusercontent.com/u/1155039?v=4","gravatar_id":"","url":"https://api.github.com/users/freegroup","html_url":"https://github.com/freegroup","followers_url":"https://api.github.com/users/freegroup/followers","following_url":"https://api.github.com/users/freegroup/following{/other_user}","gists_url":"https://api.github.com/users/freegroup/gists{/gist_id}","starred_url":"https://api.github.com/users/freegroup/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/freegroup/subscriptions","organizations_url":"https://api.github.com/users/freegroup/orgs","repos_url":"https://api.github.com/users/freegroup/repos","events_url":"https://api.github.com/users/freegroup/events{/privacy}","received_events_url":"https://api.github.com/users/freegroup/received_events","type":"User","site_admin":false},"body":"…Add tutorials, components of the gardeneer and foreign links to gardener related pages","created_at":"2018-08-09T12:01:34Z","updated_at":"2018-09-03T10:41:03Z","closed_at":null,"merged_at":null,"merge_commit_sha":"58a79181ddf79fd14d5476d72ffd20452cf4a326","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/gardener/documentation/pulls/21/commits","review_comments_url":"https://api.github.com/repos/gardener/documentation/pulls/21/comments","review_comment_url":"https://api.github.com/repos/gardener/documentation/pulls/comments{/number}","comments_url":"https://api.github.com/repos/gardener/documentation/issues/21/comments","statuses_url":"https://api.github.com/repos/gardener/documentation/statuses/7cad38aa80b696ddaee6f0a467cecd34607c502a","head":{"label":"freegroup:master","ref":"master","sha":"7cad38aa80b696ddaee6f0a467cecd34607c502a","user":{"login":"freegroup","id":1155039,"node_id":"MDQ6VXNlcjExNTUwMzk=","avatar_url":"https://avatars1.githubusercontent.com/u/1155039?v=4","gravatar_id":"","url":"https://api.github.com/users/freegroup","html_url":"https://github.com/freegroup","followers_url":"https://api.github.com/users/freegroup/followers","following_url":"https://api.github.com/users/freegroup/following{/other_user}","gists_url":"https://api.github.com/users/freegroup/gists{/gist_id}","starred_url":"https://api.github.com/users/freegroup/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/freegroup/subscriptions","organizations_url":"https://api.github.com/users/freegroup/orgs","repos_url":"https://api.github.com/users/freegroup/repos","events_url":"https://api.github.com/users/freegroup/events{/privacy}","received_events_url":"https://api.github.com/users/freegroup/received_events","type":"User","site_admin":false},"repo":{"id":144144629,"node_id":"MDEwOlJlcG9zaXRvcnkxNDQxNDQ2Mjk=","name":"documentation","full_name":"freegroup/documentation","owner":{"login":"freegroup","id":1155039,"node_id":"MDQ6VXNlcjExNTUwMzk=","avatar_url":"https://avatars1.githubusercontent.com/u/1155039?v=4","gravatar_id":"","url":"https://api.github.com/users/freegroup","html_url":"https://github.com/freegroup","followers_url":"https://api.github.com/users/freegroup/followers","following_url":"https://api.github.com/users/freegroup/following{/other_user}","gists_url":"https://api.github.com/users/freegroup/gists{/gist_id}","starred_url":"https://api.github.com/users/freegroup/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/freegroup/subscriptions","organizations_url":"https://api.github.com/users/freegroup/orgs","repos_url":"https://api.github.com/users/freegroup/repos","events_url":"https://api.github.com/users/freegroup/events{/privacy}","received_events_url":"https://api.github.com/users/freegroup/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/freegroup/documentation","description":"Documentation and website","fork":true,"url":"https://api.github.com/repos/freegroup/documentation","forks_url":"https://api.github.com/repos/freegroup/documentation/forks","keys_url":"https://api.github.com/repos/freegroup/documentation/keys{/key_id}","collaborators_url":"https://api.github.com/repos/freegroup/documentation/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/freegroup/documentation/teams","hooks_url":"https://api.github.com/repos/freegroup/documentation/hooks","issue_events_url":"https://api.github.com/repos/freegroup/documentation/issues/events{/number}","events_url":"https://api.github.com/repos/freegroup/documentation/events","assignees_url":"https://api.github.com/repos/freegroup/documentation/assignees{/user}","branches_url":"https://api.github.com/repos/freegroup/documentation/branches{/branch}","tags_url":"https://api.github.com/repos/freegroup/documentation/tags","blobs_url":"https://api.github.com/repos/freegroup/documentation/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/freegroup/documentation/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/freegroup/documentation/git/refs{/sha}","trees_url":"https://api.github.com/repos/freegroup/documentation/git/trees{/sha}","statuses_url":"https://api.github.com/repos/freegroup/documentation/statuses/{sha}","languages_url":"https://api.github.com/repos/freegroup/documentation/languages","stargazers_url":"https://api.github.com/repos/freegroup/documentation/stargazers","contributors_url":"https://api.github.com/repos/freegroup/documentation/contributors","subscribers_url":"https://api.github.com/repos/freegroup/documentation/subscribers","subscription_url":"https://api.github.com/repos/freegroup/documentation/subscription","commits_url":"https://api.github.com/repos/freegroup/documentation/commits{/sha}","git_commits_url":"https://api.github.com/repos/freegroup/documentation/git/commits{/sha}","comments_url":"https://api.github.com/repos/freegroup/documentation/comments{/number}","issue_comment_url":"https://api.github.com/repos/freegroup/documentation/issues/comments{/number}","contents_url":"https://api.github.com/repos/freegroup/documentation/contents/{+path}","compare_url":"https://api.github.com/repos/freegroup/documentation/compare/{base}...{head}","merges_url":"https://api.github.com/repos/freegroup/documentation/merges","archive_url":"https://api.github.com/repos/freegroup/documentation/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/freegroup/documentation/downloads","issues_url":"https://api.github.com/repos/freegroup/documentation/issues{/number}","pulls_url":"https://api.github.com/repos/freegroup/documentation/pulls{/number}","milestones_url":"https://api.github.com/repos/freegroup/documentation/milestones{/number}","notifications_url":"https://api.github.com/repos/freegroup/documentation/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/freegroup/documentation/labels{/name}","releases_url":"https://api.github.com/repos/freegroup/documentation/releases{/id}","deployments_url":"https://api.github.com/repos/freegroup/documentation/deployments","created_at":"2018-08-09T11:39:41Z","updated_at":"2018-09-03T10:39:15Z","pushed_at":"2018-09-03T10:39:12Z","git_url":"git://github.com/freegroup/documentation.git","ssh_url":"git@github.com:freegroup/documentation.git","clone_url":"https://github.com/freegroup/documentation.git","svn_url":"https://github.com/freegroup/documentation","homepage":"","size":26208,"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":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"gardener:master","ref":"master","sha":"22a04eba3413ec5b31d48074699b488e602d3469","user":{"login":"gardener","id":33683699,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMzNjgzNjk5","avatar_url":"https://avatars2.githubusercontent.com/u/33683699?v=4","gravatar_id":"","url":"https://api.github.com/users/gardener","html_url":"https://github.com/gardener","followers_url":"https://api.github.com/users/gardener/followers","following_url":"https://api.github.com/users/gardener/following{/other_user}","gists_url":"https://api.github.com/users/gardener/gists{/gist_id}","starred_url":"https://api.github.com/users/gardener/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gardener/subscriptions","organizations_url":"https://api.github.com/users/gardener/orgs","repos_url":"https://api.github.com/users/gardener/repos","events_url":"https://api.github.com/users/gardener/events{/privacy}","received_events_url":"https://api.github.com/users/gardener/received_events","type":"Organization","site_admin":false},"repo":{"id":113030845,"node_id":"MDEwOlJlcG9zaXRvcnkxMTMwMzA4NDU=","name":"documentation","full_name":"gardener/documentation","owner":{"login":"gardener","id":33683699,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMzNjgzNjk5","avatar_url":"https://avatars2.githubusercontent.com/u/33683699?v=4","gravatar_id":"","url":"https://api.github.com/users/gardener","html_url":"https://github.com/gardener","followers_url":"https://api.github.com/users/gardener/followers","following_url":"https://api.github.com/users/gardener/following{/other_user}","gists_url":"https://api.github.com/users/gardener/gists{/gist_id}","starred_url":"https://api.github.com/users/gardener/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gardener/subscriptions","organizations_url":"https://api.github.com/users/gardener/orgs","repos_url":"https://api.github.com/users/gardener/repos","events_url":"https://api.github.com/users/gardener/events{/privacy}","received_events_url":"https://api.github.com/users/gardener/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/gardener/documentation","description":"Documentation and website","fork":false,"url":"https://api.github.com/repos/gardener/documentation","forks_url":"https://api.github.com/repos/gardener/documentation/forks","keys_url":"https://api.github.com/repos/gardener/documentation/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gardener/documentation/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gardener/documentation/teams","hooks_url":"https://api.github.com/repos/gardener/documentation/hooks","issue_events_url":"https://api.github.com/repos/gardener/documentation/issues/events{/number}","events_url":"https://api.github.com/repos/gardener/documentation/events","assignees_url":"https://api.github.com/repos/gardener/documentation/assignees{/user}","branches_url":"https://api.github.com/repos/gardener/documentation/branches{/branch}","tags_url":"https://api.github.com/repos/gardener/documentation/tags","blobs_url":"https://api.github.com/repos/gardener/documentation/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gardener/documentation/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gardener/documentation/git/refs{/sha}","trees_url":"https://api.github.com/repos/gardener/documentation/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gardener/documentation/statuses/{sha}","languages_url":"https://api.github.com/repos/gardener/documentation/languages","stargazers_url":"https://api.github.com/repos/gardener/documentation/stargazers","contributors_url":"https://api.github.com/repos/gardener/documentation/contributors","subscribers_url":"https://api.github.com/repos/gardener/documentation/subscribers","subscription_url":"https://api.github.com/repos/gardener/documentation/subscription","commits_url":"https://api.github.com/repos/gardener/documentation/commits{/sha}","git_commits_url":"https://api.github.com/repos/gardener/documentation/git/commits{/sha}","comments_url":"https://api.github.com/repos/gardener/documentation/comments{/number}","issue_comment_url":"https://api.github.com/repos/gardener/documentation/issues/comments{/number}","contents_url":"https://api.github.com/repos/gardener/documentation/contents/{+path}","compare_url":"https://api.github.com/repos/gardener/documentation/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gardener/documentation/merges","archive_url":"https://api.github.com/repos/gardener/documentation/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gardener/documentation/downloads","issues_url":"https://api.github.com/repos/gardener/documentation/issues{/number}","pulls_url":"https://api.github.com/repos/gardener/documentation/pulls{/number}","milestones_url":"https://api.github.com/repos/gardener/documentation/milestones{/number}","notifications_url":"https://api.github.com/repos/gardener/documentation/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gardener/documentation/labels{/name}","releases_url":"https://api.github.com/repos/gardener/documentation/releases{/id}","deployments_url":"https://api.github.com/repos/gardener/documentation/deployments","created_at":"2017-12-04T10:49:55Z","updated_at":"2018-08-11T07:43:07Z","pushed_at":"2018-09-03T10:39:14Z","git_url":"git://github.com/gardener/documentation.git","ssh_url":"git@github.com:gardener/documentation.git","clone_url":"https://github.com/gardener/documentation.git","svn_url":"https://github.com/gardener/documentation","homepage":"","size":4169,"stargazers_count":9,"watchers_count":9,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":4,"mirror_url":null,"archived":false,"open_issues_count":4,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":4,"open_issues":4,"watchers":9,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/gardener/documentation/pulls/21"},"html":{"href":"https://github.com/gardener/documentation/pull/21"},"issue":{"href":"https://api.github.com/repos/gardener/documentation/issues/21"},"comments":{"href":"https://api.github.com/repos/gardener/documentation/issues/21/comments"},"review_comments":{"href":"https://api.github.com/repos/gardener/documentation/pulls/21/comments"},"review_comment":{"href":"https://api.github.com/repos/gardener/documentation/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/gardener/documentation/pulls/21/commits"},"statuses":{"href":"https://api.github.com/repos/gardener/documentation/statuses/7cad38aa80b696ddaee6f0a467cecd34607c502a"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"freegroup"}}