Skip to content

Commit

Permalink
app: cleanup the space a bit
Browse files Browse the repository at this point in the history
* remove trailing space from titles
* remove paragraph trailing spaces
* remove leading paragraph spaces
* remove regular trailing spaces
* fix additional line endings
  • Loading branch information
egonelbre authored Aug 30, 2023
1 parent 6ddbaaf commit 4c25c31
Show file tree
Hide file tree
Showing 131 changed files with 494 additions and 497 deletions.
2 changes: 1 addition & 1 deletion app/dcs/access/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ The Access Grant screen allows you to create or delete Access Grants, generate c
Keep your full-rights Access Grant secret, it contains the encryption key and will enable uploading, downloading or deleting your data from the entire project!
{% /callout %}

9. Your Access Grant should have been output. 
9. Your Access Grant should have been output.

{% callout type="success" %}
The alternative for using the uplink setup command and then uplink share is to use the `uplink access create` command instead, it will print the Access Grant right away.
Expand Down
8 changes: 4 additions & 4 deletions app/dcs/api/s3/multipart-upload/multipart-part-size/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,22 @@ metadata:
The site of the Multipart Parts your application uploads can impact the performance and potentially the cost of your storage on Storj DCS.

{% callout type="info" %}
For best performance and cost with Storj DCS, you should plan to configure your AWS S3 client library to use a larger part size than standard. Not doing so could result in much higher fees. 
For best performance and cost with Storj DCS, you should plan to configure your AWS S3 client library to use a larger part size than standard. Not doing so could result in much higher fees.

We recommend 64MB.
{% /callout %}

## Background

When an object is uploaded using Multipart Upload, a file is first broken into parts, each part of a Multipart Upload is also stored as one or more Segments. With Multipart Upload, a single object is uploaded as a set of parts. 
When an object is uploaded using Multipart Upload, a file is first broken into parts, each part of a Multipart Upload is also stored as one or more Segments. With Multipart Upload, a single object is uploaded as a set of parts.

The ideal part size for large files is 64MB, so that there is one Segment per part. Using a smaller Part size will result in a significant increase in the number of segments stored on Storj DCS. At large scale, this could impact both the performance and cost of your storage.

Learn more about [](docId:A4kUGYhfgGbVhlQ2ZHXVS).

Each part is an integral portion of the data comprising the object. The object parts may be uploaded independently, in parallel, and in any order. Uploads may be paused and resumed by uploading an initial set of parts, then resuming and uploading the remaining parts. If the upload of any part fails, that part may be re-uploaded without impacting the upload of other parts. 
Each part is an integral portion of the data comprising the object. The object parts may be uploaded independently, in parallel, and in any order. Uploads may be paused and resumed by uploading an initial set of parts, then resuming and uploading the remaining parts. If the upload of any part fails, that part may be re-uploaded without impacting the upload of other parts.

All of these parts are broken into one or more Segments by the Storj DCS Gateway based on whether the Part Size is smaller or larger than the default Segment size. While Multipart Upload is most appropriate for files larger than the 64MB default Segment size, the Part Size is configurable in applications that use Multipart Upload. 
All of these parts are broken into one or more Segments by the Storj DCS Gateway based on whether the Part Size is smaller or larger than the default Segment size. While Multipart Upload is most appropriate for files larger than the 64MB default Segment size, the Part Size is configurable in applications that use Multipart Upload.

### Configuration for the AWS CLI

Expand Down
10 changes: 5 additions & 5 deletions app/dcs/api/s3/multipart-upload/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ metadata:

Understanding how to use Multipart Upload with the Storj DCS globally distributed, multi-region cloud-hosted S3-compatible gateway

Multipart Upload is a function that allows large files to be broken up into smaller pieces for more efficient uploads. When an object is uploaded using Multipart Upload, a file is first broken into parts, each part of a Multipart Upload is also stored as one or more Segments. With Multipart Upload, a single object is uploaded as a set of parts. 
Multipart Upload is a function that allows large files to be broken up into smaller pieces for more efficient uploads. When an object is uploaded using Multipart Upload, a file is first broken into parts, each part of a Multipart Upload is also stored as one or more Segments. With Multipart Upload, a single object is uploaded as a set of parts.

Each part is an integral portion of the data comprising the object. The object parts may be uploaded independently, in parallel, and in any order. Uploads may be paused and resumed by uploading an initial set of parts, then resuming and uploading the remaining parts. If the upload of any part fails, that part may be re-uploaded without impacting the upload of other parts.

 All of these parts are broken into one or more Segments by the Storj DCS Gateway based on whether the Part Size is smaller or larger than the default Segment size. While Multipart Upload is most appropriate for files larger than the 64MB default Segment size, the Part Size is configurable in applications that use Multipart Upload. 
