The tools you use should help you grow from newbie to power user. OpenShift’s command line is one such tool. When getting started with Kubernetes development, the new-app option to the oc command line can help movbe you along the spectrum.
Continue readingReading keystone.conf in a container
Step 3 of the 12 Factor app is to store config in the environment. For Keystone, the set of configuration options is controlled by the keystone.conf file. In an earlier attempt at containerizing the scripts used to configure Keystone, I had passed an environment variable in to the script that would then be written to the configuration file. I realize now that I want the whole keystone.conf external to the application. This allow me to set any of the configuration options without changing the code in the container. More importantly, it allows me to make the configuration information immutable inside the container, so that the applications cannot be hacked to change their own configuration options.
Continue readingFrom Double Harmonic to Octotonic
Say you want to play fast 8th note runs on a double harmonic minor song. What note should you add by default?
Continue reading8 Tone scales #1: Lots of Half Steps
Since I posted my article on 8 tone scales, I’ve gotten an embedded player. Here’s what the first of these 8 tone scales sounds like.
Continue readingBenefits of Saxophone
When you play Saxophone, your whole body plays music.
Continue readingContainers from first principals
Computing is three things: calculation, movement, and storage. The rest is commentary.
Continue readingBuilding an OpenShift LDAP URL from FreeIPA
If you want to use LDAP authentication with OpenShift, you need to build an LDAP URL from the information you do have. Here are the steps.
Continue readingCopying files into a container at run time
There are three distinct things that have to happen between installing the keystone software and running a Keystone instance. The first if management of the configuration files. Second is the database migrations, and third is the keystone bootstrap of the data base values. When coding container images to run a keystone server, not only do you need to be aware of each of these stpes, you need to make sure you are performing them in such a way that you can run scale the the Keystone server horizontally, handle zero downtime upgrades, and handle token-validating key rotations. Federated identity adds an additional twist as you need to handle the addition of httpd config changes for new identity providers.
Let’s walk through this setup in detail.
Continue readingInjecting a Host Entry in podman-run
How does an application find its database? For all but the most embedded of solutions, the database exposes a port on a network. In a containerized development process, one container needs to find another container’s network address. But podman only exposes the IP address of a pod, not the hostname. How can we avoid hardcoding IP addresses of remote services into our containers?
Continue readingInjecting Parameters into container image
An earlier port hard coded the IP address and port used for MariaDB connections. I want to pull these out so I can pass them in on the command line when I create the client.
Continue reading