docker

  • wp-cli in a pipeline, and the user it runs as

    A deploy step running WP-CLI as root, and every file it touches becoming unwritable by the web process. The –allow-root flag makes the warning go away and makes…

  • A registry cache that filled a disk on a Sunday

    A pull-through cache with no garbage collection schedule, and a disk that filled at two in the morning. A cache grows without bound by definition and the only…

  • An image scanned on a schedule rather than on a build

    Scanning at build time answers whether the image was vulnerable when it was built, which is not the question anybody asks. A vulnerability disclosed after a build is…

  • A licence that came back, and the migration we had prepared

    The first of May, an AGPL release, and a decision from April 2024 that can finally be closed — in the direction nobody planned for.

  • The compose file that became three compose files

    One file with eleven services, of which four run in production, three run locally and four run in both with different settings. The override file being loaded automatically…

  • A container that could not be stopped cleanly

    A worker container killed after ten seconds on every deploy, because the signal never reached the process. Shell form versus exec form is the difference between a graceful…

  • A pipeline that deploys on merge, and the four gates before it

    Eight deploys a week performed by a person, an hour after merge, by whoever was free. Continuous deployment needs confidence rather than automation.

  • Docker 28, and a release note I actually read

    A major version of the engine, read properly rather than upgraded and hoped for. The networking change is the kind that breaks a setup which was accidentally working,…

  • The VPS that had been running since 2019

    A host provisioned in 2019, upgraded in place three times, and a provisioning script that has never been run against an empty machine.

  • An on-call rota of three

    A rota of two is not a rota. A third person joined in November, and the gap was everything learned in the shadowing month and never written down.