<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://philipptheserver.com/posts/ansible-ssh-port-migration/</loc>
<lastmod>2025-08-26T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/ansible-role-idempotence/</loc>
<lastmod>2025-08-29T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/docker-compose-convergence-ansible/</loc>
<lastmod>2025-09-02T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/sysctl-reasserted-after-docker/</loc>
<lastmod>2025-09-05T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/docker-registry-credentials-two-users/</loc>
<lastmod>2025-09-09T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/linux-file-permissions-setgid/</loc>
<lastmod>2025-09-12T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/fastapi-project-layout/</loc>
<lastmod>2025-09-16T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/fastapi-response-envelope/</loc>
<lastmod>2025-09-19T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/fastapi-exception-hierarchy/</loc>
<lastmod>2025-09-23T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/pydantic-closed-vocabulary/</loc>
<lastmod>2025-09-26T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/layered-configuration-precedence/</loc>
<lastmod>2025-09-30T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/uv-ruff-python-tooling/</loc>
<lastmod>2025-10-03T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/python-cli-scaffolding/</loc>
<lastmod>2025-10-07T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/edge-node-provisioning/</loc>
<lastmod>2025-10-10T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/poe-multicast-discovery/</loc>
<lastmod>2025-10-14T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/dns-read-merge-write/</loc>
<lastmod>2025-10-17T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/graceful-shutdown-go/</loc>
<lastmod>2025-10-21T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/docker-multistage-images/</loc>
<lastmod>2025-10-24T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/infrastructure-as-code/</loc>
<lastmod>2025-10-28T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/ceph-layered-benchmark/</loc>
<lastmod>2025-10-31T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/smr-drives-in-clusters/</loc>
<lastmod>2025-11-04T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/ceph-crush-hybrid-tiering/</loc>
<lastmod>2025-11-07T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/ceph-full-osd-threshold/</loc>
<lastmod>2025-11-11T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/ceph-recovery-throttling/</loc>
<lastmod>2025-11-14T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/vault-ssh-certificate-authority/</loc>
<lastmod>2025-11-18T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/vault-kv2-patch-vs-put/</loc>
<lastmod>2025-11-21T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/vault-agent-sidecar/</loc>
<lastmod>2025-11-25T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/vault-auto-unseal-tang/</loc>
<lastmod>2025-11-28T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/redis-sorted-set-conveyor/</loc>
<lastmod>2025-12-02T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/redis-pipeline-decomposition/</loc>
<lastmod>2025-12-05T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/redis-single-writer-config/</loc>
<lastmod>2025-12-09T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/redis-maxmemory-stream-trim/</loc>
<lastmod>2025-12-12T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/kubernetes/</loc>
<lastmod>2025-12-16T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/uuid-normalization/</loc>
<lastmod>2025-12-19T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/cpp-redis-consumer-migration/</loc>
<lastmod>2025-12-23T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/cpp-base-image-dependencies/</loc>
<lastmod>2025-12-26T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/mqtt-persistent-sessions/</loc>
<lastmod>2025-12-30T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/order-state-machine/</loc>
<lastmod>2026-01-02T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/stripe-webhook-idempotency/</loc>
<lastmod>2026-01-06T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/stock-reservation-check-constraint/</loc>
<lastmod>2026-01-09T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/bff-normalising-upstreams/</loc>
<lastmod>2026-01-13T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/gpu-vram-budget-quantisation/</loc>
<lastmod>2026-01-16T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/llama-swap-model-swapping/</loc>
<lastmod>2026-01-20T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/openai-compatible-proxy/</loc>
<lastmod>2026-01-23T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/benchmark-determinism/</loc>
<lastmod>2026-01-27T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/benchmark-your-own-tasks/</loc>
<lastmod>2026-01-30T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/tool-call-ast-scoring/</loc>
<lastmod>2026-02-03T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/ceph/</loc>
<lastmod>2026-02-06T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/dry-run-first-design/</loc>
<lastmod>2026-02-10T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/oidc-confidential-introspection-client/</loc>
<lastmod>2026-02-13T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/oidc-introspection-error-shapes/</loc>
<lastmod>2026-02-17T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/trusting-two-cas/</loc>
<lastmod>2026-02-20T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/buildkit-remote-driver/</loc>
<lastmod>2026-02-24T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/buildkit-rootless-tradeoff/</loc>
<lastmod>2026-02-27T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/go-embed-spa/</loc>
<lastmod>2026-03-03T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/docker-build-api-streaming/</loc>
<lastmod>2026-03-06T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/angular-layering/</loc>
<lastmod>2026-03-10T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/angular-runtime-config/</loc>
<lastmod>2026-03-13T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/multi-service-compose-dev/</loc>
<lastmod>2026-03-17T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/alembic-at-entrypoint/</loc>
<lastmod>2026-03-20T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/transactional-outbox/</loc>
<lastmod>2026-03-24T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/argocd-app-of-apps/</loc>
<lastmod>2026-03-27T08:00:00+01:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/observatory-monitoring/</loc>
<lastmod>2026-03-31T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/argocd-applicationsets/</loc>
<lastmod>2026-04-03T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/argocd-sync-waves/</loc>
<lastmod>2026-04-07T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/gitops-image-tag-pinning/</loc>
<lastmod>2026-04-10T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/gitops-bootstrap-circularity/</loc>
<lastmod>2026-04-14T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/ceph-csi-storageclasses/</loc>
<lastmod>2026-04-17T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/static-persistent-volumes/</loc>
<lastmod>2026-04-21T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/object-storage-durability-boundary/</loc>
<lastmod>2026-04-24T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/fsgroup-recursive-chown/</loc>
<lastmod>2026-04-28T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/k8s-dns-canary/</loc>
<lastmod>2026-05-01T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/kubelet-ndots-search-leak/</loc>
<lastmod>2026-05-05T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/cni-mtu-inheritance/</loc>
<lastmod>2026-05-08T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/cert-manager-internal-ca/</loc>
<lastmod>2026-05-12T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/netbird-vpn/</loc>
<lastmod>2026-05-15T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/eso-vault-jwt-offline/</loc>
<lastmod>2026-05-19T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/cannot-ever-vs-currently-broken/</loc>
<lastmod>2026-05-22T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/netbird-zero-trust-groups/</loc>
<lastmod>2026-05-26T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/wireguard-routing-asymmetry/</loc>
<lastmod>2026-05-29T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/dns-wildcard-empty-non-terminal/</loc>
<lastmod>2026-06-02T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/keycloak-realm-as-code/</loc>
<lastmod>2026-06-05T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/oidc-client-shapes/</loc>
<lastmod>2026-06-09T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/keycloak-azp-enforcement/</loc>
<lastmod>2026-06-12T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/forward-auth-legacy-services/</loc>
<lastmod>2026-06-16T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/entity-graph-model/</loc>
<lastmod>2026-06-19T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/atomic-graph-swap/</loc>
<lastmod>2026-06-23T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/health-rules-engine/</loc>
<lastmod>2026-06-26T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/keycloak/</loc>
<lastmod>2026-06-30T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/textfile-collector-probes/</loc>
<lastmod>2026-07-03T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/http-service-discovery/</loc>
<lastmod>2026-07-07T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/blackbox-published-names/</loc>
<lastmod>2026-07-10T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/dead-mans-switch/</loc>
<lastmod>2026-07-14T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/alertmanager-mqtt-retained/</loc>
<lastmod>2026-07-17T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/canvas-pixel-testing/</loc>
<lastmod>2026-07-21T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/issue-to-pr-daemon/</loc>
<lastmod>2026-07-24T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/label-as-contract/</loc>
<lastmod>2026-07-28T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/testing-an-agent-harness/</loc>
<lastmod>2026-07-31T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/evidence-over-assertion/</loc>
<lastmod>2026-08-04T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/atlas-agentic-ops/</loc>
<lastmod>2026-08-07T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/agent-permissions-inversion/</loc>
<lastmod>2026-08-11T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/prompt-injection-untrusted-issues/</loc>
<lastmod>2026-08-14T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/data-locality-by-default/</loc>
<lastmod>2026-08-18T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/microservice-decomposition-heuristic/</loc>
<lastmod>2026-08-21T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/openapi-docs-contract-test/</loc>
<lastmod>2026-08-25T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/testing-real-expressions/</loc>
<lastmod>2026-08-28T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/opentaberna/</loc>
<lastmod>2026-09-01T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/posts/meta-infrastructure-overview/</loc>
<lastmod>2026-09-04T09:00:00+02:00</lastmod>
</url>
<url>
<loc>https://philipptheserver.com/about/</loc>
</url>
<url>
<loc>https://philipptheserver.com/</loc>
</url>
<url>
<loc>https://philipptheserver.com/posts/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/ansible/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/security/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/linux/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/infrastructure-as-code/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/testing/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/docker/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/fastapi/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/python/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/architecture/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/api-design/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/kubernetes/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/ci-cd/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/automation/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/embedded/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/networking/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/dns/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/go/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/reliability/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/performance/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/ceph/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/storage/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/vault/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/tls/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/secrets-management/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/redis/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/databases/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/gitops/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/cpp/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/frontend/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/llm/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/identity/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/observability/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/alerting/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/agents/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/documentation/</loc>
</url>
<url>
<loc>https://philipptheserver.com/tags/</loc>
</url>
</urlset>
