New Release: Fission CLI "Mando" 2.9.x

We just released a new version of our developer command line tool. This is the “Mando” release!

For MacOS Homebrew users, brew install fission-suite/fission/fission-cli will do a new install for you, or the brew upgrade fission-cli command will get you the new version if you installed previously.

Linux and WSL can download the 2.9.x release.

Further instructions for getting started as well as new installs are in the Fission guide.

Overview

We are one release away from our platform “1.0” release, but we wanted to make a new release to share the massive improvements with this version of our command line tool for developers.

Early adopters including our internal Fission team have been running this version for a while, and we’ve seen speed increases, but more importantly, a massive stability upgrade: publishing app updates complete nearly 100% of the time from what we’ve seen, where before you got various “something went wrong” errors.

Boris published a timing log of publishing to Fission – 39 seconds to publish updates to a website containing about 2000 files, which is pretty good!

Auto-install and upgrade of IPFS

The reason for these improvements is two-fold. Underneath, Fission uses #ipfs for a lot of its magic. But mostly, this is not something that developers or users need to care about. We found that having people install and run ipfs was a big sticking point. Our CLI tool now downloads and updates the latest version of the go-ipfs server, and runs it automatically for you as part of the publishing process.

The second part of the improvements is the great work that the IPFS team has done in upgrades to the protocol and server. go-ipfs 0.7.x is the newest version.

This includes some features available for all Fission apps. You can add a file named ipfs-404.html in any directory and it will be displayed when a file is not found in that directory or below. You can see an example on the Fission home page in action: https://fission.codes/notafile – we’ll be adding a section to the guide with this as an example.

Everyone should continue to see improvements going forward as the CLI tool automatically updates to be optimized to connect to the Fission platform. This is the way.

Fission Config

We’ve standardized on a ~/config/fission folder where are all settings and related items are.

For early adopters, you can manually copy your existing fission account key to the correct folder:

cp ~/.ssh/fission ~/.config/fission/key/machine_id.ed2551

You’ll still want to run fission setup to get the new version of ipfs installed for you.

Public YAML

We’ve moved from the “private” .fission.yaml to a “public” file without a leading dot fission.yaml. There is nothing sensitive in this file, and you can feel free to check it into public version control.

For early adopters: the format has changed slightly, so your existing .fission.yaml files won’t work. The best thing to do is to register a new app with fission register in the same directory of your existing app, which will auto generate both a new app subdomain and a new, correct YAML file.

The guide has been updated to document the updated YAML format, as well as the new global ~/config/fission/config.yaml file.

Release Notes

Thanks @walkah for being release master on this one!

  • Global directory: ~/.config/fission
    • Config at ~/.config/fission/config.yaml
    • Key at ~/.config/fission/keys/machine_id.ed25519
    • Cache server DID
  • App config at ./fission.yaml
    • Does not contain anything that can’t be uploaded — all public ok
    • Includes the app URL (by popular request)
  • IPFS
    • Use CIDv1
    • Download/install/setup go-ipfs at ~/.config/fission/bin/ipfs
    • Data repo at ~/.config/fission/ipfs/[repo]
    • Managed daemon at a port that won’t conflict with other system IPFS
    • Safe daemon startup and teardown
    • Use —ignore-rules-path instead of building our own DAG
  • Use CLI’s own version number (separate from the server’s)
  • Remove unused functions from keystore module
4 Likes