In the past few years Docker and K8S have turned into the de-facto industry standard in containerization and easily scaling any infrastructure ( large or small ).
These two systems have had such an incredible adoption that many of us have neglected the flaws that might be apparent in them. This quicktip will teach you about one such flaw and an easy solution to something that most people will not even realize is right within reach.
A couple days ago I was horrified when I logged into one of our staging servers and saw the following graph:
When looking at an (almost) exact replica of this setup on one of our production servers, the graph looked like…
Writing tests to support the code you write is an aspect of everyday developer life in most (if not all) companies.
There’s several test runners out there, most of them however lack in functionality/stability. The most advanced and versatile ( in our opinion ) is KarmaJS. …
Since a few months we’ve been heavily focused on Kubernetes (K8S) here at Valkyrie and after some trial and error we put together some sweet deployment scripts that combine Terraform, Ansible, kubeadm to roll out K8S clusters on digitalocean.
This article is not about the entire deployment system, but will focus on one addition that we did that dramatically speeds up upstream DNS for the KubeDNS layer that kubeadm installs.
There’s a new kid on the block when it comes to superfast DNS, CloudFlare’s 184.108.40.206 (which is on general 2X faster than Google’s 220.127.116.11 DNS service)
Before we go into the nitty gritty, let’s first look at KubeDNS and how it works in a nutshell. (For a more in-depth article, please visit : DNS for Services and Pods…
A couple days ago we were migrating a legacy wordpress installation to a digitalocean one-click wordpress droplet. Afterwards we needed to adjust the system to allow FTP connections. Here’s a little rundown on how we adjusted the droplet for having a somewhat secure FTP setup.
Vsftpd is shorthand for Very Secure FTP Daemon and is a unix-based ftp server that prides itself on being insanely fast. It can be installed through most unix-based package managers such as apt (ubuntu), pacman (Arch), yum (Fedora, CentOS, Redhat), etc.
Since we’re running on ubuntu we’ll just execute the following command to install vsftpd.
Open up the file at /etc/vsftpd.conf …
Automation is in our blood here at Valkyrie, and we like to take this to certain extremes sometimes. A couple of days ago we were doing some development for a couple of integrations at a client of ours. Their system integrates with several external parties such as Twitter, Foursquare, etc.
They rely heavily on webhook communication coming from those parties to keep their data up-to-date.
When working in shell you will sometimes find the need to suppress any output of a shell script, but at the same time needing the exit code of that script.
There are 3 possible streams :
For more information regarding how to play around with these streams, check out this brilliant article from robots.thoughtbot.com
The first step to suppressing output is combining the stdout and stderr streams into one, we use the piping ( > ) character to pipe all output from stderr (2) to stdout ( 1 ). The & in front of stdout tells the shell environment that we’re working with a file descriptor and not an actual file. …
As some of you might know, we love automation at Valkyrie. And these days you can’t say automation without mentioning Docker.
Docker is a marvellous piece of containerization technology that is widely used in all sorts of technology companies.
In the spirit of automation we wrote a small provisioning script that would allow several repositories to be pulled from git and then built using docker-compose.
One of the parts of that script ( especially useful to newcomers in the team ) would be to check if all system requirements were met ( such as checking if docker and its components such as docker-compose and docker-machine were installed ). …
Here’s a small little guide explaining installing Nylas Mail on Arch Linux.
Much like humans, every arch is different. But you will need some prerequisites for getting Nylas Mail up and running.
It’s always fun to tinker around with your development environment, and one of those things that’s been on my to-do-list for the past few months of working with Docker for Mac is getting some friendly urls to use in my development environment. Personally i prefer typing my.shiny.dev instead of ‘localhost:8080’. ( Plus it also helps keeping track of all those fun projects ! )
So I decided to start looking for a solution to getting Virtual Hosts working with Docker for Mac and found out that the solution was easier than I thought. …
With the plethora of devices we have today, a good foundation for interfaces that adjust to any screen size is not a luxury, it’s a necessity in delivering the best possible experience. You never know who, where and with what device visitors are going to use your app/website.
Due to the bulk of my career being in the development of enterprise-grade solutions, I’ve delayed using Flexbox (the Flexible box layout module) until it had a certain level of maturity.
The following article details a concise overview, some might call it an extended cheatsheet of the properties that Flexbox provides. …