payload: {"action":"created","comment":{"url":"https://api.github.com/repos/openshift/openshift-docs/pulls/comments/288657758","pull_request_review_id":243377030,"id":288657758,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI4ODY1Nzc1OA==","diff_hunk":"@@ -0,0 +1,166 @@\n+// Module included in the following assemblies:\n+//\n+// * disaster_recovery/scenario-3-expired-certs.adoc\n+\n+[id=\"dr-scenario-3-recovering-expired-certs_{context}\"]\n+= Recovering from expired control plane certificates\n+\n+Follow this procedure to recover from a situation where your control plane certificates have expired.\n+\n+.Prerequisites\n+\n+* SSH access to master hosts.\n+\n+.Procedure\n+\n+. Access a master host with an expired certificate as the root user.\n+\n+. Obtain the `cluster-kube-apiserver-operator` image reference for a release.\n++\n+----\n+# RELEASE_IMAGE=<release_image> <1>\n+----\n+<1> An example value for `<release_image>` is `quay.io/openshift-release-dev/ocp-release:4.1.0`.\n++\n+----\n+# KAO_IMAGE=$( oc adm release info --registry-config='/var/lib/kubelet/config.json' \"${RELEASE_IMAGE}\" --image-for=cluster-kube-apiserver-operator )\n+----\n+\n+. Pull the `cluster-kube-apiserver-operator` image.\n++\n+----\n+# podman pull --authfile=/var/lib/kubelet/config.json \"${KAO_IMAGE}\"\n+----\n+\n+. Create a recovery API server.\n++\n+----\n+# podman run -it --network=host -v /etc/kubernetes/:/etc/kubernetes/:Z --entrypoint=/usr/bin/cluster-kube-apiserver-operator \"${KAO_IMAGE}\" recovery-apiserver create\n+----\n+\n+. Run the `export KUBECONFIG` command from the output of the above command, which is needed for the `oc` commands later in this procedure.\n++\n+----\n+# export KUBECONFIG=/<path_to_recovery_kubeconfig>/admin.kubeconfig\n+----\n+\n+. Wait for the recovery API server to come up.\n++\n+----\n+# until oc get namespace kube-system 2>/dev/null 1>&2; do echo 'Waiting for recovery apiserver to come up.'; sleep 1; done\n+----\n+\n+. Run the `regenerate-certificates` command. It fixes the certificates in the API, overwrites the old certificates on the local drive, and restarts static Pods to pick them up.\n++\n+----\n+# podman run -it --network=host -v /etc/kubernetes/:/etc/kubernetes/:Z --entrypoint=/usr/bin/cluster-kube-apiserver-operator \"${KAO_IMAGE}\" regenerate-certificates\n+----\n+\n+. After the certificates are fixed in the API, use the following commands to force new rollouts for the control plane. It will reinstall itself on the other nodes because the kubelet is connected to API servers using an internal load balancer.\n++\n+----\n+# oc patch kubeapiserver cluster -p='{\"spec\": {\"forceRedeploymentReason\": \"recovery-'\"$( date --rfc-3339=ns )\"'\"}}' --type=merge\n+----\n++\n+----\n+# oc patch kubecontrollermanager cluster -p='{\"spec\": {\"forceRedeploymentReason\": \"recovery-'\"$( date --rfc-3339=ns )\"'\"}}' --type=merge\n+----\n++\n+----\n+# oc patch kubescheduler cluster -p='{\"spec\": {\"forceRedeploymentReason\": \"recovery-'\"$( date --rfc-3339=ns )\"'\"}}' --type=merge\n+----\n+\n+. Create a bootstrap kubeconfig with a valid user.\n+\n+.. Create a file called `restore_kubeconfig.sh` with the following contents.\n++\n+----\n+#!/bin/bash\n+\n+set -eou pipefail\n+\n+# context\n+intapi=$(oc get infrastructures.config.openshift.io cluster -o \"jsonpath={.status.apiServerURL}\")\n+context=\"$(oc config current-context)\"\n+# cluster\n+cluster=\"$(oc config view -o \"jsonpath={.contexts[?(@.name==\\\"$context\\\")].context.cluster}\")\"\n+server=\"$(oc config view -o \"jsonpath={.clusters[?(@.name==\\\"$cluster\\\")].cluster.server}\")\"\n+# token\n+ca_crt_data=\"$(oc get secret -n openshift-machine-config-operator node-bootstrapper-token -o \"jsonpath={.data.ca\\.crt}\" | base64 --decode)\"\n+namespace=\"$(oc get secret -n openshift-machine-config-operator node-bootstrapper-token  -o \"jsonpath={.data.namespace}\" | base64 --decode)\"\n+token=\"$(oc get secret -n openshift-machine-config-operator node-bootstrapper-token -o \"jsonpath={.data.token}\" | base64 --decode)\"\n+\n+export KUBECONFIG=\"$(mktemp)\"\n+kubectl config set-credentials \"kubelet\" --token=\"$token\" >/dev/null\n+ca_crt=\"$(mktemp)\"; echo \"$ca_crt_data\" > $ca_crt\n+kubectl config set-cluster $cluster --server=\"$intapi\" --certificate-authority=\"$ca_crt\" --embed-certs >/dev/null\n+kubectl config set-context kubelet --cluster=\"$cluster\" --user=\"kubelet\" >/dev/null\n+kubectl config use-context kubelet >/dev/null\n+cat \"$KUBECONFIG\"\n+----\n+\n+.. Make the script executable.\n++\n+----\n+# chmod +x restore_kubeconfig.sh\n+----\n+\n+.. Execute the script and save the output to a file called `kubeconfig`.\n++\n+----\n+# ./restore_kubeconfig.sh > kubeconfig\n+----\n+\n+.. Copy the `kubeconfig` file to all master hosts and move it to `/etc/kubernetes/kubeconfig`.\n+\n+. Recover the kubelet on all masters.\n+\n+.. On a master host, stop the kubelet.\n++\n+----\n+# systemctl stop kubelet\n+----\n+\n+.. Delete stale kubelet data.\n++\n+----\n+# rm -rf /var/lib/kubelet/*","path":"modules/dr-recover-expired-control-plane-certs.adoc","position":127,"original_position":127,"commit_id":"e358f02e1cd83bf773045a2081a33beac98a1ba9","original_commit_id":"e358f02e1cd83bf773045a2081a33beac98a1ba9","user":{"login":"tnozicka","id":11869554,"node_id":"MDQ6VXNlcjExODY5NTU0","avatar_url":"https://avatars2.githubusercontent.com/u/11869554?v=4","gravatar_id":"","url":"https://api.github.com/users/tnozicka","html_url":"https://github.com/tnozicka","followers_url":"https://api.github.com/users/tnozicka/followers","following_url":"https://api.github.com/users/tnozicka/following{/other_user}","gists_url":"https://api.github.com/users/tnozicka/gists{/gist_id}","starred_url":"https://api.github.com/users/tnozicka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tnozicka/subscriptions","organizations_url":"https://api.github.com/users/tnozicka/orgs","repos_url":"https://api.github.com/users/tnozicka/repos","events_url":"https://api.github.com/users/tnozicka/events{/privacy}","received_events_url":"https://api.github.com/users/tnozicka/received_events","type":"User","site_admin":false},"body":"We can't delete `/var/lib/kubelet/config.json`, if the recovery fails we need this to recover.","created_at":"2019-05-29T16:27:24Z","updated_at":"2019-05-29T16:27:24Z","html_url":"https://github.com/openshift/openshift-docs/pull/14859#discussion_r288657758","pull_request_url":"https://api.github.com/repos/openshift/openshift-docs/pulls/14859","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/openshift/openshift-docs/pulls/comments/288657758"},"html":{"href":"https://github.com/openshift/openshift-docs/pull/14859#discussion_r288657758"},"pull_request":{"href":"https://api.github.com/repos/openshift/openshift-docs/pulls/14859"}}},"pull_request":{"url":"https://api.github.com/repos/openshift/openshift-docs/pulls/14859","id":279083704,"node_id":"MDExOlB1bGxSZXF1ZXN0Mjc5MDgzNzA0","html_url":"https://github.com/openshift/openshift-docs/pull/14859","diff_url":"https://github.com/openshift/openshift-docs/pull/14859.diff","patch_url":"https://github.com/openshift/openshift-docs/pull/14859.patch","issue_url":"https://api.github.com/repos/openshift/openshift-docs/issues/14859","number":14859,"state":"open","locked":false,"title":"OSDOCS-429: Adding disaster recovery docs","user":{"login":"bergerhoffer","id":7443887,"node_id":"MDQ6VXNlcjc0NDM4ODc=","avatar_url":"https://avatars3.githubusercontent.com/u/7443887?v=4","gravatar_id":"","url":"https://api.github.com/users/bergerhoffer","html_url":"https://github.com/bergerhoffer","followers_url":"https://api.github.com/users/bergerhoffer/followers","following_url":"https://api.github.com/users/bergerhoffer/following{/other_user}","gists_url":"https://api.github.com/users/bergerhoffer/gists{/gist_id}","starred_url":"https://api.github.com/users/bergerhoffer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bergerhoffer/subscriptions","organizations_url":"https://api.github.com/users/bergerhoffer/orgs","repos_url":"https://api.github.com/users/bergerhoffer/repos","events_url":"https://api.github.com/users/bergerhoffer/events{/privacy}","received_events_url":"https://api.github.com/users/bergerhoffer/received_events","type":"User","site_admin":false},"body":"Preview: http://file.rdu.redhat.com/~ahoffer/2019/disaster-recovery/disaster_recovery/scenario-1-infra-recovery.html","created_at":"2019-05-15T12:52:41Z","updated_at":"2019-05-29T16:27:24Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a076bb0020eca3fe93fcbb422b3838dddd2b0957","assignee":{"login":"hexfusion","id":1249749,"node_id":"MDQ6VXNlcjEyNDk3NDk=","avatar_url":"https://avatars0.githubusercontent.com/u/1249749?v=4","gravatar_id":"","url":"https://api.github.com/users/hexfusion","html_url":"https://github.com/hexfusion","followers_url":"https://api.github.com/users/hexfusion/followers","following_url":"https://api.github.com/users/hexfusion/following{/other_user}","gists_url":"https://api.github.com/users/hexfusion/gists{/gist_id}","starred_url":"https://api.github.com/users/hexfusion/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hexfusion/subscriptions","organizations_url":"https://api.github.com/users/hexfusion/orgs","repos_url":"https://api.github.com/users/hexfusion/repos","events_url":"https://api.github.com/users/hexfusion/events{/privacy}","received_events_url":"https://api.github.com/users/hexfusion/received_events","type":"User","site_admin":false},"assignees":[{"login":"hexfusion","id":1249749,"node_id":"MDQ6VXNlcjEyNDk3NDk=","avatar_url":"https://avatars0.githubusercontent.com/u/1249749?v=4","gravatar_id":"","url":"https://api.github.com/users/hexfusion","html_url":"https://github.com/hexfusion","followers_url":"https://api.github.com/users/hexfusion/followers","following_url":"https://api.github.com/users/hexfusion/following{/other_user}","gists_url":"https://api.github.com/users/hexfusion/gists{/gist_id}","starred_url":"https://api.github.com/users/hexfusion/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hexfusion/subscriptions","organizations_url":"https://api.github.com/users/hexfusion/orgs","repos_url":"https://api.github.com/users/hexfusion/repos","events_url":"https://api.github.com/users/hexfusion/events{/privacy}","received_events_url":"https://api.github.com/users/hexfusion/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":743752057,"node_id":"MDU6TGFiZWw3NDM3NTIwNTc=","url":"https://api.github.com/repos/openshift/openshift-docs/labels/Peer%20Review%20Needed","name":"Peer Review Needed","color":"0052cc","default":false},{"id":1063092795,"node_id":"MDU6TGFiZWwxMDYzMDkyNzk1","url":"https://api.github.com/repos/openshift/openshift-docs/labels/branch/enterprise-4.1","name":"branch/enterprise-4.1","color":"77dd9e","default":false},{"id":756334668,"node_id":"MDU6TGFiZWw3NTYzMzQ2Njg=","url":"https://api.github.com/repos/openshift/openshift-docs/labels/size/XL","name":"size/XL","color":"ee5500","default":false}],"milestone":{"url":"https://api.github.com/repos/openshift/openshift-docs/milestones/6","html_url":"https://github.com/openshift/openshift-docs/milestone/6","labels_url":"https://api.github.com/repos/openshift/openshift-docs/milestones/6/labels","id":1435997,"node_id":"MDk6TWlsZXN0b25lMTQzNTk5Nw==","number":6,"title":"Future Release","description":"Tracker for content relevant to latest Origin code, but still targeting a future release of Enterprise, Dedicated, and/or Online.","creator":{"login":"adellape","id":3442316,"node_id":"MDQ6VXNlcjM0NDIzMTY=","avatar_url":"https://avatars1.githubusercontent.com/u/3442316?v=4","gravatar_id":"","url":"https://api.github.com/users/adellape","html_url":"https://github.com/adellape","followers_url":"https://api.github.com/users/adellape/followers","following_url":"https://api.github.com/users/adellape/following{/other_user}","gists_url":"https://api.github.com/users/adellape/gists{/gist_id}","starred_url":"https://api.github.com/users/adellape/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adellape/subscriptions","organizations_url":"https://api.github.com/users/adellape/orgs","repos_url":"https://api.github.com/users/adellape/repos","events_url":"https://api.github.com/users/adellape/events{/privacy}","received_events_url":"https://api.github.com/users/adellape/received_events","type":"User","site_admin":false},"open_issues":28,"closed_issues":585,"state":"open","created_at":"2015-11-30T20:14:06Z","updated_at":"2019-05-29T16:04:50Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/openshift/openshift-docs/pulls/14859/commits","review_comments_url":"https://api.github.com/repos/openshift/openshift-docs/pulls/14859/comments","review_comment_url":"https://api.github.com/repos/openshift/openshift-docs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/openshift/openshift-docs/issues/14859/comments","statuses_url":"https://api.github.com/repos/openshift/openshift-docs/statuses/e358f02e1cd83bf773045a2081a33beac98a1ba9","head":{"label":"bergerhoffer:disaster-recovery","ref":"disaster-recovery","sha":"e358f02e1cd83bf773045a2081a33beac98a1ba9","user":{"login":"bergerhoffer","id":7443887,"node_id":"MDQ6VXNlcjc0NDM4ODc=","avatar_url":"https://avatars3.githubusercontent.com/u/7443887?v=4","gravatar_id":"","url":"https://api.github.com/users/bergerhoffer","html_url":"https://github.com/bergerhoffer","followers_url":"https://api.github.com/users/bergerhoffer/followers","following_url":"https://api.github.com/users/bergerhoffer/following{/other_user}","gists_url":"https://api.github.com/users/bergerhoffer/gists{/gist_id}","starred_url":"https://api.github.com/users/bergerhoffer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bergerhoffer/subscriptions","organizations_url":"https://api.github.com/users/bergerhoffer/orgs","repos_url":"https://api.github.com/users/bergerhoffer/repos","events_url":"https://api.github.com/users/bergerhoffer/events{/privacy}","received_events_url":"https://api.github.com/users/bergerhoffer/received_events","type":"User","site_admin":false},"repo":{"id":163989783,"node_id":"MDEwOlJlcG9zaXRvcnkxNjM5ODk3ODM=","name":"openshift-docs","full_name":"bergerhoffer/openshift-docs","private":false,"owner":{"login":"bergerhoffer","id":7443887,"node_id":"MDQ6VXNlcjc0NDM4ODc=","avatar_url":"https://avatars3.githubusercontent.com/u/7443887?v=4","gravatar_id":"","url":"https://api.github.com/users/bergerhoffer","html_url":"https://github.com/bergerhoffer","followers_url":"https://api.github.com/users/bergerhoffer/followers","following_url":"https://api.github.com/users/bergerhoffer/following{/other_user}","gists_url":"https://api.github.com/users/bergerhoffer/gists{/gist_id}","starred_url":"https://api.github.com/users/bergerhoffer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bergerhoffer/subscriptions","organizations_url":"https://api.github.com/users/bergerhoffer/orgs","repos_url":"https://api.github.com/users/bergerhoffer/repos","events_url":"https://api.github.com/users/bergerhoffer/events{/privacy}","received_events_url":"https://api.github.com/users/bergerhoffer/received_events","type":"User","site_admin":false},"html_url":"https://github.com/bergerhoffer/openshift-docs","description":"OpenShift Documentation","fork":true,"url":"https://api.github.com/repos/bergerhoffer/openshift-docs","forks_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/forks","keys_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/teams","hooks_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/hooks","issue_events_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/issues/events{/number}","events_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/events","assignees_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/assignees{/user}","branches_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/branches{/branch}","tags_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/tags","blobs_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/languages","stargazers_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/stargazers","contributors_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/contributors","subscribers_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/subscribers","subscription_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/subscription","commits_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/contents/{+path}","compare_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/merges","archive_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/downloads","issues_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/issues{/number}","pulls_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/labels{/name}","releases_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/releases{/id}","deployments_url":"https://api.github.com/repos/bergerhoffer/openshift-docs/deployments","created_at":"2019-01-03T15:24:44Z","updated_at":"2019-01-03T15:24:52Z","pushed_at":"2019-05-29T15:43:36Z","git_url":"git://github.com/bergerhoffer/openshift-docs.git","ssh_url":"git@github.com:bergerhoffer/openshift-docs.git","clone_url":"https://github.com/bergerhoffer/openshift-docs.git","svn_url":"https://github.com/bergerhoffer/openshift-docs","homepage":"https://docs.openshift.org/latest/welcome/index.html","size":101188,"stargazers_count":0,"watchers_count":0,"language":"CSS","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"openshift:enterprise-4.1","ref":"enterprise-4.1","sha":"ff96496cc23f0106e793e669518e9c83d6dab2cd","user":{"login":"openshift","id":792337,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc5MjMzNw==","avatar_url":"https://avatars3.githubusercontent.com/u/792337?v=4","gravatar_id":"","url":"https://api.github.com/users/openshift","html_url":"https://github.com/openshift","followers_url":"https://api.github.com/users/openshift/followers","following_url":"https://api.github.com/users/openshift/following{/other_user}","gists_url":"https://api.github.com/users/openshift/gists{/gist_id}","starred_url":"https://api.github.com/users/openshift/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openshift/subscriptions","organizations_url":"https://api.github.com/users/openshift/orgs","repos_url":"https://api.github.com/users/openshift/repos","events_url":"https://api.github.com/users/openshift/events{/privacy}","received_events_url":"https://api.github.com/users/openshift/received_events","type":"Organization","site_admin":false},"repo":{"id":21740844,"node_id":"MDEwOlJlcG9zaXRvcnkyMTc0MDg0NA==","name":"openshift-docs","full_name":"openshift/openshift-docs","private":false,"owner":{"login":"openshift","id":792337,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc5MjMzNw==","avatar_url":"https://avatars3.githubusercontent.com/u/792337?v=4","gravatar_id":"","url":"https://api.github.com/users/openshift","html_url":"https://github.com/openshift","followers_url":"https://api.github.com/users/openshift/followers","following_url":"https://api.github.com/users/openshift/following{/other_user}","gists_url":"https://api.github.com/users/openshift/gists{/gist_id}","starred_url":"https://api.github.com/users/openshift/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openshift/subscriptions","organizations_url":"https://api.github.com/users/openshift/orgs","repos_url":"https://api.github.com/users/openshift/repos","events_url":"https://api.github.com/users/openshift/events{/privacy}","received_events_url":"https://api.github.com/users/openshift/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/openshift/openshift-docs","description":"OpenShift Documentation","fork":false,"url":"https://api.github.com/repos/openshift/openshift-docs","forks_url":"https://api.github.com/repos/openshift/openshift-docs/forks","keys_url":"https://api.github.com/repos/openshift/openshift-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/openshift/openshift-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/openshift/openshift-docs/teams","hooks_url":"https://api.github.com/repos/openshift/openshift-docs/hooks","issue_events_url":"https://api.github.com/repos/openshift/openshift-docs/issues/events{/number}","events_url":"https://api.github.com/repos/openshift/openshift-docs/events","assignees_url":"https://api.github.com/repos/openshift/openshift-docs/assignees{/user}","branches_url":"https://api.github.com/repos/openshift/openshift-docs/branches{/branch}","tags_url":"https://api.github.com/repos/openshift/openshift-docs/tags","blobs_url":"https://api.github.com/repos/openshift/openshift-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/openshift/openshift-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/openshift/openshift-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/openshift/openshift-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/openshift/openshift-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/openshift/openshift-docs/languages","stargazers_url":"https://api.github.com/repos/openshift/openshift-docs/stargazers","contributors_url":"https://api.github.com/repos/openshift/openshift-docs/contributors","subscribers_url":"https://api.github.com/repos/openshift/openshift-docs/subscribers","subscription_url":"https://api.github.com/repos/openshift/openshift-docs/subscription","commits_url":"https://api.github.com/repos/openshift/openshift-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/openshift/openshift-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/openshift/openshift-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/openshift/openshift-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/openshift/openshift-docs/contents/{+path}","compare_url":"https://api.github.com/repos/openshift/openshift-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/openshift/openshift-docs/merges","archive_url":"https://api.github.com/repos/openshift/openshift-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/openshift/openshift-docs/downloads","issues_url":"https://api.github.com/repos/openshift/openshift-docs/issues{/number}","pulls_url":"https://api.github.com/repos/openshift/openshift-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/openshift/openshift-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/openshift/openshift-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/openshift/openshift-docs/labels{/name}","releases_url":"https://api.github.com/repos/openshift/openshift-docs/releases{/id}","deployments_url":"https://api.github.com/repos/openshift/openshift-docs/deployments","created_at":"2014-07-11T15:14:42Z","updated_at":"2019-05-28T04:25:48Z","pushed_at":"2019-05-29T16:23:40Z","git_url":"git://github.com/openshift/openshift-docs.git","ssh_url":"git@github.com:openshift/openshift-docs.git","clone_url":"https://github.com/openshift/openshift-docs.git","svn_url":"https://github.com/openshift/openshift-docs","homepage":"https://docs.openshift.org/latest/welcome/index.html","size":103728,"stargazers_count":285,"watchers_count":285,"language":"CSS","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":715,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":341,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":715,"open_issues":341,"watchers":285,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/openshift/openshift-docs/pulls/14859"},"html":{"href":"https://github.com/openshift/openshift-docs/pull/14859"},"issue":{"href":"https://api.github.com/repos/openshift/openshift-docs/issues/14859"},"comments":{"href":"https://api.github.com/repos/openshift/openshift-docs/issues/14859/comments"},"review_comments":{"href":"https://api.github.com/repos/openshift/openshift-docs/pulls/14859/comments"},"review_comment":{"href":"https://api.github.com/repos/openshift/openshift-docs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/openshift/openshift-docs/pulls/14859/commits"},"statuses":{"href":"https://api.github.com/repos/openshift/openshift-docs/statuses/e358f02e1cd83bf773045a2081a33beac98a1ba9"}},"author_association":"CONTRIBUTOR"}}
other: {"actor":{"display_login":"tnozicka"}}