As a security engineer, I only want Sinter to attempt a connection to a sync server if one is configured so that my logs are not filled with failed attempt messages.
Acceptance Criteria:
If there is not sync server URL provided in the local Sinter config, do not attempt to contact a sync server and do not output an error log.
If a sync server is configured but Sinter cannot connect to it for any other reason, emit an error to the logs.
If there is a sync-server config but the decision-manager is set to "local": it doesn't matter what's in the sync-server URL, as it is ignored.
If there is a sync-server config, the decision-manager is set to "sync-server" and the URL setting is simply missing, then Sinter outputs an error message about that and quits.
If there is a sync-server config, the decision-manager is set to "sync-server" and the URL setting is a URL where no sync-server is currently running, Sinter attempts to reconnect on an interval, but this is by design. I think you want this.
there is a sync-server config, the decision-manager is set to "sync-server" and the URL setting is "" (an empty string, or some other string that does not constitute a real URL), then Sinter fails to understand that and attempts to connect to that bad URL on the interval. This is probably a bug and it should quit immediately like in case 2.
Why
As a security engineer, I only want Sinter to attempt a connection to a sync server if one is configured so that my logs are not filled with failed attempt messages.
Acceptance Criteria: