Manually restarting a Go server for a config change can result in downtime and unnecessary overhead in production environments.
To avoid restarting the server, the author switched from manually parsing JSON and YAML files to using the Viper Go package for config management.
To apply config changes dynamically, the author made use of Viper's config watching and reloading capabilities, enabling the server to instantly pick up new values without requiring a restart.
The author also implemented secure handling of secrets by fetching them from HashiCorp Vault instead of storing them in the config file.