<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Nik Ogura</title><description>Platform engineering, security, infrastructure, and the occasional philosophical tangent. Writing about Kubernetes, observability, GitOps, and building things that work.</description><link>https://nikogura.com/</link><item><title>Web3 Is Just Infrastructure With a Hoodie</title><link>https://nikogura.com/blog/web3-for-infra-engineers/</link><guid isPermaLink="true">https://nikogura.com/blog/web3-for-infra-engineers/</guid><description>Everything in Web3 is something you already know. Wallet signing is SSH authentication v2, smart contracts are RPC endpoints with public immutable code, and the trust model is the same &quot;verify, don&apos;t trust&quot; principle that drives every good infrastructure system.</description><pubDate>Wed, 25 Mar 2026 00:00:00 GMT</pubDate></item><item><title>&quot;Design Me a Highly Resilient Database&quot;</title><link>https://nikogura.com/blog/database-design/</link><guid isPermaLink="true">https://nikogura.com/blog/database-design/</guid><description>There is no such thing as a &quot;highly resilient database&quot; in the abstract. The right answer starts with understanding the problem — the data, the product, the failure modes, the regulatory environment — not a product name.</description><pubDate>Sat, 07 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Security Is Infrastructure</title><link>https://nikogura.com/blog/security-is-infrastructure/</link><guid isPermaLink="true">https://nikogura.com/blog/security-is-infrastructure/</guid><description>Security and infrastructure are not two disciplines that happen to overlap. They are one discipline that companies have artificially separated because org charts demand clean boxes and job postings demand clean titles.</description><pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Metrics, Logs, Traces, and Events: What&apos;s Actually Different</title><link>https://nikogura.com/blog/metrics-logs-traces-events/</link><guid isPermaLink="true">https://nikogura.com/blog/metrics-logs-traces-events/</guid><description>Four observability signals that get thrown around interchangeably. Understanding what makes each one distinct and where they overlap determines whether your observability stack scales or collapses under its own weight.</description><pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Distributed Tracing: A Practical Guide</title><link>https://nikogura.com/blog/distributed-tracing/</link><guid isPermaLink="true">https://nikogura.com/blog/distributed-tracing/</guid><description>Distributed tracing captures the complete journey of a single request as it passes through multiple services, enabling latency analysis, error propagation tracking, and root cause analysis across complex architectures.</description><pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Prometheus and OpenTelemetry: How They Fit Together</title><link>https://nikogura.com/blog/prometheus-and-opentelemetry/</link><guid isPermaLink="true">https://nikogura.com/blog/prometheus-and-opentelemetry/</guid><description>OpenTelemetry does not replace Prometheus. They solve different problems, they are converging, and understanding the boundary between them will save you from expensive architectural mistakes.</description><pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Puppets and Octopi: Why Top-Down Orchestration Hits a Wall</title><link>https://nikogura.com/blog/puppets-and-octopi/</link><guid isPermaLink="true">https://nikogura.com/blog/puppets-and-octopi/</guid><description>Centralized, imperative orchestration requires centralized coordination, and centralized coordination is a bottleneck that doesn&apos;t scale. Distributed, declarative convergence pushes intelligence to the edges.</description><pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate></item><item><title>The Best Dog Trainer in the World - Or Why Getting Better Isn&apos;t Helping</title><link>https://nikogura.com/blog/the-best-dog-trainer/</link><guid isPermaLink="true">https://nikogura.com/blog/the-best-dog-trainer/</guid><description>When something has been failing for a while despite competent people working on it, the problem is almost certainly not competence. Before you optimize, ask yourself whether you are training a dog or a cat.</description><pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate></item><item><title>FluxCD vs ArgoCD: Architectural Comparison</title><link>https://nikogura.com/blog/flux-vs-argo/</link><guid isPermaLink="true">https://nikogura.com/blog/flux-vs-argo/</guid><description>A deep comparison of the architectural differences between FluxCD and ArgoCD for experienced Kubernetes platform engineers, covering CRD design, state management, controller models, and where each tool wins.</description><pubDate>Sat, 28 Feb 2026 00:00:00 GMT</pubDate></item><item><title>GitOps</title><link>https://nikogura.com/blog/gitops/</link><guid isPermaLink="true">https://nikogura.com/blog/gitops/</guid><description>GitOps is not just keeping YAML in git. It is a specific operational model where a controller in the cluster continuously reconciles actual state against desired state declared in a git repository, providing audit trail, reproducibility, drift correction, and safe rollback.</description><pubDate>Sat, 28 Feb 2026 00:00:00 GMT</pubDate></item><item><title>GitHub Actions Reference Implementation</title><link>https://nikogura.com/blog/github-actions-reference/</link><guid isPermaLink="true">https://nikogura.com/blog/github-actions-reference/</guid><description>A reference implementation for GitHub Actions CI/CD pipelines covering automated testing, linting with golangci-lint and namedreturns, semantic versioning, automatic releases, and caching strategies.</description><pubDate>Tue, 13 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Shell Functions</title><link>https://nikogura.com/blog/kubernetes-shell-functions/</link><guid isPermaLink="true">https://nikogura.com/blog/kubernetes-shell-functions/</guid><description>A collection of useful shell functions and aliases for Kubernetes debugging and daily operations, from context switching to JWT decoding to Prometheus config extraction.</description><pubDate>Mon, 29 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Engineering Standards</title><link>https://nikogura.com/blog/engineering-standards/</link><guid isPermaLink="true">https://nikogura.com/blog/engineering-standards/</guid><description>Security, reliability, and compliance are non-negotiable. A comprehensive guide to Golang coding standards, testing practices, infrastructure patterns, observability, and the philosophy of craftsmanship in software engineering.</description><pubDate>Fri, 05 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Cross-Cloud Kubernetes Clusters with AWS IRSA and Talos Linux</title><link>https://nikogura.com/blog/talos-aws-oidc/</link><guid isPermaLink="true">https://nikogura.com/blog/talos-aws-oidc/</guid><description>How to provision Kubernetes clusters on Talos Linux with OIDC-based AWS IRSA integration using Terraform, enabling cross-cloud workloads that authenticate to AWS services without static credentials.</description><pubDate>Thu, 30 May 2024 00:00:00 GMT</pubDate></item><item><title>FITFO - Figure It The (Fun?) Out</title><link>https://nikogura.com/blog/fitfo/</link><guid isPermaLink="true">https://nikogura.com/blog/fitfo/</guid><description>A reflection on how learning to program as a small business owner built the FITFO skill -- the ability to figure things out from scratch -- which became the foundation of a DevOps career.</description><pubDate>Tue, 19 Jul 2022 00:00:00 GMT</pubDate></item><item><title>Golang Design Tips</title><link>https://nikogura.com/blog/golang-design-tips/</link><guid isPermaLink="true">https://nikogura.com/blog/golang-design-tips/</guid><description>Many of Golang&apos;s unwritten rules can be summed up by the Go Proverbs. Here are practical extensions and recommendations for writing idiomatic, maintainable Go code.</description><pubDate>Wed, 17 Mar 2021 00:00:00 GMT</pubDate></item><item><title>Auto Updating AMI&apos;s on a Rolling Window with Terraform</title><link>https://nikogura.com/blog/terraform-rolling-window/</link><guid isPermaLink="true">https://nikogura.com/blog/terraform-rolling-window/</guid><description>A Terraform pattern for automatically selecting the newest AMI that is at least two weeks old, enabling a rolling window approach to AMI updates that avoids deploying untested images to production.</description><pubDate>Mon, 08 Feb 2021 00:00:00 GMT</pubDate></item><item><title>The Documentation Problem</title><link>https://nikogura.com/blog/documentation/</link><guid isPermaLink="true">https://nikogura.com/blog/documentation/</guid><description>Documentation is like pizza -- when it is good, it is really good, and when it is bad, it is still pizza. A perfect documentation system makes it more likely that docs will be written and maintained than not.</description><pubDate>Tue, 22 Dec 2020 00:00:00 GMT</pubDate></item><item><title>Vault Operator Notes</title><link>https://nikogura.com/blog/vault-operator/</link><guid isPermaLink="true">https://nikogura.com/blog/vault-operator/</guid><description>Operational notes on running the Vault Operator in Kubernetes, covering CRD configuration, secrets management, authentication testing, and Cert Manager integration.</description><pubDate>Wed, 21 Oct 2020 00:00:00 GMT</pubDate></item><item><title>Coding Standards (especially in Golang)</title><link>https://nikogura.com/blog/coding-standards/</link><guid isPermaLink="true">https://nikogura.com/blog/coding-standards/</guid><description>This is about design philosophy and how to approach your work. Every line of code should be to a standard you would be proud to publish under your own name, because git is forever.</description><pubDate>Fri, 17 Jul 2020 00:00:00 GMT</pubDate></item><item><title>TDD (Test-Driven Development)</title><link>https://nikogura.com/blog/tdd/</link><guid isPermaLink="true">https://nikogura.com/blog/tdd/</guid><description>TDD is not just about writing tests before code -- it is about alternating between tests and code so that you write code in discrete, testable units and capture every insight as an automated check that lives in your codebase forever.</description><pubDate>Fri, 17 Jul 2020 00:00:00 GMT</pubDate></item><item><title>Managed Secrets</title><link>https://nikogura.com/blog/managed-secrets/</link><guid isPermaLink="true">https://nikogura.com/blog/managed-secrets/</guid><description>Secrets management is an important job, but it sucks. A look at why UX is the key to a successful secrets system, and how Managed Secrets provides a YAML interface to your secret storage backend.</description><pubDate>Thu, 07 May 2020 00:00:00 GMT</pubDate></item><item><title>Using CircleCI as if it was a Maven Repo</title><link>https://nikogura.com/blog/circleci-maven/</link><guid isPermaLink="true">https://nikogura.com/blog/circleci-maven/</guid><description>A trick for using CircleCI 1.x build artifacts as a Maven repository by fetching dependency artifacts and installing them into the local Maven cache.</description><pubDate>Sat, 09 Dec 2017 00:00:00 GMT</pubDate></item><item><title>Dynamic Binary Toolkit: Tools that automatically keep themselves up to date!</title><link>https://nikogura.com/blog/dbt-dynamic-binary-toolkit/</link><guid isPermaLink="true">https://nikogura.com/blog/dbt-dynamic-binary-toolkit/</guid><description>A system for building self-updating command-line tools that automatically download, verify, and replace themselves with the latest version using checksums and GPG signatures.</description><pubDate>Sat, 09 Dec 2017 00:00:00 GMT</pubDate></item><item><title>Access and Identity that Just Works</title><link>https://nikogura.com/blog/access-and-identity-made-easy/</link><guid isPermaLink="true">https://nikogura.com/blog/access-and-identity-made-easy/</guid><description>A hands-on guide to spinning up an n-way multi-master LDAP directory for centralized access and identity management, covering server setup, replication, ACLs, and schema configuration.</description><pubDate>Sat, 09 Dec 2017 00:00:00 GMT</pubDate></item><item><title>LocalEnv</title><link>https://nikogura.com/blog/local-env/</link><guid isPermaLink="true">https://nikogura.com/blog/local-env/</guid><description>A simple trick to link your IDE terminal with your project&apos;s virtual environment, so command-line tools automatically use the same Python and libraries as your IDE.</description><pubDate>Sat, 09 Dec 2017 00:00:00 GMT</pubDate></item><item><title>One Shot OpenStack Liberty Installer</title><link>https://nikogura.com/blog/openstack-liberty-installer/</link><guid isPermaLink="true">https://nikogura.com/blog/openstack-liberty-installer/</guid><description>A single script that creates a full OpenStack Liberty cloud from nothing, demonstrating an infrastructure-as-code approach to cloud deployment.</description><pubDate>Sat, 09 Dec 2017 00:00:00 GMT</pubDate></item><item><title>Python Development on MacOS</title><link>https://nikogura.com/blog/python-tips/</link><guid isPermaLink="true">https://nikogura.com/blog/python-tips/</guid><description>Potentially timesaving tips and tricks for Python development on MacOS, covering virtual environments, Homebrew setup, and IDE configuration with JetBrains tools.</description><pubDate>Sat, 09 Dec 2017 00:00:00 GMT</pubDate></item><item><title>IAM Beyond AWS or Hacking Hacks, and the Hackers who Hack Them</title><link>https://nikogura.com/blog/iam-beyond-aws/</link><guid isPermaLink="true">https://nikogura.com/blog/iam-beyond-aws/</guid><description>How I built a system to impersonate the AWS metadata service on developer laptops, providing passwordless, expiring STS credentials linked to user identities via SSH key authentication.</description><pubDate>Mon, 20 Nov 2017 00:00:00 GMT</pubDate></item></channel></rss>