code: func Load(c context.Context) (*Config, error) {
  	// Unmarshal the config into service configuration.
  	cfg := Config{
  		ConfigServiceURL: cfgclient.ServiceURL(c),
  	}
  	cfg.ConfigSet, cfg.ServiceConfigPath = ServiceConfigPath(c)
  
  	// Load our service-level config.
  	if err := cfgclient.Get(c, cfgclient.AsService, cfg.ConfigSet, cfg.ServiceConfigPath,
  		textproto.Message(&cfg.Config), nil); err != nil {
  
  		log.Fields{
  			log.ErrorKey: err,
  			"configSet":  cfg.ConfigSet,
  			"configPath": cfg.ServiceConfigPath,
  		}.Errorf(c, "Failed to load configuration from config service.")
  		return nil, err
  	}
  
  	// Validate the configuration.
  	if err := validateServiceConfig(&cfg.Config); err != nil {
  		log.WithError(err).Errorf(c, "Invalid Coordinator configuration.")
  		return nil, ErrInvalidConfig
  	}
  
  	// Load our settings.
  	if err := cfg.Settings.Load(c); err != nil {
  		log.WithError(err).Errorf(c, "Failed to load settings.")
  		return nil, ErrInvalidConfig
  	}
  
  	return &cfg, nil
  }
docs: // Load loads the service configuration. This includes:
  //	- The config service settings.
  //	- The service configuration, loaded from the config service.
  //	- Additional Settings data from datastore via settings.
  //
  // The service config is minimally validated prior to being returned.