EnvSubst: Examples – Replace Environment Variables

Credentials or any other sensitive data should never be stored in configuration files (e.g. Terraform, Dockerfile, Kubernetes YAML files, etc.) and of course should never be committed to Git repositories.

Much better practice is to set some placeholders inside such files, and when needed, replace them with values from your environment variables, that can be done, for example, using a envsubst command.

In this post you will find how to install the envsubst command and examples of how to use it to replace environment variables in the files. (more…)

ArgoCD: “x509: certificate signed by unknown authority”

In an ArgoCD’s user interface (UI), if you select a connection method “VIA HTTPS” and try to add a private repository, despite the fact that you’ll get a message “Successfully updated <repoURL> repository”, the actual repository connection status may be marked as ❌ Failed.

The reason of this may be in a self-signed certificate, or a certificate signed by a custom Certificate Authority (CA).

This post shows how to fix the “x509: certificate signed by unknown authority” error while adding the private repository in ArgoCD. (more…)

ArgoCD: FATA[0005] Unauthenticated? Login! [SOLVED]

While trying to communicate with an ArgoCD server over a command-line interface (CLI), you may receive an error as follows: “FATA[0005] rpc error: code = Unauthenticated desc invalid session: signature is invalid“.

This error usually occurs when you have forgotten to login to the ArgoCD server.

This short post shows how to resolve the ArgoCD’s “FATA[0005] Unauthenticated” error. (more…)

ArgoCD: Unable To Delete Application with Finalizers

While trying to delete an ArgoCD application through a user interface (UI) you may receive an error as follows:

Unable to delete application: error patching application with finalizers: Application.argoproj.io “<appName>” is invalid: metadata.finalizers: Forbidden: no new finalizers can be added if the object is being deleted, found new finalizers []string{“resources-finalizer.argocd.argoproj.io”} .

To force the deletion of the ArgoCD application that is stuck, you can either use an argocd or kubectl commands as showing in the post below. (more…)

Install Kubectl on Windows

A kubectl is the official Kubernetes command-line tool, used to run commands on Kubernetes clusters.

As the kubectl is distributed as a standalone binary it can be easily downloaded from official sources and installed on Windows.

In this post I will show how to download and install the latest stable version of the kubectl on Windows through a graphical user interface (GUI), or using a command-line prompt (CMD) or PowerShell. (more…)

Install Kubectl on Ubuntu, CentOS, Amazon Linux

A kubectl is an official Kubernetes command-line tool, used to run commands on Kubernetes clusters.

As the kubectl is distributed as a standalone binary it can be easily downloaded from official sources and installed on any Linux system, including Ubuntu.

In this post I will show you how to download and install the latest stable version of the kubectl on Ubuntu, although similar steps can be performed on any Linux system including CentOS, Amazon Linux, Debian, Linux Mint, etc. (more…)

Gmail: Reply With Attachment

When you “Reply” or “Replay to all” in Gmail to an email with attachments, by default, these attachments are not included automatically in the reply like they are during email forwarding.

To include the original email attachments in the reply you can click on “Forward” and then type in all recipients back, but this is not the most efficient way.

In this note i will show the easiest way of how to “Reply” or “Replay to all” on the email in Gmail and keep the original attachments. (more…)

MikroTik: WPS Button – Where & How To Push?

WiFi Protected Setup (WPS) feature lets to connect WiFi devices (e.g. wireless printers) to a router’s secure WiFi network without selecting a network name (SSID) and entering a password.

Wireless MikroTik routers support the WPS feature and are supplied with either physical or virtual WPS button.

This short note shows how to find and push the WPS button on the MikroTik router from a command-line (terminal) or Winbox/Webfig interface. (more…)