Argo CD

TL;DR: Argo CD continuously compares the desired state stored in Git with the live state in Kubernetes and synchronizes them. Before diving into Argo CD, it is essential to understand Argo as a whole. Argo CD is not a standalone tool operating in isolation; it is part of a broader, Kubernetes-native suite designed for application delivery and workflow automation. 1. What is Argo? The Argo Project is a set of open-source, Kubernetes-native tools for application delivery, workflow orchestration, and event-driven automation. ...

September 8, 2026 · rathwjj

ADB: install older apk on your new android.

I did change my phone and then my old apk didn’t work. So I did check how to and this is the solution On Fedora, Android Platform Tools are provided via the android-tools package. 1. Install ADB on Fedora Open your terminal and run: sudo dnf install android-tools 2. Enable Developer Options & USB Debugging on Your Phone Go to Settings > About Phone. Tap Build Number 7 times continuously until you see “You are now a developer!”. ...

September 6, 2026 · rathwjj

RBAC

TL;DR: RBAC grants permissions by assigning access rights to roles rather than individual users. Because Kubernetes lacks a built-in user management system, permissions must be explicitly defined using Roles and bound to external identities or ServiceAccounts. In system security, access control relies on two fundamental questions: Authentication: Who are you? Authorization: What are you allowed to do, and at what level? RBAC (Role-Based Access Control) is an authorization model that manages access based on predefined roles rather than individual user accounts. Instead of assigning specific permissions directly to each user, permissions (such as read, write, update, and delete) are assigned to a Role (e.g., admin, developer, viewer). Users are then assigned to one or more roles, simplifying security management across the system. ...

September 3, 2026 · rathwjj

REST API

TL;DR: REST API is a stateless Web API that allows systems to communicate over HTTP/HTTPS at the application layer without storing client session state on the server.. The term REST API combines two distinct concepts: REST (Representational State Transfer) and API (Application Programming Interface). We will explain APIs first, followed by REST. An API is a mechanism that allows systems; such as virtual machines, containers, or networked devices to communicate with each other at the application layer. ...

September 3, 2026 · rathwjj

yaml

TL;DR: While YAML relies on strict indentation and external templating engines for container manifests, HCL provides native logic and block structures for infrastructure definition. YAML (or YAML Ain’t Markup Language): Many compare YAML to JSON or XML formats. I prefer to compare it with HCL (HashiCorp Configuration Language). YAML (Data-First): Excellent for declarative configuration state files (like Kubernetes manifests or Ansible playbooks). However, its strict sensitivity to indentation and lack of native logic or modular constructs can make large, complex configurations difficult to maintain and prone to silent formatting errors. HCL (Infrastructure-First): Purpose-built for Infrastructure as Code (IaC) tools like Terraform and OpenTofu. HCL uses explicit block structures {} instead of strict indentation, making it easier to read and parse. Crucially, HCL includes built-in expression evaluation, variables, conditional logic, and modular references out-of-the-box. While YAML remains the universal standard across Kubernetes manifests and CI/CD pipelines, HCL offers a far cleaner and more powerful experience when defining complex cloud infrastructure. ...

September 2, 2026 · rathwjj

Containers

TL;DR: Docker remains the primary tool for developing and building Dockerfiles locally and in CI/CD, while containerd and CRI-O are the preferred, lightweight runtimes for production Kubernetes clusters. Containers is the term used to categorize software that runs in self-contained environments. While Docker is the most established tool of this kind, other common runtimes and management tools include Podman, containerd, and CRI-O In the early days of container orchestration, Docker was the default runtime for Kubernetes. However, as the ecosystem matured, Kubernetes introduced the Container Runtime Interface (CRI); a standardized gRPC interface allowing any container runtime to plug into Kubernetes nodes seamlessly. ...

September 1, 2026 · rathwjj

CI/CD

TL;DR: CI/CD automates software delivery so code changes are verified, packaged, and progressively deployed with minimal human intervention. CI/CD (continuous integration and continuous delivery) replaces repetitive human handoffs with predictable, automated guardrails from commit to production, reducing human error while keeping changes controlled and repeatable. A well-designed pipeline progressively verifies, packages, deploys, and observes each change: automated tests validate the code, immutable artifacts are built and stored, deployments move through environments, and strategies such as canary or blue-green releases limit the blast radius. ...

August 28, 2026 · rathwjj

CRI CNI and CSI

TL;DR: CRI, CNI, and CSI are standardized interfaces that allow Kubernetes to work with different container runtimes, network implementations, and storage systems without tightly coupling Kubernetes to a specific implementation. As we discussed, Kubernetes is a collection of software rather than a single application. To make this ecosystem work together, Kubernetes uses standardized interfaces instead of depending directly on specific implementations. Three important interfaces are CRI, CNI, and CSI. CRI, CNI, CSI CRI, CNI, and CSI separate Kubernetes from the implementations responsible for containers, networking, and storage. ...

August 28, 2026 · rathwjj

GitOps

TL;DR: GitOps applies Git-based version control and declarative automation to continuously manage infrastructure and applications. GitOps is a name built around Git + Ops, following the same naming pattern as DevOps. The name emphasizes the idea of bringing Git-based software development practices into operational work. While it is an operational model built around Git as the source of truth for declarative system configuration. It extends ideas from Infrastructure as Code (IaC) and Continuous Integration / Continuous Delivery (CI/CD). ...

August 27, 2026 · rathwjj

Git

TL;DR: Git is a distributed version control system for tracking history and change. Countless guides and command cheatsheets already exist on the internet, so this post focuses purely on the underlying concept rather than memorizing syntax. At its core, Git is a distributed version control system. While many developers initially treat it as a glorified cloud backup for code, its true purpose is tracking revision history, enabling branching strategies, and allowing safe collaboration. ...

August 25, 2026 · rathwjj