anchor.diff:      case rpc:call(spartan_name(), erldns_zone_cache, put_zone, [Zone1], ?RPC_TIMEOUT) of
           Reason = {badrpc, _} ->
               lager:warning("Unable to push signed records to spartan: ~p", [Reason]),
  -            setup_retry(ZoneName0),
               ok;
           ok ->
               ok
  
positive.code:     {ok, State :: #state{}} | {ok, State :: #state{}, timeout() | hibernate} |
      {stop, Reason :: term()} | ignore).
  init([]) ->
      {ok, Ref} = lashup_kv_events_helper:start_link(ets:fun2ms(fun({[navstar, dns, zones, '_']}) -> true end)),
      {ok, #state{ref = Ref}}.
  
  
negative.code:     Zone = zone2spartan(ZoneName, Value),
      spartan_push(Zone).
  
  spartan_push(Zone) ->
      case rpc:call(spartan_name(), erldns_zone_cache, put_zone, [Zone], ?RPC_TIMEOUT) of
          Reason = {badrpc, _} ->
              lager:warning("Unable to push records to spartan: ~p", [Reason]),
              ok;
          ok ->
              maybe_push_signed_zone(Zone),
              ok
      end.
  
  setup_retry() ->
      MatchSpec = mk_key_matchspec(),
      ZoneKeys = lashup_kv:keys(MatchSpec),
      {ok, _} = timer:send_after(?SPARTAN_RETRY, {retry_spartan, ZoneKeys}).
  
  mk_key_matchspec() ->
      ets:fun2ms(fun({[navstar, dns, zones, '_']}) -> true end).
  
  maybe_push_signed_zone(Zone) ->
      case navstar_dns:key() of
          false ->
              ok;
          #{public_key := PublicKey} ->
              push_signed_zone(PublicKey, Zone)
      end.
  
  