1.9 KiB
title, menuTitle, weight
| title | menuTitle | weight |
|---|---|---|
| Instance Config Migration Guide | Instance Config Migration Guide | 11 |
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:
gokr-packer \
-hostname=scanner \
-update=yes \
github.com/gokrazy/hello \
github.com/gokrazy/breakglass \
github.com/gokrazy/serial-busybox \
github.com/stapelberg/scan2drive/cmd/scan2drive
Run your gokr-packer command manually once, but add the
-write_instance_config flag:
{{< highlight shell "hl_lines=2" >}}
gokr-packer
-write_instance_config=scanner
-hostname=scanner
-update=yes
github.com/gokrazy/hello
github.com/gokrazy/breakglass
github.com/gokrazy/serial-busybox
github.com/stapelberg/scan2drive/cmd/scan2drive
{{< /highlight >}}
This will make gokr-packer create ~/gokrazy/scanner.
From now on, switch to using the gok CLI for updating your instance:
gok -i scanner update
To open your instance’s configuration in your editor, use gok -i scanner edit.