<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Praveen B S D | Platform Engineering</title><description>Praveen B S D builds internal developer platforms, self-service infrastructure, and the reliability, security, and cost foundations product teams ship on. Writing on platform engineering, GitOps, SRE, and FinOps.</description><link>https://praveenbsd.com/</link><language>en-gb</language><item><title>OTel agent to Datadog: logs without the Datadog agent</title><link>https://praveenbsd.com/writing/otel-agent-datadog-logging/</link><guid isPermaLink="true">https://praveenbsd.com/writing/otel-agent-datadog-logging/</guid><description>Shipping logs to Datadog through an OpenTelemetry Collector: the exporter config, the batching that causes 413s, the hostname bug that restarts your pods, and keeping the bill in your control.</description><pubDate>Sat, 22 Aug 2026 00:00:00 GMT</pubDate><category>observability</category></item><item><title>OTel agent to Loki: logs without a log shipper</title><link>https://praveenbsd.com/writing/otel-agent-loki-logging/</link><guid isPermaLink="true">https://praveenbsd.com/writing/otel-agent-loki-logging/</guid><description>The Loki exporter is gone from the Collector. What replaced it, how OTLP attributes become Loki labels, and the two limits that will reject your logs in production.</description><pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate><category>observability</category></item><item><title>Monitoring setup for PySpark applications</title><link>https://praveenbsd.com/writing/monitoring-pyspark-applications/</link><guid isPermaLink="true">https://praveenbsd.com/writing/monitoring-pyspark-applications/</guid><description>Spark applications are ephemeral, so the usual scrape model does not fit. Wiring the Prometheus servlet, catching the Python memory that JVM metrics never show, and keeping evidence after the driver exits.</description><pubDate>Wed, 19 Aug 2026 00:00:00 GMT</pubDate><category>observability</category></item><item><title>Monitoring setup for Airflow</title><link>https://praveenbsd.com/writing/monitoring-airflow/</link><guid isPermaLink="true">https://praveenbsd.com/writing/monitoring-airflow/</guid><description>Airflow 3 emits metrics through StatsD or OpenTelemetry, and the choice changes your Prometheus config. The pipeline, the metrics that predict failures, and the alerts worth paging on.</description><pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate><category>observability</category></item><item><title>OpenCost: getting started with Kubernetes cost allocation</title><link>https://praveenbsd.com/writing/opencost-getting-started/</link><guid isPermaLink="true">https://praveenbsd.com/writing/opencost-getting-started/</guid><description>Per-namespace, per-workload cost from metrics you already collect. Installing it against an existing Prometheus, what it actually measures, and the number everyone argues about.</description><pubDate>Sun, 16 Aug 2026 00:00:00 GMT</pubDate><category>finops</category></item><item><title>Using Envoy Gateway</title><link>https://praveenbsd.com/writing/envoy-gateway/</link><guid isPermaLink="true">https://praveenbsd.com/writing/envoy-gateway/</guid><description>A Gateway API implementation built on Envoy Proxy: how the pieces fit, what the policy CRDs are for, and where you still end up reaching for raw Envoy config.</description><pubDate>Thu, 13 Aug 2026 00:00:00 GMT</pubDate><category>kubernetes</category></item><item><title>Auto-PRs: the GitOps agent that keeps product repos in sync</title><link>https://praveenbsd.com/writing/auto-prs-gitops-agent/</link><guid isPermaLink="true">https://praveenbsd.com/writing/auto-prs-gitops-agent/</guid><description>A small agent watches platform releases and opens pull requests into every product team&apos;s DevOps repo, so upgrades propagate consistently, but teams still hold the merge.</description><pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate><category>gitops</category></item><item><title>Annotation translation: NGINX Ingress to Envoy Gateway</title><link>https://praveenbsd.com/writing/annotation-translation-ingress-to-envoy-gateway/</link><guid isPermaLink="true">https://praveenbsd.com/writing/annotation-translation-ingress-to-envoy-gateway/</guid><description>A working map from ingress-nginx annotations to Gateway API resources and Envoy Gateway policies. Including the ones that have no equivalent and need a decision instead.</description><pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate><category>kubernetes</category></item><item><title>Terraform vs Crossplane</title><link>https://praveenbsd.com/writing/terraform-vs-crossplane/</link><guid isPermaLink="true">https://praveenbsd.com/writing/terraform-vs-crossplane/</guid><description>Not a competition so much as two different answers to &quot;when does infrastructure converge&quot;. Where each one fits, and why most platform teams end up running both.</description><pubDate>Sun, 09 Aug 2026 00:00:00 GMT</pubDate><category>platform</category></item><item><title>Switching from Ingress to Gateway API in Kubernetes</title><link>https://praveenbsd.com/writing/ingress-to-gateway-api/</link><guid isPermaLink="true">https://praveenbsd.com/writing/ingress-to-gateway-api/</guid><description>Gateway API is not a new spelling of Ingress. What actually changed, why the role split matters more than the syntax, and a migration path that does not need a cutover weekend.</description><pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate><category>kubernetes</category></item><item><title>Kyverno: getting started with standard policies</title><link>https://praveenbsd.com/writing/kyverno-admission-policy/</link><guid isPermaLink="true">https://praveenbsd.com/writing/kyverno-admission-policy/</guid><description>Policy as Kubernetes resources: the four rule types, a starter set worth running in any cluster, and how to roll enforcement out without blocking every team on day one.</description><pubDate>Sun, 02 Aug 2026 00:00:00 GMT</pubDate><category>devsecops</category></item><item><title>Checkov: getting started with standard policies</title><link>https://praveenbsd.com/writing/checkov-getting-started/</link><guid isPermaLink="true">https://praveenbsd.com/writing/checkov-getting-started/</guid><description>Static analysis for infrastructure as code: wiring it into CI without drowning in findings, plus baselines, suppressions, and custom policies that catch what the defaults miss.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate><category>devsecops</category></item><item><title>Trivy: getting started with standard policies</title><link>https://praveenbsd.com/writing/trivy-getting-started/</link><guid isPermaLink="true">https://praveenbsd.com/writing/trivy-getting-started/</guid><description>One scanner for images, filesystems, IaC, secrets and live clusters. How to configure it so the results are actionable instead of a wall of unfixable CVEs.</description><pubDate>Sat, 25 Jul 2026 00:00:00 GMT</pubDate><category>devsecops</category></item><item><title>Static analysis for DevSecOps: what to cover and what to use</title><link>https://praveenbsd.com/writing/static-code-analysis-devsecops/</link><guid isPermaLink="true">https://praveenbsd.com/writing/static-code-analysis-devsecops/</guid><description>Six distinct classes of static analysis, the open-source tool for each, and where in the pipeline to run it so the results get acted on rather than ignored.</description><pubDate>Wed, 22 Jul 2026 00:00:00 GMT</pubDate><category>devsecops</category></item><item><title>OpenTelemetry with Jaeger</title><link>https://praveenbsd.com/writing/opentelemetry-with-jaeger/</link><guid isPermaLink="true">https://praveenbsd.com/writing/opentelemetry-with-jaeger/</guid><description>Instrumentation, the Collector, and tail sampling. How the pieces fit for distributed tracing on Kubernetes, and the two things that decide whether traces are actually useful.</description><pubDate>Sat, 18 Jul 2026 00:00:00 GMT</pubDate><category>observability</category></item><item><title>Grafana + Prometheus: Kubernetes monitoring that earns its keep</title><link>https://praveenbsd.com/writing/grafana-prometheus-kubernetes-monitoring/</link><guid isPermaLink="true">https://praveenbsd.com/writing/grafana-prometheus-kubernetes-monitoring/</guid><description>kube-prometheus-stack, the Operator CRDs, and how to build alerts people act on instead of a wall of dashboards nobody opens.</description><pubDate>Wed, 15 Jul 2026 00:00:00 GMT</pubDate><category>observability</category></item><item><title>High availability for Kubernetes deployments: the practices that matter</title><link>https://praveenbsd.com/writing/kubernetes-deployment-high-availability/</link><guid isPermaLink="true">https://praveenbsd.com/writing/kubernetes-deployment-high-availability/</guid><description>PDBs, topology spread, HPA, probes and graceful shutdown, which of them actually prevent downtime, and the misconfigurations that quietly cancel each other out.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>kubernetes</category></item></channel></rss>