Adam Herzog

Docker Global Hack Day #3 Starts Today!

animals-august2015Docker Global Hack Day #3 starts today at 4 pm PDT with an awesome line-up of speakers for our kick-off event!

Watch the recorded livestream here

Many local groups are organizing meetups to watch the livestream together but you are also welcome to join us online. RSVP now through our online meetup group to join the livestream of the kick-off event!

Hackers from all over the world have submitted hack ideas for Docker Global Hack Day #3 – click here to check out the list of already submitted projects.

Scroll down for more information about Docker Global Hack Day #3 including the complete list of local meetups hosting events, the prizes for winning hacks and how to submit your own hack ideas!


 

Hack Ideas for Docker Global Hack Day #3

Have your own idea on what to hack? Submit your hack idea now so other hackers can join your team!

Interested in one of those hacks? Head to this page to contact the hack project lead and join their team.

Spyhop – jonatanblue

need help with: Python, node.js

Container monitoring web UI inspired by docker-mon. Web front-end that lists all containers running, see CPU, RAM and [r,t]x bytes for selected container, CPU graph and overall host metrics as overlay.

Join the team!


 

EasyFlock – Christian Couder

need help with: testing, setting up VMs, Flocker

Easy installation and configuration of Flocker (or another volume system, is Flocker is found to be too complicated).

Flocker is a great system to achieve container migration and even high availability, but it’s a pain in the neck to setup. We want to make that as easy as “docker run”!

Join the team!


 

pycharm in docker – howaryoo

need help with: test on other systems than Ubuntu

you already run everything in docker, but:

how does your favorite IDE manage to use those micro-services smoothly?
can you easily run a debug session ?

Join the team!


 

WhaleTrap – JaStra

need help with: UI/UX, Flask

Utilizing Docker and CoreOS to create a honeypot framework that can create multiple instances of various honeypots across multiple servers.

Join the team!


 

Fuzzing the Container Gate – sicarie

need help with: Python, plugins, anything you want to help with

A container security fuzzer inserted into a gate check would add an extra layer of assurance when building containers on-demand. This fuzzer would initially target legacy vulnerabilities to ensure regressions have not occurred, and would be extensible to allow others to test for application-specific concerns that they may be importing into a container.

Join the team!


 

Container migrate tool – marcosnils

need help with: Unix, Golang, runC

Checkpoint & Restore is still a feature which is not generically available to container users. Certain understanding about how it works is needed and it’s most likely that users get errors when trying to perform CR due to some restrictions or differences between the source and the target host. The purpose of the project is to create an external command line tool that can be either used with docker or runC which helps on the task to live migrate containers between different docker by performing pre-migration validations and allowing to auto-discover suitable target hosts.

Join the team!


 

Deckhouse – Stefan Dimitrov

need help with: Linux, X11, Docker, bash scripting

A platform for dockerized X11 applications based on boot2docker. Deckhouse brings the advantages of mobile application sandboxing to the modern desktop.

The idea is to build a lightweight Linux image with X11 server configured such that Docker containers can authenticate with it. Every desktop application will then run as a separate Docker image, which connects to the X11 server on the host. Thus, desktop applications will be sandboxed and portable, in a similar way as mobile applications on iOS and Android.

Join the team!


 

DockerBox – Alan Joseph

need help with: NodeJS, Docker-Compose, Docker-Swarm

DockerBox is a NodeJS application for orchestrating and hosting docker containers. It provides functionality for spawning server from the available images(Like in AWS EC2) and hosting it with a domain name (like in Heroku). Where we can create and define our images with Dockerfile.
It uses the technologies HAProxy(For the domain names proxy), Docker-Compose(For distributed orchestration) and Docker-Swarm(Clustering for scaling).
DockerBox can be used as an internal QA or Dev-Integration environment of a company, were we can quickly spawn the servers of our microservice and test it with our changes.

Join the team!


 

Docker Remote API machine readable – abtris

need help with: Golang

We will make parser to convert markdown format of current api documentation into API Blueprint format. It’s machine readable and can be used for mock server, better documentation.

Join the team!


 

Mini Monitor – suker200

need help with: golang

