what if go-plugin + docker? I think you could block networking altogether.
Wiring those two wouldn't be a problem if you use things such as
go-dockerclient

--
-- Aldrin Leal, <ald...@leal.eng.br> / http://about.me/aldrinleal

On Wed, May 17, 2017 at 11:55 PM, voidlogic <voidlog...@gmail.com> wrote:

> For some use cases I am sure this kind of integration would be just fine.
> But if functions within plugins are called often enough the overhead
> difference between calling a function in a dynamically linked library (.so)
> and communicating via a UNIX socket will quickly become non-trivial. Even
> if you move from pipe based IPC to shared memory this is still a large gap
> as compared to direct calls.
>
> For my use case, I may have resort to having users submit source code that
> my system then compiles (to .so) and vets (so I can black list packages,
> etc) if I can't find a better method of isolation.
>
> On Wednesday, May 17, 2017 at 5:20:34 PM UTC-7, Aldrin Leal wrote:
>>
>> go-plugin wouldn't work?
>>
>> github.com/hashicorp/go-plugin
>>
>>
>> --
>> -- Aldrin Leal, <ald...@leal.eng.br> / http://about.me/aldrinleal
>>
>> On Wed, May 17, 2017 at 7:05 PM, voidlogic <voidl...@gmail.com> wrote:
>>
>>> Hey Everyone,
>>>
>>> I'm working on a project to allow other teams within my company to
>>> submit plugins that are executing as optional event handlers within my
>>> application. We currently support Lua but with the addition of Go plugin
>>> support we would like to support Go as well (our app is written in Go
>>> itself).
>>>
>>> The new plugin package looks like it will work well:
>>> https://golang.org/pkg/plugin/
>>>
>>> The only caveat is it would be nice to have the plugins have similar
>>> filesystem, unsafe, etc isolation that the playground has. One idea would
>>> be to try to maintain a fork of Go that allows these GOOS=nacl mockups to
>>> be enabled for amd64 plugins- would that work or does a plugin share a
>>> runtime with the loading application? I don't think pure NACL with work
>>> without linking the NACL loader into the application...
>>>
>>> How does Google's app engines isolation work? A forked Go runtime? With
>>> the difference that no part of the app needs privileges (unlike here were
>>> the app doing the loading should be privileged)
>>>
>>> If anyone has thoughts on loading plugins with some isolation, I would
>>> love to hear them. Thanks!
>>>
>>> -Tylor
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "golang-nuts" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to golang-nuts...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to