this tightens the json checks to ensure there aren't any fields defined we don't know how to 'load'.
in doing so, we also add support for writing just the CA to disk should the invoker want to be notified only of that.
Via that cleanup, drop the spec.*Backoff methods since they are for manipulating the transport, and that's only needed (and handled) via a single internal method.
Finally, the Spec.String() was gutted (and the path return fixed) to just be the spec path. The extra output was not making loglines sane to work with or parse.
To support the CA/validation change, there has been more code shifted around trying to get closer to broken single purpose functions. The naming likely needs some work, and the ordering of function definitions definitely needs cleanup, but that's follow up work.
Per the subject:
To support the CA/validation change, there has been more code shifted around trying to get closer to broken single purpose functions. The naming likely needs some work, and the ordering of function definitions definitely needs cleanup, but that's follow up work.