It is an binary, attach to docker base image, when container is spawned, it read config file mount from docker host, and get custom metric from custom package import and send to influxdb for graphing or alarm if reach thresh hold (via api pushbullet

Join the team!


 

Professor Owl teaches Docker – booyaa

need help with: Docker, Security, Advice, Feedback

This is a new, fun way to learn to use Docker without needing a server in the cloud or installing Docker Toolbox on your computer. All you need is a modern web browser!

Our highly advanced Professional Online Wow Learning software (Professor Owl) will guide you through setting up your first container, managing and troubleshooting.

You’ll also learn how to:
– set up a data volume
– link containers
– make ports visible on the Internet
– deploy your first web app
– combine containers to host your own blog

By the end of the tutorial you’ll see how easy it is to run Docker.

Join the team!


 

t3kpTun – Docker Hanoi Meetup Team

need help with: Golang, UI/UX, Linux, Docker swarm,Docker compose, Docker machine

We want to build a SaaS to orchestrate automatically a wordpress website on Public Cloud (Now, It is only AWS) which use Docker Technologies and Tools: Docker Swarm, Machine, Compose. Highlight is focusing on DockerFile Visualization.

Join the team!


 

DockerSlim – Kyle Quest

need help with: Golang, Python, Linux Internals, Docker Internals

Creating small containers requires a lot of voodoo magic and it can be pretty painful. You shouldn’t have to throw away your tools and your workflow to have skinny containers. Using Docker should be easy.

docker-slim is a magic diet pill for your containers 🙂 It will use static and dynamic analysis to create a skinny container for your app.

Join the team!


 

Docker Multi Tenancy – spiddy

need help with: Golang, Docker Internals, Docker API, Docker Swarm

Following the principle of micro-services, the objective of this hackathon is to leverage multi-tenancy to a docker host transparently using a proxy.

Given a single host and multiple users, we want to create boundaries between those users in order that each user can see only his own containers.

Combining this with Swam can create a mulit-tenant sandbox cluster environment for developers to play with.

Join the team!


 

make docker – dmstr

need help with: Makefiles

Managing docker-compose configurations from development over CI/CD to deployment can be cumbersome.

Although there are existing features in docker-compose to use multiple YAML files and ENV variables, this might not be sufficient for several use cases.

We are using a combination of a YAML converter and Makefiles to create stacks configurations for local development, local testing, CI/CD, staging and production environments.

Join the team!


 

Emerald CI – flower-pot

need help with: UI/UX, Golang, Ruby

The idea is to have compose driven software development. Locally docker-compose is used to develop an application. In production orchestration platforms with compose support such as rancher can be used. The only thing missing is a CI platform, which is the goal of this project.

Join the team!


 

ToolBox Menubar Hack – alfonsodev

need help with: Someone who knows how we could integrate an electron app into the existing ToolBox installer, anybody with experience in electron or anybody who want to see this happening.

Integrate a menubar into the toolbox installer, features:
– Notify the status of the Docker daemon
– Stop / Start Docker daemon
– Configure daemon parameters, to start it with different flags.
– Links to other tools like, kitematic.
– Info, about the docker version, api version ..etc.

We could start by adapting https://github.com/maxogden/menubar it’s made in electron so it compiles to Windows and Mac.

Join the team!


 

Global Discovery Token – Christophe Lecointe

need help with: Golang, Networking

In Docker Swarm, we would like to add a new discovery backend to allow a node to join a remote swarm, from anywhere, with a .magnet-like system.

With this, it would be possible to add new nodes, no matter where they are as long as they can communicate, to a swarm, as easily as it would be on a LAN with just tokens.

Join the team!


 

Docker/Jenkins plugin – Megatron

need help with: Jenkins docker plugin

Would like spin off docker containers using Jenkins and test my existing puppet modules off those containers.

Join the team!


 

docker-list-patches – jordi_m_p

need help with: golang

Add a docker subcommand to list available updates on your images. The subcommand can have the option for searching for some CVE (Common Vulnerability and Exposures).

For example:

docker list-patches –cve=CVE-2015-XXX myimage

will tell you if there is a pending patch for your image with CVE-2015-XXX. If so, you need to run “”docker pull myimage”” to update.

Join the team!


 

Standardizing Docker Images – Kentoseth

need help with: Python, InfoGraphic-Design, Docker-API, pip, Pelican(static-homepage),

Finding the right image on DockerHub can be a PITA sometimes. Images are also monoliths as it stands and it would be nicer to make them more modular (and easier to install).

This project hopes to standardize Docker Images for daily use. The main focus will initially be on getting modular developer environments setup, that are easy to install.

Python will be the first target language to standardize on, but project can be standardized on just about any modern language.

Join the team!


 

Morphing IDE – deathslocus

need help with: Node.js, Docker, UI/UX, Owning a mac, Sourcemod

A Cloud IDE for Mobile, Web and Game servers with dependency resolution, nominated solutions and target emulation that allows for a user to manipulate their development environment easily and quickly.

Join the team!


 

Orchestra – code_monk

need help with: Node.js, bash

We will build a suite of tools that make web-app orchestration fast. We want to take Git’s philosphy of “branching is easy and cheap, so do it often without guilt” and bring it into the world of orchestration.

In so doing, we introduce concepts of “App”, “Project”, “Target”, “Instance”, and “Registry”, which we will fully define.

The solution will include a CLI, and a REST server. It will use git, node.js, and docker-machine under the hood. It will adhere to docker-compose conventions for defining apps composed of sets of containers.

Join the team!


 

Container Swiss Knife – l-d-j

need help with: Golang

Every time something is wrong with any container and if you need too look inside it lacks use-full tools like, ping, ip, traceroute, strace, ltrace, ldd – almost anything.
Now you can do it easily and in a reproducible/scrip friendly/network transparent way.

Join the team!


 

secureD – cato1971

need help with: Golang, Notary, Vault, Consul

Take the stress out of ensuring trusted images are used by providing a secureD wrapper around Docker. Set up of trust and storage of keys in a vault should be simple and ensure pull, push and build interactions with registries uses trusted capabilities.

Join the team!


 

Spacer: Microservice dependency manager – poga

need help with: Docker, libcompose, etcd

Spacer is a tool to help you manage your service dependency.

We already have great tools to help us dealing with library dependencies, such as Bundler, NPM, and Cargo. However, in the world of microservices, we still have to create our own microservice infrastructure. Creating a scalable microservice infrastructure is a hard task and need a lot of experiences.

With Spacer, you simply write down the service you need, the version you want.

For example, we need a production-ready open-source spam-filter service. we can write “poga/spam-fighter” in a file named Spacerfile.

Spacer will pull the correct service from github and deploy them to development environment or production-ready IaaS.

And, now we can scale this spam-filter service together. and everyone can benefit from it.

Join the team!


 

HICA – Pavel Odvody

need help with: Python, Finding integration points

HICA (Host Integrated Container Applications) enables people to run containerized applications as if they were running directly on host.

Join the team!


 

runC-scale – talwai

need help with: Python, Go, Shell scripting, SQLite, Makefiles

A self-governing, single-node automation agent for the scale up/down of runC containers. Use Facebook’s OSQuery (SQLLite for your system resources) to specify scaling triggers based on the state of running containers or of the host system. To complement the agent, we will augment the runc cli with some elegant scaling commands. A more detailed spec in the Project URL.

Join the team!


 

On demand YARN clusters that have network, compute and storage isolation from each other – Swapnil Daingade

need help with: Docker networking

Allow administrators managing a bunch of x86 servers to create YARN (hadoop2) clusters on demand. Each tenant YARN cluster should have complete network, compute and storage isolation from others. Tenants should have the ability to grow and shrink their YARN clusters dynamically. We plan to use Docker containers for compute, overlay networks for networking and DFS permissions for storage isolation.

Join the team!


 

Project Topanga – the-destro

need help with: Python

Hack While libcompose and Docker Compose exist and are great tools there still is a need for a programatic API to control groups of containers that is not bound to a yml file.

Join the team!


 

Utility to display traffic counter per container – Anthony Chow

need help with: Golang, UI/UX, Networking

This project is to provide a utility to display the transmit and receive counter for each container by tapping into libnetwork. This will be a good debug tool to provide visibility on the traffic pattern of each container and to see if there is anything abnormal.

Join the team!


 

jenkins containers-slaves – ndeloof

need help with: UI/UX, beta testing

Jenkins already has few Docker related plugins, but still does not embrace the containers revolution.

This fresh new implementation do rely on a set of docker containers (aka ‘pod’) to setup a build executor, letting development team customize the build environment for their need without any constraint or prerequisite, and relying on docker containers to host test resources.

Join the team!


 

DockerLiveSync – Frank Maounis

need help with: NodeJS, Docker, testing

So you made a simple Dockerfile that adds your project’s files to a container’s FS, installs for example Node and runs your app by exposing some ports? Great!

If your project needed to copy some files from the container to the host, it was an easy task by using “”docker cp””. But what happens if you want to have a real two way live sync between app files and a host folder? You could rebuild the container image and re-run it. It could be done but takes some time. Of course you can also use “”managed volumes”” or even a “”host directory volume”” to solve this.

Until now we could use “”docker cp”” to only copy files from a container out to the host, but with Docker 1.8 it now works the other way around as well:

docker cp foo.txt mycontainer/foo.txt

Let’s see what we can hack with this new feature.

Join the team!


 

SlackDocker – Dimitris Anthoulakis

need help with: PHP, NodeJS, Docker, testing

Slack has changed the way team members communicate. Slack gives developers the ability to easily create custom integrations with 3rd-party APIs to get data out of or into Slack. How about creating a Slack integration service to manage cloud servers with docker machine? Using simple slack commands, the user will be able to create, reboot and delete a dockerized server.

What we should do:
– Authenticate with the Slack App
– Configure a Slack slash Command
– Build a service to receive messages and use Docker machine
– Process messages and respond with the outcome to the slack user

Join the team!


 

Docker+Slack – Zak

need help with: Docker, Ruby, Rails

This will make it possible to receive all kind of Docker notifications right from within the comfort of Slack.

Join the team!


 

Docker Monitor UI – lordzero0000

need help with: NodeJS, JS, Electron, Golang, Docker API, UI/UX, ansible

This is an UI application to monitor Docker from any given host.
We’ll build this application in order to have a way to monitor any action from variuos hosts and also control them from a clean UI.
This way non-technical people can get intimate with docker.

Join the team!


 

Local Editions of Docker Global Hack Day #3

More cities will be announced soon but you can already register for Docker Global Hack Day #3 meetups in:

 

Can’t make the local meetup? Don’t worry: you can join us online for the livestream of the San Francisco edition through our Docker Online Meetup group.

The San Francisco edition will kickoff with talks by Marianna Tessel, SVP of Engineering at Docker along with other members of the core team, who will share some updates about new features included in the latest release of Docker and how they facilitate the creation and management of distributed applications. The talks and demo will be livestreamed and recorded, so that every Docker meetup group and Docker hacker participating will be able to learn about those new features and announcements.


 

The prizes are pretty sweet! There is only one winning team for each local edition but with the global winners, we will award prizes to the top three teams in each category.

Prizes for Winners:

1) Local Docker Meetup winners 

