{"action":"created","comment":{"url":"https://api.github.com/repos/opensciencegrid/docs/pulls/comments/134533046","pull_request_review_id":57835470,"id":134533046,"diff_hunk":"@@ -1,168 +1,123 @@\n-Install a GridFTP Server\n-========================\n+Installing and Maintaining a GridFTP Server\n+===========================================\n \n-<span class=\"twiki-macro DOC_STATUS_TABLE\"></span> <span class=\"twiki-macro TOC\"></span>\n+About This Guide\n+----------------\n \n-—\\# About this Document This page explains how to install the stand-alone Globus GridFTP server.\n+This page explains how to install the stand-alone Globus GridFTP server.\n \n The GridFTP package contains components necessary to set up a stand-alone gsiftp server and tools used to monitor and report its performance. A stand-alone GridFTP server might be used under the following circumstances:\n \n--   A simple front-end to a filesystem allowing access over WAN - for example NFS.\n--   BeStMan is capable of distributing its workload among several gsiftp servers so if you expect large movements of data into/out of your site, multiple gsiftp servers can be set up.\n-\n-—\\# Requirements\n-\n-—\\#\\# Host and OS\n-\n--   OS must be <span class=\"twiki-macro SUPPORTED_OS\"></span>.\n--   [EPEL](http://fedoraproject.org/wiki/EPEL) repos enabled.\n--   Root access\n-\n-—\\#\\# Certificates\n-\n-<span class=\"twiki-macro STARTSECTION\">Certificates</span>\n-\n-| Certificate      | User that owns certificate | Path to certificate                                                       |\n-|:-----------------|:---------------------------|:--------------------------------------------------------------------------|\n-| Host certificate | `root`                     | `/etc/grid-security/hostcert.pem` \\<br\\> `/etc/grid-security/hostkey.pem` |\n-\n-<span class=\"twiki-macro ENDSECTION\">Certificates</span>\n-\n-[Instructions](InstallCertScripts) to request a service certificate.\n-\n-You will also need a copy of CA certificates (see below).\n-\n-—\\#\\# Users\n-\n-<span class=\"twiki-macro STARTSECTION\">GridUsers</span> For this package to function correctly, you will have to create the users needed for grid operation. Any user that can be authenticated should be created.\n-\n-For grid-mapfile users, each line of the grid-mapfile is a certificate/user pair. Each user in this file should be created on the server.\n-\n-For gums users, this means that each user that can be authenticated by gums should be created on the server.\n-\n-Note that these users must be kept in sync with the authentication method. For instance, if new users or rules are added in gums, then new users should also be added here. <span class=\"twiki-macro ENDSECTION\">GridUsers</span>\n-\n-—\\#\\# Networking\n-\n-<span class=\"twiki-macro STARTSECTION\">Firewalls</span> <span class=\"twiki-macro INCLUDE\" section=\"FirewallTable\" lines=\"gridftp,portrange,portsource\">Documentation/Release3.FirewallInformation</span> \\\\ <span class=\"twiki-macro ENDSECTION\">Firewalls</span>\n-\n-If you have a multi-homed host you may be interested in reading [this section](#ConfigMultiHomed).\n-\n-—\\#\\# Engineering Considerations\n-\n-It is recommended that the GridFTP package be installed on its own server if:\n-\n--   You are serving the VOs that use storage heavily (CMS, ATLAS, CDF, and D0) and have more than 250 cores\n+-   You are serving VOs that use storage heavily (CMS, ATLAS, CDF, and D0) and your site has more than 250 cores\n -   Your site will be managing more than 50 TB of disk space\n+-   A simple front-end to a filesystem allowing access over WAN - for example NFS.\n \n-If you are planning to have a Storage Element with BeStMan and have more than 1Gbps bandwidth, then you should plan on at least one GridFTP server per 4Gbps of available bandwidth (assuming you have 10Gbps interfaces on the server) if you want to maximize throughput.\n-\n-Also, you have to decide what authorization mechanism you prefer. You may use either grid-mapfile or a GUMS server for users’ authentication and authorization. We currently recommend using GUMS as it provides superior flexibility and allows a site to manage all of its mappings in one central location; most large sites use GUMS.\n-\n-<span class=\"twiki-macro NOTE\"></span> OSG does not support launching the GridFTP server with xinetd — only launching with init is supported.\n+!!! note\n+    This document is for a standalone GridFTP server on top of POSIX storage.  [See this page](https://twiki.opensciencegrid.org/bin/view/Documentation/Release3/InstallHadoop200SE) for installation and configuration of a GridFTP server on top of the Hadoop Distributed File System.\n \n-—\\# Install Instructions\n+Before Starting\n+---------------\n \n-<span class=\"twiki-macro INCLUDE\" section=\"OSGRepoBrief\" TOC_SHIFT=\"+\">YumRepositories</span> <span class=\"twiki-macro INCLUDE\" section=\"OSGBriefCaCerts\" TOC_SHIFT=\"+\">InstallCertAuth</span>\n+Before starting the installation process you will need to fulfill these prerequisites.\n \n-<span class=\"twiki-macro STARTSECTION\">Full</span>\n \n-<span class=\"twiki-macro STARTSECTION\">Install</span> GridFTP requires a certificate package to run. If you require a specific certificate package, follow the Documentation/Release3.InstallCertAuth instructions to install it. If you do not install a grid certificate package first, the install procedure will install one for you as part of its dependencies. (usually osg-ca-certs).\n+-   Ensure the host has [a supported operating system](../release/supported_platforms.md)\n+-   Obtain root access to the host\n+-   Prepare [the required Yum repositories](../common/yum.md)\n+-   Install [CA certificates](../common/ca.md)\n+-   Service certificate: The HTCondor-CE service uses a host certificate at `/etc/grid-security/hostcert.pem` and an accompanying key at `/etc/grid-security/hostkey.pem`\n+-   Network ports: GridFTP listens on TCP port 2811 and the list of ports configured by the `GLOBUS_TCP_SOURCE_RANGE` environment variable.\n \n-—\\#\\# Installing the GridFTP Server\n+Installing GridFTP\n+------------------\n \n First, you will need to install the GridFTP meta-package:\n \n-``` rootscreen\n-%UCL_PROMPT_ROOT% yum install osg-gridftp\n+```console\n+[root@client ~] # yum install osg-gridftp\n ```\n \n-<span class=\"twiki-macro ENDSECTION\">Install</span>\n+Configuring GridFTP\n+-------------------\n \n-—\\# Configuration\n+### Configuring authentication\n \n-—\\#\\# Authorization\n+In OSG 3.3, there are three methods to manage authentication for incoming jobs: the [LCMAPS VOMS plugin](https://twiki.opensciencegrid.org/bin/view/Documentation/Release3/InstallLcmapsVoms), [edg-mkgridmap](https://twiki.opensciencegrid.org/bin/view/Documentation/Release3/Edg-mkgridmap) and [GUMS](https://twiki.opensciencegrid.org/bin/view/Documentation/Release3/InstallGums). Of these, GUMS has the most features and capabilities. The LCMAPS VOMS plugin is the new OSG-preferred authentication, offering the simplicity of edg-mkgridmap and many of GUMS' rich feature set. If you need to support \"[pool accounts](https://www.racf.bnl.gov/Facility/GUMS/1.4/use_configuration.html)\", GUMS is the only option with that capability.\n \n-<span class=\"twiki-macro STARTSECTION\">Authorization</span> There are two authorization options:\n+In OSG 3.4, the LCMAPS VOMS plugin is the only available authentication solution.\n \n--   Gridmap file\n--   GUMS authentication server\n+#### Authentication with the LCMAPS VOMS plugin\n \n-Please choose one of these and follow the instructions in one of the two following sections.\n+1.  Add the following line to `/etc/sysconfig/globus-gridftp-server`:\n \n-—\\#\\#\\# Configuring Gridmap Support\n+        :::shell\n+        export LLGT_VOMS_ENABLE_CREDENTIAL_CHECK=1\n \n-<span class=\"twiki-macro STARTSECTION\">Gridmap</span> By default, GridFTP uses a gridmap file, found in `/etc/grid-security/grid-mapfile`. This file is not generated by default. There are two ways you can generate this file. You can generate this file manually, by including DN/username combinations. This is most useful for debugging. Otherwise, you can install edg-mkgridmap, which will periodically contact a list of VOMS servers that you specify. It assembles a list of users from those servers and creates a grid-mapfile. This grid-mapfile serves both as a list of authorized users and provides a mapping from user dns to local user ids.\n+    This should _only_ be done for OSG 3.3; it is unnecessary for OSG 3.4.\n \n-To install edg\\_mkgridmap, perform the following steps\n+2.  Follow the instructions in [the LCMAPS VOMS plugin installation and configuration document](https://twiki.opensciencegrid.org/bin/view/Documentation/Release3/InstallLcmapsVoms) to prepare the LCMAPS VOMS plugin.\n \n-``` rootscreen\n-yum install edg-mkgridmap\n-```\n+!!! note\n+    This is the suggested mechanism for all new installs.\n \n-Review `/etc/edg-mkgridmap.conf` to make sure that it has all VOs that you are interested in and also to comment out any VOs that you do not wish to support.\n+#### Authentication with edg-mkgridmap\n \n-``` rootscreen\n-vi /etc/edg-mkgridmap.conf\n-```\n+!!! warning\n+    As of the June 2017 release of OSG 3.4.0, this software is officially deprecated. Support is scheduled to end as of June 2018.\n \n-This utility `edg-mkgridmap` runs as a cronjob `/etc/cron.d/edg-mkgridmap-cron` (by default every 6 hours). You can also run `edg-mkgridmap` manually to see that it generates `/etc/grid-security/grid-mapfile`.\n+By default, GridFTP uses a gridmap file, found in `/etc/grid-security/grid-mapfile`. This is the file generated by `edg-mkgridmap` if you follow the default [install instructions](https://twiki.opensciencegrid.org/bin/view/Documentation/Release3/Edg-mkgridmap).  No further configuration is needed.\n \n-``` rootscreen\n-edg-mkgridmap\n-```\n+#### Authentication with GUMS\n \n-Then, you can enable/start the service.\n+!!! warning\n+    As of the June 2017 release of OSG 3.4.0, this software is officially deprecated. Support is scheduled to end as of June 2018.\n \n-``` rootscreen\n-/sbin/service edg-mkgridmap start\n-/sbin/chkconfig edg-mkgridmap on\n-```\n+If you want to use GUMS security (recommended), you will need to enable it using the following steps:\n \n-You can read more on this page: [edg\\_mkgridmap (on the CE)](Documentation/Release3.InstallComputeElement#5_2_Using_edg_mkgridmap_for_auth) <span class=\"twiki-macro ENDSECTION\">Gridmap</span>\n+1.  Edit `/etc/grid-security/gsi-authz.conf` and uncomment the globus callout.\n \n-—\\#\\#\\# Configuring GUMS support\n+        :::text\n+        globus_mapping liblcas_lcmaps_gt4_mapping.so lcmaps_callout\n \n-<span class=\"twiki-macro STARTSECTION\">Gums</span> By default, GridFTP uses a gridmap file, found in `/etc/grid-security/gridmap-file`. If you want to use GUMS security (recommended), you will need to enable it using the following steps:\n+    Note that this used to be the full path to the library (`/usr/lib64` or `/usr/lib`), but now we rely on the linker for proper resolution in this file.\n \n-First, edit `/etc/grid-security/gsi-authz.conf` and uncomment the globus callout.\n+2.  Edit `/etc/lcmaps.db` to include your service endpoint:\n \n-``` file\n-globus_mapping liblcas_lcmaps_gt4_mapping.so lcmaps_callout\n-```\n+        :::text\n+        ...\n+        gumsclient = \"lcmaps_gums_client.mod\"\n+                     \"-resourcetype ce\"\n+                     \"-actiontype execute-now\"\n+                     \"-capath /etc/grid-security/certificates\"\n+                     \"-cert   /etc/grid-security/hostcert.pem\"\n+                     \"-key    /etc/grid-security/hostkey.pem\"\n+                     \"--cert-owner root\"\n+        # Change this URL to your GUMS server\n+                     \"--endpoint https://%RED%gums.example.com:8443%ENDCOLOR%/gums/services/GUMSXACMLAuthorizationServicePort\"","path":"docs/storage/gridftp.md","position":191,"original_position":191,"commit_id":"15a0a4d19a92c444ca1f94db31db24517701dd4e","original_commit_id":"15a0a4d19a92c444ca1f94db31db24517701dd4e","user":{"login":"bbockelm","id":1093447,"avatar_url":"https://avatars2.githubusercontent.com/u/1093447?v=4","gravatar_id":"","url":"https://api.github.com/users/bbockelm","html_url":"https://github.com/bbockelm","followers_url":"https://api.github.com/users/bbockelm/followers","following_url":"https://api.github.com/users/bbockelm/following{/other_user}","gists_url":"https://api.github.com/users/bbockelm/gists{/gist_id}","starred_url":"https://api.github.com/users/bbockelm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bbockelm/subscriptions","organizations_url":"https://api.github.com/users/bbockelm/orgs","repos_url":"https://api.github.com/users/bbockelm/repos","events_url":"https://api.github.com/users/bbockelm/events{/privacy}","received_events_url":"https://api.github.com/users/bbockelm/received_events","type":"User","site_admin":false},"body":"![image](https://user-images.githubusercontent.com/1093447/29576211-e59200c4-871b-11e7-9b03-9f87bd8693fd.png)\r\n\r\nYup, it works.  Quite handy!","created_at":"2017-08-22T16:26:38Z","updated_at":"2017-08-22T16:26:38Z","html_url":"https://github.com/opensciencegrid/docs/pull/24#discussion_r134533046","pull_request_url":"https://api.github.com/repos/opensciencegrid/docs/pulls/24","_links":{"self":{"href":"https://api.github.com/repos/opensciencegrid/docs/pulls/comments/134533046"},"html":{"href":"https://github.com/opensciencegrid/docs/pull/24#discussion_r134533046"},"pull_request":{"href":"https://api.github.com/repos/opensciencegrid/docs/pulls/24"}}},"pull_request":{"url":"https://api.github.com/repos/opensciencegrid/docs/pulls/24","id":136628750,"html_url":"https://github.com/opensciencegrid/docs/pull/24","diff_url":"https://github.com/opensciencegrid/docs/pull/24.diff","patch_url":"https://github.com/opensciencegrid/docs/pull/24.patch","issue_url":"https://api.github.com/repos/opensciencegrid/docs/issues/24","number":24,"state":"open","locked":false,"title":"Redo the conversion of GridFTP document to Markdown.","user":{"login":"bbockelm","id":1093447,"avatar_url":"https://avatars2.githubusercontent.com/u/1093447?v=4","gravatar_id":"","url":"https://api.github.com/users/bbockelm","html_url":"https://github.com/bbockelm","followers_url":"https://api.github.com/users/bbockelm/followers","following_url":"https://api.github.com/users/bbockelm/following{/other_user}","gists_url":"https://api.github.com/users/bbockelm/gists{/gist_id}","starred_url":"https://api.github.com/users/bbockelm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bbockelm/subscriptions","organizations_url":"https://api.github.com/users/bbockelm/orgs","repos_url":"https://api.github.com/users/bbockelm/repos","events_url":"https://api.github.com/users/bbockelm/events{/privacy}","received_events_url":"https://api.github.com/users/bbockelm/received_events","type":"User","site_admin":false},"body":"Original URL: https://twiki.opensciencegrid.org/bin/view/Documentation/Release3/InstallOSGGridFTP\r\n\r\n- [ ] Enter date into \"Migrated\" column of google sheet\r\n- [ ] Add migration header to TWiki document\r\n","created_at":"2017-08-20T02:57:57Z","updated_at":"2017-08-22T16:26:38Z","closed_at":null,"merged_at":null,"merge_commit_sha":"142d99735065ca3e839f58f51e3355ef9229dfcc","assignee":null,"assignees":[],"requested_reviewers":[{"login":"djw8605","id":79268,"avatar_url":"https://avatars1.githubusercontent.com/u/79268?v=4","gravatar_id":"","url":"https://api.github.com/users/djw8605","html_url":"https://github.com/djw8605","followers_url":"https://api.github.com/users/djw8605/followers","following_url":"https://api.github.com/users/djw8605/following{/other_user}","gists_url":"https://api.github.com/users/djw8605/gists{/gist_id}","starred_url":"https://api.github.com/users/djw8605/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/djw8605/subscriptions","organizations_url":"https://api.github.com/users/djw8605/orgs","repos_url":"https://api.github.com/users/djw8605/repos","events_url":"https://api.github.com/users/djw8605/events{/privacy}","received_events_url":"https://api.github.com/users/djw8605/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/opensciencegrid/docs/pulls/24/commits","review_comments_url":"https://api.github.com/repos/opensciencegrid/docs/pulls/24/comments","review_comment_url":"https://api.github.com/repos/opensciencegrid/docs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/opensciencegrid/docs/issues/24/comments","statuses_url":"https://api.github.com/repos/opensciencegrid/docs/statuses/15a0a4d19a92c444ca1f94db31db24517701dd4e","head":{"label":"bbockelm:gridftp_fixes","ref":"gridftp_fixes","sha":"15a0a4d19a92c444ca1f94db31db24517701dd4e","user":{"login":"bbockelm","id":1093447,"avatar_url":"https://avatars2.githubusercontent.com/u/1093447?v=4","gravatar_id":"","url":"https://api.github.com/users/bbockelm","html_url":"https://github.com/bbockelm","followers_url":"https://api.github.com/users/bbockelm/followers","following_url":"https://api.github.com/users/bbockelm/following{/other_user}","gists_url":"https://api.github.com/users/bbockelm/gists{/gist_id}","starred_url":"https://api.github.com/users/bbockelm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bbockelm/subscriptions","organizations_url":"https://api.github.com/users/bbockelm/orgs","repos_url":"https://api.github.com/users/bbockelm/repos","events_url":"https://api.github.com/users/bbockelm/events{/privacy}","received_events_url":"https://api.github.com/users/bbockelm/received_events","type":"User","site_admin":false},"repo":{"id":99645229,"name":"docs","full_name":"bbockelm/docs","owner":{"login":"bbockelm","id":1093447,"avatar_url":"https://avatars2.githubusercontent.com/u/1093447?v=4","gravatar_id":"","url":"https://api.github.com/users/bbockelm","html_url":"https://github.com/bbockelm","followers_url":"https://api.github.com/users/bbockelm/followers","following_url":"https://api.github.com/users/bbockelm/following{/other_user}","gists_url":"https://api.github.com/users/bbockelm/gists{/gist_id}","starred_url":"https://api.github.com/users/bbockelm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bbockelm/subscriptions","organizations_url":"https://api.github.com/users/bbockelm/orgs","repos_url":"https://api.github.com/users/bbockelm/repos","events_url":"https://api.github.com/users/bbockelm/events{/privacy}","received_events_url":"https://api.github.com/users/bbockelm/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/bbockelm/docs","description":"Prototype of OSG Docs migration","fork":true,"url":"https://api.github.com/repos/bbockelm/docs","forks_url":"https://api.github.com/repos/bbockelm/docs/forks","keys_url":"https://api.github.com/repos/bbockelm/docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bbockelm/docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bbockelm/docs/teams","hooks_url":"https://api.github.com/repos/bbockelm/docs/hooks","issue_events_url":"https://api.github.com/repos/bbockelm/docs/issues/events{/number}","events_url":"https://api.github.com/repos/bbockelm/docs/events","assignees_url":"https://api.github.com/repos/bbockelm/docs/assignees{/user}","branches_url":"https://api.github.com/repos/bbockelm/docs/branches{/branch}","tags_url":"https://api.github.com/repos/bbockelm/docs/tags","blobs_url":"https://api.github.com/repos/bbockelm/docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bbockelm/docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bbockelm/docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/bbockelm/docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bbockelm/docs/statuses/{sha}","languages_url":"https://api.github.com/repos/bbockelm/docs/languages","stargazers_url":"https://api.github.com/repos/bbockelm/docs/stargazers","contributors_url":"https://api.github.com/repos/bbockelm/docs/contributors","subscribers_url":"https://api.github.com/repos/bbockelm/docs/subscribers","subscription_url":"https://api.github.com/repos/bbockelm/docs/subscription","commits_url":"https://api.github.com/repos/bbockelm/docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/bbockelm/docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/bbockelm/docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/bbockelm/docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/bbockelm/docs/contents/{+path}","compare_url":"https://api.github.com/repos/bbockelm/docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bbockelm/docs/merges","archive_url":"https://api.github.com/repos/bbockelm/docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bbockelm/docs/downloads","issues_url":"https://api.github.com/repos/bbockelm/docs/issues{/number}","pulls_url":"https://api.github.com/repos/bbockelm/docs/pulls{/number}","milestones_url":"https://api.github.com/repos/bbockelm/docs/milestones{/number}","notifications_url":"https://api.github.com/repos/bbockelm/docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bbockelm/docs/labels{/name}","releases_url":"https://api.github.com/repos/bbockelm/docs/releases{/id}","deployments_url":"https://api.github.com/repos/bbockelm/docs/deployments","created_at":"2017-08-08T03:20:18Z","updated_at":"2017-08-08T03:20:21Z","pushed_at":"2017-08-20T15:49:06Z","git_url":"git://github.com/bbockelm/docs.git","ssh_url":"git@github.com:bbockelm/docs.git","clone_url":"https://github.com/bbockelm/docs.git","svn_url":"https://github.com/bbockelm/docs","homepage":"https://opensciencegrid.github.io/docs","size":2764,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"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":"opensciencegrid:master","ref":"master","sha":"de387905e27411005010383026a11cf126efb4bd","user":{"login":"opensciencegrid","id":3155995,"avatar_url":"https://avatars0.githubusercontent.com/u/3155995?v=4","gravatar_id":"","url":"https://api.github.com/users/opensciencegrid","html_url":"https://github.com/opensciencegrid","followers_url":"https://api.github.com/users/opensciencegrid/followers","following_url":"https://api.github.com/users/opensciencegrid/following{/other_user}","gists_url":"https://api.github.com/users/opensciencegrid/gists{/gist_id}","starred_url":"https://api.github.com/users/opensciencegrid/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/opensciencegrid/subscriptions","organizations_url":"https://api.github.com/users/opensciencegrid/orgs","repos_url":"https://api.github.com/users/opensciencegrid/repos","events_url":"https://api.github.com/users/opensciencegrid/events{/privacy}","received_events_url":"https://api.github.com/users/opensciencegrid/received_events","type":"Organization","site_admin":false},"repo":{"id":57261971,"name":"docs","full_name":"opensciencegrid/docs","owner":{"login":"opensciencegrid","id":3155995,"avatar_url":"https://avatars0.githubusercontent.com/u/3155995?v=4","gravatar_id":"","url":"https://api.github.com/users/opensciencegrid","html_url":"https://github.com/opensciencegrid","followers_url":"https://api.github.com/users/opensciencegrid/followers","following_url":"https://api.github.com/users/opensciencegrid/following{/other_user}","gists_url":"https://api.github.com/users/opensciencegrid/gists{/gist_id}","starred_url":"https://api.github.com/users/opensciencegrid/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/opensciencegrid/subscriptions","organizations_url":"https://api.github.com/users/opensciencegrid/orgs","repos_url":"https://api.github.com/users/opensciencegrid/repos","events_url":"https://api.github.com/users/opensciencegrid/events{/privacy}","received_events_url":"https://api.github.com/users/opensciencegrid/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/opensciencegrid/docs","description":"Prototype of OSG Docs migration","fork":false,"url":"https://api.github.com/repos/opensciencegrid/docs","forks_url":"https://api.github.com/repos/opensciencegrid/docs/forks","keys_url":"https://api.github.com/repos/opensciencegrid/docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/opensciencegrid/docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/opensciencegrid/docs/teams","hooks_url":"https://api.github.com/repos/opensciencegrid/docs/hooks","issue_events_url":"https://api.github.com/repos/opensciencegrid/docs/issues/events{/number}","events_url":"https://api.github.com/repos/opensciencegrid/docs/events","assignees_url":"https://api.github.com/repos/opensciencegrid/docs/assignees{/user}","branches_url":"https://api.github.com/repos/opensciencegrid/docs/branches{/branch}","tags_url":"https://api.github.com/repos/opensciencegrid/docs/tags","blobs_url":"https://api.github.com/repos/opensciencegrid/docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/opensciencegrid/docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/opensciencegrid/docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/opensciencegrid/docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/opensciencegrid/docs/statuses/{sha}","languages_url":"https://api.github.com/repos/opensciencegrid/docs/languages","stargazers_url":"https://api.github.com/repos/opensciencegrid/docs/stargazers","contributors_url":"https://api.github.com/repos/opensciencegrid/docs/contributors","subscribers_url":"https://api.github.com/repos/opensciencegrid/docs/subscribers","subscription_url":"https://api.github.com/repos/opensciencegrid/docs/subscription","commits_url":"https://api.github.com/repos/opensciencegrid/docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/opensciencegrid/docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/opensciencegrid/docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/opensciencegrid/docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/opensciencegrid/docs/contents/{+path}","compare_url":"https://api.github.com/repos/opensciencegrid/docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/opensciencegrid/docs/merges","archive_url":"https://api.github.com/repos/opensciencegrid/docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/opensciencegrid/docs/downloads","issues_url":"https://api.github.com/repos/opensciencegrid/docs/issues{/number}","pulls_url":"https://api.github.com/repos/opensciencegrid/docs/pulls{/number}","milestones_url":"https://api.github.com/repos/opensciencegrid/docs/milestones{/number}","notifications_url":"https://api.github.com/repos/opensciencegrid/docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/opensciencegrid/docs/labels{/name}","releases_url":"https://api.github.com/repos/opensciencegrid/docs/releases{/id}","deployments_url":"https://api.github.com/repos/opensciencegrid/docs/deployments","created_at":"2016-04-28T01:53:52Z","updated_at":"2017-02-07T16:19:08Z","pushed_at":"2017-08-20T15:50:36Z","git_url":"git://github.com/opensciencegrid/docs.git","ssh_url":"git@github.com:opensciencegrid/docs.git","clone_url":"https://github.com/opensciencegrid/docs.git","svn_url":"https://github.com/opensciencegrid/docs","homepage":"https://opensciencegrid.github.io/docs","size":4301,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":8,"mirror_url":null,"open_issues_count":2,"forks":8,"open_issues":2,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/opensciencegrid/docs/pulls/24"},"html":{"href":"https://github.com/opensciencegrid/docs/pull/24"},"issue":{"href":"https://api.github.com/repos/opensciencegrid/docs/issues/24"},"comments":{"href":"https://api.github.com/repos/opensciencegrid/docs/issues/24/comments"},"review_comments":{"href":"https://api.github.com/repos/opensciencegrid/docs/pulls/24/comments"},"review_comment":{"href":"https://api.github.com/repos/opensciencegrid/docs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/opensciencegrid/docs/pulls/24/commits"},"statuses":{"href":"https://api.github.com/repos/opensciencegrid/docs/statuses/15a0a4d19a92c444ca1f94db31db24517701dd4e"}}}}
{"actor":{"display_login":"bbockelm"}}