Relays that are not directory authorities shouldn't load the approved-routers file
dirserv_load_fingerprint_file() is called from do_hup() and from
In do_hup() it's called if
authdir_mode_handles_descs(options, -1) != 0
In init_keys() it's called if
authdir_mode(options) != 0
This is inconsistent and at least one of them is wrong. I'm not quite sure exaclty who needs the fingerprints.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information