Articles

Use QLKube to query the Kubernetes APIBritish flag

QLKube is a project that exposes the Kubernetes API as GraphQL. GraphQL is a data query and manipulation language for APIs developed initially by Facebook and released as open-source. It strives to reduce the chattiness clients can experience when querying REST APIs. It is very useful for mobile application and web development: by reducing the number of roundtrips needed to fetch the relevant data and by fetching only the needed field, the network usage is greatly reduced. Continuer la lecture

One-liner to decode a Kubernetes secret (base64 encoded)British flag

Creating a Kubernetes secret from a value is easy: $ oc create secret generic my-secret --from-literal=secretValue=super-secret secret/my-secret created But getting back this value (from a Shell script, for instance) is not so easy since it is now base64 encoded: $ oc get secret my-secret -o yaml apiVersion: v1 kind: Secret metadata: name: my-secret namespace: qlkube type: Opaque data: secretValue: c3VwZXItc2VjcmV0 Hopefully, since the latest versions of Kubernetes, there is now a one-liner to extract the field and base64 decode it: Continuer la lecture

Bash Snippet: Print a config file without commentsBritish flag

Logging in on a server, printing a configuration file and trying to find the relevant setting from thousands of comment lines. Sounds familiar? Not that comments are useless in a configuration file but sometimes it’s handy to print a configuration file without the comment lines. Especially when the file is thousand lines long but the useful lines fit the twenty five lines of a standard terminal. Continuer la lecture

Is my NTP daemon working?British flag

If the time on your workstation or server is not stable, strange errors might appear, such as: $ tar zxvf /tmp/archive.tgz tar: my-file: time stamp 2019-03-28 14:04:45 is 0.042713488 s in the future This can happen when your NTP daemon is not synchronized. This means it cannot reliably determine the current time. Continuer la lecture

Testing hard-drive or SSD performance on FedoraBritish flag

If your Linux system appears to be slow, it might be an issue with your disks, either hard drive or SSD. Hopefully, with a few commands you can get an idea of the performances of your disks. Continuer la lecture

Bash Snippet: CLI World ClockBritish flag

When working in a global organization, colleagues are all around the world! And thus answering to “What time is it in their timezone?” becomes a frequent task. I initially used an online service for this but it is cumbersome and requires me to leave my terminal. Let’s meet the CLI World clock! Continuer la lecture

M4 as a replacement for sedBritish flag

Writing a tutorial often involves to replace a placeholder in a file, such as: Replace FOO with the actual name of your image: sed 's|IMAGE_NAME|docker.io/foo/bar:latest|g' template.yaml |kubectl apply -f - But this approach has several drawbacks: If you have to replace multiple placeholders, the sed syntax becomes cumbersome. If the delimiter appears in your replacement string, you will have to find another delimiter (such as in the previous example where the usual slash has been replaced by a pipe to accomodate the slash in the image name). Continuer la lecture

Writing workshop instructions with Hugo and deploying in OpenShiftBritish flag

This is the third part of my series covering how to Write workshop instructions with Hugo. In this article, we will deploy our Hugo mini-training as a container in OpenShift. Continuer la lecture

Writing workshop instructions with Hugo, with variables in your contentBritish flag

This is the second part of my series covering how to Write workshop instructions with Hugo. In the first part, we saw how to: bootstrap a website with Hugo add content, organized in chapters and sections customize the look and feel to be suitable for workshop instructions For this second part, we will add variables to our content so that we can easily adjust the workshop instructions to different use cases. Continuer la lecture

Writing workshop instructions with HugoBritish flag

In my professional life, I often have to lead workshops with customers or partners. During those workshops, participants expect to be trained on a piece of technology or software. I usually have to provision everything needed to deliver this training and write the training instructions. Those instructions are organized as a step-by-step guide with screenshots, text, verbatim sections, links, files to downloads, etc. And maybe more important, those instructions have to be well organized, each step has to be clearly stated, identified and formatted. The progression needs to be logic and easy. At any time, the participant needs to know where he is, which steps he has completed and which steps remain. And for the trainer, it has to be easy to maintain and collaborative. Crafting support materials that can meet all those requirements is challenging. Slide decks could fit the participants needs but are very difficult to maintain for the trainer. Markdown documentation in a GIT repository are better for suited for maintenance and collaboration but is difficult to work with for the participants. Hopefully Hugo can help us! Continuer la lecture