All of these parts are broken into one or more Segments by the Storj DCS Gateway based on whether the Part Size is smaller or larger than the default Segment size. While Multipart Upload is most appropriate for files larger than the 64MB default Segment size, the Part Size is configurable in applications that use Multipart Upload.

## Using Multipart Upload 
## Using Multipart Upload

Multipart upload takes a single object and divides it into encapsulated pieces to be uploaded, with all the pieces representing the complete object. Once all the pieces are completely uploaded the platform will assemble the pieces into a single logical object. The purpose of providing multipart capability is to more easily resume and manage transfers of larger files so developers will want to take advantage of this capability within their applications.

Expand All @@ -28,7 +28,7 @@ Multipart upload takes a single object and divides it into encapsulated pieces t

- **Streaming** - When the size of the object is unknown you can upload parts of the object until specifically completing the operation.

- **Resuming Operations** - If connectivity is disrupted you can resume uploading pieces anytime after the multipart process is initiated.  
- **Resuming Operations** - If connectivity is disrupted you can resume uploading pieces anytime after the multipart process is initiated.

## Workflow for Multipart upload

Expand All @@ -44,7 +44,7 @@ At the start of a multipart upload, Storj DCS will return an ID that you use to

While uploading an object part you need to specify the ID received when you created the multipart upload along with a unique part number that your specific call will be sending to the platform. Because of the capability of multipart upload to work non sequentially, you can upload any part at any time before the multipart upload is completed. Additionally, you can over right existing parts numbers you've previously transferred as long as the multipart upload has not been completed. Part numbers are chosen by the client and are between 1 and 2^31. When a part is uploaded, the Storj DCS platform will return several items, one of which is an ETag. To complete the multipart upload process you will need to provide a list of part IDs and their corresponding ETags.

Be advised that billing occurs when data is stored on the Storj DCS platform - as such - when you initiate a multipart upload and begin uploading parts, charges will be applied based on the amount of space the parts occupy. Billing will occur regardless of a multipart upload being completed.  
Be advised that billing occurs when data is stored on the Storj DCS platform - as such - when you initiate a multipart upload and begin uploading parts, charges will be applied based on the amount of space the parts occupy. Billing will occur regardless of a multipart upload being completed.

### Completing a multipart upload

Expand Down
8 changes: 4 additions & 4 deletions app/dcs/api/s3/presigned-urls/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,19 @@ metadata:

Creating presigned URLs for Storj DCS - HTTP POST & GET to a URL

All objects and paths are private and encrypted by default. However, it is possible to use a pre-signed URL via our S3-compatible gateway to enable unauthenticated customers/users to upload objects to buckets or access objects in buckets without providing an [](docId:XKib9SzjtEXTXWvdyYWX6) or [](docId:AsyYcUJFbO1JI8-Tu8tW3). 
All objects and paths are private and encrypted by default. However, it is possible to use a pre-signed URL via our S3-compatible gateway to enable unauthenticated customers/users to upload objects to buckets or access objects in buckets without providing an [](docId:XKib9SzjtEXTXWvdyYWX6) or [](docId:AsyYcUJFbO1JI8-Tu8tW3).

## HTTP GET vs Storj Linkshare Service

While we support this behavior via the S3-compatible pre-signed URL function, as an alternative to sharing with a customer/user via a GET, consider utilizing our [](docId:sN2GhYgGUtqBVF65GhKEa). One advantage of this approach is the ability to easily create perpetual share links, valid until you remove them or until a configurable end date of any duration. You can even [host a static website](docId:GkgE6Egi02wRZtyryFyPz) via Linkshare.

## Tutorial 
## Tutorial

The goal of the following tutorial is to guide you in the creation of pre-signed URLs for storage DCS using a Python script and our multi-tenant hosted gateway.

Our lab example took place on MacOSX and used BREW as a package manager. Depending on your host operating system, you will need to use the appropriate package manager to fetch the prerequisites listed below. 
Our lab example took place on MacOSX and used BREW as a package manager. Depending on your host operating system, you will need to use the appropriate package manager to fetch the prerequisites listed below.

Our implementation of the S3 standard allows additional configuration options. Please reference the official [AWS S3 User Guide](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html) for additional details. 
Our implementation of the S3 standard allows additional configuration options. Please reference the official [AWS S3 User Guide](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html) for additional details.

### Prerequisites

