Where viper is initialized today (in cmd/peer/main.go), using the new configuration package, parse core.yaml into the peer configuration structures. Explicitly pass the configuration to the command constructors to enable future changes that have the commands pull their configuration from the struct instead of viper.
The viper infrastructure should remain active to prevent modifications to tests and existing implementations that rely on environment variables.
Parsing of existing core.yaml should be successful in the main.
Out of scope: removing viper from anything or rewiring to use the new config. Future stories/tasks will be created for that work.