{"action":"created","issue":{"url":"https://api.github.com/repos/OpenInternet/copilot/issues/124","repository_url":"https://api.github.com/repos/OpenInternet/copilot","labels_url":"https://api.github.com/repos/OpenInternet/copilot/issues/124/labels{/name}","comments_url":"https://api.github.com/repos/OpenInternet/copilot/issues/124/comments","events_url":"https://api.github.com/repos/OpenInternet/copilot/issues/124/events","html_url":"https://github.com/OpenInternet/copilot/issues/124","id":132509617,"number":124,"title":"Plugins should be pulled in from a seperate repo","user":{"login":"elationfoundation","id":1226247,"avatar_url":"https://avatars.githubusercontent.com/u/1226247?v=3","gravatar_id":"","url":"https://api.github.com/users/elationfoundation","html_url":"https://github.com/elationfoundation","followers_url":"https://api.github.com/users/elationfoundation/followers","following_url":"https://api.github.com/users/elationfoundation/following{/other_user}","gists_url":"https://api.github.com/users/elationfoundation/gists{/gist_id}","starred_url":"https://api.github.com/users/elationfoundation/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elationfoundation/subscriptions","organizations_url":"https://api.github.com/users/elationfoundation/orgs","repos_url":"https://api.github.com/users/elationfoundation/repos","events_url":"https://api.github.com/users/elationfoundation/events{/privacy}","received_events_url":"https://api.github.com/users/elationfoundation/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/OpenInternet/copilot/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-02-09T19:28:10Z","updated_at":"2016-02-17T16:43:38Z","closed_at":null,"body":"Plugin's are currently kept in a [sub-folder of the project.](https://github.com/OpenInternet/co-pilot/tree/e832310e7001fa9531ab888d35e1b01551fd7eef/copilot/plugins) This makes the process of  adding or removing plugins require forking the entire co-pilot project. If the plugin directory was cloned from a seperate repository and placed in a separate plugin directory it would solve this. The changes that I propose are as follows.\r\n\r\n- [ ] Add a plugins_repo and plugins_directory environment variable in the [install script](https://github.com/OpenInternet/co-pilot/blob/e832310e7001fa9531ab888d35e1b01551fd7eef/install)\r\n- [ ] Have [plugin install scripts](https://github.com/OpenInternet/co-pilot/blob/e832310e7001fa9531ab888d35e1b01551fd7eef/copilot/plugins/dns/install) leverage plugin variables when installing.\r\n- [ ] Have [supervisor scripts](https://github.com/OpenInternet/co-pilot/blob/e832310e7001fa9531ab888d35e1b01551fd7eef/copilot/plugins/dns/supervisor.conf) leverage the plugin variable when defining where plugins are located.\r\n\r\nThis will make plugin development far easier."},"comment":{"url":"https://api.github.com/repos/OpenInternet/copilot/issues/comments/185291518","html_url":"https://github.com/OpenInternet/copilot/issues/124#issuecomment-185291518","issue_url":"https://api.github.com/repos/OpenInternet/copilot/issues/124","id":185291518,"user":{"login":"elationfoundation","id":1226247,"avatar_url":"https://avatars.githubusercontent.com/u/1226247?v=3","gravatar_id":"","url":"https://api.github.com/users/elationfoundation","html_url":"https://github.com/elationfoundation","followers_url":"https://api.github.com/users/elationfoundation/followers","following_url":"https://api.github.com/users/elationfoundation/following{/other_user}","gists_url":"https://api.github.com/users/elationfoundation/gists{/gist_id}","starred_url":"https://api.github.com/users/elationfoundation/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elationfoundation/subscriptions","organizations_url":"https://api.github.com/users/elationfoundation/orgs","repos_url":"https://api.github.com/users/elationfoundation/repos","events_url":"https://api.github.com/users/elationfoundation/events{/privacy}","received_events_url":"https://api.github.com/users/elationfoundation/received_events","type":"User","site_admin":false},"created_at":"2016-02-17T16:43:38Z","updated_at":"2016-02-17T16:43:38Z","body":"This needs to update the logic that [currently imports plugins](https://github.com/OpenInternet/copilot/blob/master/copilot/models/config.py#L82) to import from the new plugin location. We should add the plugins directory to the PYTHONPATH and then import `from plugins import <plugin>`"}}