Mesos config for cquery

The canonical way to feed your project to cquery is to generate a compile_commands.json file, possibly using cmake. Every time I switch my Mesos work to the cmake build, I live to regret it, either because the component I’m working on isn’t implemented in the cmake build or I end up wanting to install the build (and that isn’t implemented in cmake). So here’s a .cquery file that makes cquery work pretty well with Mesos:
Read more...

PAM support in the Mesos containerizer

Recently, it occurred to me that running a containerized task is concentually very similar to having a remote session on an anonymous compute agent. The traditional way for operators to influence (i.e. configure, control, log) the environment of a remote user session is by the use of PAM modules. One of the applications that I had in mind was the use of the pam_loginuid module to set the linux audit ID so that containers audit events can be attributed to the task user rather than to the container orchestrator.
Read more...

Building the Mesos documentation

I made a minor change to the documentation and I wanted to test it, so I had to figure out how to build the Mesos documentation. I’m doing this in a CentOS 7 VM, but I guess something similar would work on different platforms. First, you need to know that Mesos uses Middleman to build the website from a set of markdown files. Next, you need to know that while the documentation itself is in the main Mesos repository, the Middleman configuration and site tooling is in a separate SVN repository.
Read more...

Building Mesos on OS X

So when you build Mesos on OS X, you have to use Homebrew to install a bunch of dependencies. I was momentarily stumped by the fact that linking the apr package with brew link --force seemed to not make the headers available. Then I realized that you are supposed to use apr-1-config to find the headers location.

Like this:

$ ./configure --prefix=/opt/mesos --with-apr=$(apr-1-config --prefix)
Read more...