{"action":"created","comment":{"url":"https://api.github.com/repos/openshift/origin-server/pulls/comments/23170038","id":23170038,"diff_hunk":"@@ -44,19 +44,27 @@ Using F5 BIG-IP LTM\n -------------------\n \n Edit `/etc/openshift/routing-daemon.conf` to set the appropriate values for\n-`BIGIP_HOST`, `BIGIP_USERNAME`, `BIGIP_PASSWORD`, and `BIGIP_MONITOR` to match\n-your F5 BIG-IP LTM configuration.\n-\n-F5 BIG-IP must be configured with a virtual server that has been assigned at\n-least one VIP.  The daemon will automatically create pools and associated\n-local-traffic policy rules, add these profiles to the virtual server, add\n-members to the pools, delete members from the pools, and delete empty pools and\n-unused policy rules when appropriate.  Your virtual server must be named\n-\"ose-vlan\". The daemon will name the pools after applications following the\n-template \"/Common/ose-#{app_name}-#{namespace}\" and create policy rules that\n-redirect \"/#{app_name}\" to pools comprising the gears of the named application.\n-The policy rules bypass applications' HAProxy instances and instead route to the\n-gears via the node's port-proxy.\n+`BIGIP_HOST`, `BIGIP_USERNAME`, `BIGIP_PASSWORD`, `BIGIP_MONITOR`,\n+`BIGIP_SSHKEY` to match your F5 BIG-IP LTM configuration.\n+\n+F5 BIG-IP LTM must be configured with two virtual servers, one for HTTP traffic\n+and one for HTTPS traffic. Each virtual server needs to be assigned at least\n+one VIP. A default client-ssl profile must also be configured as the default\n+SNI client-ssl profile. Although the naming of the default client-ssl profile\n+is unimportant, it does need to be added to the HTTPS virtual server. The LTM\n+admin user's 'Terminal Access' must be set to 'Advanced shell' so that remote\n+bash commands may be executed. Additionally, for the remote key management\n+commands to execute, the `BIGIP_SSHKEY` public key must be added to the LTM\n+admin's .ssh/authorized_keys file. The daemon will automatically create pools\n+and associated local-traffic policy rules, add these profiles to the virtual\n+server, add members to the pools, delete members from the pools, and delete\n+empty pools and unused policy rules when appropriate.  Your HTTP virtual server\n+must be named \"ose-vserver\" and your HTTPS virtual server must be named","path":"routing-daemon/README.md","position":32,"original_position":32,"commit_id":"07432cbd7891eadef8b4dedd3a8fafeb2f993bb7","original_commit_id":"def43e9d933d4ee036956d7fa0c81c25b5d1ecb4","user":{"login":"calfonso","id":13747,"avatar_url":"https://avatars.githubusercontent.com/u/13747?v=3","gravatar_id":"","url":"https://api.github.com/users/calfonso","html_url":"https://github.com/calfonso","followers_url":"https://api.github.com/users/calfonso/followers","following_url":"https://api.github.com/users/calfonso/following{/other_user}","gists_url":"https://api.github.com/users/calfonso/gists{/gist_id}","starred_url":"https://api.github.com/users/calfonso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/calfonso/subscriptions","organizations_url":"https://api.github.com/users/calfonso/orgs","repos_url":"https://api.github.com/users/calfonso/repos","events_url":"https://api.github.com/users/calfonso/events{/privacy}","received_events_url":"https://api.github.com/users/calfonso/received_events","type":"User","site_admin":false},"body":"Yes. I'll update the doc to reflect that.","created_at":"2015-01-19T16:26:35Z","updated_at":"2015-01-19T16:26:35Z","html_url":"https://github.com/openshift/origin-server/pull/6051#discussion_r23170038","pull_request_url":"https://api.github.com/repos/openshift/origin-server/pulls/6051","_links":{"self":{"href":"https://api.github.com/repos/openshift/origin-server/pulls/comments/23170038"},"html":{"href":"https://github.com/openshift/origin-server/pull/6051#discussion_r23170038"},"pull_request":{"href":"https://api.github.com/repos/openshift/origin-server/pulls/6051"}}},"pull_request":{"url":"https://api.github.com/repos/openshift/origin-server/pulls/6051","id":27530116,"html_url":"https://github.com/openshift/origin-server/pull/6051","diff_url":"https://github.com/openshift/origin-server/pull/6051.diff","patch_url":"https://github.com/openshift/origin-server/pull/6051.patch","issue_url":"https://api.github.com/repos/openshift/origin-server/issues/6051","number":6051,"state":"open","locked":false,"title":"Add F5 HTTPS support and removing the routes feature","user":{"login":"calfonso","id":13747,"avatar_url":"https://avatars.githubusercontent.com/u/13747?v=3","gravatar_id":"","url":"https://api.github.com/users/calfonso","html_url":"https://github.com/calfonso","followers_url":"https://api.github.com/users/calfonso/followers","following_url":"https://api.github.com/users/calfonso/following{/other_user}","gists_url":"https://api.github.com/users/calfonso/gists{/gist_id}","starred_url":"https://api.github.com/users/calfonso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/calfonso/subscriptions","organizations_url":"https://api.github.com/users/calfonso/orgs","repos_url":"https://api.github.com/users/calfonso/repos","events_url":"https://api.github.com/users/calfonso/events{/privacy}","received_events_url":"https://api.github.com/users/calfonso/received_events","type":"User","site_admin":false},"body":"- This patch adds the ability to have custome alias https termination\r\nat the F5 LTM. This requires SNI configuration in F5. You can refer to\r\nhttps://support.f5.com/kb/en-us/solutions/public/13000/400/sol13452.html\r\nfor details on how to set that up. You also still need to set up an HTTP\r\nvirtual server and HTTPS virtual server. The fallback client ssl profile\r\nneeds to be manually added to the HTTPS virtual server. It's important\r\nto set the fallback client ssl profile up with the node https cert/key\r\npair and mark the client ssl profile as the default SNI profile.\r\n\r\n- Since this patch requires that cert/key files are copied to the F5 LTM\r\nas well as removed when they are no longer required, there has to be a\r\nmanual configuration of the LTM admin user's authorized_keys to allow\r\nssh access to the LTM from the routing daemon host. Additionally, a\r\nmanual setting of the admin user's terminal type to \"Advanced shell\" is\r\nrequired to execute remote cert/key removal commands.","created_at":"2015-01-16T19:31:38Z","updated_at":"2015-01-19T16:26:35Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0f19e79787473b11bf3e9fb9afd383098a24bb7b","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/openshift/origin-server/pulls/6051/commits","review_comments_url":"https://api.github.com/repos/openshift/origin-server/pulls/6051/comments","review_comment_url":"https://api.github.com/repos/openshift/origin-server/pulls/comments/{number}","comments_url":"https://api.github.com/repos/openshift/origin-server/issues/6051/comments","statuses_url":"https://api.github.com/repos/openshift/origin-server/statuses/07432cbd7891eadef8b4dedd3a8fafeb2f993bb7","head":{"label":"calfonso:f5-ltm-ssl","ref":"f5-ltm-ssl","sha":"07432cbd7891eadef8b4dedd3a8fafeb2f993bb7","user":{"login":"calfonso","id":13747,"avatar_url":"https://avatars.githubusercontent.com/u/13747?v=3","gravatar_id":"","url":"https://api.github.com/users/calfonso","html_url":"https://github.com/calfonso","followers_url":"https://api.github.com/users/calfonso/followers","following_url":"https://api.github.com/users/calfonso/following{/other_user}","gists_url":"https://api.github.com/users/calfonso/gists{/gist_id}","starred_url":"https://api.github.com/users/calfonso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/calfonso/subscriptions","organizations_url":"https://api.github.com/users/calfonso/orgs","repos_url":"https://api.github.com/users/calfonso/repos","events_url":"https://api.github.com/users/calfonso/events{/privacy}","received_events_url":"https://api.github.com/users/calfonso/received_events","type":"User","site_admin":false},"repo":{"id":6127963,"name":"origin-server","full_name":"calfonso/origin-server","owner":{"login":"calfonso","id":13747,"avatar_url":"https://avatars.githubusercontent.com/u/13747?v=3","gravatar_id":"","url":"https://api.github.com/users/calfonso","html_url":"https://github.com/calfonso","followers_url":"https://api.github.com/users/calfonso/followers","following_url":"https://api.github.com/users/calfonso/following{/other_user}","gists_url":"https://api.github.com/users/calfonso/gists{/gist_id}","starred_url":"https://api.github.com/users/calfonso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/calfonso/subscriptions","organizations_url":"https://api.github.com/users/calfonso/orgs","repos_url":"https://api.github.com/users/calfonso/repos","events_url":"https://api.github.com/users/calfonso/events{/privacy}","received_events_url":"https://api.github.com/users/calfonso/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/calfonso/origin-server","description":"Public open source repository for the OpenShift Origin server components","fork":true,"url":"https://api.github.com/repos/calfonso/origin-server","forks_url":"https://api.github.com/repos/calfonso/origin-server/forks","keys_url":"https://api.github.com/repos/calfonso/origin-server/keys{/key_id}","collaborators_url":"https://api.github.com/repos/calfonso/origin-server/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/calfonso/origin-server/teams","hooks_url":"https://api.github.com/repos/calfonso/origin-server/hooks","issue_events_url":"https://api.github.com/repos/calfonso/origin-server/issues/events{/number}","events_url":"https://api.github.com/repos/calfonso/origin-server/events","assignees_url":"https://api.github.com/repos/calfonso/origin-server/assignees{/user}","branches_url":"https://api.github.com/repos/calfonso/origin-server/branches{/branch}","tags_url":"https://api.github.com/repos/calfonso/origin-server/tags","blobs_url":"https://api.github.com/repos/calfonso/origin-server/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/calfonso/origin-server/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/calfonso/origin-server/git/refs{/sha}","trees_url":"https://api.github.com/repos/calfonso/origin-server/git/trees{/sha}","statuses_url":"https://api.github.com/repos/calfonso/origin-server/statuses/{sha}","languages_url":"https://api.github.com/repos/calfonso/origin-server/languages","stargazers_url":"https://api.github.com/repos/calfonso/origin-server/stargazers","contributors_url":"https://api.github.com/repos/calfonso/origin-server/contributors","subscribers_url":"https://api.github.com/repos/calfonso/origin-server/subscribers","subscription_url":"https://api.github.com/repos/calfonso/origin-server/subscription","commits_url":"https://api.github.com/repos/calfonso/origin-server/commits{/sha}","git_commits_url":"https://api.github.com/repos/calfonso/origin-server/git/commits{/sha}","comments_url":"https://api.github.com/repos/calfonso/origin-server/comments{/number}","issue_comment_url":"https://api.github.com/repos/calfonso/origin-server/issues/comments/{number}","contents_url":"https://api.github.com/repos/calfonso/origin-server/contents/{+path}","compare_url":"https://api.github.com/repos/calfonso/origin-server/compare/{base}...{head}","merges_url":"https://api.github.com/repos/calfonso/origin-server/merges","archive_url":"https://api.github.com/repos/calfonso/origin-server/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/calfonso/origin-server/downloads","issues_url":"https://api.github.com/repos/calfonso/origin-server/issues{/number}","pulls_url":"https://api.github.com/repos/calfonso/origin-server/pulls{/number}","milestones_url":"https://api.github.com/repos/calfonso/origin-server/milestones{/number}","notifications_url":"https://api.github.com/repos/calfonso/origin-server/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/calfonso/origin-server/labels{/name}","releases_url":"https://api.github.com/repos/calfonso/origin-server/releases{/id}","created_at":"2012-10-08T17:05:41Z","updated_at":"2015-01-16T19:26:19Z","pushed_at":"2015-01-19T16:25:54Z","git_url":"git://github.com/calfonso/origin-server.git","ssh_url":"git@github.com:calfonso/origin-server.git","clone_url":"https://github.com/calfonso/origin-server.git","svn_url":"https://github.com/calfonso/origin-server","homepage":"https://openshift.redhat.com/community/open-source","size":85355,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_downloads":true,"has_wiki":false,"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":"openshift:master","ref":"master","sha":"9b32719edb56354c9df316f4ce08e0b2729a1c82","user":{"login":"openshift","id":792337,"avatar_url":"https://avatars.githubusercontent.com/u/792337?v=3","gravatar_id":"","url":"https://api.github.com/users/openshift","html_url":"https://github.com/openshift","followers_url":"https://api.github.com/users/openshift/followers","following_url":"https://api.github.com/users/openshift/following{/other_user}","gists_url":"https://api.github.com/users/openshift/gists{/gist_id}","starred_url":"https://api.github.com/users/openshift/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openshift/subscriptions","organizations_url":"https://api.github.com/users/openshift/orgs","repos_url":"https://api.github.com/users/openshift/repos","events_url":"https://api.github.com/users/openshift/events{/privacy}","received_events_url":"https://api.github.com/users/openshift/received_events","type":"Organization","site_admin":false},"repo":{"id":4097634,"name":"origin-server","full_name":"openshift/origin-server","owner":{"login":"openshift","id":792337,"avatar_url":"https://avatars.githubusercontent.com/u/792337?v=3","gravatar_id":"","url":"https://api.github.com/users/openshift","html_url":"https://github.com/openshift","followers_url":"https://api.github.com/users/openshift/followers","following_url":"https://api.github.com/users/openshift/following{/other_user}","gists_url":"https://api.github.com/users/openshift/gists{/gist_id}","starred_url":"https://api.github.com/users/openshift/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openshift/subscriptions","organizations_url":"https://api.github.com/users/openshift/orgs","repos_url":"https://api.github.com/users/openshift/repos","events_url":"https://api.github.com/users/openshift/events{/privacy}","received_events_url":"https://api.github.com/users/openshift/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/openshift/origin-server","description":"Public open source repository for the OpenShift Origin server components","fork":false,"url":"https://api.github.com/repos/openshift/origin-server","forks_url":"https://api.github.com/repos/openshift/origin-server/forks","keys_url":"https://api.github.com/repos/openshift/origin-server/keys{/key_id}","collaborators_url":"https://api.github.com/repos/openshift/origin-server/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/openshift/origin-server/teams","hooks_url":"https://api.github.com/repos/openshift/origin-server/hooks","issue_events_url":"https://api.github.com/repos/openshift/origin-server/issues/events{/number}","events_url":"https://api.github.com/repos/openshift/origin-server/events","assignees_url":"https://api.github.com/repos/openshift/origin-server/assignees{/user}","branches_url":"https://api.github.com/repos/openshift/origin-server/branches{/branch}","tags_url":"https://api.github.com/repos/openshift/origin-server/tags","blobs_url":"https://api.github.com/repos/openshift/origin-server/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/openshift/origin-server/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/openshift/origin-server/git/refs{/sha}","trees_url":"https://api.github.com/repos/openshift/origin-server/git/trees{/sha}","statuses_url":"https://api.github.com/repos/openshift/origin-server/statuses/{sha}","languages_url":"https://api.github.com/repos/openshift/origin-server/languages","stargazers_url":"https://api.github.com/repos/openshift/origin-server/stargazers","contributors_url":"https://api.github.com/repos/openshift/origin-server/contributors","subscribers_url":"https://api.github.com/repos/openshift/origin-server/subscribers","subscription_url":"https://api.github.com/repos/openshift/origin-server/subscription","commits_url":"https://api.github.com/repos/openshift/origin-server/commits{/sha}","git_commits_url":"https://api.github.com/repos/openshift/origin-server/git/commits{/sha}","comments_url":"https://api.github.com/repos/openshift/origin-server/comments{/number}","issue_comment_url":"https://api.github.com/repos/openshift/origin-server/issues/comments/{number}","contents_url":"https://api.github.com/repos/openshift/origin-server/contents/{+path}","compare_url":"https://api.github.com/repos/openshift/origin-server/compare/{base}...{head}","merges_url":"https://api.github.com/repos/openshift/origin-server/merges","archive_url":"https://api.github.com/repos/openshift/origin-server/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/openshift/origin-server/downloads","issues_url":"https://api.github.com/repos/openshift/origin-server/issues{/number}","pulls_url":"https://api.github.com/repos/openshift/origin-server/pulls{/number}","milestones_url":"https://api.github.com/repos/openshift/origin-server/milestones{/number}","notifications_url":"https://api.github.com/repos/openshift/origin-server/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/openshift/origin-server/labels{/name}","releases_url":"https://api.github.com/repos/openshift/origin-server/releases{/id}","created_at":"2012-04-21T16:43:10Z","updated_at":"2015-01-19T01:35:59Z","pushed_at":"2015-01-17T22:54:34Z","git_url":"git://github.com/openshift/origin-server.git","ssh_url":"git@github.com:openshift/origin-server.git","clone_url":"https://github.com/openshift/origin-server.git","svn_url":"https://github.com/openshift/origin-server","homepage":"http://openshift.github.io","size":346831,"stargazers_count":797,"watchers_count":797,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":467,"mirror_url":null,"open_issues_count":63,"forks":467,"open_issues":63,"watchers":797,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/openshift/origin-server/pulls/6051"},"html":{"href":"https://github.com/openshift/origin-server/pull/6051"},"issue":{"href":"https://api.github.com/repos/openshift/origin-server/issues/6051"},"comments":{"href":"https://api.github.com/repos/openshift/origin-server/issues/6051/comments"},"review_comments":{"href":"https://api.github.com/repos/openshift/origin-server/pulls/6051/comments"},"review_comment":{"href":"https://api.github.com/repos/openshift/origin-server/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/openshift/origin-server/pulls/6051/commits"},"statuses":{"href":"https://api.github.com/repos/openshift/origin-server/statuses/07432cbd7891eadef8b4dedd3a8fafeb2f993bb7"}}}}