Articles

Tutorials

Managing router query parameters in Vue.js

Managing router query parameters in Vue.js thumbnail
URL query parameters are a convenient way to store the state of a view so that the user can return to it using the back button after navigating away. This short article introduces a method to add parameters to the current URL.
Vue.jsTutorials

Encrypted Mosquitto broker in Kubernetes

Encrypted Mosquitto broker in Kubernetes thumbnail
Mosquitto can usually be installed on an Ubuntu server fairly easily using the APT package manager. By Default, the broker handles unencrypted MQTT connections but it can be configured to use SSL certificates obtained, for example, using Certbot and thus enable MQTTs connections. This configuration is usually achieved by editing the Mosquitto configuration file in /etc/mosquitto so as to point to certificates obtained independently. However, when deploying Mosquitto to Kubernetes, one would prefer not to edit configuration files manually after install. Moreover, in Kubernetes, one can use Cert-manager to obtain SSL certificates. Thus, this article presents an efficient method to deploy a secure MQTTs broker in Kubernetes.
KubernetesMQTTTutorials

"Resizing" a PVC and its PV in Microk8s

With the storage addon enabled, microk8s can automatically provision a PV when a PVC is created. The size of the PV is set according to that of the PVC. However, PVCs cannot be resized after creation. The PVC could be deleted and recreated with a larger size but this would result in the deletion of the PV and, by extension, all the data stored so far in it. This article presents a workaround to resize a PVC and its corresponding PV without any loss of data.
TutorialsMediumKubernetesMicrok8s

Getting Python's requests library to use a local DNS (Core-DNS, Docker-compose, etc.) while behind a proxy

When using Python's requests library, the requests are send through the proxy set as environment variables. Consequently, if the DNS to be used comes before said proxy, the host might not be resolved. This typically happens when resolving a host in Kubernetes using Core-DNS. If the request first leaves the Kubernetes cluster to reach the proxy, then the DNS server becomes unreachable, making the request fail.
DevOpsPythonTutorials

Solving Kong latency problems in Kubernetes

Solving Kong latency problems in Kubernetes thumbnail
Kong is a popular API gateway that can be used as a reverse proxy for clients to access back-end services. It can be run as a Docker container and, as such, can be deployed to Kubernetes. However, when doing so, requests might be severely impacted by unusually high latency. This can be solved by configuring the order in which Kong resolves DNS records.
KubernetesKongTutorials

GitLab CI Microk8s integration

GitLab CI Microk8s integration thumbnail
GitLab provides Kubernetes integration out of the box, which means that GitLab CI/CD Pipelines can be used to deploy applications in Kubernetes easily. This guide presents how to integrate a Kubernetes cluster in a GitLab Project and follows Gitlab documentation. For this particular case, the cluster will be that of a Microk8s Kubernetes distribution.
Microk8sGitLabTutorialsKubernetes

Migrating a Kubernetes PV to a new storage class for applications that don't have tar installed

Migrating a Kubernetes PV to a new storage class for applications that don't have tar installed thumbnail
Kubernetes provides an abstraction layer for persistent data storage. Volumes can be of various storage classes depending on user requirements. Those requirements can evolve with time, meaning that volumes sometimes need to be migrated from one storage class to another. This article introduces a method to do so.
KubernetesTutorials

Vue Router setup in Vue 3

Vue Router setup in Vue 3 thumbnail
Previously, when creating a Vue project using the Vue CLI, the Vue Router could be installed easily by running vue add router. However, with Vue 3 and Vite, the router is installed manually. This article presents how to do so.
Vue.jsTutorials

Generating certificates for an Aruba Instant AP using pfSense

Generating certificates for an Aruba Instant AP using pfSense thumbnail
Aruba IAP can use custom certificates when serving the Web UI over HTTPS. Those certificates can be generated, among others, using pfSense. This can be useful when trying to get rid of browser warnings regarding untrusted HTTPS connections
ArubaTutorialspfSense

Node.js testing for multiple environment variables

Node.js testing for multiple environment variables thumbnail
Some applications might require the same codebase to be tested with different sets of environment variables. This article proposes a simple way to do so.
Node.jsDevOpsTutorials