Instance Config Migration Guide
Before 2023, the concept of gokrazy instance configuration was only a
convention. Each gokrazy build was created using the gokr-packer CLI tool, and
configured by the packer’s command-line flags, parameters, config files in
~/.config and per-package config files in the current directory
(e.g. flags/github.com/gokrazy/breakglass/flags.txt).
In 2023, the concept of gokrazy instance configuration was introduced (see issue #147).
Now, each gokrazy instance, which typically corresponds to one Raspberry Pi or
other machine, has its own directory within the gokrazy parent directory
(~/gokrazy by default), e.g. ~/gokrazy/scanner.
The new gok CLI tool works in the instance directory
(e.g. ~/gokrazy/scanner) and reads the single config.json file, which
contains all settings.
Migration
If you’re using the old mechanism (gokr-packer commands), here is how to
migrate to the new gok CLI. Assuming you use a command like the following:
Run your gokr-packer command manually once, but add the
-write_instance_config flag:
This will make gokr-packer create ~/gokrazy/scanner.
From now on, switch to using the gok CLI for updating your instance:
To open your instance’s configuration in your editor, use gok -i scanner edit.