Red Hat Enterprise Linux

How to Configure Jenkins Pipelines and Jenkinsfile on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure Jenkins Pipelines and Jenkinsfile on RHEL 9

Jenkins Pipeline (formerly Workflow) allows defining the entire CI/CD build, test, and deploy process as code in a Jenkinsfile committed to the source repository alongside the application code. This “Pipeline as Code” approach means the build process is version-controlled, reviewable via pull requests, and reproducible across environments. Jenkins supports two Pipeline syntaxes: Declarative Pipeline (structured, […]

Read more
How to Install Jenkins on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Install Jenkins on RHEL 9

Jenkins is the most widely adopted open-source CI/CD automation server, used to build, test, and deploy software across thousands of organisations. It provides a large plugin ecosystem (1,800+ plugins) for integrating with virtually every version control system, build tool, test framework, and deployment target. Jenkins on RHEL 9 is typically deployed as a system service […]

Read more
How to Set Up a Kubernetes Dashboard on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Set Up a Kubernetes Dashboard on RHEL 9

The Kubernetes Dashboard is a general-purpose, web-based UI for Kubernetes clusters that allows users to manage applications, inspect cluster resources, view logs, and troubleshoot issues without using the kubectl CLI. It provides a visual overview of all workloads in the cluster — deployments, pods, services, ingress rules, storage, and RBAC configuration — making it accessible […]

Read more
How to Configure Docker Daemon TLS Encryption on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure Docker Daemon TLS Encryption on RHEL 9

By default, the Docker daemon socket (/var/run/docker.sock) is a Unix socket accessible only locally. When the Docker daemon needs to be accessible over the network — for remote Docker management, CI/CD pipelines connecting to a remote build host, or Docker Swarm cluster communication — TLS encryption must be configured to prevent man-in-the-middle attacks and unauthorised […]

Read more
How to Install and Use Skopeo for Container Image Management on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Install and Use Skopeo for Container Image Management on RHEL 9

Skopeo is a command-line tool for working with container images and container image registries without requiring a running container daemon or root privileges. While Docker requires docker pull to download an image locally before inspecting or copying it, Skopeo can copy images directly between registries, inspect image metadata without downloading the full image, and sign/verify […]

Read more
How to Use Docker Secrets and Environment Variables Securely on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Use Docker Secrets and Environment Variables Securely on RHEL 9

Secrets and environment variables in Docker containers require careful handling to avoid leaking credentials into image layers, container logs, or environment variable dumps. The most common mistakes are: hardcoding credentials in Dockerfiles (they persist in image layer history forever), passing secrets via –env or –env-file flags (visible in docker inspect output and the process environment), […]

Read more
How to Build Docker Images with Multi-Stage Builds on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Build Docker Images with Multi-Stage Builds on RHEL 9

Multi-stage Docker builds solve one of the most common Docker image size problems: development tools, build compilers, test frameworks, and package managers being included in production images. Without multi-stage builds, a Node.js production image might include the full npm package tree, TypeScript compiler, and development dependencies — increasing image size from ~50 MB to 500+ […]

Read more
How to Install containerd as a Container Runtime on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Install containerd as a Container Runtime on RHEL 9

containerd is a high-performance, industry-standard container runtime that implements the Open Container Initiative (OCI) specification. While Docker uses containerd internally as its core container lifecycle manager, containerd can also run standalone as a Kubernetes container runtime — this is the default runtime for most managed Kubernetes services (EKS, GKE, AKS) and the recommended runtime for […]

Read more
How to Monitor Kubernetes with Prometheus and Grafana on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Monitor Kubernetes with Prometheus and Grafana on RHEL 9

Prometheus and Grafana are the de facto standard monitoring stack for Kubernetes clusters. Prometheus is a time-series metrics database that scrapes metrics from Kubernetes components (API server, kubelet, etcd) and from applications via HTTP endpoints in a pull-based model. Grafana is a visualisation platform that queries Prometheus and displays metrics as interactive dashboards. The kube-prometheus-stack […]

Read more
How to Install ArgoCD on Kubernetes on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Install ArgoCD on Kubernetes on RHEL 9

ArgoCD is a declarative, GitOps-based continuous delivery tool for Kubernetes. In the GitOps model, Git is the single source of truth for both application code and infrastructure configuration — when a developer pushes a change to a Git repository, ArgoCD automatically detects the change and applies it to the Kubernetes cluster, keeping the live cluster […]

Read more
CHAT