Documentation
¶
Index ¶
- func AppDescription() string
- func ApplyCommandSettings(cmd *cli.Command, hooks CommandHooks)
- func CheckRoot(mode RootCheckMode) error
- func HelpCommand() *cli.Command
- func InstallSignalHandler(parent context.Context) (context.Context, context.CancelFunc)
- func NewDBusCommand(name, usage string, action cli.ActionFunc) *cli.Command
- func NewHTTPCommand(name, usage, defaultListen string, action cli.ActionFunc) *cli.Command
- func RootFlags() []cli.Flag
- func SetupHelpTemplates()
- func TranslateUsageError(err error) error
- func VersionCommand(action cli.ActionFunc) *cli.Command
- func WithOptions[T any](appConfig *app.Config, reporter *reply.Reporter, rootCheck RootCheckMode, ...) func(func(context.Context, *urfave.Command, *T) error) urfave.ActionFunc
- type CommandHooks
- type RootCheckMode
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AppDescription ¶
func AppDescription() string
AppDescription возвращает описание приложения для корневой команды.
func ApplyCommandSettings ¶
func ApplyCommandSettings(cmd *cli.Command, hooks CommandHooks)
ApplyCommandSettings обходит дерево команд рекурсивно и применяет общие настройки.
func CheckRoot ¶
func CheckRoot(mode RootCheckMode) error
CheckRoot проверяет, что текущие права совместимы с заданным режимом.
func InstallSignalHandler ¶
InstallSignalHandler возвращает производный ctx, который отменяется при получении SIGINT/SIGTERM/SIGQUIT - это инициирует graceful shutdown через ctx.Done().
func NewDBusCommand ¶
func NewDBusCommand(name, usage string, action cli.ActionFunc) *cli.Command
NewDBusCommand строит CLI команду для запуска D-Bus сервиса.
func NewHTTPCommand ¶
func NewHTTPCommand(name, usage, defaultListen string, action cli.ActionFunc) *cli.Command
NewHTTPCommand строит CLI команду для запуска HTTP сервиса.
func SetupHelpTemplates ¶
func SetupHelpTemplates()
SetupHelpTemplates задаёт общие шаблоны для help и переопределяет встроенные флаги.
func TranslateUsageError ¶
TranslateUsageError переводит ошибки парсинга CLI (required flags, invalid value и т.д.).
func VersionCommand ¶
func VersionCommand(action cli.ActionFunc) *cli.Command
VersionCommand возвращает команду version с заданным action.
func WithOptions ¶
func WithOptions[T any]( appConfig *app.Config, reporter *reply.Reporter, rootCheck RootCheckMode, newActions func(*app.Config, *reply.Reporter) *T, errorResponse func(error) reply.APIResponse, ) func(func(context.Context, *urfave.Command, *T) error) urfave.ActionFunc
WithOptions создаёт универсальный wrapper для CLI команд с поддержкой generics. T — тип Actions для конкретного модуля.
Types ¶
type CommandHooks ¶
type RootCheckMode ¶
type RootCheckMode int
RootCheckMode определяет режим проверки root-прав.
const ( NoRootCheck RootCheckMode = iota RequireRoot ForbidRoot )