{ "approved_by": "Paul", "approved_on": "2026-10-13", "entries": [ { "id": "settings.cli.apps-set-flag-channel", "file": "internal/updatewords/words_surfaces.go", "text": "the channel new instances follow" }, { "id": "settings.cli.apps-set-flag-control", "file": "internal/updatewords/words_surfaces.go", "text": "settings an instance may change itself: any of updates, channel, major, pin, comma-separated; empty keeps them all for the app" }, { "id": "settings.cli.apps-set-flag-major", "file": "internal/updatewords/words_surfaces.go", "text": "hold instances on stable at this major version; empty clears" }, { "id": "settings.cli.apps-set-flag-updates", "file": "internal/updatewords/words_surfaces.go", "text": "auto or manual: what instances do when they have not chosen; empty restores auto" }, { "id": "settings.cli.apps-set-policy-done", "file": "internal/updatewords/words_surfaces.go", "text": "%s: instances may change %s; default updates %s, default channel %s, default major %s" }, { "id": "settings.cli.apps-set-usage", "file": "internal/updatewords/words_surfaces.go", "text": " carlos apps set [--instance-control ] [--default-updates auto|manual] [--default-channel ] [--default-major ]\n\n --instance-control the settings an instance may change itself:\n any of updates, channel, major and pin,\n comma-separated. Empty keeps them all for\n the app.\n --default-updates auto|manual what instances do when they have not\n chosen. Empty restores auto.\n --default-channel the channel new instances follow.\n --default-major hold instances on stable at this major\n version. Empty clears it." }, { "id": "settings.cli.bad-major-flag", "file": "internal/updatewords/words_surfaces.go", "text": "--major and --default-major take a whole number, 0 or more, or empty to clear" }, { "id": "settings.cli.direct-mode", "file": "internal/updatewords/words_surfaces.go", "text": "carlos instances %s works through a console, and this shell is in direct bucket mode (CARLOS_DEPLOYMENT_BUCKET or CARLOS_DEPLOYMENT_DIR is set). Log in instead: carlos auth login --console " }, { "id": "settings.cli.docs-apps-set", "file": "internal/updatewords/words_surfaces.go", "text": "--instance-control names the settings an instance may change itself once instances can act for themselves. --default-updates and --default-major apply wherever an instance has not chosen; --default-channel is the channel new instances are created on." }, { "id": "settings.cli.docs-apps-set-lead", "file": "internal/updatewords/words_surfaces.go", "text": "`carlos apps set` also controls the update settings an instance may change:" }, { "id": "settings.cli.docs-instances-set", "file": "internal/updatewords/words_surfaces.go", "text": "Sets how one instance takes new builds: auto or manual updates, the channel, a major version to stay on (stable only), or an exact build to pin. An empty value clears a setting, so the app's default applies again." }, { "id": "settings.cli.docs-instances-update", "file": "internal/updatewords/words_surfaces.go", "text": "Asks the instance's box to install the newest build it considers ready, even with manual updates. The box chooses the build, and it runs on the next start. --fast-track skips the safety delay; only account owners can use it." }, { "id": "settings.cli.flag-account-id", "file": "internal/updatewords/words_surfaces.go", "text": "account sqid, matched as a sqid ONLY; supersedes --account" }, { "id": "settings.cli.instances-usage-lines", "file": "internal/updatewords/words_surfaces.go", "text": " carlos instances set --app [--updates auto|manual]\n [--channel ] [--major ] [--pin ]\n carlos instances update --app [--fast-track]" }, { "id": "settings.cli.instances-usage-para", "file": "internal/updatewords/words_surfaces.go", "text": "set changes how one instance takes new builds: --updates auto or manual,\n--channel (the app's pipeline rules apply), --major to stay on one major\nversion of stable, and --pin to run exactly one build. An empty value clears\na setting, so the app's default applies again. update asks the instance's\nbox to install the newest build it considers ready, even with manual\nupdates; --fast-track skips the safety delay and needs an account owner." }, { "id": "settings.cli.none", "file": "internal/updatewords/words_surfaces.go", "text": "none" }, { "id": "settings.cli.not-enforced-reason", "file": "internal/updatewords/words_surfaces.go", "text": "settings not enforced (box runs an older release)" }, { "id": "settings.cli.roll-note", "file": "internal/updatewords/words_surfaces.go", "text": "**Instance update settings: the roll order.** Roll every box to the release that applies update settings before anyone turns on manual updates, a major hold or a pin: the console refuses those until every box reports it can protect the builds they name from pruning, and says how many boxes it is waiting on. Before rolling any box back below that release, turn retention off for the deployment (`carlos releases retention --off` for each app that has one), because an older housekeeper prunes builds a pin or a held instance still needs. After such a rollback the console shows *settings not enforced* for instances on the older boxes: they follow their channel until the box is rolled forward again." }, { "id": "settings.cli.set-done", "file": "internal/updatewords/words_surfaces.go", "text": "%s: updates %s, channel %s, major %s, pin %s" }, { "id": "settings.cli.set-flag-channel", "file": "internal/updatewords/words_surfaces.go", "text": "the channel to follow (the app's pipeline rules apply)" }, { "id": "settings.cli.set-flag-major", "file": "internal/updatewords/words_surfaces.go", "text": "stay on this major version of stable; empty clears" }, { "id": "settings.cli.set-flag-pin", "file": "internal/updatewords/words_surfaces.go", "text": "run exactly this build; empty clears" }, { "id": "settings.cli.set-flag-updates", "file": "internal/updatewords/words_surfaces.go", "text": "auto or manual; empty restores the app's default" }, { "id": "settings.cli.set-not-enforced", "file": "internal/updatewords/words_surfaces.go", "text": "not every box applies update settings yet, so %s may still follow its channel" }, { "id": "settings.cli.set-unchanged", "file": "internal/updatewords/words_surfaces.go", "text": "%s: nothing changed" }, { "id": "settings.cli.set-usage", "file": "internal/updatewords/words_surfaces.go", "text": "usage: carlos instances set [--app ] [--updates auto|manual] [--channel ] [--major ] [--pin ] (an empty value clears)" }, { "id": "settings.cli.update-done", "file": "internal/updatewords/words_surfaces.go", "text": "%s: update requested (request %d). Its box picks the build and installs it; it runs on the next start" }, { "id": "settings.cli.update-flag-fast-track", "file": "internal/updatewords/words_surfaces.go", "text": "skip the safety delay (account owners only)" }, { "id": "settings.cli.update-usage", "file": "internal/updatewords/words_surfaces.go", "text": "usage: carlos instances update [--app ] [--fast-track]" }, { "id": "settings.page.auto-label", "file": "internal/updatewords/words_surfaces.go", "text": "Install new builds automatically" }, { "id": "settings.page.channel-hint", "file": "internal/updatewords/words_surfaces.go", "text": "Change it with carlos instances set --channel. The app's pipeline rules apply." }, { "id": "settings.page.channel-label", "file": "internal/updatewords/words_surfaces.go", "text": "Channel" }, { "id": "settings.page.fast-track", "file": "internal/updatewords/words_surfaces.go", "text": "Skip the safety delay" }, { "id": "settings.page.heading", "file": "internal/updatewords/words_surfaces.go", "text": "Updates" }, { "id": "settings.page.kept", "file": "internal/updatewords/words_surfaces.go", "text": "kept by the app" }, { "id": "settings.page.major-inherited", "file": "internal/updatewords/words_surfaces.go", "text": "The app holds it at major %d. Leave this empty to keep the app's hold." }, { "id": "settings.page.major-label", "file": "internal/updatewords/words_surfaces.go", "text": "Stay on major version" }, { "id": "settings.page.not-enforced", "file": "internal/updatewords/words_surfaces.go", "text": "Settings not enforced: this instance's box runs a release that ignores them, so it follows its channel" }, { "id": "settings.page.pin-label", "file": "internal/updatewords/words_surfaces.go", "text": "Pin to build" }, { "id": "settings.page.rate-limited", "file": "internal/updatewords/words_surfaces.go", "text": "Too many update requests. Try again in a minute." }, { "id": "settings.page.refused-until-boxes", "file": "internal/updatewords/words_surfaces.go", "text": "Manual updates, major holds and pins can be turned on once every box runs a release that applies them" }, { "id": "settings.page.requested", "file": "internal/updatewords/words_surfaces.go", "text": "Update requested. The box installs the build and it runs on the next start." }, { "id": "settings.page.save", "file": "internal/updatewords/words_surfaces.go", "text": "Save" }, { "id": "settings.page.saved", "file": "internal/updatewords/words_surfaces.go", "text": "Update settings saved." }, { "id": "settings.page.status", "file": "internal/updatewords/words_surfaces.go", "text": "Installed %s. Serving %s. Wants %s: %s" }, { "id": "settings.page.update-now", "file": "internal/updatewords/words_surfaces.go", "text": "Update now" } ] }