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

Add Full Object Checksum API #2026

Merged
merged 6 commits into from
Dec 7, 2024

Conversation

klauspost
Copy link
Contributor

Add support for full object checksums as described here:

https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html

To enable, use ChecksumCRC64NVME, ChecksumFullObjectCRC32 or ChecksumFullObjectCRC32C as checksum type when uploading.

Mint tests updated, but can be disabled with MINT_NO_FULL_OBJECT=anything env var.

PR will fail against community MinIO without above env var.

Validated against AWS S3.

Add support for full object checksums as described here:

https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html

To enable, use `ChecksumCRC64NVME`, `ChecksumFullObjectCRC32` or `ChecksumFullObjectCRC32C` as checksum type when uploading.

Mint tests updated, but can be disabled with `MINT_NO_FULL_OBJECT=anything` env var.

PR will fail against community MinIO without above env var.
@klauspost klauspost requested a review from aead December 3, 2024 17:10
utils_test.go Outdated Show resolved Hide resolved
utils.go Outdated Show resolved Hide resolved
functional_tests.go Outdated Show resolved Hide resolved
Copy link
Contributor

@fwessels fwessels left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@harshavardhana harshavardhana merged commit fdef7d2 into minio:master Dec 7, 2024
5 checks passed
@klauspost klauspost deleted the full-object-checksums branch December 8, 2024 15:57
klauspost added a commit to klauspost/minio that referenced this pull request Dec 8, 2024
harshavardhana pushed a commit to minio/minio that referenced this pull request Dec 10, 2024
DennisRasey pushed a commit to DennisRasey/forgejo that referenced this pull request Jan 7, 2025
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) | require | patch | `v7.0.78` -> `v7.0.83` |

---

### Release Notes

<details>
<summary>minio/minio-go (github.com/minio/minio-go/v7)</summary>

### [`v7.0.83`](minio/minio-go@v7.0.82...v7.0.83)

[Compare Source](minio/minio-go@v7.0.82...v7.0.83)

### [`v7.0.82`](https://github.com/minio/minio-go/releases/tag/v7.0.82): Bugfix Release

[Compare Source](minio/minio-go@v7.0.81...v7.0.82)

#### What's Changed

-   sts: Send the refresh token in the login redirect URL by [@&#8203;vadmeste](https://github.com/vadmeste) in minio/minio-go#2025
-   Fix duplicate API call on `obj.Stat()` by [@&#8203;OrkhanAlikhanov](https://github.com/OrkhanAlikhanov) in minio/minio-go#2028
-   Fix for tests running in mint vs locally by [@&#8203;marktheunissen](https://github.com/marktheunissen) in minio/minio-go#2029
-   Add Full Object Checksum API by [@&#8203;klauspost](https://github.com/klauspost) in minio/minio-go#2026
-   Read ChecksumAlgorithm and ChecksumType from ListParts by [@&#8203;klauspost](https://github.com/klauspost) in minio/minio-go#2032
-   Bump golang.org/x/crypto from 0.28.0 to 0.31.0 in /examples/s3 by [@&#8203;dependabot](https://github.com/dependabot) in minio/minio-go#2033

#### New Contributors

-   [@&#8203;OrkhanAlikhanov](https://github.com/OrkhanAlikhanov) made their first contribution in minio/minio-go#2028

**Full Changelog**: minio/minio-go@v7.0.81...v7.0.82

### [`v7.0.81`](https://github.com/minio/minio-go/releases/tag/v7.0.81): Bugfix Release

[Compare Source](minio/minio-go@v7.0.80...v7.0.81)

#### What's Changed

-   PromptObject API support by [@&#8203;sidharthrajaram](https://github.com/sidharthrajaram) in minio/minio-go#2015
-   Fix new lint errors by [@&#8203;klauspost](https://github.com/klauspost) in minio/minio-go#2020
-   functional tests: move client creation into a reusable function by [@&#8203;marktheunissen](https://github.com/marktheunissen) in minio/minio-go#2022
-   Adjust testPresignedPostPolicy to ensure that GetObject... by [@&#8203;marktheunissen](https://github.com/marktheunissen) in minio/minio-go#1996
-   Add refresh token to WebIdentity OpenID response by [@&#8203;vadmeste](https://github.com/vadmeste) in minio/minio-go#2023

#### New Contributors

-   [@&#8203;sidharthrajaram](https://github.com/sidharthrajaram) made their first contribution in minio/minio-go#2015

**Full Changelog**: minio/minio-go@v7.0.80...v7.0.81

### [`v7.0.80`](https://github.com/minio/minio-go/releases/tag/v7.0.80): Bugfix Release

[Compare Source](minio/minio-go@v7.0.79...v7.0.80)

#### What's Changed

-   Add support for AllVersionsExpiration ilm rule by [@&#8203;dhananjaykrutika](https://github.com/dhananjaykrutika) in minio/minio-go#2014
-   retry: make max retries configurable by [@&#8203;ashwanthgoli](https://github.com/ashwanthgoli) in minio/minio-go#2013

#### New Contributors

-   [@&#8203;dhananjaykrutika](https://github.com/dhananjaykrutika) made their first contribution in minio/minio-go#2014
-   [@&#8203;ashwanthgoli](https://github.com/ashwanthgoli) made their first contribution in minio/minio-go#2013

**Full Changelog**: minio/minio-go@v7.0.79...v7.0.80

### [`v7.0.79`](https://github.com/minio/minio-go/releases/tag/v7.0.79): Bugfix Release

[Compare Source](minio/minio-go@v7.0.78...v7.0.79)

#### What's Changed

-   Update remove bucket replication reference by [@&#8203;emmanuel-ferdman](https://github.com/emmanuel-ferdman) in minio/minio-go#2006
-   Only retry multi-part upload as single-part upload on GCS endpoints by [@&#8203;ramondeklein](https://github.com/ramondeklein) in minio/minio-go#2012

#### New Contributors

-   [@&#8203;emmanuel-ferdman](https://github.com/emmanuel-ferdman) made their first contribution in minio/minio-go#2006

**Full Changelog**: minio/minio-go@v7.0.78...v7.0.79

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "* 0-3 * * *" (UTC), Automerge - "* 0-3 * * *" (UTC).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS45MS4wIiwidXBkYXRlZEluVmVyIjoiMzkuOTEuMCIsInRhcmdldEJyYW5jaCI6ImZvcmdlam8iLCJsYWJlbHMiOlsiZGVwZW5kZW5jeS11cGdyYWRlIiwidGVzdC9ub3QtbmVlZGVkIl19-->

Co-authored-by: Gusted <[email protected]>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6479
Reviewed-by: Gusted <[email protected]>
Co-authored-by: Renovate Bot <[email protected]>
Co-committed-by: Renovate Bot <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants