The judges have deliberated, our community has voted, and the results are in! We are happy to announce the top 5 submissions of the Docker 1.12 Hackathon.
In case you missed it, the theme of the hackathon was to build, ship, and run a distributed software application using a release candidate of Docker 1.12. We encouraged participants to hack the new features included in Docker 1.12, such as: Swarm Mode, Cryptographic node identity, Service API, and Build-in routing mesh.
A big thank you to our judges (below) for taking the time to review all the submissions!
- Phil Estes – Docker Captain and Senior Technical Staff Member at IBM Cloud Open Technologies
- Arun Gupta – Docker Captain and VP of Developer Relations at Couchbase
- Laura Frank – Docker Captain and Senior Engineer at Codeship
- Mano Marks – Director of Developer Relations at Docker
- Mike Coleman – Technical Evangelist at docker
Each of the judges rated the submissions from 1 – 5 stars based on the following criteria:
- Fit – Does Docker improve the project or fundamentally enable it?
- Efficiency – Is this implementation small in size, easy to transport, quick to start up and run?
- Integration – Does the project fit well into other systems, or is it sufficiently complex itself to be its own system?
- Transparency – Can other people easily recreate your project now that you’ve shown how? Is your code open source?
- Presentation – How well did you present your project in the video? Does the video convey your hack clearly and do you cover all the important points?
- Usefulness – Popular vote on how many would people would use your hack. So keep your audience in mind!
- Longevity – Can the project be improved / built upon?
- Bonus Point! – If the submission included contributions and bug fixes to the Docker 1.12 Github repository your final score will be allotted one extra point
Authors: Marcos Nils, Jonathan Leibiusky and Jimena Tapia
What does it do?: Whaleprint makes possible to use your current DAB files as swarm mode blueprints and will show you with extreme detail exactly which and how your services will be deployed/removed. At the same time it will also handle service update diffs describing precisely what things will change and what will be their new updated value.
- Preview and apply your DAB changesets
- Extend the current DAB format to support MOAR features.
- Manage multiple stacks simultaneously
- Fetch DAB’s from an URL
- Remove and deploy service stacks entirely
- Allow to apply specific service update through the –target option
- Outputs relevant computed stack information like Published ports
- Alternatively print complete plan detail instead of changesets only
Built With: golang, apis, Swarmkit
Authors: Weston McNamee and Stephen Bunn
Title: Swarm CI
What does it do?: SwarmCI is CI extension as well as (future) a stand-alone CI/CD platform. You can use SwarmCI to extend an existing CI system (Bamboo, TeamCity, Jenkins, etc) with a few steps:
1. Setup a Docker Swarm.
2. Converting existing build tasks, stages, and jobs to a single .swarmci file.
3. Configure a single task in your build to run a single command to delegate work to your Docker Swarm: python -m swarm
Features: SwarmCI solves many of the problems found in conventional CI/CD platforms.
- Build tasks are run within a docker container, the image of which provided by the user, completely isolated from build agent and the rest of the host. In addition, the starting state of a build does not change between builds, as containers aren’t reused.
- The Docker image in which tasks are run within is provided by the user, thus, it can be completely customized. Never wait for an idle agent that has your requirements, or for the OPS team to configure an agent with new requirements for you.
- Resource waste id decreased because builds run on the Swarm. As long as a node on the Swarm has the available CPU/Memory requirements for your build, your build runs. Scale your Swarm up/down to keep waste to a minimum.
- With the SwarmCI as a extension, you can get isolated, distributed, parallel build tasks without sacrificing the use of additional build agents.
Prize : Apple Watch
Authors: Chris Crone, Quentin Hocquet and Matthieu Nottale
What does it do?: aggregates the local storage of each Docker Swarm node and provides a shared volume that can be mounted by any Docker service to make it stateful. As nodes are added/removed, the storage rebalances and scales automatically as expected ensuring availability and increased capacity.
Prize: 3rd place: Oculus Rift
Authors: Shrikrishna Holla, Shruti Panade, Akram Rameez
Title: dq – Task Scheduler for Docker Functions
What does it do?: dq is a task Scheduler for Docker Functions. DQ is an amalgamation of the best features of a job scheduler like resque and a serverless platform like AWS lambda. It is meant to be self-hosted and called using REST APIs. All tasks run on docker containers defined in a spec similar to compose called dq.yml.
- Call a background task with arguments [Ex: sending email]
- Schedule a recurring task [Ex: backing up db]
- Run a background service that handles HTTP requests and auto scales based on load [voting, spam checking]
Author: Wendy-Anne Daniel
Title: nginx webservices
What does it do?: It provides all the security testing tools via the metasploit framework, scapy, sully etc. on multiple Linux OS on multiple containers as well as the attack surfaces to try out exploits in a self-contained environment. With docker 1.12, they are turned into simple and complex services with interservice communication.
Prize: Docker swag
Congratulations to our winners and thank you to everybody who participated. You can congratulate the winners and check out the awesome submissions in the Docker 1.12 Hackathon gallery.
Don’t stop coding just because the competition is over! Update your portfolio to inform your followers about new projects and get feedback from fellow hackers.