<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Nicolas Massé</title><link>https://www.itix.fr/</link><description>Recent content on Nicolas Massé</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Tue, 10 Jun 2025 00:00:00 +0200</lastBuildDate><atom:link href="https://www.itix.fr/index.xml" rel="self" type="application/rss+xml"/><item><title>Running qemu-user-static with Podman</title><link>https://www.itix.fr/blog/qemu-user-static-with-podman/</link><pubDate>Tue, 10 Jun 2025 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/qemu-user-static-with-podman/</guid><description>&lt;p>Recently, I had to run ARM64 containers on a customer&amp;rsquo;s x86 laptop.
Easy, you might say: just install qemu-user-static on the laptop!
And you also have a ready-made container on Docker Hub, just in case!&lt;/p>
&lt;p>That&amp;rsquo;s it?
Not so sure&amp;hellip;&lt;/p></description></item><item><title>Behind the scenes at Open Code Quest: how I designed the Leaderboard</title><link>https://www.itix.fr/blog/behind-the-scenes-at-open-code-quest-how-i-designed-leaderboard/</link><pubDate>Tue, 05 Nov 2024 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/behind-the-scenes-at-open-code-quest-how-i-designed-leaderboard/</guid><description>&lt;p>At the 







&lt;a href="https://www.itix.fr/speaking/red-hat-summit-connect-france-2024/">

Red Hat Summit Connect France 2024

&lt;/a>



, I led a workshop for developers entitled &amp;ldquo;&lt;strong>Open Code Quest&lt;/strong>&amp;rdquo;.
In this workshop, developers had to code microservices using Quarkus, OpenShift and an Artificial Intelligence service: IBM&amp;rsquo;s Granite model.
The workshop was designed as a speed competition: the first to complete all three exercises received a reward.&lt;/p>
&lt;p>I designed and developed the &lt;strong>Leaderboard&lt;/strong> which displays the progress of the participants and ranks them according to their speed.
Was it easy?
Well, not really, because I imposed a certain style on myself: using &lt;strong>Prometheus&lt;/strong> and &lt;strong>Grafana&lt;/strong>.&lt;/p>
&lt;p>Follow me behind the scenes of Open Code Quest: how I designed the Leaderboard!&lt;/p></description></item><item><title>Behind the scenes at Open Code Quest: how I implemented the Leaderboard in Red Hat Advanced Cluster Management</title><link>https://www.itix.fr/blog/behind-the-scenes-at-open-code-quest-how-i-implemented-leaderboard-with-acm/</link><pubDate>Tue, 05 Nov 2024 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/behind-the-scenes-at-open-code-quest-how-i-implemented-leaderboard-with-acm/</guid><description>&lt;p>After revealing the behind-the-scenes design of the Leaderboard for the &amp;ldquo;Open Code Quest&amp;rdquo; workshop during the 







&lt;a href="https://www.itix.fr/speaking/red-hat-summit-connect-france-2024/">

Red Hat Summit Connect France 2024

&lt;/a>



, it&amp;rsquo;s time to delve deeper into its practical implementation!&lt;/p>
&lt;p>In this article, I&amp;rsquo;m going to take you through the configuration of &lt;strong>Red Hat Advanced Cluster Management&lt;/strong> as well as the various adaptations needed to connect the &lt;em>Leaderboard&lt;/em> created earlier with the &lt;strong>Open Code Quest&lt;/strong> infrastructure.&lt;/p>
&lt;p>Come on board with me for this new stage, which is more technical than the previous one, as I had to get creative to wire up a very &amp;ldquo;conceptual&amp;rdquo; Grafana dashboard with the reality of OpenShift clusters!&lt;/p></description></item><item><title>Red Hat Open Demo: Mission impossible #1 - Stop the crazy Train with AI and Edge before it is too late!</title><link>https://www.itix.fr/speaking/red-hat-open-demo-mission-impossible-stop-the-crazy-train-with-ai-and-edge-before-it-is-too-late/</link><pubDate>Tue, 05 Nov 2024 00:00:00 +0200</pubDate><guid>https://www.itix.fr/speaking/red-hat-open-demo-mission-impossible-stop-the-crazy-train-with-ai-and-edge-before-it-is-too-late/</guid><description>&lt;p>On November 5, 2024, I presented a webinar named &lt;a href="https://events.redhat.com/profile/form/index.cfm?PKformID=0x1270056abcd&amp;amp;extIdCarryOver=true&amp;amp;sc_cid=701f2000000txokAAA">Mission impossible 1 : Stop the crazy Train with AI and Edge before it is too late&lt;/a> with three colleagues: &lt;a href="https://www.linkedin.com/in/adrien-legros-78674a133/">Adrien&lt;/a>, &lt;a href="https://www.linkedin.com/in/mourad-ouachani-0734218/">Mourad&lt;/a> and &lt;a href="https://www.linkedin.com/in/trg-pauline/">Pauline&lt;/a>.&lt;/p>
&lt;p>This webinar is the pinacle of ten months of hard work.
In this article, I will give you an overview of the demo and you will be able to watch the replay in case you missed the live event.&lt;/p></description></item><item><title>Red Hat Summit Connect France 2024</title><link>https://www.itix.fr/speaking/red-hat-summit-connect-france-2024/</link><pubDate>Tue, 08 Oct 2024 00:00:00 +0200</pubDate><guid>https://www.itix.fr/speaking/red-hat-summit-connect-france-2024/</guid><description>&lt;p>On October 8, 2024, I took part in the &lt;a href="https://www.redhat.com/fr/summit/connect/emea/paris-2024">Red Hat Summit Connect France 2024&lt;/a> event in a double role:&lt;/p>
&lt;ul>
&lt;li>I was in charge of the Leaderboard for the &lt;strong>Open Code Quest&lt;/strong> workshop and I acted as SRE for the platform of this workshop.&lt;/li>
&lt;li>I was present on the RHEL stand to present our &amp;ldquo;Mission Impossible&amp;rdquo; demo with the Lego train.&lt;/li>
&lt;/ul></description></item><item><title>Red Hat Open Demo: Red Hat Open Demo-Build multi-architecture CI/CD pipelines to run your apps in the cloud and at the Edge!</title><link>https://www.itix.fr/speaking/red-hat-open-demo-build-multi-architecture-ci-cd-pipelines-to-run-your-apps-in-the-cloud-and-at-the-edge/</link><pubDate>Thu, 05 Sep 2024 00:00:00 +0200</pubDate><guid>https://www.itix.fr/speaking/red-hat-open-demo-build-multi-architecture-ci-cd-pipelines-to-run-your-apps-in-the-cloud-and-at-the-edge/</guid><description>&lt;p>On September 5, 2024, I presented a webinar named &lt;a href="https://events.redhat.com/profile/form/index.cfm?PKformID=0x11759490001">Red Hat Open Demo-Build multi-architecture CI/CD pipelines to run your apps in the cloud and at the Edge!&lt;/a>, based on the technology intelligence I have gone through in the past months.&lt;/p></description></item><item><title>Homelab: 2U server, short depth, with front IO, based on Ampere Altra and Asrock Rack ALTRAD8UD-1L2T motherboard</title><link>https://www.itix.fr/blog/homelab-server-2u-short-depth-front-io-ampere-altra-arm64-architecture/</link><pubDate>Fri, 21 Jun 2024 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/homelab-server-2u-short-depth-front-io-ampere-altra-arm64-architecture/</guid><description>&lt;p>In March of this year, I decided to find a new server to host the family&amp;rsquo;s data (Jellyfin, Nextcloud, etc.), control the house with Home Assistant and run the VMs I need for my work.
In this article, I detail my constraints and the construction of this server, based on an &lt;strong>Ampere Altra&lt;/strong> CPU (&lt;strong>ARM64&lt;/strong> architecture).&lt;/p></description></item><item><title>Build multi-architecture container images with OpenShift, Buildah and Tekton on AWS</title><link>https://www.itix.fr/blog/build-multi-architecture-container-images-with-kubernetes-buildah-tekton-aws/</link><pubDate>Thu, 02 May 2024 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/build-multi-architecture-container-images-with-kubernetes-buildah-tekton-aws/</guid><description>&lt;p>In 2022, I wrote an article on this subject named 







