SolarNode Image Maker

Ready

NIM makes it easy to create customized SolarNode OS images by starting with a well-known "base" OS image and applying changes to it. If you manage a fleet of nodes, this is a great way to integrate your specific settings and SolarNode plugins directly into the image so SolarNode is ready to deploy into your environment from the moment it boots up the first time.

Start by authorizing yourself with a SolarNetwork security token in the login form at the top right of this window.

Steady

Select the items to customize the base image with.

Guestfish script

A guestfish script is required to perform the customization. This file must be named with a .fish extension. Note that not all guestfish commands are supported. The script will be able to access any data file you upload, by name.

For example, if you upload an xz compressed tar archive named my-node-config.txz that contains configuration files that belong in the ~solar/conf/services directory, your script might contain:

# Copy configuration files
tar-in my-node-config.txz /home/solar/conf/services compress:xz

# Zero free space to make image compress better
zero-free-space /

Data files

You can optionally provide any number of data files that will be made available to the guestfish script by name. A common case is to provide one or more tar archives that can be extracted into the root filesystem. The file names must exactly match the names used in the guestfish script.

Options

You can include an optional JSON document with environment variables that get passed to the guestfish script. For example, to make the guestfish variable $mode have a value of production you could upload a JSON document like this:

{
  "environment": {
    "mode" : "production"
  }
}

Firstboot scripts

You can optionally provide any number of shell scripts that will be executed the first time the OS boots up, as the root user. These files must be named with a .firstboot extension. Here's an example script that updates the apt package cache and installs all available updates:

#!/usr/bin/env sh
apt-get -qq update
apt-get -qq upgrade
apt-get -qq clean

Go!

Once you're satisifed with your care, hit the Press Me button to submit your request.

Progress

Your image customization progress is shown here.

foo-bar-20181001

Message here…

0%