Help us shape the future of Go! Take the 2026 Go Developer Survey

sluis

command
v1.78.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 24, 2026 License: MIT Imports: 47 Imported by: 0

Documentation

Overview

Command sluis is the whole product in one binary, one image and one chart (docs/decisions/0032), and one process: `sluis issuer` is the issuer, the hub, the console and, beside them, the controllers its document names.

sluis issuer --config <file>             the one process: the issuer, the hub, the console and its controllers
sluis controller github --config <file>  the GitHub controller's loop alone (deprecated)
sluis controller slack --config <file>   the Slack controller's loop alone (deprecated)
sluis tick github <target> --config <file>  one GitHub target's tick, once
sluis tick slack <target> --config <file>   one Slack workspace's tick, once
sluis migrate --from <config> --to <config>  copy the State between storages (docs/decisions/0031)

The command line is a urfave/cli v3 tree (commands.go): one multi-call binary, one module per process (docs/decisions/0071). The module commands (issuer, console, github, slack, cloudflare, google, backup) each run their role; the commands above stay as they are.

Each subcommand is configured by one file and reads nothing else (see internal/config). Everything a subcommand decides is assembled in its own package, internal/rosterapp and internal/{github,slack}roster/app; this file only chooses which one to start and stops it.

`issuer` runs every controller its service document (apiVersion sluis.truvity.github.io/sluis/v3) names under `controllers`, each in a loop of its own beside the service. `controller <kind>` is the same loop as a process of its own, kept for one release for a deployment that still runs the controllers apart; it reads either its own v2 document or the one document, and says it is deprecated. `tick <kind> <target>` is the unit of work the loop is made of (docs/decisions/0029), run once under the target's lease and then exit: an operator's command now, and the shape of a function that lives for one invocation later. A target is an organisation's login or `github:links` for GitHub, and a workspace's key for Slack.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL