</>CodeWithKarani
All topics
Topic

DevOps & Cloud

Docker, Kubernetes, CI/CD and observability - diagnosing why it works on your machine but not in the cluster.

Sub-topics

70 articles · showing 1-9 (page 1 of 8)

AI Engineering6 min read

Metering, model routing and the regression suite that stops your agent rotting

Two questions decide whether an AI feature survives its first year: does each request make money, and will a prompt edit break something silently? An append-only credit ledger, two-tier routing, and a suite that asserts question-to-metric mappings are the answers.

Read
Frappe/ERPNext13 min read

Deploying Frappe apps to a client server you're not allowed to touch

The client will not give you access to their dev server, so every code change means someone on their side pulls and migrates by hand. Here is the complete fix: a self-hosted runner they install, a deploy script they own, and no credential to their environment on your side at all.

Read
Linux & Servers8 min read

The pull model: systemd timers and release polling

When the client's security team refuses a runner outright, you can still ship. A systemd timer on their server asks GitHub what the latest release is, compares it against what is checked out, and deploys when they differ. Nothing external can execute anything.

Read
Security7 min read

Push access is code execution: hardening a self-hosted runner

A self-hosted runner executes whatever the workflow file says, and the workflow file lives in a repository you control. So push access to your repository is command execution on your client's server. Here is the honest risk and the layers that contain it.

Read
DevOps & Containers8 min read

SSH deployment for Frappe: how it works, and what it costs you

SSH deployment is the right answer when you own the server, and here is a complete working pipeline for it. It is also a private key held by a third party's CI system, which is a bill worth reading before you sign it.

Read
DevOps & Containers8 min read

Secrets, environments and required reviewers

A repository secret is readable by everyone who can push to the repository. An environment secret is not released until a gate opens. Understanding that difference is what lets you hand the client the key to their own deployments.

Read
DevOps & Containers9 min read

What a runner actually is: GitHub-hosted vs self-hosted

A runner is a process that asks GitHub for work and executes it wherever it happens to live. Once that sentence is true for you, deploying to a firewalled server with no inbound access stops being a trick.

Read
DevOps & Containers8 min read

GitHub Actions from scratch: workflows, jobs, steps and triggers

A workflow file is four ideas stacked on each other. Learn them in the right order, understand why push to main is the wrong deployment trigger, and you can write your first deploy pipeline today.

Read
DevOps & Containers9 min read

ArgoCD Stuck on 'Waiting for Completion of Hook': Breaking the Deadlock

Your ArgoCD sync has waited on a PreSync Job for forty minutes and Terminate changes nothing. Here is why the hook never completes and the exact steps that clear it.

Read
DevOps & Cloud - Guides, Sub-topics & Fixes · Code With Karani