RSSAmplifier

Blog

Gerard Braad's blog

blog.gbraad.nlRSS feed ↗29 posts

Latest posts

Betamax, Machinefile and a roll of Ducttape

Choosing Convenience over the "Best" Standard In infrastructure-as-code, the best technical solution does not always win. Take machine provisioning. Fedora CoreOS's Ignition is engineered better than cloud-init. Ignition runs early in the initramfs before the root filesystem even mounts. It parses strict JSON and fails instantly if a configuration error …

Patreon: Busy days ...

... but not for the reasons I expected. Have not been able to make the video I wanted, as I forgot to realize I normally edited on Windows using OpenShot, which started to fail often. Tried DaVinci, but then realized after returning that machine that I was not able to use …

Patreon: NT-78 now available!

Patreon: Update for April

Presentation: Atomic, FUDCon Phnom Penh

This is the presentation as given at the FUDCon Phnom Penh. In short it explains what Project Atomic is, how to use Atomic Host, and some advanced use-cases; deployment of a composed application, and customization of the Atomic images. The presentation relied heavily on showing usage in the form of …

Setup OpenStack Keystone for testing purposes

OpenStack can be seen as a set of projects which combined into a configuration can deliver a management solution for different use-cases. However, several of these projects can also exist on their own to provide a certain functionality, such as Keystone, Ironic, etc. Some of these I will describe in …

Flatpak; the road to CI/CD for desktop applications?

In this presentation I will introduce Flatpak and how it changes the software distribution model for Linux. In short it will explain the negatives of using packages, how Flatpak solves this, and how to create your own applications and distribute them for use with Flatpak. This presentation was given at …

"Task management and Personal Kanban: how I use GitLab Issues"

Working on personal and work-related tasks can be overwhelming, especially when you lose sight of what actually needs to be done. What makes it more difficult is that you are constantly interrupted. I have tried many different things, and apps, but nothing really worked. Do not try to make your …

Dear recruiter

As an engineer I love to work and talk about software and software development. Looking for a new opportunity is not an easy task. There is a story behind every choice people make, and in this article I will explain my vision and situation. This is certainly not an employer …

"Replace scripts with Ansible: package installation"

Installing and configuring software on one machine, for instance your own developer's environment, is an 'easy' task. But how about your team? Or production? Everything is documented and you only probably install some of the components manually, or better, you automate this using a set of shell scripts. The environment …

Giving to your favourite content creators

It is hard to remember the time I really sat down in front of the TV, waiting for a programme to show up, and really enjoy it. Mostly it was accompanied with plenty of interruptions. It might have been Star Trek on the public channels that I enjoyed the most …

Run an example application on OpenShift

In a previous article I have written on how easy it is to stand up a test environment of OpenShift. In this article I will describe an example application from the sourcecode to the created image and how this gets deployed. The steps are explained using manual steps, and how …

Setup Docker storage to use LVM thin pool

If you install Docker on a new Fedora or CentOS system, it is very likely that you use devicemapper. Especially in the case of Fedora cloud images, no special configuration is done to the image. While Atomic images come pre-configured with a dedicated pool. Using devicemapper with loopback can lead …

Deploy an OpenShift test cluster

In my previous article I described how I used an Ansible playbook and a few roles to stand-up a Kubernetes test environment. In that article I mentioned that to deploy a production-ready environment some work more was required. Luckily, it is now very easy to stand up a production and …

Deploying Kubernetes using Ansible

Recently I did a lot of tests with Atomic, such as a creating custom images for Ceph , and ways to provide an immutable infrastructure. However, Atomic is meant to be a host platform for a container platform using Kubernetes. Their Getting Started guide describes how to setup a basic environment …

Mentors and recommended books

As a consultant, an engineer, or just any employee, you are responsible to provide solutions to challenges and issues you face on the workfloor. No no, let me say it this way, you are responsible to come up with ideas to improve a situation, make it more efficient. Or, in …

Object Design

One of the books I got recommended early in my career was Object Design : Roles, Responsibilities, and Collaborations by Rebecca Wirfs-Brock and Alan McKean. The topic of this book is OOD (Object-Oriented Design). It is a wordy book, which could certainly could have been shorter, but the content makes certainly …

Document generation using Markdown and Pandoc

Maintaining documentation can be an involved process, especially when different versions and output formats are needed. One of the documents I, and probably you also, have to maintain is your work history or resume/CV. Some while back I changed this document from an OpenOffice document to plain text and …

Highly Available storage using GlusterFS

In this article I will describe how you can setup a webserver environment with Highly Available (HA) storage, provided by GlusterFS. We will be setting up a simple environment in which storage between two webservers needs to be replicated. GlusterFS is a scalable network filesystem suitable for data-intensive tasks. It …

Highlighting of Code and Text

Code is read more often than it is written. Nothing is truer than this statement. This means that when writing code it is important to have a good idea of what you are doing. Write clean code, which is simple or easy to reason about. Since if you can't explain …

non-root user inside a Docker container

One of the things that you notice when using Docker, is that all commands you run from the Dockerfile with RUN or CMD are performed as the root user. This is not only a bad security practice for running internet facing services, it might even prevent certain applications from working …

Deployment of Ceph using custom Atomic images

As part of providing a scalable infrastructure, many components in the datacenter are now moving towards software-based solutions, such as SDN (for networking) and SDS (for storage). Ceph one of these projects to provide a scalable, software-based software solution. It is often used in conjuction with OpenStack for storing disk …

Setting up a powerful self-hosted IDE in the cloud

Setting up infrastructure should be as simple as playing with LEGO. With the advent of Docker, IT has underwent a dramatic change. For instance, it became easy to setup throw-away development environments. These could then be used to create clean environments to perform builds in. And eventually, containers are starting …

Hello, Internet!

Today I decided to pick up blogging again and asked the question; what to use? I had a simple requirement; 'it has to support Markdown-formatted documents'. The reasoning behind this is simple; I want to be able to use Pandoc to generate other kinds of output if needed. Plus GitBook …

Software Distribution for a new era

In this presentation I will introduce Software Distribution for a new era. In short it will explain the negatives of using packages, how 'containers' improved on this, but now how to make this available for use on servers and desktops. In short it will talk about the following topics: container …

Deploying OpenStack using TripleO

In this article we will deploy an OpenStack environment using TripleO using the tripleo-quickstart scripts. It will create a virtualized environment which consists of 1 Undercloud node and in total 9 nodes in the Overcloud; 3 controller nodes (High Availability), 3 compute nodes and 3 Ceph storage nodes. What is …

Building a multi-tier application using OpenStack (PackStack)

This is a publication of an article/training class I gave related to setting up an environment using OpenStack, to host a multi-tier applicatiom. Introduction In this hands-on-labs you will learn how to set-up an OpenStack environment to host a multi-tier application; front-end, back-end and the related network settings to …

JavaScript Loaders

Overview of JavaScript loaders http://requirejs.org/docs/commonjs.html#autoconversion http://blog.millermedeiros.com/amd-is-better-for-the-web-than-commonjs-modules/ http://addyosmani.com/writing-modular-js/ http://msdn.microsoft.com/en-us/magazine/hh227261.aspx

Trigger PhoneGap Build from GitHub

You can remotely trigger a build by using the API First you need to get your auth token: $ curl -u me@gbraad.nl-X POST -d "" https://build.phonegap.com/token Test it and retrieve your appid using the following command: $ curl https : // build . phonegap . com / api / v1 / me ? auth_token =[ token …

Gerard Braad's blog · RSS Amplifier