KitewellRelease status
← All chores

Every release

I SSH into each server, pull the release, restart the service, and curl the health check, one machine at a time.

How it goes now

ssh web-1.git pull.sudo systemctl restart app.curl /healthz.Wait. Again.exit.ssh web-2.

Every release, every machine.

Tell Kitewell once

You
Build a chain workflow aimed at my web server group that pulls /srv/app with git, waits for my approval, restarts the app service, and checks http://127.0.0.1:8080/healthz on each machine before moving to the next.

That's the whole setup. Kitewell lays out every step for you to check, and nothing is saved until you apply it.

Then it runs on its own

Rollout · web groupRunning on this computer

  1. Pull the releaseA fast-forward pull on the machine.Done
  2. Wait for your OKThe restart waits for your approval, machine by machine.Waits for you
  3. Restart the serviceRuns after you approve.Done
  4. Check it answersSix tries, five seconds apart. A machine that never answers stops the rollout.Done

What you get instead

  1. web-1Healthy
  2. web-2Healthy
  3. web-3No answer from /healthz
  4. web-4Untouched
Sample data

Good to know

  • Because the group stops on the first failure, a machine that fails its check halts the rollout with the rest untouched.
  • Host keys are approved in the project, and any password comes from a secret, so the workflow holds neither.

What it needs

  • The servers registered as a group: one machine at a time, stop on failure

More chores