Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove reference to beta for object lock and versioning #458

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 11 additions & 36 deletions app/(docs)/dcs/api/s3/object-lock/page.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,21 @@
---
title: Object Lock (Beta)
title: Object Lock
docId: gjrGzPNnhpYrAGTTAUaj
metadata:
description: Detailed guide on the Beta of object lock
title: 'Object Lock (Beta)'
description: S3 Guide to Object Lock
title: 'Object Lock'
---
{% callout type="info" %}
**Beta Service Release**
Object Lock allows you to protect objects from being deleted or overwritten for a specified period or indefinitely. Object Lock operates in three modes:

S3-Compatible Object Lock is currently available as pre-production beta and may not be suitable for all production environments.
- **Governance Mode**: Protects objects against accidental deletion but allows authorized users to bypass the lock.
- **Compliance Mode**: Provides immutable protection; no user can delete or modify the object until the retention period expires.
- **Legal Hold**: Prevents an object from being deleted until the legal hold is explicitly removed, regardless of retention settings.

Please refer to our [Terms of Service](https://www.storj.io/legal/terms-of-service) for more information on release definitions.
{% /callout %}
{% partial file="override-governance-mode-callout.md" /%}

## Summary

### Overview
Storj is currently developing [](docId:oogh5vaiGei6atohm5thi). As part of that development, we have released an early Beta Service Release, which includes **S3-Compatible Object Lock**, that can be used to evaluate the functionality.

## Beta Opt-In Instructions
To gain access to S3-compatible Object Lock, you'll need to opt into the **Object Versioning Beta** following the steps below:
{% partial file="versioning-opt-in.md" /%}

## Enabling Object Lock on a Bucket
{% callout type="info" %}
Object Lock is not backwards compatible with existing buckets—a new bucket must be created to enable Object Lock.
{% /callout %}

{% partial file="create-bucket.md" /%}

### FAQ
- **When will Object Lock be fully released?**
- Object lock will be released soon - the target is December 2024 or January 2025
- **Why would I test this Beta?**
- If you plan to conduct a proof of concept or want to test a a pre-production instance of an integration that utilizes object lock.
- **How do I test the Beta?**
- See instructions above
- **How do I give feedback or request features related to Object Lock?**
- Our roadmap is public. Here are the relevant roadmap items:
- [S3 Object Lock: Compliance Mode](https://github.com/storj/roadmap/issues/47)
- [S3 Object Lock: Add Governance Mode and Legal Hold](https://github.com/storj/roadmap/issues/98)
- You may also submit a support request here: [https://support.storj.io/hc/en-us/requests/new](https://support.storj.io/hc/en-us/requests/new)
## Using Object Lock
- For enabling object lock, and setting bucket level defaults please see [](docId:e94a86fc-3deb-42f0-b7fe-1f80c675930a)
- For object lock related object operations please see [](docId:uyuWpwchZx29f28UGAILP)

## Technical Details
### New S3 Actions Supported:
Expand Down
29 changes: 6 additions & 23 deletions app/(docs)/dcs/api/s3/object-versioning/page.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Object Versioning (Beta)
title: Object Versioning
docId: oogh5vaiGei6atohm5thi
metadata:
description: Detailed guide on enabling object versioning for buckets
Expand All @@ -8,26 +8,9 @@ redirects:
- /dcs/buckets/object-versioning
---

{% callout type="info" %}
**Beta Service Release**

S3-Compatible Object Versioning is currently available as pre-production beta and may not be suitable for all production environments.

Please refer to our [Terms of Service](https://www.storj.io/legal/terms-of-service) for more information on release definitions.
{% /callout %}


## How do I opt in to the object versioning beta?

To opt in to the object versioning beta, you can follow these steps:

{% partial file="versioning-opt-in.md" /%}

## How does object versioning work?

Object versioning enables you to preserve, retrieve, and restore every version of every object stored in a bucket. This feature adds an extra layer of data protection and recovery options, allowing you to safeguard against accidental deletions and overwrites.

### Key Features of Object Versioning
## Key Features of Object Versioning

- **S3 Compatibility:** Storj's object versioning is designed to be compatible with the S3 API. This means you can use existing S3 SDKs and tools to manage versioned objects, making it easy to integrate into your current workflows.

Expand All @@ -41,23 +24,23 @@ Object versioning enables you to preserve, retrieve, and restore every version o
Note that enabling object versioning can increase storage costs since each version of an object is stored separately.
{% /callout %}

### Supported S3 API Methods for Object Versioning
## Supported S3 API Methods for Object Versioning

Storj's S3-Compatible Object Versioning supports a range of S3 API methods, allowing you to manage and interact with versioned objects. Below are the key S3 API methods supported by Storj's object versioning, along with a brief description of their use:

#### Bucket Operations
### Bucket Operations

- **PUT Bucket versioning**: Enables or suspends versioning for a bucket.
- **GET Bucket versioning**: Retrieves the versioning state of a bucket.

#### Object Operations
### Object Operations

- **PUT Object**: Adds an object to a bucket. If versioning is enabled, a unique version ID is assigned to the object.
- **GET Object**: Retrieves the current version of an object or a specific version if the version ID is specified.
- **DELETE Object**: Permanently deletes a version of an object if the version ID is provided, or marks the current version as deleted by adding a delete marker.
- **LIST Versions**: Lists all the versions of all objects in a bucket, including delete markers.

### Bucket Versioning Status
## Bucket Versioning Status

The following are the possible versioning statuses a bucket can be in:

Expand Down
18 changes: 9 additions & 9 deletions app/(docs)/dcs/api/s3/s3-compatibility/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,13 +55,13 @@ The Storj S3-compatible Gateway supports a RESTful API that is compatible with t
| GetBucketReplication | No | |
| GetBucketRequestPayment | No | Planned support status needs verification |
| GetBucketTagging | No | |
| GetBucketVersioning | Yes (Beta) | |
| GetBucketVersioning | Yes | [](docId:oogh5vaiGei6atohm5thi) |
| GetBucketWebsite | No | |
| GetObject | Partial | We need to add support for the partNumber parameter |
| GetObjectAcl | No | |
| GetObjectLegalHold | No | Currently in active development. See [](docId:gjrGzPNnhpYrAGTTAUaj) |
| GetObjectLockConfiguration | No | Currently in active development. See [](docId:gjrGzPNnhpYrAGTTAUaj) |
| GetObjectRetention | Yes (Beta) | [](docId:gjrGzPNnhpYrAGTTAUaj) |
| GetObjectLegalHold | Yes | [](docId:gjrGzPNnhpYrAGTTAUaj) |
| GetObjectLockConfiguration | Yes | [](docId:gjrGzPNnhpYrAGTTAUaj) |
| GetObjectRetention | Yes | [](docId:gjrGzPNnhpYrAGTTAUaj) |
| GetObjectTagging | Full | Tags can be modified outside of tagging endpoints |
| GetObjectTorrent | No | |
| GetPublicAccessBlock | No | |
Expand All @@ -73,7 +73,7 @@ The Storj S3-compatible Gateway supports a RESTful API that is compatible with t
| ListBucketMetricsConfigurations | No | |
| ListBuckets | Full | |
| ListMultipartUploads | Partial | See ListMultipartUploads section |
| ListObjectVersions | Yes (Beta) | [](docId:gjrGzPNnhpYrAGTTAUaj) |
| ListObjectVersions | Yes | [](docId:oogh5vaiGei6atohm5thi) |
| ListObjects | Partial | See ListObjects section |
| ListObjectsV2 | Partial | See ListObjects section |
| ListParts | Full | |
Expand All @@ -95,13 +95,13 @@ The Storj S3-compatible Gateway supports a RESTful API that is compatible with t
| PutBucketReplication | No | |
| PutBucketRequestPayment | No | Planned support status needs verification |
| PutBucketTagging | No | |
| PutBucketVersioning | Yes (Beta) | [](docId:gjrGzPNnhpYrAGTTAUaj) |
| PutBucketVersioning | Yes | [](docId:oogh5vaiGei6atohm5thi) |
| PutBucketWebsite | No | |
| PutObject | Full | |
| PutObjectAcl | No | |
| PutObjectLegalHold | No | |
| PutObjectLockConfiguration | No | Currently in active development. See [](docId:gjrGzPNnhpYrAGTTAUaj) |
| PutObjectRetention | Yes (Beta) | [](docId:gjrGzPNnhpYrAGTTAUaj) |
| PutObjectLegalHold | Yes | [](docId:gjrGzPNnhpYrAGTTAUaj) |
| PutObjectLockConfiguration | Yes | [](docId:gjrGzPNnhpYrAGTTAUaj) |
| PutObjectRetention | Yes | [](docId:gjrGzPNnhpYrAGTTAUaj) |
| PutObjectTagging | Full | Tags can be modified outside of tagging endpoints |
| PutPublicAccessBlock | No | |
| RestoreObject | No | |
Expand Down
2 changes: 1 addition & 1 deletion app/(docs)/dcs/buckets/object-lock/page.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Object Lock (Beta)
title: Object Lock
docId: e94a86fc-3deb-42f0-b7fe-1f80c675930a
weight: 1
metadata:
Expand Down
26 changes: 25 additions & 1 deletion app/(docs)/dcs/objects/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ aws s3api put-object-retention \

### Extending Retention Period

Retention periods can only be extended, not reduced or removed.
Retention periods can only be extended, not reduced. The Storj Console currently doesn't allow to remove it.

{% tabs %}

Expand Down Expand Up @@ -211,3 +211,27 @@ aws s3api put-object-retention \
{% /tab %}

{% /tabs %}

### Bypassing Governance Mode
The Storj User with enough permissions may also remove the retention period for the Governance Mode Object Lock using AWS SDK or AWS CLI.
The Storj Console currently doesn't support this feature.

{% partial file="override-governance-mode-callout.md" /%}

{% tabs %}

{% tab label="aws cli" %}

```shell {% title="aws cli" %}
aws s3api put-object-retention \
--bucket my-object-lock-bucket \
--key my-file.txt \
--version-id <version-id> \
--retention "{}" \
--bypass-governance-retention \
--endpoint-url https://gateway.storjshare.io
```

{% /tab %}

{% /tabs %}
2 changes: 1 addition & 1 deletion app/(docs)/dcs/third-party-tools/veeam/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ Setting a value higher than 64 can increase throughput backing up (offloading) t
{% callout type="info" %}
**Immutability Requirements**

Veeam's immutability setting uses S3-Compatible Object Lock, which is currently in Beta. For more information and instructions on setting up your bucket with Object Lock, please refer to our documentation here: [](docId:gjrGzPNnhpYrAGTTAUaj).
Veeam's immutability setting uses S3-Compatible Object Lock. For more information and instructions on setting up your bucket with Object Lock, please refer to our documentation here: [](docId:e94a86fc-3deb-42f0-b7fe-1f80c675930a).
{% /callout %}
![](https://link.storjshare.io/raw/jua7rls6hkx5556qfcmhrqed2tfa/docs/images/YOE-le-vX4D0wfn7tnrey_archiverepositorys3cbucket.png)

Expand Down
Loading