Migrate from V2 to V3

Should you migrate from V2 to V3?

"the tide abides for, tarrieth for no man, stays no man, tide nor time tarrieth no man"

Yes, you should migrate from V2 to V3 today unless...

You are dependent on the Slack integration

The Slack integration we all use and love for V2 is not compatible with V3. And although a V3 version exists, it is not currently working.

We recommend the CLI as an alternative for telling HOPS what to do (build, deploy, etc), and the CLI and Web Interface as an alternative to keeping track of what is happening.

If you still prefer to use Slack, sit tight until we've built the Slack integration. (And also let us know that you're waiting, please.)

You're somehow tightly coupled to V2

  • Maybe you have command line scripts refering to the V2 CLI
  • Maybe you have internal documentation refering to the V2 CLI/web/slack bot
  • Maybe you have a big team, and coordinating a change like this requires a little planning

How do I migrate from V2 to V3?

1. Update CLI

The V3 CLI exists as a subcommand on the V2 CLI. If you're keeping your tools updated, you might already have the V3 CLI on your computer!

  1. Install HOPS CLI, see how to install cli!
  2. Run hops self-update to make sure you have the latest and greatest
  3. Confirm that all is well by running hops v3 version and observe that the version is hops_cli/v0.2.0 or greater. Great!

2. Log in

We have to log in to V3.

  1. Run hops v3 login where you'll be directed to the new web interface, where you'll be asked to login with your GitHub account.
  2. After you've logged, go to https://hops.run/org/none/tokens and generate a new token.
  3. Paste the token into the terminal.
  4. Confirm that you have access to apps by running hops v3 list-apps. If you don't see any apps listed, ask for help in #hops-support.

You are now able to use V3!

3. Deregister V2 (per app)

To get your app on to V3, you first need1 to get it off V2.

In #iterapp-logs, on the Iterate Slack, write /iterapp deregister APPNAME where APPNAME obviously is the name of the app you intend to deregister.

Note that this does not undeploy or remove your app from the internet. It only turns off the build/deploy automation from V2.


You can probably, technically have the app registered in both V2 and V3, but messages from the system might make less sense, you might get a lot of weird noise and the HOPS Team does not support nor condone dual registration.

4. Register V3 (per app)

In your terminal, write hops v3 register --cluster iterapp iterate/APPNAME where APPNAME obviously is the name of your app. If the GitHub repository is not under the iterate organization, replace iterate with the correct organization.

5. Use V3

The world is your oyster, run hops v3 for a list of exciting opportunities! Visit https://headless-operations.no to witness the endless percolation of builds, deploys, logs.

Go to #hops-support and tell us how to improve this migration guide.

How do I unmigrate back to V2?

  1. Run hops v3 unregister to learn how to deregister from V3.

  2. In #iterapp-logs write /iterapp register iterate/APPNAME where APPNAME obviously is the name of the app you want to reregister.