{"action":"opened","issue":{"url":"https://api.github.com/repos/hashicorp/nomad/issues/468","labels_url":"https://api.github.com/repos/hashicorp/nomad/issues/468/labels{/name}","comments_url":"https://api.github.com/repos/hashicorp/nomad/issues/468/comments","events_url":"https://api.github.com/repos/hashicorp/nomad/issues/468/events","html_url":"https://github.com/hashicorp/nomad/issues/468","id":117899143,"number":468,"title":"Custom drivers as external binaries","user":{"login":"davidpelaez","id":313232,"avatar_url":"https://avatars.githubusercontent.com/u/313232?v=3","gravatar_id":"","url":"https://api.github.com/users/davidpelaez","html_url":"https://github.com/davidpelaez","followers_url":"https://api.github.com/users/davidpelaez/followers","following_url":"https://api.github.com/users/davidpelaez/following{/other_user}","gists_url":"https://api.github.com/users/davidpelaez/gists{/gist_id}","starred_url":"https://api.github.com/users/davidpelaez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidpelaez/subscriptions","organizations_url":"https://api.github.com/users/davidpelaez/orgs","repos_url":"https://api.github.com/users/davidpelaez/repos","events_url":"https://api.github.com/users/davidpelaez/events{/privacy}","received_events_url":"https://api.github.com/users/davidpelaez/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-11-19T20:19:01Z","updated_at":"2015-11-19T20:19:01Z","closed_at":null,"body":"I don't know how the custom drivers were originally designed. However in the spirit of unix philosophy of having a tool that does one thing very well we could have binaries as drivers. Ideally those binaries would be in a well known folder either as links of the files themselves and they would reply to several command passed as first argument and extra data comming from standard input. This would enable an interaction pattern for highly customized drivers to enrich cluster control.\r\n\r\nThe use case I'm thinking of is related to security, consider a `secured-docker` binary that is a docker socket middleware filtering execution requests to only run images that have been audited by a static code analysis tool. This could also enable transparent additions to append business needs into the custom driver like service discovery autoregister of the job process or notifications and hooks for chatops. \r\n\r\nMy greatest interest is in the ability to enrich execution control with a very simple patterns. Please let me know if it's unclear what I suggest."}}