{"action":"created","comment":{"url":"https://api.github.com/repos/pilosa/pilosa/pulls/comments/144063621","pull_request_review_id":68666142,"id":144063621,"diff_hunk":"@@ -143,10 +160,14 @@ func (s *Server) Open() error {\n \t\treturn fmt.Errorf(\"opening NodeSet: %v\", err)\n \t}\n \n+\t// Create default HTTP client\n+\ts.createDefaultClient()\n+\n \t// Create executor for executing queries.\n-\te := NewExecutor()\n+\te := NewExecutor(&ClientOptions{TLS: s.TLS})","path":"server.go","position":95,"original_position":95,"commit_id":"aa8cbe8ae3be7b8fc2520bf3735e601b77fe9ad0","original_commit_id":"aa8cbe8ae3be7b8fc2520bf3735e601b77fe9ad0","user":{"login":"codysoyland","id":45020,"avatar_url":"https://avatars1.githubusercontent.com/u/45020?v=4","gravatar_id":"","url":"https://api.github.com/users/codysoyland","html_url":"https://github.com/codysoyland","followers_url":"https://api.github.com/users/codysoyland/followers","following_url":"https://api.github.com/users/codysoyland/following{/other_user}","gists_url":"https://api.github.com/users/codysoyland/gists{/gist_id}","starred_url":"https://api.github.com/users/codysoyland/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codysoyland/subscriptions","organizations_url":"https://api.github.com/users/codysoyland/orgs","repos_url":"https://api.github.com/users/codysoyland/repos","events_url":"https://api.github.com/users/codysoyland/events{/privacy}","received_events_url":"https://api.github.com/users/codysoyland/received_events","type":"User","site_admin":false},"body":"I think that ClientOptions shouldn't be an argument to NewExecutor. The pattern we have been following is to call NewExecutor and set options on the resulting object (below). Perhaps a method `Executor.SetClientOptions(*ClientOptions)` would set everything up (including Scheme and Host)?","created_at":"2017-10-11T16:25:30Z","updated_at":"2017-10-11T16:32:03Z","html_url":"https://github.com/pilosa/pilosa/pull/867#discussion_r144063621","pull_request_url":"https://api.github.com/repos/pilosa/pilosa/pulls/867","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/pilosa/pilosa/pulls/comments/144063621"},"html":{"href":"https://github.com/pilosa/pilosa/pull/867#discussion_r144063621"},"pull_request":{"href":"https://api.github.com/repos/pilosa/pilosa/pulls/867"}}},"pull_request":{"url":"https://api.github.com/repos/pilosa/pilosa/pulls/867","id":144668737,"html_url":"https://github.com/pilosa/pilosa/pull/867","diff_url":"https://github.com/pilosa/pilosa/pull/867.diff","patch_url":"https://github.com/pilosa/pilosa/pull/867.patch","issue_url":"https://api.github.com/repos/pilosa/pilosa/issues/867","number":867,"state":"open","locked":false,"title":"TLS support","user":{"login":"yuce","id":513114,"avatar_url":"https://avatars2.githubusercontent.com/u/513114?v=4","gravatar_id":"","url":"https://api.github.com/users/yuce","html_url":"https://github.com/yuce","followers_url":"https://api.github.com/users/yuce/followers","following_url":"https://api.github.com/users/yuce/following{/other_user}","gists_url":"https://api.github.com/users/yuce/gists{/gist_id}","starred_url":"https://api.github.com/users/yuce/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yuce/subscriptions","organizations_url":"https://api.github.com/users/yuce/orgs","repos_url":"https://api.github.com/users/yuce/repos","events_url":"https://api.github.com/users/yuce/events{/privacy}","received_events_url":"https://api.github.com/users/yuce/received_events","type":"User","site_admin":false},"body":"## Overview\r\n\r\nAdds TLS support.\r\n\r\nResolves #864 \r\n\r\nHere's how I ran a sample cluster and test it. `--tls.skip-verify` is only required if the certificate is self-signed:\r\n\r\n1) Created a self-signed certificate: `openssl req -x509 -newkey rsa:4096 -keyout 01.pilosa.local.key -out 01.pilosa.local.crt -days 3650 -nodes -subj \"/C=US/ST=Texas/L=Austin/O=Pilosa/OU=Org/CN=01.pilosa.local\"`\r\n2) `make pilosa`\r\n3) Run the 1st server in the cluster as: `./pilosa server -b https://01.pilosa.local:10501 --tls.certificate 01.pilosa.local.crt --tls.key 01.pilosa.local.key -d pil-01  --cluster.hosts https://01.pilosa.local:10501,https://01.pilosa.local:10502 --gossip-seed 01.pilosa.local:15000 --gossip-port 15000 --tls.skip-verify`\r\n4) Run the 2nd server in the cluster as: `./pilosa server -b https://01.pilosa.local:10502 --tls.certificate 01.pilosa.local.crt --tls.key 01.pilosa.local.key -d pil-02 --cluster.hosts https://01.pilosa.local:10501,https://01.pilosa.local:10502 --gossip-seed 01.pilosa.local:15000 --gossip-port 16000 --tls.skip-verify`\r\n5) Create an index and frame `curl -k https://01.pilosa.loca:10501/index/i1 -d ''`, `curl -k https://01.pilosa.loca:10501/index/i1/frame/f1 -d ''` . `-k` switch is only required if the certificate is self-signed.\r\n6) Run a SetBit query: `curl -k https://01.pilosa.local:10501/index/i1/query -d 'SetBit(frame=\"f1\", rowID=1, columnID=1048577)'`\r\n7) Run a Bitmap query: `curl -k https://01.pilosa.local:10502/index/i1/query -d 'Bitmap(frame=\"f1\", rowID=1)'`\r\n8) Run an export cmd: `./pilosa export --host https://01.pilosa.local:10501 -i i1 -f f1 --tls.skip-verify --tls.certificate 01.pilosa.local.crt --tls.key 01.pilosa.local.key`\r\n\r\n## Pull request checklist\r\n\r\n- [x] I have read the [contributing guide](https://github.com/pilosa/pilosa/blob/master/CONTRIBUTING.md).\r\n- [x] I have agreed to the [Contributor License Agreement](https://cla-assistant.io/pilosa/pilosa).\r\n- [x] I have updated the [documentation](https://github.com/pilosa/pilosa/tree/master/docs).\r\n- [x] I have resolved any merge conflicts.\r\n- [ ] I have included tests that cover my changes.\r\n- [x] All new and existing tests pass.\r\n\r\n## Code review checklist\r\nThis is the checklist that the reviewer will follow while reviewing your pull request. You do not need to do anything with this checklist, but be aware of what the reviewer will be looking for.\r\n\r\n- [ ] Ensure that any changes to external docs have been included in this pull request.\r\n- [ ] If the changes require that minor/major versions need to be updated, tag the PR appropriately.\r\n- [ ] Ensure the new code is [properly commented](https://github.com/golang/go/wiki/CodeReviewComments#doc-comments) and follows [Idiomatic Go](https://dmitri.shuralyov.com/idiomatic-go).\r\n- [ ] Check that tests have been written and that they cover the new functionality.\r\n- [ ] Run tests and ensure they pass.\r\n- [ ] Build and run the code, performing any applicable integration testing.\r\n","created_at":"2017-10-04T13:26:31Z","updated_at":"2017-10-11T16:32:03Z","closed_at":null,"merged_at":null,"merge_commit_sha":"6d95df553c2f2141a1edf7d1b9d4aa3f78c8633c","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/pilosa/pilosa/pulls/867/commits","review_comments_url":"https://api.github.com/repos/pilosa/pilosa/pulls/867/comments","review_comment_url":"https://api.github.com/repos/pilosa/pilosa/pulls/comments{/number}","comments_url":"https://api.github.com/repos/pilosa/pilosa/issues/867/comments","statuses_url":"https://api.github.com/repos/pilosa/pilosa/statuses/aa8cbe8ae3be7b8fc2520bf3735e601b77fe9ad0","head":{"label":"yuce:tls-support-URI","ref":"tls-support-URI","sha":"aa8cbe8ae3be7b8fc2520bf3735e601b77fe9ad0","user":{"login":"yuce","id":513114,"avatar_url":"https://avatars2.githubusercontent.com/u/513114?v=4","gravatar_id":"","url":"https://api.github.com/users/yuce","html_url":"https://github.com/yuce","followers_url":"https://api.github.com/users/yuce/followers","following_url":"https://api.github.com/users/yuce/following{/other_user}","gists_url":"https://api.github.com/users/yuce/gists{/gist_id}","starred_url":"https://api.github.com/users/yuce/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yuce/subscriptions","organizations_url":"https://api.github.com/users/yuce/orgs","repos_url":"https://api.github.com/users/yuce/repos","events_url":"https://api.github.com/users/yuce/events{/privacy}","received_events_url":"https://api.github.com/users/yuce/received_events","type":"User","site_admin":false},"repo":{"id":89878328,"name":"pilosa","full_name":"yuce/pilosa","owner":{"login":"yuce","id":513114,"avatar_url":"https://avatars2.githubusercontent.com/u/513114?v=4","gravatar_id":"","url":"https://api.github.com/users/yuce","html_url":"https://github.com/yuce","followers_url":"https://api.github.com/users/yuce/followers","following_url":"https://api.github.com/users/yuce/following{/other_user}","gists_url":"https://api.github.com/users/yuce/gists{/gist_id}","starred_url":"https://api.github.com/users/yuce/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yuce/subscriptions","organizations_url":"https://api.github.com/users/yuce/orgs","repos_url":"https://api.github.com/users/yuce/repos","events_url":"https://api.github.com/users/yuce/events{/privacy}","received_events_url":"https://api.github.com/users/yuce/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/yuce/pilosa","description":"Pilosa is an open source, distributed bitmap index that dramatically accelerates queries across multiple, massive data sets.","fork":true,"url":"https://api.github.com/repos/yuce/pilosa","forks_url":"https://api.github.com/repos/yuce/pilosa/forks","keys_url":"https://api.github.com/repos/yuce/pilosa/keys{/key_id}","collaborators_url":"https://api.github.com/repos/yuce/pilosa/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/yuce/pilosa/teams","hooks_url":"https://api.github.com/repos/yuce/pilosa/hooks","issue_events_url":"https://api.github.com/repos/yuce/pilosa/issues/events{/number}","events_url":"https://api.github.com/repos/yuce/pilosa/events","assignees_url":"https://api.github.com/repos/yuce/pilosa/assignees{/user}","branches_url":"https://api.github.com/repos/yuce/pilosa/branches{/branch}","tags_url":"https://api.github.com/repos/yuce/pilosa/tags","blobs_url":"https://api.github.com/repos/yuce/pilosa/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/yuce/pilosa/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/yuce/pilosa/git/refs{/sha}","trees_url":"https://api.github.com/repos/yuce/pilosa/git/trees{/sha}","statuses_url":"https://api.github.com/repos/yuce/pilosa/statuses/{sha}","languages_url":"https://api.github.com/repos/yuce/pilosa/languages","stargazers_url":"https://api.github.com/repos/yuce/pilosa/stargazers","contributors_url":"https://api.github.com/repos/yuce/pilosa/contributors","subscribers_url":"https://api.github.com/repos/yuce/pilosa/subscribers","subscription_url":"https://api.github.com/repos/yuce/pilosa/subscription","commits_url":"https://api.github.com/repos/yuce/pilosa/commits{/sha}","git_commits_url":"https://api.github.com/repos/yuce/pilosa/git/commits{/sha}","comments_url":"https://api.github.com/repos/yuce/pilosa/comments{/number}","issue_comment_url":"https://api.github.com/repos/yuce/pilosa/issues/comments{/number}","contents_url":"https://api.github.com/repos/yuce/pilosa/contents/{+path}","compare_url":"https://api.github.com/repos/yuce/pilosa/compare/{base}...{head}","merges_url":"https://api.github.com/repos/yuce/pilosa/merges","archive_url":"https://api.github.com/repos/yuce/pilosa/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/yuce/pilosa/downloads","issues_url":"https://api.github.com/repos/yuce/pilosa/issues{/number}","pulls_url":"https://api.github.com/repos/yuce/pilosa/pulls{/number}","milestones_url":"https://api.github.com/repos/yuce/pilosa/milestones{/number}","notifications_url":"https://api.github.com/repos/yuce/pilosa/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/yuce/pilosa/labels{/name}","releases_url":"https://api.github.com/repos/yuce/pilosa/releases{/id}","deployments_url":"https://api.github.com/repos/yuce/pilosa/deployments","created_at":"2017-04-30T21:28:32Z","updated_at":"2017-04-30T21:28:34Z","pushed_at":"2017-10-11T05:30:18Z","git_url":"git://github.com/yuce/pilosa.git","ssh_url":"git@github.com:yuce/pilosa.git","clone_url":"https://github.com/yuce/pilosa.git","svn_url":"https://github.com/yuce/pilosa","homepage":"https://www.pilosa.com","size":3594,"stargazers_count":0,"watchers_count":0,"language":"Go","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":"pilosa:master","ref":"master","sha":"4f87c147f7909343d44a83215a05b2542ef8e6ce","user":{"login":"pilosa","id":24233787,"avatar_url":"https://avatars1.githubusercontent.com/u/24233787?v=4","gravatar_id":"","url":"https://api.github.com/users/pilosa","html_url":"https://github.com/pilosa","followers_url":"https://api.github.com/users/pilosa/followers","following_url":"https://api.github.com/users/pilosa/following{/other_user}","gists_url":"https://api.github.com/users/pilosa/gists{/gist_id}","starred_url":"https://api.github.com/users/pilosa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pilosa/subscriptions","organizations_url":"https://api.github.com/users/pilosa/orgs","repos_url":"https://api.github.com/users/pilosa/repos","events_url":"https://api.github.com/users/pilosa/events{/privacy}","received_events_url":"https://api.github.com/users/pilosa/received_events","type":"Organization","site_admin":false},"repo":{"id":40127179,"name":"pilosa","full_name":"pilosa/pilosa","owner":{"login":"pilosa","id":24233787,"avatar_url":"https://avatars1.githubusercontent.com/u/24233787?v=4","gravatar_id":"","url":"https://api.github.com/users/pilosa","html_url":"https://github.com/pilosa","followers_url":"https://api.github.com/users/pilosa/followers","following_url":"https://api.github.com/users/pilosa/following{/other_user}","gists_url":"https://api.github.com/users/pilosa/gists{/gist_id}","starred_url":"https://api.github.com/users/pilosa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pilosa/subscriptions","organizations_url":"https://api.github.com/users/pilosa/orgs","repos_url":"https://api.github.com/users/pilosa/repos","events_url":"https://api.github.com/users/pilosa/events{/privacy}","received_events_url":"https://api.github.com/users/pilosa/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/pilosa/pilosa","description":"Pilosa is an open source, distributed bitmap index that dramatically accelerates queries across multiple, massive data sets.","fork":false,"url":"https://api.github.com/repos/pilosa/pilosa","forks_url":"https://api.github.com/repos/pilosa/pilosa/forks","keys_url":"https://api.github.com/repos/pilosa/pilosa/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pilosa/pilosa/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pilosa/pilosa/teams","hooks_url":"https://api.github.com/repos/pilosa/pilosa/hooks","issue_events_url":"https://api.github.com/repos/pilosa/pilosa/issues/events{/number}","events_url":"https://api.github.com/repos/pilosa/pilosa/events","assignees_url":"https://api.github.com/repos/pilosa/pilosa/assignees{/user}","branches_url":"https://api.github.com/repos/pilosa/pilosa/branches{/branch}","tags_url":"https://api.github.com/repos/pilosa/pilosa/tags","blobs_url":"https://api.github.com/repos/pilosa/pilosa/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pilosa/pilosa/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pilosa/pilosa/git/refs{/sha}","trees_url":"https://api.github.com/repos/pilosa/pilosa/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pilosa/pilosa/statuses/{sha}","languages_url":"https://api.github.com/repos/pilosa/pilosa/languages","stargazers_url":"https://api.github.com/repos/pilosa/pilosa/stargazers","contributors_url":"https://api.github.com/repos/pilosa/pilosa/contributors","subscribers_url":"https://api.github.com/repos/pilosa/pilosa/subscribers","subscription_url":"https://api.github.com/repos/pilosa/pilosa/subscription","commits_url":"https://api.github.com/repos/pilosa/pilosa/commits{/sha}","git_commits_url":"https://api.github.com/repos/pilosa/pilosa/git/commits{/sha}","comments_url":"https://api.github.com/repos/pilosa/pilosa/comments{/number}","issue_comment_url":"https://api.github.com/repos/pilosa/pilosa/issues/comments{/number}","contents_url":"https://api.github.com/repos/pilosa/pilosa/contents/{+path}","compare_url":"https://api.github.com/repos/pilosa/pilosa/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pilosa/pilosa/merges","archive_url":"https://api.github.com/repos/pilosa/pilosa/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pilosa/pilosa/downloads","issues_url":"https://api.github.com/repos/pilosa/pilosa/issues{/number}","pulls_url":"https://api.github.com/repos/pilosa/pilosa/pulls{/number}","milestones_url":"https://api.github.com/repos/pilosa/pilosa/milestones{/number}","notifications_url":"https://api.github.com/repos/pilosa/pilosa/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pilosa/pilosa/labels{/name}","releases_url":"https://api.github.com/repos/pilosa/pilosa/releases{/id}","deployments_url":"https://api.github.com/repos/pilosa/pilosa/deployments","created_at":"2015-08-03T13:48:08Z","updated_at":"2017-10-10T05:13:20Z","pushed_at":"2017-10-11T15:56:54Z","git_url":"git://github.com/pilosa/pilosa.git","ssh_url":"git@github.com:pilosa/pilosa.git","clone_url":"https://github.com/pilosa/pilosa.git","svn_url":"https://github.com/pilosa/pilosa","homepage":"https://www.pilosa.com","size":3572,"stargazers_count":1128,"watchers_count":1128,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":70,"mirror_url":null,"open_issues_count":104,"forks":70,"open_issues":104,"watchers":1128,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/pilosa/pilosa/pulls/867"},"html":{"href":"https://github.com/pilosa/pilosa/pull/867"},"issue":{"href":"https://api.github.com/repos/pilosa/pilosa/issues/867"},"comments":{"href":"https://api.github.com/repos/pilosa/pilosa/issues/867/comments"},"review_comments":{"href":"https://api.github.com/repos/pilosa/pilosa/pulls/867/comments"},"review_comment":{"href":"https://api.github.com/repos/pilosa/pilosa/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/pilosa/pilosa/pulls/867/commits"},"statuses":{"href":"https://api.github.com/repos/pilosa/pilosa/statuses/aa8cbe8ae3be7b8fc2520bf3735e601b77fe9ad0"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"codysoyland"}}