{"action":"created","comment":{"url":"https://api.github.com/repos/vmware/harbor/pulls/comments/55206434","id":55206434,"diff_hunk":"@@ -0,0 +1,96 @@\n+#User Guide\r\n+##Overview\r\n+This guide takes you through the fundamentals of using Harbor. You'll learn how to use Harbor to:  \r\n+\r\n+* Manage your projects.\r\n+* Manage the members of a project.\r\n+* Search projects and repositories.\r\n+* Manage Harbor system if you are the system administrator.\r\n+* Pull and push images using Docker client.\r\n+\r\n+\r\n+##Role Based Access Control\r\n+RBAC (Role Based Access Control) is provided in Harbor and there are four roles with different privileges:  \r\n+\r\n+* **Guest**: Guest has read-only privilege for a specified project.\r\n+* **Developer**: Developer has read and write privileges for a project.\r\n+* **ProjectAdmin**: When create a new project, you will be assigned the \"ProjectAdmin\" role to the project. Besides read-write privileges, the \"ProjectAdmin\" also has some management privileges, such as adding and removing members.\r\n+* **SysAdmin**: \"SysAdmin\" has the most privileges. In addition to the privileges mentioned above, \"SysAdmin\" can also list all projects, set an ordinary user as administrator and delete users. The public project \"library\" is also owned by the administrator.  \r\n+\r\n+##Managing projects\r\n+A project in Harbor is a namespace that role based access control is applied to it and the repositories in it. Two types of projects are provided: \r\n+\r\n+* **Public**: All users have the read privilege to a public project, it's convenient for you to share some repositories with others in this way.\r\n+* **Private**: A private project can only been accessed by its members.\r\n+\r\n+You can create a project after you signing in. Enable the \"Public project\" checkbox will make this project public.  \r\n+\r\n+![create project](img/create_project.png)  \r\n+\r\n+After the project being created, you can browse the repositories, members and access logs using the tabs in the left.  \r\n+\r\n+![browse project](img/browse_project.png)  \r\n+\r\n+![browse project](img/project_log.png)  \r\n+\r\n+##Managing the members of a project \r\n+###Adding members\r\n+You can add members with different roles to an existing project.  \r\n+\r\n+![browse project](img/add_member.png)\r\n+\r\n+###Updating and removing members\r\n+You can update or remove the members by click the icons.  \r\n+\r\n+![browse project](img/remove_update_member.png)\r\n+\r\n+##Searching projects and repositories\r\n+If you have signed in, you will get a list of projects and repositories that you have read privilege to and contain the keywords. Otherwise, only the public projects will be listed.  \r\n+\r\n+![browse project](img/search.png)\r\n+\r\n+##Administrator options\r\n+###Setting administrator and deleting user\r\n+Administrator can add \"SysAdmin\" role to an ordinary user and delete users by clicking the icons.  \r\n+\r\n+![browse project](img/set_admin_remove_user.png)\r\n+\r\n+##Pulling and pushing images using Docker client\r\n+**NOTE: The Registry V2 is compatible only with Docker engine version 1.6.0 or higher, so the version of your Docker must meet the requirement.**  \r\n+###Pulling images\r\n+If the project that the image belongs to is private, you should sign in first.  \r\n+\r\n+```sh\r\n+$ docker login 10.117.169.182  \r\n+```\r\n+  \r\n+And then you can pull the image.  \r\n+\r\n+```sh\r\n+$ docker pull 10.117.169.182/library/ubuntu:14.04  \r\n+```\r\n+\r\n+**Note: Replace \"10.117.169.182\" with your Harbor IP or domain name.**\r\n+\r\n+###Pushing images\r\n+Before pushing images, you must create corresponding projects using Harbor web UI. \r\n+\r\n+Sign in first.  \r\n+\r\n+```sh\r\n+$ docker login 10.117.169.182  \r\n+```\r\n+  \r\n+Tag the image.  \r","path":"docs/user_guide.md","position":84,"original_position":84,"commit_id":"401f5d53daae4e8b9f02754ec7158c258cac8522","original_commit_id":"401f5d53daae4e8b9f02754ec7158c258cac8522","user":{"login":"hainingzhang","id":2161887,"avatar_url":"https://avatars.githubusercontent.com/u/2161887?v=3","gravatar_id":"","url":"https://api.github.com/users/hainingzhang","html_url":"https://github.com/hainingzhang","followers_url":"https://api.github.com/users/hainingzhang/followers","following_url":"https://api.github.com/users/hainingzhang/following{/other_user}","gists_url":"https://api.github.com/users/hainingzhang/gists{/gist_id}","starred_url":"https://api.github.com/users/hainingzhang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hainingzhang/subscriptions","organizations_url":"https://api.github.com/users/hainingzhang/orgs","repos_url":"https://api.github.com/users/hainingzhang/repos","events_url":"https://api.github.com/users/hainingzhang/events{/privacy}","received_events_url":"https://api.github.com/users/hainingzhang/received_events","type":"User","site_admin":false},"body":"+Tag the image:","created_at":"2016-03-07T14:02:44Z","updated_at":"2016-03-07T14:02:44Z","html_url":"https://github.com/vmware/harbor/pull/12#discussion_r55206434","pull_request_url":"https://api.github.com/repos/vmware/harbor/pulls/12","_links":{"self":{"href":"https://api.github.com/repos/vmware/harbor/pulls/comments/55206434"},"html":{"href":"https://github.com/vmware/harbor/pull/12#discussion_r55206434"},"pull_request":{"href":"https://api.github.com/repos/vmware/harbor/pulls/12"}}},"pull_request":{"url":"https://api.github.com/repos/vmware/harbor/pulls/12","id":61893560,"html_url":"https://github.com/vmware/harbor/pull/12","diff_url":"https://github.com/vmware/harbor/pull/12.diff","patch_url":"https://github.com/vmware/harbor/pull/12.patch","issue_url":"https://api.github.com/repos/vmware/harbor/issues/12","number":12,"state":"open","locked":false,"title":"User Guide","user":{"login":"ywk253100","id":5835782,"avatar_url":"https://avatars.githubusercontent.com/u/5835782?v=3","gravatar_id":"","url":"https://api.github.com/users/ywk253100","html_url":"https://github.com/ywk253100","followers_url":"https://api.github.com/users/ywk253100/followers","following_url":"https://api.github.com/users/ywk253100/following{/other_user}","gists_url":"https://api.github.com/users/ywk253100/gists{/gist_id}","starred_url":"https://api.github.com/users/ywk253100/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ywk253100/subscriptions","organizations_url":"https://api.github.com/users/ywk253100/orgs","repos_url":"https://api.github.com/users/ywk253100/repos","events_url":"https://api.github.com/users/ywk253100/events{/privacy}","received_events_url":"https://api.github.com/users/ywk253100/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-03-07T09:46:59Z","updated_at":"2016-03-07T14:02:44Z","closed_at":null,"merged_at":null,"merge_commit_sha":"bdc55d34f9edf9dcec2ce5726bf211152ba74d0f","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/vmware/harbor/pulls/12/commits","review_comments_url":"https://api.github.com/repos/vmware/harbor/pulls/12/comments","review_comment_url":"https://api.github.com/repos/vmware/harbor/pulls/comments{/number}","comments_url":"https://api.github.com/repos/vmware/harbor/issues/12/comments","statuses_url":"https://api.github.com/repos/vmware/harbor/statuses/401f5d53daae4e8b9f02754ec7158c258cac8522","head":{"label":"ywk253100:master","ref":"master","sha":"401f5d53daae4e8b9f02754ec7158c258cac8522","user":{"login":"ywk253100","id":5835782,"avatar_url":"https://avatars.githubusercontent.com/u/5835782?v=3","gravatar_id":"","url":"https://api.github.com/users/ywk253100","html_url":"https://github.com/ywk253100","followers_url":"https://api.github.com/users/ywk253100/followers","following_url":"https://api.github.com/users/ywk253100/following{/other_user}","gists_url":"https://api.github.com/users/ywk253100/gists{/gist_id}","starred_url":"https://api.github.com/users/ywk253100/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ywk253100/subscriptions","organizations_url":"https://api.github.com/users/ywk253100/orgs","repos_url":"https://api.github.com/users/ywk253100/repos","events_url":"https://api.github.com/users/ywk253100/events{/privacy}","received_events_url":"https://api.github.com/users/ywk253100/received_events","type":"User","site_admin":false},"repo":{"id":53016174,"name":"harbor","full_name":"ywk253100/harbor","owner":{"login":"ywk253100","id":5835782,"avatar_url":"https://avatars.githubusercontent.com/u/5835782?v=3","gravatar_id":"","url":"https://api.github.com/users/ywk253100","html_url":"https://github.com/ywk253100","followers_url":"https://api.github.com/users/ywk253100/followers","following_url":"https://api.github.com/users/ywk253100/following{/other_user}","gists_url":"https://api.github.com/users/ywk253100/gists{/gist_id}","starred_url":"https://api.github.com/users/ywk253100/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ywk253100/subscriptions","organizations_url":"https://api.github.com/users/ywk253100/orgs","repos_url":"https://api.github.com/users/ywk253100/repos","events_url":"https://api.github.com/users/ywk253100/events{/privacy}","received_events_url":"https://api.github.com/users/ywk253100/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ywk253100/harbor","description":"","fork":true,"url":"https://api.github.com/repos/ywk253100/harbor","forks_url":"https://api.github.com/repos/ywk253100/harbor/forks","keys_url":"https://api.github.com/repos/ywk253100/harbor/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ywk253100/harbor/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ywk253100/harbor/teams","hooks_url":"https://api.github.com/repos/ywk253100/harbor/hooks","issue_events_url":"https://api.github.com/repos/ywk253100/harbor/issues/events{/number}","events_url":"https://api.github.com/repos/ywk253100/harbor/events","assignees_url":"https://api.github.com/repos/ywk253100/harbor/assignees{/user}","branches_url":"https://api.github.com/repos/ywk253100/harbor/branches{/branch}","tags_url":"https://api.github.com/repos/ywk253100/harbor/tags","blobs_url":"https://api.github.com/repos/ywk253100/harbor/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ywk253100/harbor/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ywk253100/harbor/git/refs{/sha}","trees_url":"https://api.github.com/repos/ywk253100/harbor/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ywk253100/harbor/statuses/{sha}","languages_url":"https://api.github.com/repos/ywk253100/harbor/languages","stargazers_url":"https://api.github.com/repos/ywk253100/harbor/stargazers","contributors_url":"https://api.github.com/repos/ywk253100/harbor/contributors","subscribers_url":"https://api.github.com/repos/ywk253100/harbor/subscribers","subscription_url":"https://api.github.com/repos/ywk253100/harbor/subscription","commits_url":"https://api.github.com/repos/ywk253100/harbor/commits{/sha}","git_commits_url":"https://api.github.com/repos/ywk253100/harbor/git/commits{/sha}","comments_url":"https://api.github.com/repos/ywk253100/harbor/comments{/number}","issue_comment_url":"https://api.github.com/repos/ywk253100/harbor/issues/comments{/number}","contents_url":"https://api.github.com/repos/ywk253100/harbor/contents/{+path}","compare_url":"https://api.github.com/repos/ywk253100/harbor/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ywk253100/harbor/merges","archive_url":"https://api.github.com/repos/ywk253100/harbor/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ywk253100/harbor/downloads","issues_url":"https://api.github.com/repos/ywk253100/harbor/issues{/number}","pulls_url":"https://api.github.com/repos/ywk253100/harbor/pulls{/number}","milestones_url":"https://api.github.com/repos/ywk253100/harbor/milestones{/number}","notifications_url":"https://api.github.com/repos/ywk253100/harbor/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ywk253100/harbor/labels{/name}","releases_url":"https://api.github.com/repos/ywk253100/harbor/releases{/id}","deployments_url":"https://api.github.com/repos/ywk253100/harbor/deployments","created_at":"2016-03-03T03:06:09Z","updated_at":"2016-03-03T03:06:10Z","pushed_at":"2016-03-07T09:41:20Z","git_url":"git://github.com/ywk253100/harbor.git","ssh_url":"git@github.com:ywk253100/harbor.git","clone_url":"https://github.com/ywk253100/harbor.git","svn_url":"https://github.com/ywk253100/harbor","homepage":null,"size":927,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"vmware:master","ref":"master","sha":"3b71580986142cc53c9567e623db84fb9f028f60","user":{"login":"vmware","id":473334,"avatar_url":"https://avatars.githubusercontent.com/u/473334?v=3","gravatar_id":"","url":"https://api.github.com/users/vmware","html_url":"https://github.com/vmware","followers_url":"https://api.github.com/users/vmware/followers","following_url":"https://api.github.com/users/vmware/following{/other_user}","gists_url":"https://api.github.com/users/vmware/gists{/gist_id}","starred_url":"https://api.github.com/users/vmware/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vmware/subscriptions","organizations_url":"https://api.github.com/users/vmware/orgs","repos_url":"https://api.github.com/users/vmware/repos","events_url":"https://api.github.com/users/vmware/events{/privacy}","received_events_url":"https://api.github.com/users/vmware/received_events","type":"Organization","site_admin":false},"repo":{"id":50613991,"name":"harbor","full_name":"vmware/harbor","owner":{"login":"vmware","id":473334,"avatar_url":"https://avatars.githubusercontent.com/u/473334?v=3","gravatar_id":"","url":"https://api.github.com/users/vmware","html_url":"https://github.com/vmware","followers_url":"https://api.github.com/users/vmware/followers","following_url":"https://api.github.com/users/vmware/following{/other_user}","gists_url":"https://api.github.com/users/vmware/gists{/gist_id}","starred_url":"https://api.github.com/users/vmware/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vmware/subscriptions","organizations_url":"https://api.github.com/users/vmware/orgs","repos_url":"https://api.github.com/users/vmware/repos","events_url":"https://api.github.com/users/vmware/events{/privacy}","received_events_url":"https://api.github.com/users/vmware/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/vmware/harbor","description":"","fork":false,"url":"https://api.github.com/repos/vmware/harbor","forks_url":"https://api.github.com/repos/vmware/harbor/forks","keys_url":"https://api.github.com/repos/vmware/harbor/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vmware/harbor/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vmware/harbor/teams","hooks_url":"https://api.github.com/repos/vmware/harbor/hooks","issue_events_url":"https://api.github.com/repos/vmware/harbor/issues/events{/number}","events_url":"https://api.github.com/repos/vmware/harbor/events","assignees_url":"https://api.github.com/repos/vmware/harbor/assignees{/user}","branches_url":"https://api.github.com/repos/vmware/harbor/branches{/branch}","tags_url":"https://api.github.com/repos/vmware/harbor/tags","blobs_url":"https://api.github.com/repos/vmware/harbor/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vmware/harbor/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vmware/harbor/git/refs{/sha}","trees_url":"https://api.github.com/repos/vmware/harbor/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vmware/harbor/statuses/{sha}","languages_url":"https://api.github.com/repos/vmware/harbor/languages","stargazers_url":"https://api.github.com/repos/vmware/harbor/stargazers","contributors_url":"https://api.github.com/repos/vmware/harbor/contributors","subscribers_url":"https://api.github.com/repos/vmware/harbor/subscribers","subscription_url":"https://api.github.com/repos/vmware/harbor/subscription","commits_url":"https://api.github.com/repos/vmware/harbor/commits{/sha}","git_commits_url":"https://api.github.com/repos/vmware/harbor/git/commits{/sha}","comments_url":"https://api.github.com/repos/vmware/harbor/comments{/number}","issue_comment_url":"https://api.github.com/repos/vmware/harbor/issues/comments{/number}","contents_url":"https://api.github.com/repos/vmware/harbor/contents/{+path}","compare_url":"https://api.github.com/repos/vmware/harbor/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vmware/harbor/merges","archive_url":"https://api.github.com/repos/vmware/harbor/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vmware/harbor/downloads","issues_url":"https://api.github.com/repos/vmware/harbor/issues{/number}","pulls_url":"https://api.github.com/repos/vmware/harbor/pulls{/number}","milestones_url":"https://api.github.com/repos/vmware/harbor/milestones{/number}","notifications_url":"https://api.github.com/repos/vmware/harbor/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vmware/harbor/labels{/name}","releases_url":"https://api.github.com/repos/vmware/harbor/releases{/id}","deployments_url":"https://api.github.com/repos/vmware/harbor/deployments","created_at":"2016-01-28T21:10:28Z","updated_at":"2016-03-07T08:05:51Z","pushed_at":"2016-03-07T10:40:45Z","git_url":"git://github.com/vmware/harbor.git","ssh_url":"git@github.com:vmware/harbor.git","clone_url":"https://github.com/vmware/harbor.git","svn_url":"https://github.com/vmware/harbor","homepage":null,"size":5103,"stargazers_count":13,"watchers_count":13,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":9,"mirror_url":null,"open_issues_count":6,"forks":9,"open_issues":6,"watchers":13,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/vmware/harbor/pulls/12"},"html":{"href":"https://github.com/vmware/harbor/pull/12"},"issue":{"href":"https://api.github.com/repos/vmware/harbor/issues/12"},"comments":{"href":"https://api.github.com/repos/vmware/harbor/issues/12/comments"},"review_comments":{"href":"https://api.github.com/repos/vmware/harbor/pulls/12/comments"},"review_comment":{"href":"https://api.github.com/repos/vmware/harbor/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/vmware/harbor/pulls/12/commits"},"statuses":{"href":"https://api.github.com/repos/vmware/harbor/statuses/401f5d53daae4e8b9f02754ec7158c258cac8522"}}}}