ayitiservis.com
Practical notes on automation, data and small systems.
What actually breaks a small FastAPI deployment on a cheap VPS
what-actually-breaks-a-small-fastapi-deployment-on-a-316cf1
Why your cron job silently stops and how to notice sooner: the failure cases to plan for
why-your-cron-job-silently-stops-and-how-to-notice-s-b8726b
Why your cron job silently stops and how to notice sooner
why-your-cron-job-silently-stops-and-how-to-notice-sooner
Writing a minimal retry policy that does not duplicate payments
writing-a-minimal-retry-policy-that-does-not-duplica-112377
Writing a minimal retry policy that does not duplicate payments: the failure cases to plan for
writing-a-minimal-retry-policy-that-does-not-duplica-a04f79
A backup job that succeeds but restores nothing: adding a restore check
a-backup-job-that-succeeds-but-restores-nothing-addi-f56990
A systemd timer that runs twice after a reboot
a-systemd-timer-that-runs-twice-after-a-reboot
Detecting a disk filling up before writes start failing
detecting-a-disk-filling-up-before-writes-start-failing
Handling webhook retries without processing the same event twice
handling-webhook-retries-without-processing-the-same-b0b4c5
When log rotation deletes the file your app still holds open
when-log-rotation-deletes-the-file-your-app-still-holds-open
A cron backup that overlaps the previous run and doubles disk usage
a-cron-backup-that-overlaps-the-previous-run-and-dou-fccb9a
A health check that returns 200 while Postgres is unreachable
a-health-check-that-returns-200-while-postgres-is-un-df7767
Chwazi lekòl prive: 6 kesyon anvan ou peye
chwazi-lekol-prive-6-kesyon-anvan-ou-peye
Kijan pou ouvri kont MonCash san erè
kijan-pou-ouvri-kont-moncash-san-ere
Lwe yon kay Petyonvil san twonpe: dokiman ak vizit
lwe-yon-kay-petyonvil-san-twonpe-dokiman-ak-vizit
MonCash oswa Natcash pou biznis ou: sa ki diferan tout bon
moncash-oswa-natcash-pou-biznis-ou-sa-ki-diferan-tout-bon
Parèt sou Google lè yon kliyan chèche toupre
paret-sou-google-le-yon-kliyan-cheche-toupre
Peman mobayl pou ti komèsan: kijan pou kòmanse
peman-mobayl-pou-ti-komesan-kijan-pou-komanse
Poukisa biznis ou bezwen yon sit entènèt (e sa ki enpòtan)
poukisa-biznis-ou-bezwen-yon-sit-entenet-e-sa-ki-enpotan
Travay adistans soti Ayiti: premye etap yo san peye fòmasyon
travay-adistans-soti-ayiti-premye-etap-yo-san-peye-fomasyon
Vann manje sou entènèt san pèdi kliyan
vann-manje-sou-entenet-san-pedi-kliyan
Vann sou yon marketplace ayisyen san gaspiye tan
vann-sou-yon-marketplace-ayisyen-san-gaspiye-tan
Voye lajan Ayiti san peye frè twòp: sa pou tcheke anvan
voye-lajan-ayiti-san-peye-fre-twop-sa-pou-tcheke-anvan
WhatsApp Biznis: òganize kòmand san dezòd
whatsapp-biznis-oganize-komand-san-dezod
Cron job sends duplicate reports after DST change because schedule uses server local time
cron-job-sends-duplicate-reports-after-dst-change-be-e5fac0
Docker container can’t write uploads after switching from root to non-root user
docker-container-cant-write-uploads-after-switching-c8613c
Nginx returns 502 after deploy because upstream DNS is cached at startup
nginx-returns-502-after-deploy-because-upstream-dns-0f165e
Postgres migrations deadlock because the app starts before the migration job finishes
postgres-migrations-deadlock-because-the-app-starts-e3d568
Webhook handler times out because it calls a slow API before returning 200
webhook-handler-times-out-because-it-calls-a-slow-ap-add465
GitHub Actions deploy fails with 403 after repo transfer because GITHUB_TOKEN lacks packages: write
github-actions-deploy-fails-with-403-after-repo-tran-da1501
Kubernetes pod CrashLoopBackOff after ConfigMap update because app reads config only at startup
kubernetes-pod-crashloopbackoff-after-configmap-upda-cb9268
Redis worker stops consuming after deploy because BRPOP timeout 0 blocks graceful shutdown
redis-worker-stops-consuming-after-deploy-because-br-311524
Rsync backup fails with permission denied after NFS export enables root_squash
rsync-backup-fails-with-permission-denied-after-nfs-25011a
Terraform plan forces RDS replacement when security group rule order changes
terraform-plan-forces-rds-replacement-when-security-cd797f