Skip to content

Reference

Every option, field, default and method in controls, with what it does, what it defaults to, and what happens when it is set wrongly. This tier answers "what is this and what value should it have"; the how-to guides answer "how do I do X", and explanation answers "why is it built this way".

What is on each reference page

Page Covers
Controller NewController, every ControllerOpt, every controller method, and what each does when called at the wrong time
Services and restart policy Register, every ServiceOption, the StartFunc/StopFunc/StatusFunc contracts, RestartPolicy fields, ServiceInfo
Health checks and reports HealthCheck fields, CheckStatus, CheckType, CheckResult, the HealthReport JSON shape, and what each report includes
Defaults and timings Every default value in one table, the option or field that changes it, and what a zero value means
Interfaces Runner, HealthReporter, HealthCheckReporter, StateAccessor, Configurable, ChannelProvider, Controllable — and the methods that are on none of them

Where the generated API listing lives

This tier is written by hand and states behaviour the type signatures do not show. The generated, always-current listing of every exported symbol — with the runnable Example tests — is on pkg.go.dev. Use both: pkg.go.dev for signatures, this tier for defaults and failure modes.

What is deliberately not here

controls has no configuration file, no environment variables and no command-line flags — it is a library, and every knob is a functional option or a struct field, listed on the pages above. If you are looking for a config key, you are looking for the framework or application that embeds this module.

For what the module does not do at all, see What controls does not do.