type Config … type ExtraConfig … type completedConfig … type CompletedConfig … func (c *Config) Complete() (CompletedConfig, error) { … } // NewConfig creates all the self-contained pieces making up an // sample-generic-controlplane, but does not wire them yet into a server object. func NewConfig(opts options.CompletedOptions) (*Config, error) { … }