<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>SRE on Shubham Singh</title>
    <link>https://1shubham7.blog/tags/sre/</link>
    <description>Recent content in SRE on Shubham Singh</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language><atom:link href="https://1shubham7.blog/tags/sre/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>25 Helm Features You Didn&#39;t Know About That Make You a Better SRE</title>
      <link>https://1shubham7.blog/helm-features-for-sres/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://1shubham7.blog/helm-features-for-sres/</guid>
      <description>Twenty-five Helm flags, template functions, chart features and tools that most daily users never touch, each with the operational problem it solves. Written after two years of writing and managing Helm packages in production.</description>
    </item>
    
    <item>
      <title>Agent Evals: How to Know a Change Made Your Agent Worse</title>
      <link>https://1shubham7.blog/agent-evals/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://1shubham7.blog/agent-evals/</guid>
      <description>Normal code has tests; agents need evals. What an eval harness is, the vocabulary that goes with it, how I would build one in Go for an SRE agent working against Kubernetes, why pass^k matters more than pass@k for ops, the tools that exist (and the one OpenAI is shutting down), the ways a harness&amp;#39;s numbers lie to you, and the habits that keep a suite useful.</description>
    </item>
    
    <item>
      <title>Helm Hooks: What They Actually Do, When to Use Them, and When Not To</title>
      <link>https://1shubham7.blog/helm-hooks/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://1shubham7.blog/helm-hooks/</guid>
      <description>What Helm does with a hook step by step, the three things hooks do not do that everyone assumes they do, a migration Job that survives a rollback, and when an initContainer or an Argo CD sync wave is the better tool. Written after two years of writing and managing Helm packages in production.</description>
    </item>
    
    <item>
      <title>How Log Collectors Collect and Label Your Logs</title>
      <link>https://1shubham7.blog/log-collection-and-labels/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://1shubham7.blog/log-collection-and-labels/</guid>
      <description>A container log line on disk contains no idea which pod wrote it. Everything you filter by later is constructed by the collector at collection time. What the file actually looks like, how collectors find it, where every label comes from, and why that design decides the health of your logging stack.</description>
    </item>
    
    <item>
      <title>How to Make Pods Restart When a ConfigMap Changes</title>
      <link>https://1shubham7.blog/configmap-restart/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://1shubham7.blog/configmap-restart/</guid>
      <description>Why a changed ConfigMap restarts nothing, the Helm checksum annotation done properly, the two mistakes that make it silently do nothing, and when an immutable ConfigMap, Reloader, or a reload sidecar is the better tool. Written after two years of writing and managing Helm packages in production.</description>
    </item>
    
    <item>
      <title>Learning Rust as an SRE: The Parts That Matter for Infra Tooling</title>
      <link>https://1shubham7.blog/rust-for-sres/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://1shubham7.blog/rust-for-sres/</guid>
      <description>I learned enough Rust in a weekend to read, review and debug the CLIs, API clients and daemons that show up in infra work. This is the subset that mattered, the compiler errors you will actually hit, and the parts of the language I deliberately skipped.</description>
    </item>
    
    <item>
      <title>System One Models: Jev, the Open-Source Alternatives, and Where They Fit</title>
      <link>https://1shubham7.blog/system-one-models-jev/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://1shubham7.blog/system-one-models-jev/</guid>
      <description>Most LLM calls in a backend are structured decisions dressed up as chat. TypeSafe&amp;#39;s Jev answers only that kind of question: typed answers with probabilities, in one pass, with no text generation. What it is, how its confidence numbers work, what &amp;#39;can&amp;#39;t hallucinate&amp;#39; does and does not mean, the open-source alternatives that appeared within weeks, and where an SRE would put one.</description>
    </item>
    
    <item>
      <title>The Layer Under Kubernetes: What a K8s-First SRE Had to Relearn About VMs and Clouds</title>
      <link>https://1shubham7.blog/layer-under-kubernetes/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://1shubham7.blog/layer-under-kubernetes/</guid>
      <description>Which of my Kubernetes-shaped SRE instincts are about the abstraction and which are about the machine underneath, worked out against a hosting company that runs about 12,000 single-tenant VMs across ten cloud providers with no Kubernetes at all.</description>
    </item>
    
    <item>
      <title>VictoriaMetrics, VictoriaLogs and VictoriaTraces: What Prometheus Left Out, and the Stack Built Around It</title>
      <link>https://1shubham7.blog/victoriametrics-stack/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://1shubham7.blog/victoriametrics-stack/</guid>
      <description>VictoriaMetrics started as a remote storage backend for Prometheus and grew into a full monitoring stack. What Prometheus deliberately does not do, why two HA Prometheus replicas are not a cluster, how VictoriaMetrics splits Prometheus&amp;#39;s jobs into components and keeps long-term data without object storage, how VictoriaLogs compares with Loki and VictoriaTraces with Tempo and Jaeger, what else the project ships, and when it is the right choice.</description>
    </item>
    
    <item>
      <title>What I Learned Reading All 71 Articles of the Cyber Resilience Act</title>
      <link>https://1shubham7.blog/what-i-learned-reading-the-cyber-resilience-act/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://1shubham7.blog/what-i-learned-reading-the-cyber-resilience-act/</guid>
      <description>I read the whole of Regulation (EU) 2024/2847, every article and every annex, and mapped KubeAid and LinuxAid against it for my employer. These are the things that surprised me, the mental model I ended up with, and what I would tell the next engineer who has to do the same reading.</description>
    </item>
    
    <item>
      <title>Where Linux Meets Kubernetes: Six Mental Models for When top Isn&#39;t Enough</title>
      <link>https://1shubham7.blog/linux-concepts/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://1shubham7.blog/linux-concepts/</guid>
      <description>Processes and signals, namespaces and cgroups, memory, storage, networking, and identity: the mechanism behind each, the two or three ways it breaks under a pod, and the one check that confirms it. Written from on-call across 100&#43; production Kubernetes clusters.</description>
    </item>
    
    <item>
      <title>CiliumNetworkPolicy Anti-Patterns: 8 Ways Correct-Looking YAML Silently Drops Traffic</title>
      <link>https://1shubham7.blog/cnp-antipatterns/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://1shubham7.blog/cnp-antipatterns/</guid>
      <description>Lessons from writing CiliumNetworkPolicies for the KubeAid-addons chart - toServices port traps, labels Cilium ignores, toFQDNs without a DNS rule, default-deny surprises, and why every namespace needs exactly one default-deny.</description>
    </item>
    
    <item>
      <title>Ten Things to Get Right Before You Run Loki in Production</title>
      <link>https://1shubham7.blog/loki-production-checklist/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://1shubham7.blog/loki-production-checklist/</guid>
      <description>Deployment mode, object storage, label cardinality, multi-tenancy and auth, cross-cluster shipping, and the failures that are silent rather than loud. Written after moving a Loki install twice and debugging an object store that corrupted everything it was given.</description>
    </item>
    
    <item>
      <title>Site Reliability Engineer (Obmondo)</title>
      <link>https://1shubham7.blog/experience/obmondo/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://1shubham7.blog/experience/obmondo/</guid>
      <description>Outline Worked as an SRE, handling production systems and managing Kubernetes clusters and Linux servers across both internal and customer environments. As the youngest SRE at Obmondo, regularly took ownership of production alerts and incidents, performing root cause analysis and implementing long-term fixes. Led the rewrite of the most business-critical internal tool, improving its reliability, testing, and integration into GitOps workflows. Authored and improved a large part of the company’s ISMS, strengthening both the company’s and customers’ information security.</description>
    </item>
    
    <item>
      <title>Kubernetes Audit Logging: Stages, Levels, and Policy Design</title>
      <link>https://1shubham7.blog/audit-logging/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://1shubham7.blog/audit-logging/</guid>
      <description>A breakdown of how kube-apiserver audit events actually work - request stages, audit levels, writing policies, and how SREs tune them differently for prod vs dev clusters.</description>
    </item>
    
    <item>
      <title>Grafana Showed My Node Was Out of Memory. It Wasn&#39;t.</title>
      <link>https://1shubham7.blog/grafana-dashboards/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://1shubham7.blog/grafana-dashboards/</guid>
      <description>Two Grafana dashboards, same node, same timestamp - one shows 62 GB used, other shows 10 GB. Both are correct. Here&amp;#39;s the full story of how Linux memory actually works and which number you should actually be watching.</description>
    </item>
    
  </channel>
</rss>
