Rundeck plugin for running jobs in Docker containers on Mesos cluster.
- Docker containers support
- Easy configuration
- Private registry support
- ENV variables
- Mesos framework authentication
- Task log
- Rundeck 2.6.9+
- Mesos 1.0.1+
-
Clone this repo
-
Build using gradle
./gradlew build
-
Put
rundeck-mesos-plugin-*.jar
in Rundeck's plugin directory
In order for using this plugin, you must provide Mesos native library either by copying compiled libmesos.so to /usr/lib/
directory, or by installing Mesos together with Rundeck.
WARNING: libmesos.so should be compiled specifically for your platform. Please don't mix files compiled on Ubuntu or CentOS with debian platform and conversely. Also restart Rundeck afterwards!
By default Mesos Agent attempts to run task as the user
who submitted it. Rundeck runs with user rundeck
so make sure this user exists on every agent, or run agents with option --no-switch-user
-
Login to you private registry manually
docker login your.private.registry.com Username: yourname Password: Email: [email protected]
-
Tar
.docker/config.json
created in your home directorycd ~/ tar czf docker.tar.gz .docker
-
Put
docker.tar.gz
on every mesos agent that will be running your containers, for example in/etc/docker.tar.gz
-
Specify URIs parameter
file:https:///etc/docker.tar.gz
in your job definition
You can define where you want your task to be executed by setting constraints on mesos agents hostnames or other arguments.
Operators:
- LIKE
- UNLIKE
- EQUALS
- Refactoring
- Test
Rundeck > Chronos