Partner Program Tools

Introduction

How to configure the User agent for partner value attribution from commandline, from setup, in code and from configuration yaml.

Partner Program

The Storj Partner Ecosystem enables developers to build Storj Connectors, which their customers can use to store data on Storj.

The data itself is client-side encrypted, however we are able to measure the aggregate volume of storage and bandwidth usage. When a user of a Storj Connector stores data in a bucket, we are able to give the partner attribution for the stored data and the used bandwidth for the Connector Integration, and provide programmatic revenue share.

You can learn more about our partner program here.

Value Attribution

Value attribution is done on a per bucket basis. To recognize which partner the shared revenue should go to, we use a user agent that identifies it. A bucket can only have one user agent value and it can be set only once, and only on an empty bucket. This has the following consequences:

  • Uploading an object to a bucket can only be done after setting the user agent. Otherwise, the bucket won't be empty and you will be unable to set the user agent.

  • If you upload an object to a bucket with a defined user agent, the shared revenue will go to the corresponding partner. If it is not your user agent, it won't be in your shared revenue.

Setting the User Agent

Before continuing, beware that partner value attribution is only possible if you are registered as such by Storj. You can access an up to date list of recognized user agents here.

UserAgent can only be configured by adding or updating the following line of the legacy uplink configuration ini file (the default path for the config.ini can be checked with uplink setup --help --advanced command, see the default value for --legacy-config-dir option in the output):

client.user-agent = MyCompany
client.user-agent = MyCompany

S3 Gateway

UserAgent can only be configured during setup:

gateway setup --client.user-agent "MyCompany"
gateway setup --client.user-agent "MyCompany"

or by adding or updating the following lines of the gateway configuration yaml (the default path for the config.yaml can be checked with gateway setup --help command, see default value for --config-dir option in the output):

# User-Agent used for connecting to the satellite
client.user-agent: 'MyCompany'
# User-Agent used for connecting to the satellite
client.user-agent: 'MyCompany'

In code

UserAgent can be configured from Go code:

uplink.Config{UserAgent: "MyCompany"}.OpenProject(...)
uplink.Config{UserAgent: "MyCompany"}.OpenProject(...)
Previous
AWS SDK Nodejs