A jury composed of Docker Engine core maintainers will vote for the local edition winners from each Meetup group that organized a local edition of the Docker Global Hack Day.

Each member of the winning local edition team will win a special edition Docker baseball shirt. We’ll share the design in the next update, but trust us, this is super cool Docker swag that only local edition winners will receive.

2) Global Docker Hack Day Winners

We will build a page with all projects and videos for the community to vote for the global winner in each category. Note that Local Docker Meetup winners will be featured on this page.

Voting will be done through social networks – stay tuned for an update on how this voting will work.

First Place:

Each member of the three Global Docker Hack Day winning teams (one for each category) will receive a complimentary pass to attend DockerCon Europe, accommodations during the conference and a lightning talk at the conference to present their winning hack!

Second Place:

Each member of the three second place Global Docker Hack Day teams (one for each category) will receive a limited edition Docker hoodie.

Third Place:

Each member of the three third place Global Docker Hack Day teams (one for each category) will receive a Docker-customized Tile.


 

Rules:

As a team of 1-3 hackers, you will hack on a project using Docker or its infrastructure plumbing (runC, Notary) as a central piece. You will have exactly from 4pm PDT on Wednesday, September 16th to 9am PDT on Monday, September 21st to complete this project. This window includes the time to create all materials needed for your submission.

Although it is not allowed to start your project before 4pm PDT on Wednesday, September 16th, we strongly encourage everyone to think about project ideas in advance. We will build a page with all the project ideas for everyone to see what ideas have already been submitted and help participants form teams.

Everyone will submit projects in one of three categories listed below:

1) Docker Plugins
2) Docker Plumbing – runC, Notary, etc
3) Docker Freestyle – must use features from the latest Docker releases including Engine and other Docker OSS projects

 

Connect with the Docker hackers from around the world!

During the day the Docker team and the Docker community will be on IRC helping you hack your project or answering questions about Docker. The official back channel for this event on IRC is #docker.

The official hashtag for the event on Twitter is #dockerhackday. Everybody will tweet using this hashtag. You can also follow us on Twitter to receive news real-time during the day.

 

 

 

If you have any question about the Docker Global Hack Day #3, please email us or ping us on Twitter.

 


 

 Learn More about Docker

, , , , , , , , ,

Adam Herzog

Docker Global Hack Day #3 Starts Today!


Leave a Reply

Get the Latest Docker News by Email

Docker Weekly is a newsletter with the latest content on Docker and the agenda for the upcoming weeks.