&lt;a href="https://www.itix.fr/blog/build-multi-architecture-container-images-with-kubernetes-buildah-tekton-and-qemu/">

Build multi-architecture container images with Kubernetes, Buildah, Tekton and Qemu

&lt;/a>



.
The article described the configuration I had set up for my personal projects.
It even went beyond its initial purpose as it has also been used by several colleagues at Red Hat who had the same need.
While the configuration described in this previous article is still relevant, the approach is somewhat dated.
With the increasing availability of ARM servers in the Cloud, I revisited the topic of building multi-architecture container images using the AWS cloud.&lt;/p></description></item><item><title>Red Hat Open Demo: From the ESP8266 to the OpenShift cluster: discover what Red Hat can offer for the Edge computing!</title><link>https://www.itix.fr/speaking/red-hat-open-demo-from-the-esp8266-to-the-openshift-cluster-discover-what-red-hat-can-offer-for-the-edge-computing/</link><pubDate>Tue, 04 Apr 2023 00:00:00 +0200</pubDate><guid>https://www.itix.fr/speaking/red-hat-open-demo-from-the-esp8266-to-the-openshift-cluster-discover-what-red-hat-can-offer-for-the-edge-computing/</guid><description>&lt;p>On April 4, 2023, I presented a webinar named &lt;a href="https://events.redhat.com/profile/form/index.cfm?PKformID=0x1270056abcd&amp;amp;extIdCarryOver=true&amp;amp;sc_cid=701f2000000txokAAA">From the ESP8266 to the OpenShift cluster: discover what Red Hat can offer for the Edge computing!&lt;/a> with three colleagues: &lt;a href="https://www.linkedin.com/in/adrien-legros-78674a133/">Adrien&lt;/a>, &lt;a href="https://www.linkedin.com/in/florian-even/">Florian&lt;/a> and &lt;a href="https://www.linkedin.com/in/sebastien-lallemand/">Sébastien&lt;/a>.
This webinar showcases a lab that we built and delivered for the 







&lt;a href="https://www.itix.fr/speaking/red-hat-tech-exchange-2023/">

Red Hat Tech Exchange 2023

&lt;/a>



