Skrog

Network profiles

On this page

The same laptop needs different engine config on the corporate VPN than at home — registry mirrors, DNS, logging, the idle timeout, lifecycle hooks. A profile bundles those into a named set you switch in one command, instead of hand-toggling each one.

skrog profile create work     # save the current settings as "work"
skrog profile create home
skrog profile switch home     # apply the "home" settings
skrog profile list            # * marks the active profile
skrog profile show work
skrog profile delete work

skrog status names the active profile.

What a profile holds

A profile is a named set of the settings skrog config manages — the idle timeout, engine daemon.json keys (registry mirrors, insecure registries, DNS, logging, concurrency), and lifecycle hooks. It does not hold install-time identity (distro, data dir, engine version) or autostart: those are properties of the machine, not the network.

Profiles use the same YAML shape as skrog.yaml, so skrog profile show and skrog config export read alike.

Switching is exact, not additive

switch makes the live config match the profile: any engine key, hook, or idle timeout the profile does not set is cleared. That is what makes “switch to home” actually undo the work-network mirrors, rather than leaving them layered underneath. Engine changes are applied in one batch, so the engine bounces once per switch (and not at all if the config already matches).

Auto-switching

Switching on a network/VPN change — detect the adapter, apply the mapped profile automatically, with consent configured up front and a log line every time — is tracked in #63 and builds on the VPN fingerprinting there. For now, skrog profile switch is manual (a one-liner for a login script or a shortcut).


Edit this page on GitHub