Developer Blog

Docker

Building Java-based Docker services when Git and a Dockerfile is where you start from

Posted by Olivier Modica  |  No Comments

The TL;DR version: You can get pretty far with just bash, Git and a Dockerfile.

You have to start somewhere

DockerAs anyone working at a startup will tell you, it is critical to focus on what really matters: creating the right product at the right time that customers find great value in. This means that while you need to have a vision for the company, the long-term business and engineering execution has to be incredibly flexible.

For the engineering team, this means plotting an indirect path from nothing towards where we want to end up, while making critical trade-offs along the way. We believe in automated and complete development and tool chains (pull requests, continuous integration, artifact repositories, automated deployments and rollbacks, etc…), but very early on we had to triage our DevOps must-haves and nice-to-haves.

This post details our initial approach to building Java-based Docker services with nothing else than Git and a Dockerfile. Building refers to going from a Git repository to a Docker image ready to be pushed and deployed.

Read More

Docker

On Docker Restart Policies

Posted by Olivier Modica  |  4 Comments

The TL;DR version: If you use Docker restart policies you probably want to use on-failure.

Restarting Docker Containers

Docker has a couple of documented approaches to support restarting containers automatically “when they exit“.

I felt the documentation wasn’t clear about what “when they exit” means, so I’m sharing a clarification in this short post.

Read More

Oracle VirtualBox

Virtualbox + Vagrant Failures After El Capitan Upgrade

Posted by Olivier Modica  |  No Comments

Oracle VirtualBox

[This blog post was originally written by Triet Le]

The TL;DR version: make sure to upgrade your VirtualBox and Vagrant to the latest version(i.e v 5.0.6, v 1.7.4  respectively).

This is a follow up to our previous Vagrant post. After upgrading to El Capitan, I was unable to start any of my local Vagrant instances. When I tried to do a vagrant up, I got this from the command line:

Read More

Docker

Mounting Errors During Installing Docker on an Ubuntu/Trusty64 Vagrant VM

Posted by Olivier Modica  |  No Comments

[This blog post was originally written by Triet Le]

First, some background context…

Docker is a very convenient way to package your binaries and dependencies into an isolated consistent deployable unit. At the moment of this writing, it’s the de facto method for deploying everything from our internal services to our third-party log collectors at Pivot Freight. As mentioned in previous blogs, we are also fans of Vagrant and are using it as our main local development environment. Naturally (whether it’s is the best method or not is up to debate and feel free to comment!), we are setting up a Vagrant VM with Docker to build, test and deploy our Docker images and containers.

Read More

VirtualBox still hates sendfile

Posted by Olivier Modica  |  No Comments

Local Development Setup

In an upcoming blog post we will be detail our local environment setup but in short we use Ubuntu VMs running with Vagrant on Mac OS X (so, using the VirtualBox provider). Depending on the type of services we may running as a Docker container as well.

While working on our front-end application we’ve run into an issue where static files such as JavaScript sources would become corrupted after a change was made through the host (e.g. through an IDE on OS X). If you run into this issue read on…

Read More

SSH

Using the SSH config file to simplify SSH access

Posted by Olivier Modica  |  One Comment

Using SSH keys for host access

Using SSH private/public keys is one of the better ways to limit and secure access to your hosts, by configuring a set of known (public) keys to allow authentication through keys instead of less secure password-based authentication.

In addition, and this is the case for our setup at Pivot Freight, you would further your private hosts by disabling public network access and only allowing SSH traffic through a publicly available, hardened, host known as a bastion or jump host. The downside is that accessing those hosts from your local host can become tedious and repetitive.

But thankfully there is a better way: the SSH config file.

Read More

Triet Le Pivot Freight Developer Blog

Introducing the “Beer and Dev Blog”

Posted by Olivier Modica  |  No Comments

Who are we?

At Pivot Freight our vision is to have every shipment in the world captured and analyzed by our platform, enabling a fully transparent, dynamic transportation ecosystem and becoming the network hub for global in-transit shipment visibility and control.

We do this by building cloud-based products focused on visibility and control:

  • Visibility: identify immediate opportunities by visualizing the entire in-transit supply chain, across carriers, suppliers and modes.
  • Control: restore control of a burgeoning supplier network through an elegant shipping platform that uses algorithmic decisioning for all inbound, drop ship and returns.

To support this vision we’re a building a fun loving engineering team that first and foremost wants to focus on creating customer value, solving interesting technical problems and doing things right.

Read More