name: upgrade-devel
description: |
  This is a cluster morphology that can be used to deploy systems to a
  an existing Baserock devel system, as an upgrade of the running system.

  This method is for users who deployed a system manually from one of the
  images provided on http://download.baserock.org. IT IS ONLY POSSIBLE TO
  UPGRADE BASEROCK 14 RELEASES OR NEWER.

  If you deployed your system using `morph deploy` then you should reuse the
  cluster morphology you did the initial deployment with, instead of this one,
  so that the configuration is preserved in the new system.

  Ensure that your root user has passwordless SSH access to localhost with
  `ssh root@localhost whoami`. If not, run `ssh-copy-id root@localhost`.
  Make sure the 'morph' field below matches the system you are upgrading.

  To upgrade, select a sensible a value for VERSION_LABEL and run:

    morph deploy --upgrade upgrade-devel self.HOSTNAME=$(hostname) self.VERSION_LABEL=$VERSION_LABEL

  Your configuration in /etc should be propagated to the new system, but there
  may be merge conflicts. Check /etc for files named '.rej' and '.orig' in the
  new system, which will indicate that there are changes from the old system
  that must be merged manually. You can get a nice diff from the old /etc as
  follows:

    mount /dev/sda /mnt
    git diff --no-index /mnt/systems/factory/run/etc /mnt/systems/$VERSION_LABEL/run/etc

  On a base system, use 'diff -r' instead of 'git diff --no-index'. It will
  not be as colourful.
systems:
- name: devel-system-x86_64-generic
  deploy:
    self:
      type: ssh-rsync
      location: root@127.0.0.1
