Sorry for the double mail, but it looks like I forgot to cc the mailing list.
On Sat, Apr 14, 2018 at 11:09:53PM +0000, Antti Kantee wrote: > On 14/04/18 17:37, [email protected] wrote:> Generating a .conf is > easy enough, but I don't really know how to feed > > it to haproxy. By hand I'd generate an iso file and start the unikernel > > with that mounted as /etc/haproxy, but that'd required developping > > something ton run on the hypervisors to generate the iso, not ideal. > > Have a look at cookfs. You can use it to generate components, which > when baked into an image, have their files mapped into memory. You need > to have separate images, and a toolchain, so it might not be what you > what, though. > That would require building the whole image, including binary and config, dynamically which seems even harder. > > Is there some way to run something before the "main binary" that got > > baked is started somehow ? I'd be great to be able to run something like > > wget <url>/config?id=<XXX> for example. I suppose that requires > > including two binaries > > Yes, you can do that. You have to write the config file by hand. Be > warned, that while "kernel" process state is separate, libc process > state and userspace symbol is the same. So, you can't run two > arbitrarily complex programs, and essentially the only way to know if > two programs are compatible is to test them. The book describes > multiple programs at least to some extent. > I'm reading https://github.com/rumpkernel/rumprun/blob/master/doc/config.md As I understand it, I'd need to have wget as my first program in the rc key, and the runmode would be default to make sure wget runs first and blocks haproxy during the download. Can there be problem with running two binaries one after another like that ? I can imagine how running the two at the same time (runmode &, or even |) would be a problem, but I guess runmode default should just work, am I correct ? That sounds exactly like what I need. Any doc on how to multibake ? I understand how to configure it a runtime, but "rumprun multibake" on google doesn't seem to give me anymore than that, I don't know how to actually compile that. Or do I just put two binaries on the bake command ? > > I suppose what I've been wanting to do for years would work too : > > mounting any kind of network filesystems, but as far as I know it's > > still not possible ? > > Rump kernels support at least nfs and smb, and you could probably figure > out how to use those in Rumprun with reasonable effort. With rumpctrl > it would be even less effort, but that may or may not provide the amount > of moving parts that you'd like. > > As usual, there probably isn't precise documentation telling how to do > exactly what you want to do. So, you'll have to figure out a bunch of > details by yourself. If you're really feeling energetic, write the > documentation too. Good luck! ;) Well that's pretty much what I was told last time, and I never figured it out. As I understand it, NFS's kernel side isn't enough to get a mount, you need something in userspace, and that part doesn't exist in rumprun. I assume that's what rumpctrl "replaces", but I'm indeed not sure that'd work for my use case (that means the unikernel can't run on it's own anymore .. but maybe rumpctrl could be on the hypervisor, I'd have to test that out I suppose) Thanks for your answer ! -- PGP Fingerprint : 0x624E42C734DAC346
