anchor.diff:  %% @private
   generate_pod_node(Name, Host) ->
       {ok, IPAddress} = inet_parse:address(binary_to_list(Host)),
  -    Port = list_to_integer(os:getenv("LASP_SERVICE_PORT_PEER")),
  +    Port = list_to_integer(os:getenv("PEER_PORT", "9090")),
       {list_to_atom(binary_to_list(Name) ++ "@" ++ binary_to_list(Host)), IPAddress, Port}.
  +
  +%% @private
  +configure_s3_bucket() ->
  +    %% Configure erlcloud.
  +    S3Host = "s3-us-west-2.amazonaws.com",
  +    AccessKeyId = os:getenv("AWS_ACCESS_KEY_ID"),
  +    SecretAccessKey = os:getenv("AWS_SECRET_ACCESS_KEY"),
  +    erlcloud_s3:configure(AccessKeyId, SecretAccessKey, S3Host),
  +
  +    %% Create S3 bucket.
  +    try
  +        BucketName = bucket_name(),
  +        lager:info("Creating bucket: ~p", [BucketName]),
  +        ok = erlcloud_s3:create_bucket(BucketName),
  +        lager:info("Bucket created.")
  +    catch
  +        _:{aws_error, Error} ->
  +            lager:info("Bucket creation failed: ~p", [Error]),
  +            ok
  +    end,
  +
  +    lager:info("S3 bucket creation succeeded.").
  +
  +%% @private
  +upload_artifact(#state{orchestration=Orchestration, eredis=Eredis}, Node, Membership) ->
  +    case Orchestration of
  +        mesos ->
  +            %% Get bucket name.
  +            BucketName = bucket_name(),
  +
  +            %% Upload to S3.
  +            try
  +                erlcloud_s3:put_object(BucketName, Node, Membership)
  +            catch
  +                _:{aws_error, Error} ->
  +                    lager:info("Could not upload artifact: ~p", [Error])
  +            end;
  +        kubernetes ->
  +            {ok, <<"OK">>} = eredis:q(Eredis, ["SET", Node, Membership])
  +    end.
  +
  +%% @private
  +download_artifact(#state{orchestration=Orchestration, eredis=Eredis}, Node) ->
  +    case Orchestration of
  +        mesos ->
  +            BucketName = bucket_name(),
  +            Result = erlcloud_s3:get_object(BucketName, Node),
  +            proplists:get_value(content, Result, undefined);
  +        kubernetes ->
  +            {ok, A} = eredis:q(Eredis, ["GET", Node]),
  +            A
  +    end.
  
positive.code:                 end
              catch
                  _:{aws_error, Error} ->
                      add_edges(Node, [], Graph),
                      lager:info("Could not get graph object; ~p", [Error]),
                      OrphanedNodes
  
negative.code:         undefined ->
              lager:info("Not using container orchestration; disabling."),
              ok;
          Orchestration ->
              lager:info("Orchestration: ~p", [Orchestration]),
  
              case Orchestration of
                  mesos ->
                      configure_s3_bucket();
                  _ ->
                      ok
              end,
  
              %% Only construct the graph and attempt to repair the graph
              %% from the designated server node.
  