{"action":"created","comment":{"url":"https://api.github.com/repos/istio/istio.github.io/pulls/comments/204280988","pull_request_review_id":139330402,"id":204280988,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwNDI4MDk4OA==","diff_hunk":"@@ -10,98 +10,160 @@ aliases:\n     - /docs/concepts/security/rbac/\n ---\n \n-Istio aims to enhance the security of microservices and their communication without requiring service code changes. It is responsible for:\n+The benefits of taking a monolithic application and breaking it down into atomic services are striking:\n+microservices have better agility, better scalability, and better ability to reuse services.\n+However, microservices also have particular security needs.\n+For example, to defend against the man-in-the-middle attack, they need traffic encryption;\n+to provide flexible service access control, they need mutual TLS and fine-grained access policies;\n+to audit who did what at what time, they need auditing tools.\n+Istio Security’s aim is to provide a comprehensive security solution to solve all these issues.\n \n-* Providing each service with a strong identity that represents its role to enable interoperability across clusters and clouds\n+This page gives an overview of how Istio security can be leveraged to secure your services, wherever you run them.\n+In particular, Istio security mitigates both insider and external threats against your data, endpoints, communication and platform.\n \n-* Securing service to service communication and end-user to service communication\n+{{< image width=\"80%\" ratio=\"56.25%\"\n+    link=\"./overview.svg\"\n+    alt=\"Components making up the Istio security model.\"\n+    caption=\"Istio Security Architecture\"\n+    >}}\n+\n+Istio security provides strong identity, powerful policy, and transparent TLS encryption to protect your services and data\n+with AAA (authentication/authorization/audit). Istio security’s aims are:\n+\n+* **Secure by default**: no changes needed to application code and infrastructure\n+\n+* **Defence in depth**: integrates with existing security systems to provide multiple layers of defense\n \n-* Providing a key management system to automate key and certificate generation, distribution, rotation, and revocation\n+* **Zero-trust network**: build security solutions on untrusted networks\n \n-The diagram below shows Istio's security-related architecture, which includes three primary components: identity, key management, and communication\n-security. This diagram describes how Istio is used to secure the service-to-service communication between service 'frontend' running\n-as the service account 'frontend-team' and service 'backend' running as the service account 'backend-team'. Istio supports services running\n-on both Kubernetes containers and VM/bare-metal machines.\n+This guide provides a high-level overview of Istio security; you can find more information about specific Istio security concepts in the other guides in this section. To find out how to get started using Istio security with deployed services, see the Istio Security Basics tutorial. For more detailed howtos on security tasks, see our Security Tasks.\n+\n+## High-Level Architecture and Features\n+\n+Istio security involves multiple components, including Citadel for key and certificate management,\n+Envoy and perimeter proxies for implementing secure communication between clients and servers,\n+Pilot for distributing authentication policies and secure naming information (distributed with routing information)\n+to the proxies, and Mixer for managing auditing.\n \n {{< image width=\"80%\" ratio=\"56.25%\"\n-    link=\"./auth.svg\"\n+    link=\"./architecture.svg\"\n     alt=\"Components making up the Istio security model.\"\n     caption=\"Istio Security Architecture\"\n     >}}\n \n-As illustrated in the diagram, Istio leverages secret volume mount to deliver keys/certs from Citadel to Kubernetes containers. For services running on\n-VM/bare-metal machines, we introduce a node agent, which is a process running on each VM/bare-metal machine. It generates the private key and CSR (certificate\n-signing request) locally, sends CSR to Citadel for signing, and delivers the generated certificate together with the private key to Envoy.\n+### PKI (Public Key Infrastructure)\n \n-## Mutual TLS authentication\n+Istio PKI, built on top of Istio Citadel, is responsible for securely provisioning a strong workload identity in the form of X.509 certificate in SPIFFE format to every workload, and automating key & certificate rotation and revocation at scale. \n \n-### Identity\n+### Authentication\n \n-Istio uses [Kubernetes service accounts](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/) to identify who runs the service:\n+Istio provides two different types of authentication:\n \n-*   A service account in Istio has the format \"spiffe://\\<_domain_\\>/ns/\\<_namespace_>/sa/\\<_serviceaccount_\\>\".\n+* **Service-to-service Authentication** enables data-in-transit encryption and strong channel-level authentication using mutual TLS.\n \n-    * _domain_ is currently _cluster.local_. We will support customization of domain in the near future.\n-    * _namespace_ is the namespace of the Kubernetes service account.\n-    * _serviceaccount_ is the Kubernetes service account name.\n+* **User Authentication** enables request-level authentication with JSON Web Token (JWT) validation\n+  and a streamlined developer experience for Auth0, Firebase Auth, Google Auth, and custom Auth.\n \n-*   A service account is **the identity (or role) a workload runs as**, which represents that workload's privileges. For systems requiring strong security, the\n-amount of privilege for a workload should not be identified by a random string (i.e., service name, label, etc), or by the binary that is deployed.\n+In both cases the authentication policies are stored in the Istio config store via a custom Kubernetes API,\n+and are kept up to date (along with keys where appropriate) for each proxy by Pilot.\n+Istio also lets you enable authentication in permissive mode to understand how a policy change would affect your security posture\n+before it becomes effective.\n \n-    * For example, let's say we have a workload pulling data from a multi-tenant database. If Alice ran this workload, she will be able to pull\n-    a different set of data than if Bob ran this workload.\n+For more details,  please read [authentication policy](docs/concepts/security/#authentication-policy).\n \n-* Service accounts enable strong security policies by offering the flexibility to identify a machine, a user, a workload, or a group of workloads (different\n-workloads can run as the same service account).\n+### Authorization & Audit\n \n-* The service account a workload runs as won't change during the lifetime of the workload.\n+Istio provides fine-grained access control to enable application-level control and auditing on who accesses your service, API, or resource,\n+using a variety of access control mechanisms.\n+These include attribute and role-based access control as well as authorization hooks.\n \n-* Service account uniqueness can be ensured with domain name constraint\n+Find out more about Istio authorization in the [authorization guide](docs/concepts/security/#authorization)\n \n-### Communication security\n+The guide for auditing is coming soon!\n \n-Service-to-service communication is tunneled through the client side [Envoy](https://envoyproxy.github.io/envoy/) and the server side Envoy. End-to-end communication is secured by:\n+### Security configuration\n \n-* Local TCP connections between the service and Envoy\n+Istio makes it simple to configure and enable security features using Istio’s rich but easy-to-use policy creation\n+and centralized policy management.\n \n-* Mutual TLS connections between proxies\n+Find out more about configuring security policies in the Authentication and Authorization guides in the following sections.\n+\n+### Using other security mechanisms\n \n-* Secure Naming: during the handshake process, the client side Envoy checks that the service account provided by the server side certificate is allowed to run the target service\n+While we strongly recommend using Istio security,\n+Istio is flexible enough to allow you to plug in your own authentication and authorization mechanisms via our Mixer component.\n+You can find out how to use and configure [Mixer plugins](/docs/concepts/policies-and-telemetry/#adapters) in Policies and Telemetry.\n \n-### Key management\n+### Upcoming features\n \n-Istio supports services running on both Kubernetes pods and VM/bare-metal machines. We use different key provisioning mechanisms for each scenario.\n+* Identity/CA pluggability to support bring-your-own-CA and bring-your-own-identity. I.e. Vault integration, Active Directory integration","path":"content/docs/concepts/security/index.md","position":124,"original_position":124,"commit_id":"584eed05b656d912b4976f1195b947acf86e1a65","original_commit_id":"584eed05b656d912b4976f1195b947acf86e1a65","user":{"login":"sdake","id":755849,"node_id":"MDQ6VXNlcjc1NTg0OQ==","avatar_url":"https://avatars1.githubusercontent.com/u/755849?v=4","gravatar_id":"","url":"https://api.github.com/users/sdake","html_url":"https://github.com/sdake","followers_url":"https://api.github.com/users/sdake/followers","following_url":"https://api.github.com/users/sdake/following{/other_user}","gists_url":"https://api.github.com/users/sdake/gists{/gist_id}","starred_url":"https://api.github.com/users/sdake/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sdake/subscriptions","organizations_url":"https://api.github.com/users/sdake/orgs","repos_url":"https://api.github.com/users/sdake/repos","events_url":"https://api.github.com/users/sdake/events{/privacy}","received_events_url":"https://api.github.com/users/sdake/received_events","type":"User","site_admin":false},"body":"There is a spelling error here or a missing spelling addition to the TLD .spelling file to get the gating moving.","created_at":"2018-07-23T04:44:59Z","updated_at":"2018-07-23T04:46:30Z","html_url":"https://github.com/istio/istio.github.io/pull/1912#discussion_r204280988","pull_request_url":"https://api.github.com/repos/istio/istio.github.io/pulls/1912","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/istio/istio.github.io/pulls/comments/204280988"},"html":{"href":"https://github.com/istio/istio.github.io/pull/1912#discussion_r204280988"},"pull_request":{"href":"https://api.github.com/repos/istio/istio.github.io/pulls/1912"}}},"pull_request":{"url":"https://api.github.com/repos/istio/istio.github.io/pulls/1912","id":203051446,"node_id":"MDExOlB1bGxSZXF1ZXN0MjAzMDUxNDQ2","html_url":"https://github.com/istio/istio.github.io/pull/1912","diff_url":"https://github.com/istio/istio.github.io/pull/1912.diff","patch_url":"https://github.com/istio/istio.github.io/pull/1912.patch","issue_url":"https://api.github.com/repos/istio/istio.github.io/issues/1912","number":1912,"state":"open","locked":false,"title":"Security","user":{"login":"myidpt","id":102881,"node_id":"MDQ6VXNlcjEwMjg4MQ==","avatar_url":"https://avatars2.githubusercontent.com/u/102881?v=4","gravatar_id":"","url":"https://api.github.com/users/myidpt","html_url":"https://github.com/myidpt","followers_url":"https://api.github.com/users/myidpt/followers","following_url":"https://api.github.com/users/myidpt/following{/other_user}","gists_url":"https://api.github.com/users/myidpt/gists{/gist_id}","starred_url":"https://api.github.com/users/myidpt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/myidpt/subscriptions","organizations_url":"https://api.github.com/users/myidpt/orgs","repos_url":"https://api.github.com/users/myidpt/repos","events_url":"https://api.github.com/users/myidpt/events{/privacy}","received_events_url":"https://api.github.com/users/myidpt/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-07-22T10:58:15Z","updated_at":"2018-07-23T04:46:30Z","closed_at":null,"merged_at":null,"merge_commit_sha":"86cbd34c350cbab1cedef09d27528afba04cf25a","assignee":null,"assignees":[],"requested_reviewers":[{"login":"geeknoid","id":22780957,"node_id":"MDQ6VXNlcjIyNzgwOTU3","avatar_url":"https://avatars3.githubusercontent.com/u/22780957?v=4","gravatar_id":"","url":"https://api.github.com/users/geeknoid","html_url":"https://github.com/geeknoid","followers_url":"https://api.github.com/users/geeknoid/followers","following_url":"https://api.github.com/users/geeknoid/following{/other_user}","gists_url":"https://api.github.com/users/geeknoid/gists{/gist_id}","starred_url":"https://api.github.com/users/geeknoid/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/geeknoid/subscriptions","organizations_url":"https://api.github.com/users/geeknoid/orgs","repos_url":"https://api.github.com/users/geeknoid/repos","events_url":"https://api.github.com/users/geeknoid/events{/privacy}","received_events_url":"https://api.github.com/users/geeknoid/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":884247475,"node_id":"MDU6TGFiZWw4ODQyNDc0NzU=","url":"https://api.github.com/repos/istio/istio.github.io/labels/cla:%20yes","name":"cla: yes","color":"bfdadc","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/istio/istio.github.io/pulls/1912/commits","review_comments_url":"https://api.github.com/repos/istio/istio.github.io/pulls/1912/comments","review_comment_url":"https://api.github.com/repos/istio/istio.github.io/pulls/comments{/number}","comments_url":"https://api.github.com/repos/istio/istio.github.io/issues/1912/comments","statuses_url":"https://api.github.com/repos/istio/istio.github.io/statuses/584eed05b656d912b4976f1195b947acf86e1a65","head":{"label":"myidpt:security","ref":"security","sha":"584eed05b656d912b4976f1195b947acf86e1a65","user":{"login":"myidpt","id":102881,"node_id":"MDQ6VXNlcjEwMjg4MQ==","avatar_url":"https://avatars2.githubusercontent.com/u/102881?v=4","gravatar_id":"","url":"https://api.github.com/users/myidpt","html_url":"https://github.com/myidpt","followers_url":"https://api.github.com/users/myidpt/followers","following_url":"https://api.github.com/users/myidpt/following{/other_user}","gists_url":"https://api.github.com/users/myidpt/gists{/gist_id}","starred_url":"https://api.github.com/users/myidpt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/myidpt/subscriptions","organizations_url":"https://api.github.com/users/myidpt/orgs","repos_url":"https://api.github.com/users/myidpt/repos","events_url":"https://api.github.com/users/myidpt/events{/privacy}","received_events_url":"https://api.github.com/users/myidpt/received_events","type":"User","site_admin":false},"repo":{"id":89287425,"node_id":"MDEwOlJlcG9zaXRvcnk4OTI4NzQyNQ==","name":"istio.github.io","full_name":"myidpt/istio.github.io","owner":{"login":"myidpt","id":102881,"node_id":"MDQ6VXNlcjEwMjg4MQ==","avatar_url":"https://avatars2.githubusercontent.com/u/102881?v=4","gravatar_id":"","url":"https://api.github.com/users/myidpt","html_url":"https://github.com/myidpt","followers_url":"https://api.github.com/users/myidpt/followers","following_url":"https://api.github.com/users/myidpt/following{/other_user}","gists_url":"https://api.github.com/users/myidpt/gists{/gist_id}","starred_url":"https://api.github.com/users/myidpt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/myidpt/subscriptions","organizations_url":"https://api.github.com/users/myidpt/orgs","repos_url":"https://api.github.com/users/myidpt/repos","events_url":"https://api.github.com/users/myidpt/events{/privacy}","received_events_url":"https://api.github.com/users/myidpt/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/myidpt/istio.github.io","description":"Source for the istio.io site","fork":true,"url":"https://api.github.com/repos/myidpt/istio.github.io","forks_url":"https://api.github.com/repos/myidpt/istio.github.io/forks","keys_url":"https://api.github.com/repos/myidpt/istio.github.io/keys{/key_id}","collaborators_url":"https://api.github.com/repos/myidpt/istio.github.io/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/myidpt/istio.github.io/teams","hooks_url":"https://api.github.com/repos/myidpt/istio.github.io/hooks","issue_events_url":"https://api.github.com/repos/myidpt/istio.github.io/issues/events{/number}","events_url":"https://api.github.com/repos/myidpt/istio.github.io/events","assignees_url":"https://api.github.com/repos/myidpt/istio.github.io/assignees{/user}","branches_url":"https://api.github.com/repos/myidpt/istio.github.io/branches{/branch}","tags_url":"https://api.github.com/repos/myidpt/istio.github.io/tags","blobs_url":"https://api.github.com/repos/myidpt/istio.github.io/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/myidpt/istio.github.io/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/myidpt/istio.github.io/git/refs{/sha}","trees_url":"https://api.github.com/repos/myidpt/istio.github.io/git/trees{/sha}","statuses_url":"https://api.github.com/repos/myidpt/istio.github.io/statuses/{sha}","languages_url":"https://api.github.com/repos/myidpt/istio.github.io/languages","stargazers_url":"https://api.github.com/repos/myidpt/istio.github.io/stargazers","contributors_url":"https://api.github.com/repos/myidpt/istio.github.io/contributors","subscribers_url":"https://api.github.com/repos/myidpt/istio.github.io/subscribers","subscription_url":"https://api.github.com/repos/myidpt/istio.github.io/subscription","commits_url":"https://api.github.com/repos/myidpt/istio.github.io/commits{/sha}","git_commits_url":"https://api.github.com/repos/myidpt/istio.github.io/git/commits{/sha}","comments_url":"https://api.github.com/repos/myidpt/istio.github.io/comments{/number}","issue_comment_url":"https://api.github.com/repos/myidpt/istio.github.io/issues/comments{/number}","contents_url":"https://api.github.com/repos/myidpt/istio.github.io/contents/{+path}","compare_url":"https://api.github.com/repos/myidpt/istio.github.io/compare/{base}...{head}","merges_url":"https://api.github.com/repos/myidpt/istio.github.io/merges","archive_url":"https://api.github.com/repos/myidpt/istio.github.io/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/myidpt/istio.github.io/downloads","issues_url":"https://api.github.com/repos/myidpt/istio.github.io/issues{/number}","pulls_url":"https://api.github.com/repos/myidpt/istio.github.io/pulls{/number}","milestones_url":"https://api.github.com/repos/myidpt/istio.github.io/milestones{/number}","notifications_url":"https://api.github.com/repos/myidpt/istio.github.io/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/myidpt/istio.github.io/labels{/name}","releases_url":"https://api.github.com/repos/myidpt/istio.github.io/releases{/id}","deployments_url":"https://api.github.com/repos/myidpt/istio.github.io/deployments","created_at":"2017-04-24T21:10:17Z","updated_at":"2018-04-04T17:41:11Z","pushed_at":"2018-07-22T10:08:43Z","git_url":"git://github.com/myidpt/istio.github.io.git","ssh_url":"git@github.com:myidpt/istio.github.io.git","clone_url":"https://github.com/myidpt/istio.github.io.git","svn_url":"https://github.com/myidpt/istio.github.io","homepage":"http://istio.io","size":25947,"stargazers_count":0,"watchers_count":0,"language":"HTML","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","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"istio:master","ref":"master","sha":"513e54c40a52ee0202f87d1f95f836714deda9c1","user":{"login":"istio","id":23534644,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIzNTM0NjQ0","avatar_url":"https://avatars1.githubusercontent.com/u/23534644?v=4","gravatar_id":"","url":"https://api.github.com/users/istio","html_url":"https://github.com/istio","followers_url":"https://api.github.com/users/istio/followers","following_url":"https://api.github.com/users/istio/following{/other_user}","gists_url":"https://api.github.com/users/istio/gists{/gist_id}","starred_url":"https://api.github.com/users/istio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/istio/subscriptions","organizations_url":"https://api.github.com/users/istio/orgs","repos_url":"https://api.github.com/users/istio/repos","events_url":"https://api.github.com/users/istio/events{/privacy}","received_events_url":"https://api.github.com/users/istio/received_events","type":"Organization","site_admin":false},"repo":{"id":82706976,"node_id":"MDEwOlJlcG9zaXRvcnk4MjcwNjk3Ng==","name":"istio.github.io","full_name":"istio/istio.github.io","owner":{"login":"istio","id":23534644,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIzNTM0NjQ0","avatar_url":"https://avatars1.githubusercontent.com/u/23534644?v=4","gravatar_id":"","url":"https://api.github.com/users/istio","html_url":"https://github.com/istio","followers_url":"https://api.github.com/users/istio/followers","following_url":"https://api.github.com/users/istio/following{/other_user}","gists_url":"https://api.github.com/users/istio/gists{/gist_id}","starred_url":"https://api.github.com/users/istio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/istio/subscriptions","organizations_url":"https://api.github.com/users/istio/orgs","repos_url":"https://api.github.com/users/istio/repos","events_url":"https://api.github.com/users/istio/events{/privacy}","received_events_url":"https://api.github.com/users/istio/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/istio/istio.github.io","description":"Source for the istio.io site","fork":false,"url":"https://api.github.com/repos/istio/istio.github.io","forks_url":"https://api.github.com/repos/istio/istio.github.io/forks","keys_url":"https://api.github.com/repos/istio/istio.github.io/keys{/key_id}","collaborators_url":"https://api.github.com/repos/istio/istio.github.io/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/istio/istio.github.io/teams","hooks_url":"https://api.github.com/repos/istio/istio.github.io/hooks","issue_events_url":"https://api.github.com/repos/istio/istio.github.io/issues/events{/number}","events_url":"https://api.github.com/repos/istio/istio.github.io/events","assignees_url":"https://api.github.com/repos/istio/istio.github.io/assignees{/user}","branches_url":"https://api.github.com/repos/istio/istio.github.io/branches{/branch}","tags_url":"https://api.github.com/repos/istio/istio.github.io/tags","blobs_url":"https://api.github.com/repos/istio/istio.github.io/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/istio/istio.github.io/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/istio/istio.github.io/git/refs{/sha}","trees_url":"https://api.github.com/repos/istio/istio.github.io/git/trees{/sha}","statuses_url":"https://api.github.com/repos/istio/istio.github.io/statuses/{sha}","languages_url":"https://api.github.com/repos/istio/istio.github.io/languages","stargazers_url":"https://api.github.com/repos/istio/istio.github.io/stargazers","contributors_url":"https://api.github.com/repos/istio/istio.github.io/contributors","subscribers_url":"https://api.github.com/repos/istio/istio.github.io/subscribers","subscription_url":"https://api.github.com/repos/istio/istio.github.io/subscription","commits_url":"https://api.github.com/repos/istio/istio.github.io/commits{/sha}","git_commits_url":"https://api.github.com/repos/istio/istio.github.io/git/commits{/sha}","comments_url":"https://api.github.com/repos/istio/istio.github.io/comments{/number}","issue_comment_url":"https://api.github.com/repos/istio/istio.github.io/issues/comments{/number}","contents_url":"https://api.github.com/repos/istio/istio.github.io/contents/{+path}","compare_url":"https://api.github.com/repos/istio/istio.github.io/compare/{base}...{head}","merges_url":"https://api.github.com/repos/istio/istio.github.io/merges","archive_url":"https://api.github.com/repos/istio/istio.github.io/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/istio/istio.github.io/downloads","issues_url":"https://api.github.com/repos/istio/istio.github.io/issues{/number}","pulls_url":"https://api.github.com/repos/istio/istio.github.io/pulls{/number}","milestones_url":"https://api.github.com/repos/istio/istio.github.io/milestones{/number}","notifications_url":"https://api.github.com/repos/istio/istio.github.io/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/istio/istio.github.io/labels{/name}","releases_url":"https://api.github.com/repos/istio/istio.github.io/releases{/id}","deployments_url":"https://api.github.com/repos/istio/istio.github.io/deployments","created_at":"2017-02-21T17:19:49Z","updated_at":"2018-07-23T04:12:41Z","pushed_at":"2018-07-23T04:12:37Z","git_url":"git://github.com/istio/istio.github.io.git","ssh_url":"git@github.com:istio/istio.github.io.git","clone_url":"https://github.com/istio/istio.github.io.git","svn_url":"https://github.com/istio/istio.github.io","homepage":"https://istio.io/","size":25938,"stargazers_count":78,"watchers_count":78,"language":"HTML","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":263,"mirror_url":null,"archived":false,"open_issues_count":56,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":263,"open_issues":56,"watchers":78,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/istio/istio.github.io/pulls/1912"},"html":{"href":"https://github.com/istio/istio.github.io/pull/1912"},"issue":{"href":"https://api.github.com/repos/istio/istio.github.io/issues/1912"},"comments":{"href":"https://api.github.com/repos/istio/istio.github.io/issues/1912/comments"},"review_comments":{"href":"https://api.github.com/repos/istio/istio.github.io/pulls/1912/comments"},"review_comment":{"href":"https://api.github.com/repos/istio/istio.github.io/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/istio/istio.github.io/pulls/1912/commits"},"statuses":{"href":"https://api.github.com/repos/istio/istio.github.io/statuses/584eed05b656d912b4976f1195b947acf86e1a65"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"sdake"}}