.&lt;/p></description></item><item><title>Red Hat Tech Exchange 2023</title><link>https://www.itix.fr/speaking/red-hat-tech-exchange-2023/</link><pubDate>Fri, 03 Feb 2023 00:00:00 +0200</pubDate><guid>https://www.itix.fr/speaking/red-hat-tech-exchange-2023/</guid><description>During the Red Hat Tech Exchange 2023 that took place in Dublin, I presented a Lab with a group of colleagues. The lab is named &amp;ldquo;From the ESP32 to the OpenShift cluster: discover what Red Hat can offer for the Edge computing!&amp;rdquo;.
Through the common theme of &amp;ldquo;shipment tracking&amp;rdquo;, this lab helps you understand what Red Hat can offer for the Edge computing.
In this lab, you are at the head of a &amp;ldquo;parcel shipment hub&amp;rdquo; and you deploys everything needed to:</description></item><item><title>Build multi-architecture container images with Kubernetes, Buildah, Tekton and Qemu</title><link>https://www.itix.fr/blog/build-multi-architecture-container-images-with-kubernetes-buildah-tekton-and-qemu/</link><pubDate>Wed, 24 Aug 2022 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/build-multi-architecture-container-images-with-kubernetes-buildah-tekton-and-qemu/</guid><description>&lt;p>ARM servers are becoming mainstream (Ampere Altra server, Raspberry Pi SoC, etc.) and people start using them with containers and Kubernetes.
While &lt;a href="https://hub.docker.com/search?q=&amp;amp;image_filter=official">official Docker Hub images&lt;/a> are built for all major architectures, the situation is less clear for other Open Source projects.
It is possible to acquire an ARM server and use it to build container images, but it puts an additional constraint on the Continuous Integration chain.
This article explores another option: build ARM container images on a regular x86 server, using Kubernetes, Buildah, Tekton and Qemu.&lt;/p></description></item><item><title>Deploy APIs from your CI/CD pipeline with the 3scale REST API</title><link>https://www.itix.fr/blog/deploy-apis-from-your-cicd-pipeline-with-the-3scale-rest-api/</link><pubDate>Mon, 26 Jul 2021 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/deploy-apis-from-your-cicd-pipeline-with-the-3scale-rest-api/</guid><description>In the past years, I spent time (maybe too much) designing and implementing CI/CD pipelines around 3scale. This led to the birth of the threescale_cicd ansible role. I also helped on the design of the 3scale_toolbox and crafted a Jenkins shared library as well as sample CI/CD pipelines using the 3scale_toolbox. I had the opportunity to train colleagues and transmit this knowledge but I never took the time to set it down on paper.</description></item><item><title>Consistent DNS name resolution for virtual machines and containers</title><link>https://www.itix.fr/blog/consistent-dns-name-resolution-for-virtual-machines-and-containers/</link><pubDate>Wed, 09 Jun 2021 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/consistent-dns-name-resolution-for-virtual-machines-and-containers/</guid><description>&lt;p>When developing on microservices, developers need to run a mix of software.
Some of them running in containers, others in virtual machines, some others in the cloud and the rest on the developer&amp;rsquo;s workstation.&lt;/p>
&lt;p>Microservices having a lot of connections between themselves in addition to technologies such as TLS or OpenID Connect implies DNS names to be consistent.&lt;/p>
&lt;p>Consistent DNS names means that no matter if a client on the developer workstation, on a VM or on a container, trying to reach a server on the developer workstation, on a VM or on a container, the server DNS name must always be the same.&lt;/p>
&lt;p>This article explains how to setup a developer workstation on Fedora, with Libvirt VMs and Podman containers and achieve consistent DNS name resolution.&lt;/p></description></item><item><title>Deploy OpenShift Single Node in KVM</title><link>https://www.itix.fr/blog/deploy-openshift-single-node-in-kvm/</link><pubDate>Wed, 09 Jun 2021 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/deploy-openshift-single-node-in-kvm/</guid><description>&lt;p>Starting with version 4.8, OpenShift can now officially be installed on a single virtual machine (instead of three).
This effectively lowers the resources requirements and open up new possibilities for home labs or developer workstations.
This article explores how to deploy OpenShift Single Node (SNO) using KVM on your Fedora workstation.&lt;/p></description></item><item><title>How to size your projects for Red Hat's single sign-on technology</title><link>https://www.itix.fr/writing/how-size-your-projects-red-hats-single-sign-technology/</link><pubDate>Mon, 07 Jun 2021 00:00:00 +0200</pubDate><guid>https://www.itix.fr/writing/how-size-your-projects-red-hats-single-sign-technology/</guid><description>Red Hat&amp;rsquo;s single sign-on (SSO) technology is an identity and access management tool included in the Red Hat Middleware Core Services Collection that&amp;rsquo;s based on the well-known Keycloak open source project. As with other Red Hat products, users have to acquire subscriptions, which are priced according to the number of cores or vCPU used to deploy the product.
This presents an interesting problem for pre-sales engineers like me. To help my customers acquire the correct number of subscriptions, I need to sketch the target architecture and count how many cores they need.</description></item><item><title>Using Podman Compose with Microcks: A cloud-native API mocking and testing tool</title><link>https://www.itix.fr/writing/using-podman-compose-with-microcks-a-cloud-native-api-mocking-and-testing-tool/</link><pubDate>Thu, 22 Apr 2021 00:00:00 +0200</pubDate><guid>https://www.itix.fr/writing/using-podman-compose-with-microcks-a-cloud-native-api-mocking-and-testing-tool/</guid><description>Microcks is a cloud-native API mocking and testing tool. It helps you cover your API’s full lifecycle by taking your OpenAPI specifications and generating live mocks from them. It can also assert that your API implementation conforms to your OpenAPI specifications. You can deploy Microcks in a wide variety of cloud-native platforms, such as Kubernetes and Red Hat OpenShift. Developers who do not have corporate access to a cloud-native platform have used Docker Compose.</description></item><item><title>How to run performance tests with K6, Prometheus and Grafana</title><link>https://www.itix.fr/blog/how-to-run-performance-tests-with-k6-prometheus-grafana/</link><pubDate>Mon, 22 Feb 2021 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/how-to-run-performance-tests-with-k6-prometheus-grafana/</guid><description>&lt;p>K6 is a novel performance testing tool written in Go, using plain Javascript for the test definition and presenting the test results through Grafana.
An existing article written in 2018 &lt;a href="https://k6.io/blog/k6-loves-grafana">explains how to setup K6 with InfluxDB and Grafana&lt;/a>, however Prometheus gained popularity over InfluxDB since then.
Proper integration of K6 with Prometheus is a clear lack identified by the community.
Here I explain how to integrate K6 with Prometheus using the existing StatsD support in K6, present the Grafana dashboard I built, and show how to use it.
This integration fills a gap and provides a quick win for companies already using Prometheus.&lt;/p></description></item><item><title>Build your own distribution based on Fedora CoreOS</title><link>https://www.itix.fr/blog/build-your-own-distribution-on-fedora-coreos/</link><pubDate>Wed, 25 Nov 2020 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/build-your-own-distribution-on-fedora-coreos/</guid><description>&lt;p>&lt;a href="https://getfedora.org/fr/coreos">Fedora CoreOS&lt;/a> is a new Linux distribution from the &lt;a href="https://docs.fedoraproject.org/en-US/project/">Fedora Project&lt;/a> that features filesystem immutability (you cannot change the system while it is running) and atomic upgrades (you cannot break your system if there is a crash or power loss during the upgrade).
Upon installation, Fedora CoreOS (FCOS) can be tailored to your needs using &lt;a href="https://docs.fedoraproject.org/en-US/fedora-coreos/producing-ign/">Ignition files&lt;/a>.
Once installed, you can install RPMs, tweak configuration files, etc.&lt;/p>
&lt;p>This article tries to explore Fedora CoreOS customizability one step further by building your own distribution based on Fedora CoreOS.
The idea would be to have everything wired in the Operating System image and minimal configuration in the Ignition file.&lt;/p></description></item><item><title>Use JMeter to assess software performances</title><link>https://www.itix.fr/blog/jmeter-assess-software-performances/</link><pubDate>Fri, 24 Jul 2020 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/jmeter-assess-software-performances/</guid><description>&lt;p>One of my side projects (the &lt;a href="https://github.com/nmasse-itix/Telegram-Photo-Album-Bot">Telegram Photo Bot&lt;/a>), have some performance issues that I will have to tackle.
I could have jumped into the code and changed something, hoping it will improve performances.
But that would be ineffective and unprofessional.
So, I decided to have an honest measure of the current performances as well as a reproducible setup to have consistent measures over time.&lt;/p></description></item><item><title>A cleanup playbook for 3scale</title><link>https://www.itix.fr/blog/cleanup-playbook-3scale/</link><pubDate>Tue, 28 Apr 2020 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/cleanup-playbook-3scale/</guid><description>&lt;p>If you are running integration tests embedding 3scale or are doing a lot of 3scale demos, you might sooner or later &lt;strong>have plenty of services declared in the 3scale Admin console&lt;/strong>, which could reveal difficult to work with.
And with the new feature named &lt;em>API-as-a-Product&lt;/em>, there are now &lt;strong>Backends and Products&lt;/strong> to delete, making the cleanup by hand a bit tedious.&lt;/p>
&lt;p>This article explains how to cleanup a 3scale tenant using Ansible.&lt;/p></description></item><item><title>Install Kubernetes operators in OpenShift using only the CLI</title><link>https://www.itix.fr/blog/install-operator-openshift-cli/</link><pubDate>Fri, 24 Apr 2020 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/install-operator-openshift-cli/</guid><description>&lt;p>OpenShift 4 went all-in on Kubernetes operators: they are used for installation of the platform itself but also to install databases, middlewares, etc.
There are more and more operators available on the &lt;a href="https://operatorhub.io/">Operator Hub&lt;/a>.
Most software now provide an operator and describe how to use it.&lt;/p>
&lt;p>Nevertheless, almost every software documentation I read so far, includes the steps to install the operator using the nice GUI of OpenShift 4.
But since my OpenShift environments are provisioned by a playbook, I want to be able to install operators using the CLI only!&lt;/p></description></item><item><title>Secure your OpenShift 4 cluster with OpenID Connect authentication</title><link>https://www.itix.fr/blog/secure-openshift-4-openid-connect-authentication/</link><pubDate>Fri, 17 Apr 2020 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/secure-openshift-4-openid-connect-authentication/</guid><description>&lt;p>OpenShift, starting with the version 4, is installed with a temporary administrator account, &lt;a href="https://docs.openshift.com/container-platform/4.3/authentication/remove-kubeadmin.html">kubeadmin&lt;/a>.
When searching for a definitive solution, it might be tempting to go for the very classical &amp;ldquo;login and password&amp;rdquo; prompt, backed by an &lt;a href="https://docs.openshift.com/container-platform/4.3/authentication/identity_providers/configuring-htpasswd-identity-provider.html">htpasswd file&lt;/a>.
But this is yet another password to remember!&lt;/p>
&lt;p>OpenShift can handle the &lt;a href="https://openid.net/connect/">OpenID Connect&lt;/a> protocol and thus offers Single Sign On to its users.
No additional password to remember: you can login to the OpenShift console with your &lt;a href="../use-google-account-openid-connect-provider/">Google Account&lt;/a> for instance.&lt;/p></description></item><item><title>Configure Red Hat SSO for 3scale using the CLI!</title><link>https://www.itix.fr/blog/configure-redhat-sso-3scale-cli/</link><pubDate>Wed, 08 Apr 2020 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/configure-redhat-sso-3scale-cli/</guid><description>&lt;p>&lt;a href="https://3scale.github.io/">3scale API Management&lt;/a> can be used in conjunction with &lt;a href="https://access.redhat.com/products/red-hat-single-sign-on">Red Hat SSO&lt;/a> / &lt;a href="https://www.keycloak.org/">Keycloak&lt;/a> to secure APIs managed by 3scale using the OpenID Connect protocol.&lt;/p>
&lt;p>The &lt;a href="https://access.redhat.com/documentation/en-us/red_hat_3scale_api_management/2.8/html/administering_the_api_gateway/openid-connect#configure_red_hat_single_sign_on">official documentation&lt;/a> describes the steps to configure Red Hat SSO / Keycloak but it uses the Graphical User Interface, which can be tedious if you have multiple environments to configure. Let&amp;rsquo;s configure Red Hat SSO for 3scale using the CLI!&lt;/p></description></item><item><title>Install Miniflux on your Raspberry PI</title><link>https://www.itix.fr/blog/install-miniflux-raspberry-pi/</link><pubDate>Wed, 08 Apr 2020 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/install-miniflux-raspberry-pi/</guid><description>&lt;p>In the article &amp;ldquo;&lt;a href="../nginx-with-tls-on-openwrt/">Nginx with TLS on OpenWRT&lt;/a>&amp;rdquo;, I explained how to install Nginx with TLS support on a Raspberry PI.
But without an application to protect, Nginx is quite useless.
This article explains how to install &lt;a href="https://miniflux.app/">Miniflux&lt;/a> (a lightweight RSS reader) on your Raspberry PI and how to host it as an Nginx virtual host.&lt;/p></description></item><item><title>Send mails on OpenWRT with MSMTP and Gmail</title><link>https://www.itix.fr/blog/send-mails-openwrt-msmtp-gmail/</link><pubDate>Wed, 08 Apr 2020 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/send-mails-openwrt-msmtp-gmail/</guid><description>&lt;p>A previous article named &amp;ldquo;&lt;a href="../install-openwrt-raspberry-pi/">Install OpenWRT on your Raspberry PI&lt;/a>&amp;rdquo; goes through the setup process to use OpenWRT on your Raspberry PI.
As a consequence, you might now have a Raspberry PI running OpenWRT and full of services of which all your family relies on.
With great power comes great responsibilities.
So, you might want to be notified when something goes wrong, a cron job failed, a hard disk is dying, etc., so that you can fix the problem at earliest, maybe before anyone else could notice.&lt;/p>
&lt;p>This article explains how to send mails on OpenWRT with MSMTP and a GMail account.&lt;/p></description></item><item><title>Secure your Raspberry PI with Keycloak Gatekeeper on OpenWRT</title><link>https://www.itix.fr/blog/secure-raspberry-pi-keycloak-gatekeeper/</link><pubDate>Sat, 28 Mar 2020 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/secure-raspberry-pi-keycloak-gatekeeper/</guid><description>&lt;p>In the article &amp;ldquo;&lt;a href="../nginx-with-tls-on-openwrt/">Nginx with TLS on OpenWRT&lt;/a>&amp;rdquo;, I explained how to install nginx on a Raspberry PI running OpenWRT for hosting web applications.
Some of the web applications that I installed on my Raspberry PI do not feature any authentication mechanism at all.
No authentication means that anybody on the internet could reach those applications and play with them.
This article explains how to secure applications running on a Raspberry PI with &lt;a href="https://github.com/keycloak/keycloak-gatekeeper">Keycloak Gatekeeper&lt;/a>.&lt;/p></description></item><item><title>Use your Google Account as an OpenID Connect provider</title><link>https://www.itix.fr/blog/use-google-account-openid-connect-provider/</link><pubDate>Fri, 27 Mar 2020 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/use-google-account-openid-connect-provider/</guid><description>&lt;p>We have passwords everywhere: to unlock our computer, to reach our inbox, to login as root on our Raspberry PI, etc.
Unless you have a password vault to store your credentials securely, it is very difficult to keep all your credentials safe. With the OpenID Connect protocol, you can replace the individual passwords of every web application by a Google Login.&lt;/p>
&lt;p>This article goes through all the steps to use your Google Account as an &lt;a href="https://openid.net/connect/">OpenID Connect&lt;/a> provider and subsequent articles (check links at the bottom of this article) explain how to configure the different services and software to use your Google Account as an OpenID Connect provider.&lt;/p></description></item><item><title>Secure a Quarkus API with Keycloak</title><link>https://www.itix.fr/blog/secure-quarkus-api-with-keycloak/</link><pubDate>Tue, 17 Mar 2020 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/secure-quarkus-api-with-keycloak/</guid><description>&lt;p>&lt;a href="https://quarkus.io/">Quarkus&lt;/a> is a Java stack that is Kubernetes native, lightweight and fast.
Quarkus can be used for any type of backend development, including API-enabled backends.
&lt;a href="https://www.keycloak.org/">Keycloak&lt;/a> is an open source Single Sign On solution that can be used to secure APIs.&lt;/p>
&lt;p>In this article, I&amp;rsquo;m describing how to secure a Quarkus API with Keycloak using JWT tokens.&lt;/p></description></item><item><title>Install OpenWRT on your Raspberry PI</title><link>https://www.itix.fr/blog/install-openwrt-raspberry-pi/</link><pubDate>Thu, 19 Dec 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/install-openwrt-raspberry-pi/</guid><description>&lt;p>&lt;a href="https://openwrt.org/">OpenWRT&lt;/a> is a Linux distribution for embedded systems.
It made design choices that take it apart from the usual Linux distributions: musl libc instead of the usual glibc, busybox instead of coreutils, ash instead of bash, etc.
As a result, the system is very light and blazing fast!&lt;/p></description></item><item><title>Nginx with TLS on OpenWRT</title><link>https://www.itix.fr/blog/nginx-with-tls-on-openwrt/</link><pubDate>Thu, 19 Dec 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/nginx-with-tls-on-openwrt/</guid><description>&lt;p>In the article &amp;ldquo;&lt;a href="../install-openwrt-raspberry-pi/">Install OpenWRT on your Raspberry PI&lt;/a>&amp;rdquo;, I explained how to install OpenWRT on a Raspberry PI and the first steps as an OpenWRT user.
As I plan to use my Raspberry PI to host plenty of web applications, I wanted to setup a versatile reverse proxy to protect them all, along with TLS support to meet nowadays security requirements.&lt;/p></description></item><item><title>APIs as a Product: Get started in no time</title><link>https://www.itix.fr/writing/apis-as-a-product-get-started-in-no-time/</link><pubDate>Mon, 02 Dec 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/writing/apis-as-a-product-get-started-in-no-time/</guid><description>In the previous article, APIs as a Product: Get the value out of your APIs, we presented a new approach called “APIs as a Product” to maximize the value of your APIs. In this article, we show how to quickly get started with APIs as a Product using the new features of Red Hat 3scale API Management 2.7.
Continue reading</description></item><item><title>APIs as a Product: Get the value out of your APIs</title><link>https://www.itix.fr/writing/apis-as-a-product-get-the-value-out-of-your-apis/</link><pubDate>Mon, 02 Dec 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/writing/apis-as-a-product-get-the-value-out-of-your-apis/</guid><description>APIs continue to spread, as seen in this 2019 report from ProgrammableWeb, which shows a 30% increase over last year’s growth rate. More regulations are enforcing the use of APIs to open up companies and foster innovation. Think of the Payment Services Directive version two (PSD2), open banking, and the public sector releasing 0pen data APIs. With such an abundance of APIs, it becomes increasingly crucial to get the value out of your APIs and differentiate yourself from the growing competition.</description></item><item><title>Airgap OpenShift Installation: move the registry created using oc adm release mirror between environments</title><link>https://www.itix.fr/blog/airgap-openshift-installation-move-registry-created-using-oc-adm-release-mirror-between-environments/</link><pubDate>Mon, 18 Nov 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/airgap-openshift-installation-move-registry-created-using-oc-adm-release-mirror-between-environments/</guid><description>Some customers, especially large banks, have very tight security requirements. Most of them enforce a complete disconnection of their internal networks from the Internet.
When installing OpenShift in such environments (this is named &amp;ldquo;disconnected&amp;rdquo; or &amp;ldquo;airgap&amp;rdquo; installation), all the OpenShift images have to be fetched (thanks to oc adm release mirror) in a dedicated registry from a bastion host that is both on the internal network and on the Internet.</description></item><item><title>Ansible: Add a prefix or suffix to all items of a list</title><link>https://www.itix.fr/blog/ansible-add-prefix-suffix-to-list/</link><pubDate>Mon, 18 Nov 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/ansible-add-prefix-suffix-to-list/</guid><description>&lt;p>Recently, in &lt;a href="../airgap-openshift-installation-move-registry-created-using-oc-adm-release-mirror-between-environments/">one of my Ansible playbooks&lt;/a> I had to prefix all items of a list with a chosen string.&lt;/p></description></item><item><title>Check the Ansible version number in a playbook</title><link>https://www.itix.fr/blog/check-ansible-version-number-playbook/</link><pubDate>Mon, 18 Nov 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/check-ansible-version-number-playbook/</guid><description>&lt;p>My Ansible playbooks sometimes use features that are available only in a very recent versions of Ansible.&lt;/p>
&lt;p>To prevent unecessary troubles to the team mates that will execute them, I like to add a task at the very beginning of my playbooks to check the Ansible version number and abort if the requirements are not met.&lt;/p></description></item><item><title>Feed URLs for the most common CMS: Drupal, Wordpress, WiX and YouTube</title><link>https://www.itix.fr/blog/feed-url-drupal-wordpress-wix-youtube/</link><pubDate>Mon, 18 Nov 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/feed-url-drupal-wordpress-wix-youtube/</guid><description>&lt;p>If like me you are using &lt;a href="../deploying-miniflux-openshift/">an RSS reader&lt;/a> to stay informed, there is nothing more frustrating than reading a website that does not advertise an RSS feed.&lt;/p>
&lt;p>But since most website are based on commonly found CMS, it is highly probable the RSS feeds are there, just not advertised.&lt;/p></description></item><item><title>Deploying Miniflux on OpenShift</title><link>https://www.itix.fr/blog/deploying-miniflux-openshift/</link><pubDate>Sun, 17 Nov 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/deploying-miniflux-openshift/</guid><description>&lt;p>&lt;a href="https://miniflux.app">Miniflux&lt;/a> is a minimalist, open source and opinionated RSS feed reader. There is a &lt;a href="https://miniflux.app/hosting.html">hosted instance&lt;/a> available at a fair price point but wouldn&amp;rsquo;t it be cooler to host your own instance on your OpenShift cluster? Let&amp;rsquo;s do it!&lt;/p></description></item><item><title>Deploying Invidious on OpenShift</title><link>https://www.itix.fr/blog/deploying-invidious-openshift/</link><pubDate>Sat, 16 Nov 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/deploying-invidious-openshift/</guid><description>&lt;p>&lt;a href="https://github.com/omarroth/invidious">Invidious&lt;/a> is an alternative frontend to YouTube that is slimmer, faster and at the same time offer more features than YouTube itself. And even more important: it&amp;rsquo;s Open Source!&lt;/p>
&lt;p>There is a hosted instance at &lt;a href="https://invidio.us/">invidio.us&lt;/a> if you want to give it a try. But, wouldn&amp;rsquo;t it be cooler to host your own instance on your OpenShift cluster? Let&amp;rsquo;s do it!&lt;/p></description></item><item><title>What is this 'Anonymous' policy configured by the 3scale toolbox?</title><link>https://www.itix.fr/blog/3scale-toolbox-anonymous-policy/</link><pubDate>Thu, 14 Nov 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/3scale-toolbox-anonymous-policy/</guid><description>&lt;p>In this article on the Red Hat Developer blog, I explained &lt;a href="https://developers.redhat.com/blog/2019/07/29/3scale-toolbox-deploy-an-api-from-the-cli/">how to deploy an API from the CLI, using the 3scale toolbox&lt;/a>.
If you tried this approach by yourself you may end up, &lt;em>sooner or later&lt;/em>, with a 3scale service including an &lt;em>Anonymous&lt;/em> policy in its policy chain.
What is this policy and why is it there?
Let&amp;rsquo;s dig in!&lt;/p></description></item><item><title>What is this 'URL Rewriting' policy configured by the 3scale toolbox?</title><link>https://www.itix.fr/blog/3scale-toolbox-url-rewriting-policy/</link><pubDate>Thu, 14 Nov 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/3scale-toolbox-url-rewriting-policy/</guid><description>&lt;p>In this article on the Red Hat Developer blog, I explained &lt;a href="https://developers.redhat.com/blog/2019/07/30/deploy-your-api-from-a-jenkins-pipeline/">how to deploy an API from a Jenkins Pipeline, using the 3scale toolbox&lt;/a>.
If you tried this approach by yourself you may have noticed that in some cases, the configured service includes the &lt;em>URL Rewriting&lt;/em> policy in its &lt;em>Policy Chain&lt;/em>.&lt;/p></description></item><item><title>TechWeek Société Générale 2019</title><link>https://www.itix.fr/speaking/techweek-sg-2019/</link><pubDate>Tue, 12 Nov 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/speaking/techweek-sg-2019/</guid><description>On the 12th November 2019, I spoke at Société Générale for their TechWeek event on a session named &amp;ldquo;Accelerate and secure your API releases with Microcks&amp;rdquo;.
The session was a one hour lab focusing on the design, mock and tests of REST APIs. The lab documents and source code are freely available!</description></item><item><title>Configure the TLS trust store in Apicurio Studio</title><link>https://www.itix.fr/blog/configure-truststore-apicurio-studio/</link><pubDate>Fri, 25 Oct 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/configure-truststore-apicurio-studio/</guid><description>&lt;p>&lt;a href="http://microcks.github.io">Microcks&lt;/a> and &lt;a href="https://www.apicur.io/">Apicurio&lt;/a> are nice Open Source projects that can even talk to each other to deliver greater value than the sum of their parts.&lt;/p>
&lt;p>Unfortunately, sometimes TLS certificates can get in the way of proper communication between the two projects.
This post explains how to configure the trust store in Apicurio to overcome TLS communication issues between Apicurio and Microcks.&lt;/p></description></item><item><title>Red Hat Tech Exchange 2019</title><link>https://www.itix.fr/speaking/red-hat-tech-exchange-2019/</link><pubDate>Mon, 21 Oct 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/speaking/red-hat-tech-exchange-2019/</guid><description>During the three Red Hat Tech Exchange sessions (Americas, EMEA and APAC), I presented two sessions:
&amp;ldquo;Leverage the power of open source communities to manage your APIs&amp;rdquo; (full recording) &amp;ldquo;Complementing your Istio Service Mesh with 3scale and Fuse&amp;rdquo; (demo recording) The session Leverage the power of open source communities to manage your APIs has been the second best voted session in RHTE APAC!
I received an award!</description></item><item><title>Running Red Hat SSO outside of OpenShift</title><link>https://www.itix.fr/blog/running-redhat-sso-outside-openshift/</link><pubDate>Thu, 10 Oct 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/running-redhat-sso-outside-openshift/</guid><description>&lt;p>In an article named &lt;a href="https://developers.redhat.com/blog/2019/02/07/red-hat-single-sign-on-give-it-a-try-for-no-cost/">Red Hat Single Sign-On: Give it a try for no cost!&lt;/a>, I explained how to deploy Red Hat SSO very easily in any OpenShift cluster.&lt;/p>
&lt;p>As pointed by a reader in a comment, as widespread OpenShift can be, not everyone has access to a running OpenShift cluster. So, here is how to run Red Hat SSO outside of OpenShift: using only plain Docker commands.&lt;/p></description></item><item><title>Webinar: Develop. Deploy. Deliver continuously.</title><link>https://www.itix.fr/speaking/develop-deploy-deliver-continuously/</link><pubDate>Thu, 10 Oct 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/speaking/develop-deploy-deliver-continuously/</guid><description>On the 10th October 2019, I spoke at a Red Hat webinar on a session named &amp;ldquo;Simplify your API Strategy with Istio&amp;rdquo; where I showcased the integration between 3scale and Istio.
For more information: https://www.redhat.com/en/events/webinar/develop-deploy-deliver-continuously</description></item><item><title>Red Hat Forum Helsinki 2019</title><link>https://www.itix.fr/speaking/red-hat-forum-helsinki-2019/</link><pubDate>Tue, 08 Oct 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/speaking/red-hat-forum-helsinki-2019/</guid><description>On the 08th October 2019, I spoke at Red Hat Forum Helsinki on a session named &amp;ldquo;Agile Integration: Transforming Enterprises - Nothing happens until something is integrated&amp;rdquo;.
For more information: https://events.redhat.com/profile/form/index.cfm?PKformID=0x65475abcd</description></item><item><title>Solving the Ansible error 'This module requires the OpenShift Python client'</title><link>https://www.itix.fr/blog/solving-this-module-requires-the-openshift-python-client-error/</link><pubDate>Fri, 13 Sep 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/solving-this-module-requires-the-openshift-python-client-error/</guid><description>If you are using MacOS to develop Operators based on Ansible or simply running Ansible playbooks straight from your Mac, you might encounter this error:
This module requires the OpenShift Python client.
When coping with this error message, two items need to be checked:
The openshift python module needs to be installed using the pip command bundled with your Ansible. If you are not using the implicit localhost, your inventory needs to be updated.</description></item><item><title>Enable global policies on Apicast 3.6</title><link>https://www.itix.fr/blog/enable-global-policies-apicast/</link><pubDate>Tue, 10 Sep 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/enable-global-policies-apicast/</guid><description>&lt;p>Recent versions of Apicast have a pluggable policy mechanism to apply different treatments to each exposed API.
This is very powerful since each service receives its specific configuration.
However, if the same treatment has to be applied to every service exposed, it becomes an administration overhead.&lt;/p>
&lt;p>Hopefully, Apicast has the concept of &lt;em>Global Policies&lt;/em> that applies to every service exposed by itself.&lt;/p></description></item><item><title>Using the 3scale toolbox Jenkins Shared Library</title><link>https://www.itix.fr/writing/using-the-3scale-toolbox-jenkins-shared-library/</link><pubDate>Wed, 31 Jul 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/writing/using-the-3scale-toolbox-jenkins-shared-library/</guid><description>In the previous article of this series, Deploy your API from a Jenkins Pipeline, we discovered how the 3scale toolbox can help you deploy your API from a Jenkins Pipeline on Red Hat OpenShift/Kubernetes. In this article, we will improve the pipeline from the previous article to make it more robust, less verbose, and also offer more features by using the 3scale toolbox Jenkins Shared Library.
Continue reading</description></item><item><title>Deploy your API from a Jenkins Pipeline</title><link>https://www.itix.fr/writing/deploy-your-api-from-a-jenkins-pipeline/</link><pubDate>Tue, 30 Jul 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/writing/deploy-your-api-from-a-jenkins-pipeline/</guid><description>In a previous article, 5 principles for deploying your API from a CI/CD pipeline, we discovered the main steps required to deploy your API from a CI/CD pipeline and this can prove to be a tremendous amount of work. Hopefully, the latest release of Red Hat Integration greatly improved this situation by adding new capabilities to the 3scale CLI. In 3scale toolbox: Deploy an API from the CLI, we discovered how the 3scale toolbox strives to automate the delivery of APIs.</description></item><item><title>3scale toolbox: Deploy an API from the CLI</title><link>https://www.itix.fr/writing/3scale-toolbox-deploy-an-api-from-the-cli/</link><pubDate>Mon, 29 Jul 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/writing/3scale-toolbox-deploy-an-api-from-the-cli/</guid><description>Deploying your API from a CI/CD pipeline can be a tremendous amount of work. The latest release of Red Hat Integration greatly improved this situation by adding new capabilities to the 3scale CLI. The 3scale CLI is named 3scale toolbox and strives to help API administrators to operate their services as well as automate the delivery of their API through Continuous Delivery pipelines.
Having a standard CLI is a great advantage for our customers since they can use it in the CI/CD solution of their choice (Jenkins, GitLab CI, Ansible, Tekton, etc.</description></item><item><title>5 principles for deploying your API from a CI/CD pipeline</title><link>https://www.itix.fr/writing/5-principles-for-deploying-your-api-from-a-ci-cd-pipeline/</link><pubDate>Fri, 26 Jul 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/writing/5-principles-for-deploying-your-api-from-a-ci-cd-pipeline/</guid><description>At Red Hat, we strongly believe an API is not “just another piece of software.” Instead, we think an API is a software component in conjunction with:
An interface to communicate with it. An ecosystem of consumers that communicate with this software. A relationship with developers consuming this API. An API is built, deployed, and managed not just with the usual methods; as a result, deploying your API from a CI/CD pipeline requires additional processes, tools, and skills.</description></item><item><title>One-liner to decode a Kubernetes secret (base64 encoded)</title><link>https://www.itix.fr/blog/decode-kubernetes-secret-base64/</link><pubDate>Fri, 07 Jun 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/decode-kubernetes-secret-base64/</guid><description>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:</description></item><item><title>Use QLKube to query the Kubernetes API</title><link>https://www.itix.fr/blog/use-qlkube-to-query-the-kubernetes-api/</link><pubDate>Fri, 07 Jun 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/use-qlkube-to-query-the-kubernetes-api/</guid><description>&lt;p>&lt;a href="https://github.com/qlkube/qlkube">QLKube&lt;/a> is a project that exposes the Kubernetes API as GraphQL.
&lt;a href="https://en.wikipedia.org/wiki/GraphQL">GraphQL&lt;/a> 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.&lt;/p></description></item><item><title>Red Hat Summit 2019</title><link>https://www.itix.fr/speaking/red-hat-summit-2019/</link><pubDate>Wed, 08 May 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/speaking/red-hat-summit-2019/</guid><description>On the 8th May 2018, I spoke at Red Hat Summit on three sessions named:
&amp;ldquo;Leverage the power of communities to manage your APIs&amp;rdquo; (demo recording) &amp;ldquo;Istio, the missing link in the evolution of your API strategy&amp;rdquo; (demo recording) &amp;ldquo;An APIcast policy in 15 minutes&amp;rdquo; (demo recording)</description></item><item><title>Manage your APIs deployed with Istio service mesh</title><link>https://www.itix.fr/writing/manage-your-apis-deployed-with-istio-service-mesh/</link><pubDate>Tue, 30 Apr 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/writing/manage-your-apis-deployed-with-istio-service-mesh/</guid><description>With the rise of microservices architectures, companies are looking for a way to connect, secure, control, and observe their microservices. Currently, a service mesh such as Istio is the best option to reach this goal.
Connect: Istio can intelligently control the flow of traffic between services, conduct a range of tests and upgrade gradually with blue/green deployments. Secure: Automatically secure your services through managed authentication, authorization, and encryption of communication between services.</description></item><item><title>Bash Snippet: Print a config file without comments</title><link>https://www.itix.fr/blog/print-config-file-without-comments/</link><pubDate>Tue, 23 Apr 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/print-config-file-without-comments/</guid><description>&lt;p>Logging in on a server, printing a configuration file and trying to find the relevant setting from thousands of comment lines.
Sounds familiar?&lt;/p>
&lt;p>Not that comments are useless in a configuration file but sometimes it&amp;rsquo;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.&lt;/p></description></item><item><title>Devoxx France 2019</title><link>https://www.itix.fr/speaking/devoxx-france-2019/</link><pubDate>Fri, 19 Apr 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/speaking/devoxx-france-2019/</guid><description>On the 19th April 2019, I spoke at Devoxx France on a session named &amp;ldquo;Une API, de l&amp;rsquo;idée à la production, en mode agile avec Red Hat !&amp;rdquo;.
Pictures Attendees&amp;rsquo; reaction For more information: https://cfp.devoxx.fr/2019/talk/OWQ-3436/Une_API,_de_l'idee_a_la_production,_en_mode_agile_avec_Red_Hat_!</description></item><item><title>Is my NTP daemon working?</title><link>https://www.itix.fr/blog/is-my-ntp-daemon-working/</link><pubDate>Fri, 29 Mar 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/is-my-ntp-daemon-working/</guid><description>&lt;p>If the time on your workstation or server is not stable, strange errors might
appear, such as:&lt;/p>
&lt;pre tabindex="0">&lt;code class="language-raw" data-lang="raw">$ tar zxvf /tmp/archive.tgz
tar: my-file: time stamp 2019-03-28 14:04:45 is 0.042713488 s in the future
&lt;/code>&lt;/pre>&lt;p>This can happen when your &lt;a href="https://en.wikipedia.org/wiki/Network_Time_Protocol">NTP&lt;/a>
daemon is not synchronized. This means it cannot reliably determine the current
time.&lt;/p></description></item><item><title>Testing hard-drive or SSD performance on Fedora</title><link>https://www.itix.fr/blog/testing-hard-drive-ssd-performance/</link><pubDate>Fri, 22 Mar 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/testing-hard-drive-ssd-performance/</guid><description>&lt;p>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.&lt;/p></description></item><item><title>Bash Snippet: CLI World Clock</title><link>https://www.itix.fr/blog/cli-world-clock/</link><pubDate>Mon, 18 Mar 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/cli-world-clock/</guid><description>&lt;p>When working in a global organization, colleagues are all around the world!
And thus answering to &lt;em>&amp;ldquo;What time is it in their timezone?&amp;rdquo;&lt;/em> becomes a frequent
task. I initially used an online service for this but it is cumbersome and
requires me to leave my terminal.&lt;/p>
&lt;p>Let&amp;rsquo;s meet the CLI World clock!&lt;/p></description></item><item><title>M4 as a replacement for sed</title><link>https://www.itix.fr/blog/m4-as-replacement-for-sed/</link><pubDate>Fri, 15 Mar 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/m4-as-replacement-for-sed/</guid><description>Writing a tutorial often involves to replace a placeholder in a file, such as:
Replace FOO with the actual name of your image:
sed &amp;#39;s|IMAGE_NAME|docker.io/foo/bar:latest|g&amp;#39; 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).</description></item><item><title>Writing workshop instructions with Hugo and deploying in OpenShift</title><link>https://www.itix.fr/blog/writing-workshop-instructions-with-hugo-deploy-openshift/</link><pubDate>Wed, 27 Feb 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/writing-workshop-instructions-with-hugo-deploy-openshift/</guid><description>&lt;p>This is the third part of my series covering how to
&lt;a href="../writing-workshop-instructions-with-hugo/">Write workshop instructions with Hugo&lt;/a>. In this article, we will deploy our &lt;a href="https://github.com/nmasse-itix/hugo-workshop/">Hugo mini-training&lt;/a> as a container in OpenShift.&lt;/p></description></item><item><title>Full API lifecycle management: A primer</title><link>https://www.itix.fr/writing/full-api-lifecycle-management-a-primer/</link><pubDate>Mon, 25 Feb 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/writing/full-api-lifecycle-management-a-primer/</guid><description>APIs are the cornerstone of so many recent breakthroughs: from mobile applications, to the Internet of Things, to cloud computing. All those technologies expose, consume, and are built on APIs. And those APIs are a key driver for generating new revenue. Salesforce generates 50% of its revenue through APIs, Expedia generates 90% of its, and eBay generates 60% of its. With APIs becoming so central, it becomes essential to deal with full API lifecycle management.</description></item><item><title>Writing workshop instructions with Hugo, with variables in your content</title><link>https://www.itix.fr/blog/writing-workshop-instructions-with-hugo-variables/</link><pubDate>Thu, 21 Feb 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/writing-workshop-instructions-with-hugo-variables/</guid><description>&lt;p>This is the second part of my series covering how to
&lt;a href="../writing-workshop-instructions-with-hugo/">Write workshop instructions with Hugo&lt;/a>.
In the first part, we saw how to:&lt;/p>
&lt;ul>
&lt;li>bootstrap a website with Hugo&lt;/li>
&lt;li>add content, organized in chapters and sections&lt;/li>
&lt;li>customize the look and feel to be suitable for workshop instructions&lt;/li>
&lt;/ul>
&lt;p>For this second part, we will add variables to our content so that we can easily
adjust the workshop instructions to different use cases.&lt;/p></description></item><item><title>Writing workshop instructions with Hugo</title><link>https://www.itix.fr/blog/writing-workshop-instructions-with-hugo/</link><pubDate>Wed, 20 Feb 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/writing-workshop-instructions-with-hugo/</guid><description>&lt;p>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.&lt;/p>
&lt;p>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.&lt;/p>
&lt;p>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.&lt;/p>
&lt;p>And for the trainer, it has to be easy to maintain and collaborative.&lt;/p>
&lt;p>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.&lt;/p>
&lt;p>Hopefully &lt;a href="https://gohugo.io/">Hugo&lt;/a> can help us!&lt;/p></description></item><item><title>Red Hat Single Sign-On: Give it a try for no cost!</title><link>https://www.itix.fr/writing/red-hat-single-sign-on-give-it-a-try-for-no-cost/</link><pubDate>Thu, 07 Feb 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/writing/red-hat-single-sign-on-give-it-a-try-for-no-cost/</guid><description>In a software world where each day is more hostile than the previous one, security matters and developers are coping with more and more non-functional requirements about security. The most common ones are the “OWASP Top 10”: the ten security risks that every developer should know. There are many more security risks you should care about, but those ten risks are the ones having the most impact on the security of your software.</description></item><item><title>Use Ansible to manage the QoS of your OpenShift workload</title><link>https://www.itix.fr/blog/use-ansible-to-manage-the-qos-of-your-openshift-workload/</link><pubDate>Wed, 06 Feb 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/use-ansible-to-manage-the-qos-of-your-openshift-workload/</guid><description>&lt;p>As I was administering my OpenShift cluster, I found out that I had a too
much memory requests. To preserve a good quality of service on my cluster,
I had to tacle this issue.&lt;/p></description></item><item><title>Using a public certificate with Red Hat Single Sign-On/Keycloak</title><link>https://www.itix.fr/writing/using-a-public-certificate-with-red-hat-single-sign-on-keycloak/</link><pubDate>Wed, 06 Feb 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/writing/using-a-public-certificate-with-red-hat-single-sign-on-keycloak/</guid><description>When deploying Red Hat Single Sign-On/Keycloak for a test or a proof of concept, most users will choose to use a self-signed certificate as explained in the official documentation.
The setup instructions are straightforward, but this self-signed certificate will trigger certificate error messages in your web browser and can also prevent some clients such as Postman from working properly.
This article explains how to use a public certificate from Let’s Encrypt with Red Hat Single Sign-On.</description></item><item><title>Devoteam #TechForPeople 2018</title><link>https://www.itix.fr/speaking/devoteam-tech-for-people-2018/</link><pubDate>Wed, 10 Oct 2018 00:00:00 +0200</pubDate><guid>https://www.itix.fr/speaking/devoteam-tech-for-people-2018/</guid><description>The 10th Septembre 2018, I co-presented a session named &amp;ldquo;No API, No Future&amp;rdquo; in which I exhibited the Red Hat&amp;rsquo;s API Lifecycle Automation. The event #TechForPeople was organized by Devoteam.</description></item><item><title>Red Hat Tech Exchange 2018</title><link>https://www.itix.fr/speaking/red-hat-tech-exchange-2018/</link><pubDate>Fri, 21 Sep 2018 00:00:00 +0200</pubDate><guid>https://www.itix.fr/speaking/red-hat-tech-exchange-2018/</guid><description>From the 17th to 21th Septembre 2018, I co-presented two sessions:
An API Journey: from mock to deployment, with Laurent Broudoux API Lifecycle Automation, with Manfred Bortenschlager For the session An API Journey: from mock to deployment, we received an award based on the amazing feedbacks from the public!
We received our award, on-stage!</description></item><item><title>ADEO Summit 2018</title><link>https://www.itix.fr/speaking/adeo-summit-2018/</link><pubDate>Wed, 27 Jun 2018 00:00:00 +0200</pubDate><guid>https://www.itix.fr/speaking/adeo-summit-2018/</guid><description>On the 27th June 2018, I spoke at ADEO Summit on a session named &amp;ldquo;An API Journey: from Mock to Deployment workshop&amp;rdquo;.
For more information: https://www.adeodevsummit.io/event/FA3w/an-api-journey-from-mock-to-deployment</description></item><item><title>Red Hat Summit 2018</title><link>https://www.itix.fr/speaking/red-hat-summit-2018/</link><pubDate>Tue, 08 May 2018 00:00:00 +0200</pubDate><guid>https://www.itix.fr/speaking/red-hat-summit-2018/</guid><description>On the 8th May 2018, I spoke at Red Hat Summit on a session named &amp;ldquo;Red Hat API management: Overview, security models, and roadmap&amp;rdquo; where I showcased our vision of &amp;ldquo;API Management as Code&amp;rdquo;.
For more information: https://agenda.summit.redhat.com/SessionDetail.aspx?id=154928</description></item><item><title>APIDays 2017</title><link>https://www.itix.fr/speaking/apidays-2017/</link><pubDate>Tue, 30 Jan 2018 00:00:00 +0200</pubDate><guid>https://www.itix.fr/speaking/apidays-2017/</guid><description>On the 30th January 2018, I spoke at API Days on a session named &amp;ldquo;An API Journey: from Mock to Deployment workshop&amp;rdquo;.
For more information: http://www.apidays.io/events/paris-2017</description></item><item><title>Red Hat Forum 2017</title><link>https://www.itix.fr/speaking/red-hat-forum-2017/</link><pubDate>Wed, 11 Oct 2017 00:00:00 +0200</pubDate><guid>https://www.itix.fr/speaking/red-hat-forum-2017/</guid><description>On the 11th October 2017, I spoke at Red Hat Forum on a session named &amp;ldquo;Gestion des API dans une démarche CI/CD&amp;rdquo;.
For more information: https://www.redhat.com/fr/events/red-hat-forum-france-2017
Slide deck can be found here</description></item><item><title>Contact me</title><link>https://www.itix.fr/contact/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.itix.fr/contact/</guid><description>Do you need something from me ?
For any inquiry about speaking, writing or engagement, you can contact me directly at my email address, on twitter at @nmasse_itix or on Bluesky at @nicolas.itix.fr.
If you want to know more about my professional career, you can find it on Linkedin but I can also provide a current CV or biography upon request.
If you are reaching out to me for one of my Open Source projects or one of my contributions, please open an issue in the relevant GitHub repository and mention @nmasse-itix.</description></item><item><title>Search</title><link>https://www.itix.fr/search/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.itix.fr/search/</guid><description/></item></channel></rss>