15 Jul 2016 in Docker, Tutorial

Deploying a Simple and Secure Docker Registry

There comes a time in everybody's life where they realize they have to run their own Docker Registry. Unfortunately there's not a lot of good information on how to run one. Docker's documentation is pretty good, but is verbose and spread across a lot of different pages. This means having half a dozen tabs open and searching for the right information.

It's common to run the Docker Registry with little to no security settings, and fronting it with NGINX or Apache to provide this security. But there is another way.

In this post, I will show how to run the Docker Registry securely by itself with both TLS certificate backed encryption and certificate based endpoint authorization.

If you need to do advanced stuff like authenticate against LDAP, you'll still want to go down the reverse proxy road.

For simplicity, I will will assume a single registry running on the local filesystem and will avoid using OS specific init systems by focusing just on the docker commands themselves. This should work on any system capable of running Docker.

Read More
14 Jul 2016 in Docker, Security

Securing Docker With TLS Certificates

By default, Docker has no authentication or authorization for its API, instead relying on the filesystem security of its UNIX socket, /var/run/docker.sock, which by default is only accessible by the root user.

This is fine for the basic use case of only accessing the Docker API on the local machine via the socket as the root user. However if you wish to use the Docker API over TCP, you'll want to secure it so you don't have to give out root access to anyone that happens to poke you on the TCP port.

Docker supports using TLS certificates (both on the server and the client) to provide proof of identity. When set up correctly it will only allow clients and servers with a certificate signed by a specific CA to talk to eachother.

While not providing fine grained access permissions, it does at least allow us to listen on a TCP socket and restrict access with the bonus of also providing encryption.

In this post, I will detail what is required to secure Docker running on a CoreOS server. I will assume you already have a CoreOS server set up and running. If not, check out this previous Deis blog post covering CoreOS and VirtualBox.

Read More
9 Jul 2016 in Community Meeting, Helm, Deis Workflow

July 2016 Community Meeting

Bunch of updates this month, we've been busy!

Workflow 2.1 and 2.2

Expanding on the release blog post earlier this week, Deis team members join us and give a little more flavor on the 2.1 release items:

  • AWS Instance Profile Support
  • Support for off-cluster Postgres
  • Advancing application health checks
  • Windows support for Deis Workflow CLI
  • Details on the metrics and log shipping architecture changes

We are shooting to release 2.2 July 20th, 2016 and we've got the following items underway:

  • Merge final few bits required to support OpenStack Swift-flavored object storage (thanks Paul Czarkowski)
  • Support for international domains (thanks HL70)
  • Applications managed via Kubernetes Deployments
  • Install Workflow with Kubernetes Helm rather than Helm Classic
  • Full support for Docker registries on ECR and GCR

Helm Alpha.2 and Alpha.3

Deis Helmer Michelle Noorali runs us through the highlights of Alpha.2 along with a feature rundown for Alpha.3:

  • Initial support for upgrading Helm charts
  • Support for hooks including pre and post install, upgrade and delete hooks
  • Tiller support to manage multiple namespaces
  • Back Tiller storage with ConfigMaps
  • Building process to contribute community charts to official repositories

Click Play

Until Next Time

Our next community meeting will be Thursday, August 4th, 2016. If you like calendar reminders, this would be your jam.

See everyone next month!

8 Jul 2016 in Storage, Minio, Workflow

Storage in PaaS: Minio and Deis Workflow

Whether you notice it or not—as an end user—storage is an important component of almost all the software we use today. As a developer however, it is important is to be able retrieve stuff in an easy yet secure and fast way.

As I have mentioned elsewhere, object storage is a great way to achieve this. I've also previously looked at how to create a reliable data store, taking WordPress as an example.

In this post, we'll see how Deis, an open source PaaS based on Kubernetes, uses Minio for almost all of its storage requirements.

But first, introductions.

Read More
5 Jul 2016 in Workflow, Release, Announcement

Deis Workflow 2.1 Release

Happy Tuesday, I hope everyone had a wonderful weekend! Before we struck out for fun in the weekend sun we cut a hot and fresh release of Workflow. Arriving as version 2.1 we've got lots of fixes and a few goodies to boot.

Read More