{"action":"created","comment":{"url":"https://api.github.com/repos/kata-containers/documentation/pulls/comments/187036225","pull_request_review_id":118730711,"id":187036225,"diff_hunk":"@@ -0,0 +1,685 @@\n+# Kata Containers Architecture\n+\n+* [Overview](#overview)\n+    * [Hypervisor](#hypervisor)\n+      * [Assets](#assets)\n+        * [Guest kernel](#guest-kernel)\n+        * [Root filesystem image](#root-filesystem-image)\n+    * [Agent](#agent)\n+    * [Runtime](#runtime)\n+        * [Configuration](#configuration)\n+        * [Significant commands](#significant-commands)\n+            * [create](#create)\n+            * [start](#start)\n+            * [exec](#exec)\n+            * [kill](#kill)\n+            * [delete](#delete)\n+    * [Proxy](#proxy)\n+    * [Shim](#shim)\n+    * [Networking](#networking)\n+    * [Storage](#storage)\n+    * [Kubernetes Support](#kubernetes-support)\n+        * [Problem Statement](#problem-statemem)\n+        * [OCI Annotations](#oci-annotations)\n+        * [Generalization](#generalization)\n+        * [Mixing VM based and namespace based runtimes](#mixing-vm-based-and-namespace-based-runtimes)\n+* [Appendices](#appendices)\n+    * [DAX](#dax)\n+    * [Previous Releases](#previous-releases)\n+    * [Resources](#resources)\n+\n+## Overview\n+\n+This is an architectural overview of Kata Containers, based on the 1.0 release.\n+\n+The two primary deliverables of the Kata Containers project are a container runtime\n+and a CRI friendly library API.\n+\n+The [Kata Containers runtime (kata-runtime)](https://github.com/kata-containers/runtime)\n+is compatible with the [OCI](https://github.com/opencontainers) [runtime specification](https://github.com/opencontainers/runtime-spec)\n+and therefore works seamlessly with the\n+[Docker\\* Engine](https://www.docker.com/products/docker-engine) pluggable runtime\n+architecture. It also supports the [Kubernetes\\* Container Runtime Interface (CRI)](https://github.com/kubernetes/kubernetes/tree/master/pkg/kubelet/apis/cri/v1alpha1/runtime)\n+through the [CRI-O\\*](https://github.com/kubernetes-incubator/cri-o) and\n+[CRI-containerd\\*](https://github.com/containerd/cri) implementation. In other words, you can transparently\n+select between the [default Docker and CRI shim runtime (runc)](https://github.com/opencontainers/runc)\n+and `kata-runtime`.\n+\n+![Docker and Kata Containers](arch-images/docker-kata.png)\n+\n+`kata-runtime` creates a QEMU\\*/KVM virtual machine for each container or pod\n+the Docker engine or Kubernetes' `kubelet` creates.\n+\n+The container process is then spawned by an\n+[agent](https://github.com/kata-containers/agent) running as a daemon inside\n+the virtual machine. The agent runs a gRPC server in the guest.  This runs on a\n+virtio serial interface in the guest, and QEMU exposes them as a serial device on\n+the host. `kata-runtime` uses gRPC protocol the control device for sending container management\n+commands to the agent while the I/O serial device is used to pass I/O streams (`stdout`, `stderr`,\n+`stdin`) between the guest and the Docker Engine.\n+\n+For any given container, both the init process and all potentially executed\n+commands within that container, together with their related I/O streams, need\n+to go through the virtio serial interface exported by QEMU. A [Kata Containers\n+proxy (`kata-proxy`)](https://github.com/kata-containers/proxy) instance is\n+launched for each virtual machine to handle multiplexing and demultiplexing\n+those commands and streams.\n+\n+On the host, each container process's removal is handled by a reaper in the higher\n+layers of the container stack. In the case of Docker it is handled by `containerd-shim`.\n+In the case of CRI-O it is handled by `conmon`. For clarity, for the remainder\n+of this document the term \"container process reaper\" will be used to refer to\n+either reaper. As Kata Containers processes run inside their own  virtual machines,\n+the container process reaper cannot monitor, control\n+or reap them. `kata-runtime` fixes that issue by creating an [additional shim process\n+(`kata-shim`)](https://github.com/kata-containers/shim) between the container process\n+reaper and `kata-proxy`. A `kata-shim` instance will both forward signals and `stdin`\n+streams to the container process on the guest and pass the container `stdout`\n+and `stderr` streams back up the stack to the CRI shim or Docker via the container process\n+reaper. `kata-runtime` creates a `kata-shim` daemon for each container and for each\n+OCI command received to run within an already running container (example, `docker\n+exec`).\n+\n+The container workload, that is, the actual OCI bundle rootfs, is exported from the\n+host to the virtual machine.  In the case where a block-based graph driver is\n+configured, virtio-scsi will be used. In all other cases a 9pfs virtio mount point\n+will be used. `kata-agent` uses this mount point as the root filesystem for the\n+container processes.\n+\n+## Hypervisor\n+\n+Kata Containers is designed to support multiple hypervisors.  For the 1.0 release,\n+Kata Containers uses just [QEMU](http://www.qemu-project.org/)/[KVM](http://www.linux-kvm.org/page/Main_Page)\n+to create virtual machines where containers will run:\n+\n+![QEMU/KVM](arch-images/qemu.png)\n+\n+### QEMU/KVM\n+\n+Depending of the host architecture, Kata Containers support various machine types,\n+for example `pc` and `q35` on x86 systems and `virt` on ARM systems. Kata Containers'\n+default machine type is `pc`. The default machine type and its [`Machine accelerators`](#Machine-accelerators) can\n+be changed by editing the runtime [`configuration`](#Configuration) file.\n+\n+The follow QEMU features are used in Kata Containers to manage resource constraints, improve\n+boot time and reduce memory footprint:\n+\n+- Machine accelerators.\n+- Hot plug devices.\n+\n+Each feature is documented below.\n+\n+#### Machine accelerators\n+\n+Machine accelerators are architecture specific and can used to improve the performance\n+and enable specific features of the machine types. The following machine accelerators\n+are used in Kata Containers:\n+\n+- nvdimm: This machine accelerator is x86 specific and only supported by `pc` and\n+`q35` machine types. `nvdimm` is used to provide the root filesystem as persistent\n+memory device to the Virtual Machine.\n+\n+Although Kata Containers can run with any recent QEMU release, Kata Containers\n+boot time, memory footprint and 9p IO are significantly optimized by using a specific\n+QEMU version called [`qemu-lite`](https://github.com/kata-containers/qemu/tree/qemu-lite-2.11.0) and\n+custom machine accelerators that are not available in the upstream version of QEMU.\n+These custom machine accelerators are described below.\n+\n+- nofw: this machine accelerator is x86 specific and only supported by `pc` and `q35`\n+machine types. `nofw` is used to boot an ELF format kernel by skipping the BIOS/firmware\n+in the guest. This custom machine accelerator improves boot time significantly.\n+- static-prt: this machine accelerator is x86 specific and only supported by `pc`\n+and `q35` machine types. `static-prt` is used to reduce the interpretation burden\n+for guest ACPI component.\n+\n+#### Hot plug devices\n+\n+The Kata Containers VM starts with a minimum amount of resources, allowing for faster boot time and a reduction in memory footprint.  As the container launch progresses, devices are hotplugged to the VM. For example, when a CPU constraint is specified which includes additional CPUs, they can be hot added.  Kata Containers has support for hot-adding the following devices:\n+- Virtio block\n+- Virtio SCSI\n+- VFIO\n+- CPU\n+\n+### Assets\n+\n+The hypervisor will launch a virtual machine which includes a minimal guest kernel\n+and a guest image.\n+\n+#### Guest kernel\n+\n+The guest kernel is passed to the hypervisor and used to boot the virtual\n+machine. The default kernel provided in Kata Containers is highly optimized for\n+kernel boot time and minimal memory footprint, providing only those services\n+required by a container workload. This is based on a very current upstream Linux\n+kernel.\n+\n+#### Guest image\n+\n+Kata Containers supports both an `initrd` and `rootfs` based minimal guest image.\n+\n+##### Root filesystem image\n+\n+The default root filesystem image, sometimes referred to as the \"mini O/S\", is a","path":"architecture.md","position":162,"original_position":162,"commit_id":"eb035e167fd9de09fc04e5d7d36da721f0501f8f","original_commit_id":"eb035e167fd9de09fc04e5d7d36da721f0501f8f","user":{"login":"jodh-intel","id":20315601,"avatar_url":"https://avatars1.githubusercontent.com/u/20315601?v=4","gravatar_id":"","url":"https://api.github.com/users/jodh-intel","html_url":"https://github.com/jodh-intel","followers_url":"https://api.github.com/users/jodh-intel/followers","following_url":"https://api.github.com/users/jodh-intel/following{/other_user}","gists_url":"https://api.github.com/users/jodh-intel/gists{/gist_id}","starred_url":"https://api.github.com/users/jodh-intel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jodh-intel/subscriptions","organizations_url":"https://api.github.com/users/jodh-intel/orgs","repos_url":"https://api.github.com/users/jodh-intel/repos","events_url":"https://api.github.com/users/jodh-intel/events{/privacy}","received_events_url":"https://api.github.com/users/jodh-intel/received_events","type":"User","site_admin":false},"body":"This section could be reduced to ease maintenance and avoid duplication by referencing the relevant osbuilder docs, namely:\r\n\r\n- https://github.com/kata-containers/osbuilder/\r\n- https://github.com/kata-containers/osbuilder/blob/master/image-builder/README.md","created_at":"2018-05-09T13:18:52Z","updated_at":"2018-05-09T13:51:15Z","html_url":"https://github.com/kata-containers/documentation/pull/65#discussion_r187036225","pull_request_url":"https://api.github.com/repos/kata-containers/documentation/pulls/65","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/kata-containers/documentation/pulls/comments/187036225"},"html":{"href":"https://github.com/kata-containers/documentation/pull/65#discussion_r187036225"},"pull_request":{"href":"https://api.github.com/repos/kata-containers/documentation/pulls/65"}}},"pull_request":{"url":"https://api.github.com/repos/kata-containers/documentation/pulls/65","id":186522192,"html_url":"https://github.com/kata-containers/documentation/pull/65","diff_url":"https://github.com/kata-containers/documentation/pull/65.diff","patch_url":"https://github.com/kata-containers/documentation/pull/65.patch","issue_url":"https://api.github.com/repos/kata-containers/documentation/issues/65","number":65,"state":"open","locked":false,"title":"add initial kata architecture docs","user":{"login":"egernst","id":20174683,"avatar_url":"https://avatars1.githubusercontent.com/u/20174683?v=4","gravatar_id":"","url":"https://api.github.com/users/egernst","html_url":"https://github.com/egernst","followers_url":"https://api.github.com/users/egernst/followers","following_url":"https://api.github.com/users/egernst/following{/other_user}","gists_url":"https://api.github.com/users/egernst/gists{/gist_id}","starred_url":"https://api.github.com/users/egernst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/egernst/subscriptions","organizations_url":"https://api.github.com/users/egernst/orgs","repos_url":"https://api.github.com/users/egernst/repos","events_url":"https://api.github.com/users/egernst/events{/privacy}","received_events_url":"https://api.github.com/users/egernst/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-05-08T04:11:47Z","updated_at":"2018-05-09T13:51:17Z","closed_at":null,"merged_at":null,"merge_commit_sha":"bbd0459dab654609609672adbbf66c0b1495a19c","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":848809286,"url":"https://api.github.com/repos/kata-containers/documentation/labels/review","name":"review","color":"ededed","default":false},{"id":784992464,"url":"https://api.github.com/repos/kata-containers/documentation/labels/wip","name":"wip","color":"b60205","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/kata-containers/documentation/pulls/65/commits","review_comments_url":"https://api.github.com/repos/kata-containers/documentation/pulls/65/comments","review_comment_url":"https://api.github.com/repos/kata-containers/documentation/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kata-containers/documentation/issues/65/comments","statuses_url":"https://api.github.com/repos/kata-containers/documentation/statuses/eb035e167fd9de09fc04e5d7d36da721f0501f8f","head":{"label":"egernst:architecture-docs","ref":"architecture-docs","sha":"eb035e167fd9de09fc04e5d7d36da721f0501f8f","user":{"login":"egernst","id":20174683,"avatar_url":"https://avatars1.githubusercontent.com/u/20174683?v=4","gravatar_id":"","url":"https://api.github.com/users/egernst","html_url":"https://github.com/egernst","followers_url":"https://api.github.com/users/egernst/followers","following_url":"https://api.github.com/users/egernst/following{/other_user}","gists_url":"https://api.github.com/users/egernst/gists{/gist_id}","starred_url":"https://api.github.com/users/egernst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/egernst/subscriptions","organizations_url":"https://api.github.com/users/egernst/orgs","repos_url":"https://api.github.com/users/egernst/repos","events_url":"https://api.github.com/users/egernst/events{/privacy}","received_events_url":"https://api.github.com/users/egernst/received_events","type":"User","site_admin":false},"repo":{"id":123158669,"name":"documentation","full_name":"egernst/documentation","owner":{"login":"egernst","id":20174683,"avatar_url":"https://avatars1.githubusercontent.com/u/20174683?v=4","gravatar_id":"","url":"https://api.github.com/users/egernst","html_url":"https://github.com/egernst","followers_url":"https://api.github.com/users/egernst/followers","following_url":"https://api.github.com/users/egernst/following{/other_user}","gists_url":"https://api.github.com/users/egernst/gists{/gist_id}","starred_url":"https://api.github.com/users/egernst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/egernst/subscriptions","organizations_url":"https://api.github.com/users/egernst/orgs","repos_url":"https://api.github.com/users/egernst/repos","events_url":"https://api.github.com/users/egernst/events{/privacy}","received_events_url":"https://api.github.com/users/egernst/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/egernst/documentation","description":"Kata Containers documentation","fork":true,"url":"https://api.github.com/repos/egernst/documentation","forks_url":"https://api.github.com/repos/egernst/documentation/forks","keys_url":"https://api.github.com/repos/egernst/documentation/keys{/key_id}","collaborators_url":"https://api.github.com/repos/egernst/documentation/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/egernst/documentation/teams","hooks_url":"https://api.github.com/repos/egernst/documentation/hooks","issue_events_url":"https://api.github.com/repos/egernst/documentation/issues/events{/number}","events_url":"https://api.github.com/repos/egernst/documentation/events","assignees_url":"https://api.github.com/repos/egernst/documentation/assignees{/user}","branches_url":"https://api.github.com/repos/egernst/documentation/branches{/branch}","tags_url":"https://api.github.com/repos/egernst/documentation/tags","blobs_url":"https://api.github.com/repos/egernst/documentation/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/egernst/documentation/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/egernst/documentation/git/refs{/sha}","trees_url":"https://api.github.com/repos/egernst/documentation/git/trees{/sha}","statuses_url":"https://api.github.com/repos/egernst/documentation/statuses/{sha}","languages_url":"https://api.github.com/repos/egernst/documentation/languages","stargazers_url":"https://api.github.com/repos/egernst/documentation/stargazers","contributors_url":"https://api.github.com/repos/egernst/documentation/contributors","subscribers_url":"https://api.github.com/repos/egernst/documentation/subscribers","subscription_url":"https://api.github.com/repos/egernst/documentation/subscription","commits_url":"https://api.github.com/repos/egernst/documentation/commits{/sha}","git_commits_url":"https://api.github.com/repos/egernst/documentation/git/commits{/sha}","comments_url":"https://api.github.com/repos/egernst/documentation/comments{/number}","issue_comment_url":"https://api.github.com/repos/egernst/documentation/issues/comments{/number}","contents_url":"https://api.github.com/repos/egernst/documentation/contents/{+path}","compare_url":"https://api.github.com/repos/egernst/documentation/compare/{base}...{head}","merges_url":"https://api.github.com/repos/egernst/documentation/merges","archive_url":"https://api.github.com/repos/egernst/documentation/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/egernst/documentation/downloads","issues_url":"https://api.github.com/repos/egernst/documentation/issues{/number}","pulls_url":"https://api.github.com/repos/egernst/documentation/pulls{/number}","milestones_url":"https://api.github.com/repos/egernst/documentation/milestones{/number}","notifications_url":"https://api.github.com/repos/egernst/documentation/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/egernst/documentation/labels{/name}","releases_url":"https://api.github.com/repos/egernst/documentation/releases{/id}","deployments_url":"https://api.github.com/repos/egernst/documentation/deployments","created_at":"2018-02-27T16:44:38Z","updated_at":"2018-01-31T16:48:19Z","pushed_at":"2018-05-08T03:45:32Z","git_url":"git://github.com/egernst/documentation.git","ssh_url":"git@github.com:egernst/documentation.git","clone_url":"https://github.com/egernst/documentation.git","svn_url":"https://github.com/egernst/documentation","homepage":null,"size":756,"stargazers_count":0,"watchers_count":0,"language":null,"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":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"kata-containers:master","ref":"master","sha":"2b479611053546848aaa304cce94c54ebec52ff6","user":{"login":"kata-containers","id":33289952,"avatar_url":"https://avatars3.githubusercontent.com/u/33289952?v=4","gravatar_id":"","url":"https://api.github.com/users/kata-containers","html_url":"https://github.com/kata-containers","followers_url":"https://api.github.com/users/kata-containers/followers","following_url":"https://api.github.com/users/kata-containers/following{/other_user}","gists_url":"https://api.github.com/users/kata-containers/gists{/gist_id}","starred_url":"https://api.github.com/users/kata-containers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kata-containers/subscriptions","organizations_url":"https://api.github.com/users/kata-containers/orgs","repos_url":"https://api.github.com/users/kata-containers/repos","events_url":"https://api.github.com/users/kata-containers/events{/privacy}","received_events_url":"https://api.github.com/users/kata-containers/received_events","type":"Organization","site_admin":false},"repo":{"id":115009978,"name":"documentation","full_name":"kata-containers/documentation","owner":{"login":"kata-containers","id":33289952,"avatar_url":"https://avatars3.githubusercontent.com/u/33289952?v=4","gravatar_id":"","url":"https://api.github.com/users/kata-containers","html_url":"https://github.com/kata-containers","followers_url":"https://api.github.com/users/kata-containers/followers","following_url":"https://api.github.com/users/kata-containers/following{/other_user}","gists_url":"https://api.github.com/users/kata-containers/gists{/gist_id}","starred_url":"https://api.github.com/users/kata-containers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kata-containers/subscriptions","organizations_url":"https://api.github.com/users/kata-containers/orgs","repos_url":"https://api.github.com/users/kata-containers/repos","events_url":"https://api.github.com/users/kata-containers/events{/privacy}","received_events_url":"https://api.github.com/users/kata-containers/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/kata-containers/documentation","description":"Kata Containers documentation","fork":false,"url":"https://api.github.com/repos/kata-containers/documentation","forks_url":"https://api.github.com/repos/kata-containers/documentation/forks","keys_url":"https://api.github.com/repos/kata-containers/documentation/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kata-containers/documentation/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kata-containers/documentation/teams","hooks_url":"https://api.github.com/repos/kata-containers/documentation/hooks","issue_events_url":"https://api.github.com/repos/kata-containers/documentation/issues/events{/number}","events_url":"https://api.github.com/repos/kata-containers/documentation/events","assignees_url":"https://api.github.com/repos/kata-containers/documentation/assignees{/user}","branches_url":"https://api.github.com/repos/kata-containers/documentation/branches{/branch}","tags_url":"https://api.github.com/repos/kata-containers/documentation/tags","blobs_url":"https://api.github.com/repos/kata-containers/documentation/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kata-containers/documentation/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kata-containers/documentation/git/refs{/sha}","trees_url":"https://api.github.com/repos/kata-containers/documentation/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kata-containers/documentation/statuses/{sha}","languages_url":"https://api.github.com/repos/kata-containers/documentation/languages","stargazers_url":"https://api.github.com/repos/kata-containers/documentation/stargazers","contributors_url":"https://api.github.com/repos/kata-containers/documentation/contributors","subscribers_url":"https://api.github.com/repos/kata-containers/documentation/subscribers","subscription_url":"https://api.github.com/repos/kata-containers/documentation/subscription","commits_url":"https://api.github.com/repos/kata-containers/documentation/commits{/sha}","git_commits_url":"https://api.github.com/repos/kata-containers/documentation/git/commits{/sha}","comments_url":"https://api.github.com/repos/kata-containers/documentation/comments{/number}","issue_comment_url":"https://api.github.com/repos/kata-containers/documentation/issues/comments{/number}","contents_url":"https://api.github.com/repos/kata-containers/documentation/contents/{+path}","compare_url":"https://api.github.com/repos/kata-containers/documentation/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kata-containers/documentation/merges","archive_url":"https://api.github.com/repos/kata-containers/documentation/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kata-containers/documentation/downloads","issues_url":"https://api.github.com/repos/kata-containers/documentation/issues{/number}","pulls_url":"https://api.github.com/repos/kata-containers/documentation/pulls{/number}","milestones_url":"https://api.github.com/repos/kata-containers/documentation/milestones{/number}","notifications_url":"https://api.github.com/repos/kata-containers/documentation/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kata-containers/documentation/labels{/name}","releases_url":"https://api.github.com/repos/kata-containers/documentation/releases{/id}","deployments_url":"https://api.github.com/repos/kata-containers/documentation/deployments","created_at":"2017-12-21T13:41:45Z","updated_at":"2018-05-05T12:26:43Z","pushed_at":"2018-05-09T11:27:13Z","git_url":"git://github.com/kata-containers/documentation.git","ssh_url":"git@github.com:kata-containers/documentation.git","clone_url":"https://github.com/kata-containers/documentation.git","svn_url":"https://github.com/kata-containers/documentation","homepage":null,"size":49,"stargazers_count":17,"watchers_count":17,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":18,"mirror_url":null,"archived":false,"open_issues_count":24,"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":18,"open_issues":24,"watchers":17,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kata-containers/documentation/pulls/65"},"html":{"href":"https://github.com/kata-containers/documentation/pull/65"},"issue":{"href":"https://api.github.com/repos/kata-containers/documentation/issues/65"},"comments":{"href":"https://api.github.com/repos/kata-containers/documentation/issues/65/comments"},"review_comments":{"href":"https://api.github.com/repos/kata-containers/documentation/pulls/65/comments"},"review_comment":{"href":"https://api.github.com/repos/kata-containers/documentation/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kata-containers/documentation/pulls/65/commits"},"statuses":{"href":"https://api.github.com/repos/kata-containers/documentation/statuses/eb035e167fd9de09fc04e5d7d36da721f0501f8f"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"jodh-intel"}}