Skip to main content
outerlayer login creates ~/.outerlayer/config.json with owner-only permissions. Every write merges into it, so a key you add by hand survives a later login. Remove a key by editing the file. If the file is not valid JSON, login, logout and every command that signs in to the gateway stop with an error that names the file. They do not write over it. Fix the file or move it aside, then run the command again. A login that is waiting for approval keeps its one-time key in ~/.outerlayer/login-pending/<id>.json, readable by you only. login and login --check remove it when the login ends, and remove any that has passed its expiry.
The runner needs url, apiKey and appId from a factory key, never a person’s login. outerlayer runner init asks for a runner key and writes all three; see Give the runner its key. Every outerlayer runner subcommand except container-start takes --config <path> to use a file other than ~/.outerlayer/config.json. On your own account, give the runner a file of its own, such as ~/.outerlayer-runner/config.json, so its key does not replace your login. Every key inside runner, runner.build, runner.housekeeping and runner.checks is checked when the runner starts and whenever the file changes. An unknown key is refused, naming the key it is most likely a misspelling of. outerlayer runner check reports all of this without taking any work. See outerlayer runner for what each hook receives and is expected to do. Environment variables override url, apiKey, appId and tier. The runner ignores them and reads only its own config file. See Environment variables.

Other files under ~/.outerlayer