code: func New(configFilePath string) (*Registry, error) {
  	c := Registry{
  		v: viper.New(),
  	}
  	c.v.SetEnvPrefix("F8")
  	c.v.AutomaticEnv()
  	c.v.SetEnvKeyReplacer(strings.NewReplacer(".", "_"))
  	c.v.SetTypeByDefaultValue(true)
  	c.setConfigDefaults()
  
  	if configFilePath != "" {
  		c.v.SetConfigType("yaml")
  		c.v.SetConfigFile(configFilePath)
  		err := c.v.ReadInConfig() // Find and read the config file
  		if err != nil {           // Handle errors reading the config file
  			return nil, errs.Errorf("Fatal error config file: %s \n", err)
  		}
  	}
  	return &c, nil
  }
docs: // New creates a configuration reader object using a configurable configuration
  // file path.