<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://hansteches.com/</loc></url>
  <url><loc>https://hansteches.com/archive</loc></url>
  <url><loc>https://hansteches.com/categories</loc></url>
  <url><loc>https://hansteches.com/notes</loc></url>
  <url><loc>https://hansteches.com/about</loc></url>
  <url><loc>https://hansteches.com/categories/kubernetes</loc></url>
  <url><loc>https://hansteches.com/categories/cloud</loc></url>
  <url><loc>https://hansteches.com/categories/cicd</loc></url>
  <url><loc>https://hansteches.com/categories/security</loc></url>
  <url><loc>https://hansteches.com/categories/data</loc></url>
  <url><loc>https://hansteches.com/categories/networking</loc></url>
  <url><loc>https://hansteches.com/categories/ai</loc></url>
  <url><loc>https://hansteches.com/categories/foundations</loc></url>
  <url><loc>https://hansteches.com/categories/projects</loc></url>
  <url><loc>https://hansteches.com/posts/istio-service-mesh-6-week-study</loc><lastmod>2026-08-14</lastmod></url>
  <url><loc>https://hansteches.com/posts/argocd-degraded-stale-progressdeadline</loc><lastmod>2026-08-13</lastmod></url>
  <url><loc>https://hansteches.com/posts/docker-copy-build-context-nested-dir</loc><lastmod>2026-08-13</lastmod></url>
  <url><loc>https://hansteches.com/posts/eks-aws-cni-ipamd-hang-node-replace</loc><lastmod>2026-08-13</lastmod></url>
  <url><loc>https://hansteches.com/posts/elastic-apm-vs-rum-agent</loc><lastmod>2026-08-13</lastmod></url>
  <url><loc>https://hansteches.com/posts/fluxcd-reconcile-loop-ignoredifferences</loc><lastmod>2026-08-13</lastmod></url>
  <url><loc>https://hansteches.com/posts/fluxcd-vs-argocd-role-split</loc><lastmod>2026-08-13</lastmod></url>
  <url><loc>https://hansteches.com/posts/git-large-file-history-filter-repo</loc><lastmod>2026-08-13</lastmod></url>
  <url><loc>https://hansteches.com/posts/hpa-keda-karpenter-layers</loc><lastmod>2026-08-13</lastmod></url>
  <url><loc>https://hansteches.com/posts/irsa-vs-eks-pod-identity</loc><lastmod>2026-08-13</lastmod></url>
  <url><loc>https://hansteches.com/posts/karpenter-vs-cluster-autoscaler</loc><lastmod>2026-08-13</lastmod></url>
  <url><loc>https://hansteches.com/posts/lambda-edge-iam-region-quirks</loc><lastmod>2026-08-13</lastmod></url>
  <url><loc>https://hansteches.com/posts/litellm-cpu-capped-single-worker</loc><lastmod>2026-08-13</lastmod></url>
  <url><loc>https://hansteches.com/posts/llm-gateway-pattern-why-proxy</loc><lastmod>2026-08-13</lastmod></url>
  <url><loc>https://hansteches.com/posts/nginx-ingress-vs-alb-ingress-l7-l4</loc><lastmod>2026-08-13</lastmod></url>
  <url><loc>https://hansteches.com/posts/nginx-resolver-unrelated-dns-servers</loc><lastmod>2026-08-13</lastmod></url>
  <url><loc>https://hansteches.com/posts/promql-rate-vs-irate</loc><lastmod>2026-08-13</lastmod></url>
  <url><loc>https://hansteches.com/posts/redis-setnx-distributed-lock</loc><lastmod>2026-08-13</lastmod></url>
  <url><loc>https://hansteches.com/posts/rootless-docker-br-netfilter-bridge</loc><lastmod>2026-08-13</lastmod></url>
  <url><loc>https://hansteches.com/posts/spot-jenkins-agent-git-pull-on-reboot</loc><lastmod>2026-08-13</lastmod></url>
  <url><loc>https://hansteches.com/posts/terraform-s3-native-locking-drop-dynamodb</loc><lastmod>2026-08-13</lastmod></url>
  <url><loc>https://hansteches.com/posts/vault-503-service-registration-endpoints-none</loc><lastmod>2026-08-13</lastmod></url>
  <url><loc>https://hansteches.com/posts/vault-kv-v1-vs-v2</loc><lastmod>2026-08-13</lastmod></url>
  <url><loc>https://hansteches.com/posts/actions-runner-controller-arc-on-kubernetes</loc><lastmod>2026-08-12</lastmod></url>
  <url><loc>https://hansteches.com/posts/ebs-csi-irsa-hostport-pvc-pending</loc><lastmod>2026-08-12</lastmod></url>
  <url><loc>https://hansteches.com/posts/fluentd-buffer-memory-to-file</loc><lastmod>2026-08-12</lastmod></url>
  <url><loc>https://hansteches.com/posts/irsa-cross-account-assume-role-bedrock</loc><lastmod>2026-08-12</lastmod></url>
  <url><loc>https://hansteches.com/posts/kubespray-cluster-api-server-recovery</loc><lastmod>2026-08-12</lastmod></url>
  <url><loc>https://hansteches.com/posts/terraform-ec2-module-v5-to-v6-breaking-change</loc><lastmod>2026-08-12</lastmod></url>
  <url><loc>https://hansteches.com/posts/ebpf-process-exec-watcher-gotchas</loc><lastmod>2026-08-11</lastmod></url>
  <url><loc>https://hansteches.com/posts/target-group-health-alarm-eventbridge-lambda</loc><lastmod>2026-08-11</lastmod></url>
  <url><loc>https://hansteches.com/posts/thanos-prometheus-eks-issues</loc><lastmod>2026-08-11</lastmod></url>
  <url><loc>https://hansteches.com/posts/traefik-gateway-api-port-mismatch</loc><lastmod>2026-08-11</lastmod></url>
  <url><loc>https://hansteches.com/posts/vso-refreshafter-hmac-secret-data</loc><lastmod>2026-08-11</lastmod></url>
  <url><loc>https://hansteches.com/posts/volume-node-affinity-conflict</loc><lastmod>2026-08-10</lastmod></url>
  <url><loc>https://hansteches.com/posts/browser-extension-security-audit-istrusted-csv-injection</loc><lastmod>2026-08-08</lastmod></url>
  <url><loc>https://hansteches.com/posts/llm-translation-prompt-engineering-ceiling</loc><lastmod>2026-08-06</lastmod></url>
  <url><loc>https://hansteches.com/posts/security-group-rule-never-existed-proof-of-absence</loc><lastmod>2026-08-06</lastmod></url>
  <url><loc>https://hansteches.com/posts/llm-subtitle-translation-line-shift-sentence-grouping</loc><lastmod>2026-08-04</lastmod></url>
  <url><loc>https://hansteches.com/posts/terraform-add-one-az-forcenew-full-cluster-replace</loc><lastmod>2026-08-04</lastmod></url>
  <url><loc>https://hansteches.com/posts/youtube-subtitle-capture-player-interception</loc><lastmod>2026-08-03</lastmod></url>
  <url><loc>https://hansteches.com/posts/litetranslate-serverless-browser-extension-bedrock</loc><lastmod>2026-08-02</lastmod></url>
  <url><loc>https://hansteches.com/posts/openstack-application-credential-role-snapshot</loc><lastmod>2026-08-02</lastmod></url>
  <url><loc>https://hansteches.com/posts/google-sheets-append-not-concurrency-safe-fifo-sqs</loc><lastmod>2026-07-30</lastmod></url>
  <url><loc>https://hansteches.com/posts/sigv4-canonical-uri-double-encoding-bedrock-403</loc><lastmod>2026-07-28</lastmod></url>
  <url><loc>https://hansteches.com/posts/langfuse-zero-cost-model-prices-baked-in-image</loc><lastmod>2026-07-26</lastmod></url>
  <url><loc>https://hansteches.com/posts/ubuntu-2404-uid-1000-builtin-user-collision</loc><lastmod>2026-07-22</lastmod></url>
  <url><loc>https://hansteches.com/posts/billing-metric-not-runtime-truth-pod-stuck</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://hansteches.com/posts/eks-pod-churn-ip-exhaustion-warm-target</loc><lastmod>2026-07-10</lastmod></url>
  <url><loc>https://hansteches.com/posts/s3-cors-wildcard-single-label-presigned-post</loc><lastmod>2026-07-09</lastmod></url>
  <url><loc>https://hansteches.com/posts/docker-user-chain-isolation-rule-shadows-accept</loc><lastmod>2026-07-04</lastmod></url>
  <url><loc>https://hansteches.com/posts/cgroup-v1-path-hardcoded-silent-noop-on-v2</loc><lastmod>2026-07-03</lastmod></url>
  <url><loc>https://hansteches.com/posts/docker-29-networksettings-ipaddress-removed</loc><lastmod>2026-07-02</lastmod></url>
  <url><loc>https://hansteches.com/posts/postgres-initdb-lost-found-ebs-pvc-root</loc><lastmod>2026-07-02</lastmod></url>
  <url><loc>https://hansteches.com/posts/rwo-pvc-multi-attach-finalizer-delete-order-deadlock</loc><lastmod>2026-06-30</lastmod></url>
  <url><loc>https://hansteches.com/posts/kafka-schema-registry-event-contract</loc><lastmod>2026-06-27</lastmod></url>
  <url><loc>https://hansteches.com/posts/cronjob-kubectl-image-no-python-silent-jwks</loc><lastmod>2026-06-25</lastmod></url>
  <url><loc>https://hansteches.com/posts/cgroup-v1-vs-v2-psi-memory-pressure</loc><lastmod>2026-06-20</lastmod></url>
  <url><loc>https://hansteches.com/posts/jenkins-git-commit-env-overwritten-by-git-plugin</loc><lastmod>2026-06-18</lastmod></url>
  <url><loc>https://hansteches.com/posts/package-lock-resolved-points-to-old-registry</loc><lastmod>2026-06-18</lastmod></url>
  <url><loc>https://hansteches.com/posts/hosted-runner-cannot-reach-internal-npm-registry</loc><lastmod>2026-06-16</lastmod></url>
  <url><loc>https://hansteches.com/posts/waf-bot-detection-ja4-limits-ml</loc><lastmod>2026-06-10</lastmod></url>
  <url><loc>https://hansteches.com/posts/gateway-jwt-exp-not-validated</loc><lastmod>2026-06-04</lastmod></url>
  <url><loc>https://hansteches.com/posts/redis-enotfound-that-was-always-there</loc><lastmod>2026-06-04</lastmod></url>
  <url><loc>https://hansteches.com/posts/ebs-volume-deleted-failedattachvolume-recovery</loc><lastmod>2026-06-02</lastmod></url>
  <url><loc>https://hansteches.com/posts/keycloak-authorization-code-flow-why-two-steps</loc><lastmod>2026-05-28</lastmod></url>
  <url><loc>https://hansteches.com/posts/ubuntu-2404-rootless-docker-nsenter-netns</loc><lastmod>2026-05-28</lastmod></url>
  <url><loc>https://hansteches.com/posts/prometheus-single-file-bind-mount-inode-reload</loc><lastmod>2026-05-20</lastmod></url>
  <url><loc>https://hansteches.com/posts/websocket-vs-http-what-you-give-up</loc><lastmod>2026-05-14</lastmod></url>
  <url><loc>https://hansteches.com/posts/l4-vs-l7-load-balancer-how-deep</loc><lastmod>2026-05-08</lastmod></url>
  <url><loc>https://hansteches.com/posts/nodejs-event-loop-queue-priority</loc><lastmod>2026-04-30</lastmod></url>
  <url><loc>https://hansteches.com/posts/serverless-realtime-matchmaking-cloudflare-supabase</loc><lastmod>2026-04-22</lastmod></url>
  <url><loc>https://hansteches.com/posts/implementing-glicko2-rating-system</loc><lastmod>2026-04-20</lastmod></url>
  <url><loc>https://hansteches.com/posts/react-useeffect-cleanup-timer-dependency</loc><lastmod>2026-03-26</lastmod></url>
  <url><loc>https://hansteches.com/posts/sftp-vs-nfs-realtime-io</loc><lastmod>2026-03-12</lastmod></url>
  <url><loc>https://hansteches.com/posts/django-streaming-csv-and-select-related</loc><lastmod>2024-01-15</lastmod></url>
  <url><loc>https://hansteches.com/notes/kubectl-events-sort</loc><lastmod>2026-08-10</lastmod></url>
</urlset>
