I am using unattended-upgrades across multiple servers. I would like updates to be rolled out gradually, either randomly or to a subset of test/staging machines first. Is there a way to do that?

An obvious option is to set some machines to update on Monday and the others to update on Wednesday, but that only gives me only weekly updates…

The goal of course is to avoid a Crowdstrike-like situation on my Ubuntu machines.

  • lnxtx@feddit.nl
    link
    fedilink
    English
    arrow-up
    0
    ·
    4 months ago

    In an ideal world, there should be 3 separated environments of the same app/service:
    devel → staging → production.

    Devel = playground, stagging = near identical to the production.

    So you can test the updates before fixing production.

    • remram@lemmy.mlOP
      link
      fedilink
      arrow-up
      0
      ·
      4 months ago

      So you can test the updates before fixing production.

      My question is how to do that with APT.

      • lnxtx@feddit.nl
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        4 months ago

        I think there is no a out-of-the-box solution.
        You can run security updates manually, but it’s too much to do.

        Try to host apt mirrors in different stages, with unattended-updates tuned on.
        Devel will have the latest.
        Staging the latest positively tested on the devel.
        Production the latest positively tested on the staging.

        • remram@lemmy.mlOP
          link
          fedilink
          arrow-up
          0
          ·
          4 months ago

          Making multiple mirrors seems like the best solution. I will explore that route.

          I was hoping there was something built into APT or unattended-upgrades, I vaguely remembered such a feature… what I was remembering was probably Phased Updates, but those are controlled by Ubuntu not by me, and roll out too fast.