Expand Down
6 changes: 3 additions & 3 deletions app/dcs/api/s3/s3-compatible-gateway/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ See [the compatibility table for GatewayST](https://github.com/storj/gateway-st/

### Security and encryption

Where the Storj network really excels compared to centralized providers is in its privacy and security, so we’d be remiss in not addressing these topics specifically as they pertain to S3. 
Where the Storj network really excels compared to centralized providers is in its privacy and security, so we’d be remiss in not addressing these topics specifically as they pertain to S3.

The distributed security tokens (access grants) that Storj typically uses (via libuplink, etc.) contain too much detail to fit into an S3 access key or secret key field. Storj offers an S3-specific authorization service, which maps S3-compatible credentials to a Storj access grant. This service saves access grants encrypted into a database. The access grants are individually encrypted using information from the much shorter returned access key, which is not stored in our auth service. Access grants never remain decrypted longer than they are needed, and only a hash of the access key is ever persisted. In short, the system is designed to protect your data at rest. 
The distributed security tokens (access grants) that Storj typically uses (via libuplink, etc.) contain too much detail to fit into an S3 access key or secret key field. Storj offers an S3-specific authorization service, which maps S3-compatible credentials to a Storj access grant. This service saves access grants encrypted into a database. The access grants are individually encrypted using information from the much shorter returned access key, which is not stored in our auth service. Access grants never remain decrypted longer than they are needed, and only a hash of the access key is ever persisted. In short, the system is designed to protect your data at rest.

### Benefits

Expand All @@ -44,7 +44,7 @@ There are two primary ways to get started using our hosted S3 gateway and get is

The first main way is to use the web wizard in the Satellite web interface. The web wizard is simple and easy to use, but lacks some configurability, like the ability to restrict to specific prefixes within a bucket or use a different auth service. If you need those features, consider the CLI, farther below.

After logging in, create a new access grant and select "continue in browser." 
After logging in, create a new access grant and select "continue in browser."

![](https://link.storjshare.io/raw/jua7rls6hkx5556qfcmhrqed2tfa/docs/images/DIo-yHe7nogLu4JXyGztm_s3-01.png)

Expand Down
4 changes: 2 additions & 2 deletions app/dcs/api/sdk/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ redirects:
- /dcs/api-reference/storj-client-libraries
---

The `libuplink` developer library is written for the Go language. This will allow you to integrate with the object store programmatically. 
The `libuplink` developer library is written for the Go language. This will allow you to integrate with the object store programmatically.

`libuplink` contains a number of interesting components, including pre-written code and subroutines, classes, values or type specifications, message templates, configuration walkthroughs, and great documentation.

Storj DCS currently has community contributed bindings for Python, Swift, .Net, PHP, and Node.js.  
Storj DCS currently has community contributed bindings for Python, Swift, .Net, PHP, and Node.js.

Below are Storj's provided bindings:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ uplink access register <flags> <ACCESS-GRANT>

## Example

Once you have an access grant from the [](docId:OXSINcFRuVMBacPvswwNU) or `uplink share` you can register it with a GatewayMT auth service and designate the access to be public (no secret ket necessary to access) or private. If you want to use it to host a static site or share a URL, you must create a public access.&#x20;
Once you have an access grant from the [](docId:OXSINcFRuVMBacPvswwNU) or `uplink share` you can register it with a GatewayMT auth service and designate the access to be public (no secret ket necessary to access) or private. If you want to use it to host a static site or share a URL, you must create a public access.

{% code-group %}

Expand Down
4 changes: 2 additions & 2 deletions app/dcs/api/uplink-cli/cp-command/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ The `cp` command is used to upload and download objects. The `cp` command abstra

## Copy a local file into an existing bucket

When the `cp` command is used to copy a file to Storj DCS (upload), the CLI first encrypts the file client-side, then splits it into a minimum of x erasure-coded pieces, and finally, the x pieces are uploaded in parallel to x different storage nodes. x currently equals 80 but is subject to change depending on continuous optimization.&#x20;
When the `cp` command is used to copy a file to Storj DCS (upload), the CLI first encrypts the file client-side, then splits it into a minimum of x erasure-coded pieces, and finally, the x pieces are uploaded in parallel to x different storage nodes. x currently equals 80 but is subject to change depending on continuous optimization.

To copy `cheesecake.jpg` into the existing bucket `cakes`, use the following command:

Expand Down Expand Up @@ -76,7 +76,7 @@ Output:

### Copy a file from a bucket to a local drive

When the `cp` command is used to copy a file from Storj DCS (download), the CLI first downloads the minimum number of pieces to reconstitute a file (typically 29 pieces), then re-encodes the pieces into a single file, and finally decrypts the file client-side.&#x20;
When the `cp` command is used to copy a file from Storj DCS (download), the CLI first downloads the minimum number of pieces to reconstitute a file (typically 29 pieces), then re-encodes the pieces into a single file, and finally decrypts the file client-side.

To copy a file from a project to a local drive, use:

Expand Down
4 changes: 2 additions & 2 deletions app/dcs/api/uplink-cli/installation/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ weight: 0

The native CLI tool for Storj DCS/OSP

First, [](docId:HeEf9wiMdlQx9ZdS_-oZS).&#x20;
First, [](docId:HeEf9wiMdlQx9ZdS_-oZS).

**Install** the binary for your OS:

Expand Down Expand Up @@ -89,4 +89,4 @@ Direct Download
{% /tab %}
{% /tabs %}

Then, check [](docId:TbMdOGCAXNWyPpQmH6EOq)&#x20;
Then, check [](docId:TbMdOGCAXNWyPpQmH6EOq)
2 changes: 1 addition & 1 deletion app/dcs/api/uplink-cli/ls-command/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ redirects:
- /dcs/api-reference/uplink-cli/ls-command
---

&#x20;List objects and prefixes or all buckets
List objects and prefixes or all buckets

## Usage

Expand Down
6 changes: 3 additions & 3 deletions app/dcs/api/uplink-cli/meta-command/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ uplink meta [command]

## Child commands

| Command | Description |
| :------------------------------------ | :---------------------------- |
| [](docId:0u8rcWLCr1hwNmWRnyvgn)&#x20; | Get a Storj object's metadata |
| Command | Description |
| :------------------------------- | :---------------------------- |
| [](docId:0u8rcWLCr1hwNmWRnyvgn) | Get a Storj object's metadata |

## Flags

Expand Down
2 changes: 1 addition & 1 deletion app/dcs/api/uplink-cli/setup-command/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ If you would like to choose your own access name, please be sure to only use low
Enter name to import as [default: main]:
```

&#x20;3\. Enter the [](docId:OXSINcFRuVMBacPvswwNU) you generated:
3\. Enter the [](docId:OXSINcFRuVMBacPvswwNU) you generated:

```Text
Enter API key or Access grant:
Expand Down
4 changes: 2 additions & 2 deletions app/dcs/api/uplink-cli/share-command/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ Access : 12BncZWg9xc4GyXCgCi3YvBg...

### Register with Gateway MT

Generate credentials to use with our S3 multitenant gateway: [](docId:AsyYcUJFbO1JI8-Tu8tW3)&#x20;
Generate credentials to use with our S3 multitenant gateway: [](docId:AsyYcUJFbO1JI8-Tu8tW3)

{% code-group %}

Expand Down Expand Up @@ -205,7 +205,7 @@ REMINDER : Object key must end in '/' when trying to share recursively
URL : https://link.storjshare.io/s/jvguri.../cakes
```

Also note that the URL uses the same Gateway MT access key, so if you have that already, you don't necessarily need to run this command to generate a shareable link.&#x20;
Also note that the URL uses the same Gateway MT access key, so if you have that already, you don't necessarily need to run this command to generate a shareable link.

`https://link.storjshare.io/s/<access key>/<object path>`

Expand Down
2 changes: 1 addition & 1 deletion app/dcs/buckets/object-listings/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ If your S3-compatible app requires object listings to be lexicographically sorte
[](docId:XKib9SzjtEXTXWvdyYWX6) determine the access to objects and how they are encrypted, including their object key. Follow these steps to create an access grant with disabled encryption for object keys and register it as S3 credentials.

{% callout type="info" %}
The following instructions cannot be executed entirely in the Satellite Console and require the final steps to be completed with the Uplink CLI (v1.76 or later).&#x20;
The following instructions cannot be executed entirely in the Satellite Console and require the final steps to be completed with the Uplink CLI (v1.76 or later).
{% /callout %}

1. Log in to the Satellite Console and follow the steps to [](docId:OXSINcFRuVMBacPvswwNU).
Expand Down
2 changes: 1 addition & 1 deletion app/dcs/code/partner-program-tools/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ How to configure the User agent for partner value attribution from commandline,

## Partner Program

The Storj Partner Ecosystem enables developers to build Storj DCS Connectors, which their customers can use to store data on Storj DSC.&#x20;
The Storj Partner Ecosystem enables developers to build Storj DCS Connectors, which their customers can use to store data on Storj DSC.

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 DCS 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.

Expand Down
Loading

0 comments on commit 4c25c31

Please sign in to comment.