forked from TrueCloudLab/frostfs-s3-gw
Merge pull request #27 from nspcc-dev/docs/24-add_aws_s3_compat_list
Docs/24 add aws s3 compat list
This commit is contained in:
commit
06b2d90ca2
11 changed files with 75 additions and 332 deletions
37
.github/ISSUE_TEMPLATE.md
vendored
37
.github/ISSUE_TEMPLATE.md
vendored
|
@ -1,37 +0,0 @@
|
||||||
<!--- Provide a general summary of the issue in the Title above -->
|
|
||||||
|
|
||||||
## Expected Behavior
|
|
||||||
<!--- If you're describing a bug, tell us what should happen -->
|
|
||||||
<!--- If you're suggesting a change/improvement, tell us how it should work -->
|
|
||||||
|
|
||||||
## Current Behavior
|
|
||||||
<!--- If describing a bug, tell us what happens instead of the expected behavior -->
|
|
||||||
<!--- If suggesting a change/improvement, explain the difference from current behavior -->
|
|
||||||
|
|
||||||
## Possible Solution
|
|
||||||
<!--- Not obligatory, but suggest a fix/reason for the bug, -->
|
|
||||||
<!--- or ideas how to implement the addition or change -->
|
|
||||||
|
|
||||||
## Steps to Reproduce (for bugs)
|
|
||||||
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
|
|
||||||
<!--- reproduce this bug. Include code to reproduce, if relevant -->
|
|
||||||
1.
|
|
||||||
2.
|
|
||||||
3.
|
|
||||||
4.
|
|
||||||
|
|
||||||
## Context
|
|
||||||
<!--- How has this issue affected you? What are you trying to accomplish? -->
|
|
||||||
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
|
|
||||||
|
|
||||||
## Regression
|
|
||||||
<!-- Is this issue a regression? (Yes / No) -->
|
|
||||||
<!-- If Yes, optionally please include minio version or commit id or PR# that caused this regression, if you have these details. -->
|
|
||||||
|
|
||||||
## Your Environment
|
|
||||||
<!--- Include as many relevant details about the environment you experienced the bug in -->
|
|
||||||
* Version used (`minio version`):
|
|
||||||
* Environment name and version (e.g. nginx 1.9.1):
|
|
||||||
* Server type and version:
|
|
||||||
* Operating System and version (`uname -a`):
|
|
||||||
* Link to your project:
|
|
46
.github/ISSUE_TEMPLATE/bug_report.md
vendored
46
.github/ISSUE_TEMPLATE/bug_report.md
vendored
|
@ -1,46 +0,0 @@
|
||||||
---
|
|
||||||
name: Bug report
|
|
||||||
about: Create a report to help us improve
|
|
||||||
title: ''
|
|
||||||
labels: community, triage
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
<!--- Provide a general summary of the issue in the Title above -->
|
|
||||||
|
|
||||||
## Expected Behavior
|
|
||||||
<!--- If you're describing a bug, tell us what should happen -->
|
|
||||||
<!--- If you're suggesting a change/improvement, tell us how it should work -->
|
|
||||||
|
|
||||||
## Current Behavior
|
|
||||||
<!--- If describing a bug, tell us what happens instead of the expected behavior -->
|
|
||||||
<!--- If suggesting a change/improvement, explain the difference from current behavior -->
|
|
||||||
|
|
||||||
## Possible Solution
|
|
||||||
<!--- Not obligatory, but suggest a fix/reason for the bug, -->
|
|
||||||
<!--- or ideas how to implement the addition or change -->
|
|
||||||
|
|
||||||
## Steps to Reproduce (for bugs)
|
|
||||||
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
|
|
||||||
<!--- reproduce this bug. Include code to reproduce, if relevant -->
|
|
||||||
1.
|
|
||||||
2.
|
|
||||||
3.
|
|
||||||
4.
|
|
||||||
|
|
||||||
## Context
|
|
||||||
<!--- How has this issue affected you? What are you trying to accomplish? -->
|
|
||||||
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
|
|
||||||
|
|
||||||
## Regression
|
|
||||||
<!-- Is this issue a regression? (Yes / No) -->
|
|
||||||
<!-- If Yes, optionally please include minio version or commit id or PR# that caused this regression, if you have these details. -->
|
|
||||||
|
|
||||||
## Your Environment
|
|
||||||
<!--- Include as many relevant details about the environment you experienced the bug in -->
|
|
||||||
* Version used (`minio version`):
|
|
||||||
* Environment name and version (e.g. nginx 1.9.1):
|
|
||||||
* Server type and version:
|
|
||||||
* Operating System and version (`uname -a`):
|
|
||||||
* Link to your project:
|
|
8
.github/ISSUE_TEMPLATE/config.yml
vendored
8
.github/ISSUE_TEMPLATE/config.yml
vendored
|
@ -1,8 +0,0 @@
|
||||||
blank_issues_enabled: false
|
|
||||||
contact_links:
|
|
||||||
- name: MinIO Community Support
|
|
||||||
url: https://slack.min.io
|
|
||||||
about: Please ask and answer questions here.
|
|
||||||
- name: MinIO SUBNET Support
|
|
||||||
url: https://min.io/pricing
|
|
||||||
about: Join this for Enterprise Support.
|
|
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
|
@ -1,20 +0,0 @@
|
||||||
---
|
|
||||||
name: Feature request
|
|
||||||
about: Suggest an idea for this project
|
|
||||||
title: ''
|
|
||||||
labels: community, triage
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**Is your feature request related to a problem? Please describe.**
|
|
||||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
|
||||||
|
|
||||||
**Describe the solution you'd like**
|
|
||||||
A clear and concise description of what you want to happen.
|
|
||||||
|
|
||||||
**Describe alternatives you've considered**
|
|
||||||
A clear and concise description of any alternative solutions or features you've considered.
|
|
||||||
|
|
||||||
**Additional context**
|
|
||||||
Add any other context or screenshots about the feature request here.
|
|
19
.github/PULL_REQUEST_TEMPLATE.md
vendored
19
.github/PULL_REQUEST_TEMPLATE.md
vendored
|
@ -1,19 +0,0 @@
|
||||||
## Description
|
|
||||||
|
|
||||||
|
|
||||||
## Motivation and Context
|
|
||||||
|
|
||||||
|
|
||||||
## How to test this PR?
|
|
||||||
|
|
||||||
|
|
||||||
## Types of changes
|
|
||||||
- [ ] Bug fix (non-breaking change which fixes an issue)
|
|
||||||
- [ ] New feature (non-breaking change which adds functionality)
|
|
||||||
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
|
|
||||||
|
|
||||||
## Checklist:
|
|
||||||
- [ ] Fixes a regression (If yes, please add `commit-id` or `PR #` here)
|
|
||||||
- [ ] Documentation needed
|
|
||||||
- [ ] Unit tests needed
|
|
||||||
- [ ] Functional tests needed (If yes, add [mint](https://github.com/minio/mint) PR # here: )
|
|
39
.github/lock.yml
vendored
39
.github/lock.yml
vendored
|
@ -1,39 +0,0 @@
|
||||||
# Configuration for Lock Threads - https://github.com/dessant/lock-threads-app
|
|
||||||
|
|
||||||
# Number of days of inactivity before a closed issue or pull request is locked
|
|
||||||
daysUntilLock: 365
|
|
||||||
|
|
||||||
# Skip issues and pull requests created before a given timestamp. Timestamp must
|
|
||||||
# follow ISO 8601 (`YYYY-MM-DD`). Set to `false` to disable
|
|
||||||
skipCreatedBefore: false
|
|
||||||
|
|
||||||
# Issues and pull requests with these labels will be ignored. Set to `[]` to disable
|
|
||||||
exemptLabels: []
|
|
||||||
|
|
||||||
# Label to add before locking, such as `outdated`. Set to `false` to disable
|
|
||||||
lockLabel: false
|
|
||||||
|
|
||||||
# Comment to post before locking. Set to `false` to disable
|
|
||||||
lockComment: >-
|
|
||||||
|
|
||||||
This thread has been automatically locked since there has not been
|
|
||||||
any recent activity after it was closed. Please open a new issue for
|
|
||||||
related bugs.
|
|
||||||
|
|
||||||
# Assign `resolved` as the reason for locking. Set to `false` to disable
|
|
||||||
setLockReason: true
|
|
||||||
|
|
||||||
# Limit to only `issues` or `pulls`
|
|
||||||
only: issues
|
|
||||||
|
|
||||||
# Optionally, specify configuration settings just for `issues` or `pulls`
|
|
||||||
# issues:
|
|
||||||
# exemptLabels:
|
|
||||||
# - help-wanted
|
|
||||||
# lockLabel: outdated
|
|
||||||
|
|
||||||
# pulls:
|
|
||||||
# daysUntilLock: 30
|
|
||||||
|
|
||||||
# Repository to extend settings from
|
|
||||||
# _extends: repo
|
|
1
.github/logo.svg
vendored
1
.github/logo.svg
vendored
|
@ -1 +0,0 @@
|
||||||
<svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 162.612 24.465"><path d="M52.751.414h9.108v23.63h-9.108zM41.711.74l-18.488 9.92a.919.919 0 0 1-.856 0L3.879.74A2.808 2.808 0 0 0 2.558.414h-.023A2.4 2.4 0 0 0 0 2.641v21.376h9.1V13.842a.918.918 0 0 1 1.385-.682l10.361 5.568a3.634 3.634 0 0 0 3.336.028l10.933-5.634a.917.917 0 0 1 1.371.69v10.205h9.1V2.641A2.4 2.4 0 0 0 43.055.414h-.023a2.808 2.808 0 0 0-1.321.326zm65.564-.326h-9.237v10.755a.913.913 0 0 1-1.338.706L72.762.675a2.824 2.824 0 0 0-1.191-.261h-.016a2.4 2.4 0 0 0-2.535 2.227v21.377h9.163V13.275a.914.914 0 0 1 1.337-.707l24.032 11.2a2.813 2.813 0 0 0 1.188.26 2.4 2.4 0 0 0 2.535-2.227zm7.161 23.63V.414h4.191v23.63zm28.856.421c-11.274 0-19.272-4.7-19.272-12.232C124.02 4.741 132.066 0 143.292 0s19.32 4.7 19.32 12.233-7.902 12.232-19.32 12.232zm0-21.333c-8.383 0-14.84 3.217-14.84 9.1 0 5.926 6.457 9.1 14.84 9.1s14.887-3.174 14.887-9.1c0-5.883-6.504-9.1-14.887-9.1z" fill="#c72c48"/></svg>
|
|
Before Width: | Height: | Size: 978 B |
59
.github/stale.yml
vendored
59
.github/stale.yml
vendored
|
@ -1,59 +0,0 @@
|
||||||
# Configuration for probot-stale - https://github.com/probot/stale
|
|
||||||
|
|
||||||
# Number of days of inactivity before an Issue or Pull Request becomes stale
|
|
||||||
daysUntilStale: 90
|
|
||||||
|
|
||||||
# Number of days of inactivity before an Issue or Pull Request with the stale label is closed.
|
|
||||||
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
|
|
||||||
daysUntilClose: 30
|
|
||||||
|
|
||||||
# Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled)
|
|
||||||
onlyLabels: []
|
|
||||||
|
|
||||||
# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
|
|
||||||
exemptLabels:
|
|
||||||
- "security"
|
|
||||||
- "pending discussion"
|
|
||||||
|
|
||||||
# Set to true to ignore issues in a project (defaults to false)
|
|
||||||
exemptProjects: false
|
|
||||||
|
|
||||||
# Set to true to ignore issues in a milestone (defaults to false)
|
|
||||||
exemptMilestones: false
|
|
||||||
|
|
||||||
# Set to true to ignore issues with an assignee (defaults to false)
|
|
||||||
exemptAssignees: false
|
|
||||||
|
|
||||||
# Label to use when marking as stale
|
|
||||||
staleLabel: stale
|
|
||||||
|
|
||||||
# Comment to post when marking as stale. Set to `false` to disable
|
|
||||||
markComment: >-
|
|
||||||
This issue has been automatically marked as stale because it has not had
|
|
||||||
recent activity. It will be closed after 21 days if no further activity
|
|
||||||
occurs. Thank you for your contributions.
|
|
||||||
# Comment to post when removing the stale label.
|
|
||||||
# unmarkComment: >
|
|
||||||
# Your comment here.
|
|
||||||
|
|
||||||
# Comment to post when closing a stale Issue or Pull Request.
|
|
||||||
# closeComment: >
|
|
||||||
# Your comment here.
|
|
||||||
|
|
||||||
# Limit the number of actions per hour, from 1-30. Default is 30
|
|
||||||
limitPerRun: 1
|
|
||||||
|
|
||||||
# Limit to only `issues` or `pulls`
|
|
||||||
# only: issues
|
|
||||||
|
|
||||||
# Optionally, specify configuration settings that are specific to just 'issues' or 'pulls':
|
|
||||||
# pulls:
|
|
||||||
# daysUntilStale: 30
|
|
||||||
# markComment: >
|
|
||||||
# This pull request has been automatically marked as stale because it has not had
|
|
||||||
# recent activity. It will be closed if no further activity occurs. Thank you
|
|
||||||
# for your contributions.
|
|
||||||
|
|
||||||
# issues:
|
|
||||||
# exemptLabels:
|
|
||||||
# - confirmed
|
|
51
.github/workflows/codeql.yml
vendored
51
.github/workflows/codeql.yml
vendored
|
@ -1,51 +0,0 @@
|
||||||
name: "Code scanning - action"
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
pull_request:
|
|
||||||
schedule:
|
|
||||||
- cron: '0 19 * * 0'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
CodeQL-Build:
|
|
||||||
|
|
||||||
# CodeQL runs on ubuntu-latest and windows-latest
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
# We must fetch at least the immediate parents so that if this is
|
|
||||||
# a pull request then we can checkout the head.
|
|
||||||
fetch-depth: 2
|
|
||||||
|
|
||||||
# If this run was triggered by a pull request event, then checkout
|
|
||||||
# the head of the pull request instead of the merge commit.
|
|
||||||
- run: git checkout HEAD^2
|
|
||||||
if: ${{ github.event_name == 'pull_request' }}
|
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
|
||||||
- name: Initialize CodeQL
|
|
||||||
uses: github/codeql-action/init@v1
|
|
||||||
with:
|
|
||||||
languages: go, javascript
|
|
||||||
|
|
||||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
|
||||||
# If this step fails, then you should remove it and run the build manually (see below)
|
|
||||||
- name: Autobuild
|
|
||||||
uses: github/codeql-action/autobuild@v1
|
|
||||||
|
|
||||||
# ℹ️ Command-line programs to run using the OS shell.
|
|
||||||
# 📚 https://git.io/JvXDl
|
|
||||||
|
|
||||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
|
||||||
# and modify them (or add more) to build your code if your project
|
|
||||||
# uses a compiled language
|
|
||||||
|
|
||||||
#- run: |
|
|
||||||
# make bootstrap
|
|
||||||
# make release
|
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
|
||||||
uses: github/codeql-action/analyze@v1
|
|
52
.github/workflows/go.yml
vendored
52
.github/workflows/go.yml
vendored
|
@ -1,52 +0,0 @@
|
||||||
name: Go
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
name: Test on Go ${{ matrix.go-version }} and ${{ matrix.os }}
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
go-version: [1.13.x]
|
|
||||||
os: [ubuntu-latest, windows-latest]
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- uses: actions/setup-node@v1
|
|
||||||
with:
|
|
||||||
node-version: '12'
|
|
||||||
- uses: actions/setup-go@v2
|
|
||||||
with:
|
|
||||||
go-version: ${{ matrix.go-version }}
|
|
||||||
- name: Build on ${{ matrix.os }}
|
|
||||||
if: matrix.os == 'windows-latest'
|
|
||||||
env:
|
|
||||||
CGO_ENABLED: 0
|
|
||||||
GO111MODULE: on
|
|
||||||
MINIO_CI_CD: 1
|
|
||||||
run: |
|
|
||||||
go build --ldflags="-s -w" -o %GOPATH%\bin\minio.exe
|
|
||||||
go test -v --timeout 50m ./...
|
|
||||||
- name: Build on ${{ matrix.os }}
|
|
||||||
if: matrix.os == 'ubuntu-latest'
|
|
||||||
env:
|
|
||||||
CGO_ENABLED: 0
|
|
||||||
GO111MODULE: on
|
|
||||||
MINIO_CI_CD: 1
|
|
||||||
run: |
|
|
||||||
sudo apt-get install devscripts shellcheck
|
|
||||||
make
|
|
||||||
diff -au <(gofmt -s -d cmd) <(printf "")
|
|
||||||
diff -au <(gofmt -s -d pkg) <(printf "")
|
|
||||||
make test-race
|
|
||||||
make crosscompile
|
|
||||||
make verify
|
|
||||||
make verify-healing
|
|
||||||
cd browser && npm install && npm run test && cd ..
|
|
||||||
bash -c 'shopt -s globstar; shellcheck mint/**/*.sh'
|
|
75
docs/aws-s3-compatibility-list.md
Normal file
75
docs/aws-s3-compatibility-list.md
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
## Intro
|
||||||
|
|
||||||
|
NeoFS S3 Gate is largely based on [MinIO]("https://min.io") codebase and therefore inherits its basic API, except cases where NeoFS functionality fails to be mapped reasonably.
|
||||||
|
|
||||||
|
## Reference Resources
|
||||||
|
|
||||||
|
* [MinIO SDK Client Reference]("https://docs.min.io/docs/golang-client-api-reference.html")
|
||||||
|
|
||||||
|
* [AWS S3 API Reference]("https://docs.aws.amazon.com/AmazonS3/latest/API/s3-api.pdf")
|
||||||
|
|
||||||
|
|
||||||
|
### Bucket/Object-Level Actions
|
||||||
|
|
||||||
|
| # | Method Name | Status |
|
||||||
|
|:---:| ------------------------- | ----------------------- |
|
||||||
|
| 1 | AbortMultipartUpload | Unsupported |
|
||||||
|
| 2 | CompleteMultipartUpload | Unsupported |
|
||||||
|
| 3 | CopyObject | Supported |
|
||||||
|
| 4 | CopyObjectPart | Unsupported |
|
||||||
|
| 5 | DeleteBucket | Unsupported |
|
||||||
|
| 6 | DeleteBucketEncryption | Unsupported |
|
||||||
|
| 7 | DeleteBucketLifecycle | Unsupported |
|
||||||
|
| 8 | DeleteBucketPolicy | Unsupported |
|
||||||
|
| 9 | DeleteBucketTagging | Unsupported |
|
||||||
|
| 10 | DeleteBucketWebsite | Unsupported |
|
||||||
|
| 11 | DeleteMultipleObjects | Unsupported (issue #26) |
|
||||||
|
| 12 | DeleteObject | Supported |
|
||||||
|
| 13 | DeleteObjectTagging | Unsupported |
|
||||||
|
| 14 | GetBucketACL | Unsupported |
|
||||||
|
| 15 | GetBucketAccelerate | Supported |
|
||||||
|
| 16 | GetBucketCors | Unsupported |
|
||||||
|
| 17 | GetBucketEncryption | Unsupported |
|
||||||
|
| 18 | GetBucketLifecycle | Unsupported |
|
||||||
|
| 19 | GetBucketLocation | Unsupported |
|
||||||
|
| 20 | GetBucketLogging | Unsupported |
|
||||||
|
| 21 | GetBucketNotification | Unsupported |
|
||||||
|
| 22 | GetBucketObjectLockConfig | Unsupported |
|
||||||
|
| 23 | GetBucketPolicy | Unsupported |
|
||||||
|
| 24 | GetBucketReplication | Unsupported |
|
||||||
|
| 25 | GetBucketRequestPayment | Unsupported |
|
||||||
|
| 26 | GetBucketTagging | Unsupported |
|
||||||
|
| 27 | GetBucketVersioning | Unsupported |
|
||||||
|
| 28 | GetBucketWebsite | Unsupported |
|
||||||
|
| 29 | GetObject | Supported |
|
||||||
|
| 30 | GetObjectACL | Unsupported |
|
||||||
|
| 31 | GetObjectLegalHold | Unsupported |
|
||||||
|
| 32 | GetObjectRetention | Unsupported |
|
||||||
|
| 33 | HeadBucket | Unsupported (isuue #XX) |
|
||||||
|
| 34 | HeadObject | Supported |
|
||||||
|
| 35 | ListBucketObjectVersions | Unsupported |
|
||||||
|
| 36 | ListBuckets | Supported |
|
||||||
|
| 37 | ListMultipartUploads | Unsupported |
|
||||||
|
| 38 | ListObjectParts | Unsupported |
|
||||||
|
| 39 | ListObjectsV1 | Supported |
|
||||||
|
| 40 | ListObjectsV2 | Supported |
|
||||||
|
| 41 | ListenBucketNotification | Unsupported |
|
||||||
|
| 42 | NewMultipartUpload | Unsupported |
|
||||||
|
| 43 | PostPolicyBucket | Unsupported |
|
||||||
|
| 44 | PutBucket | Unsupported |
|
||||||
|
| 45 | PutBucketACL | Unsupported |
|
||||||
|
| 46 | PutBucketEncryption | Unsupported |
|
||||||
|
| 47 | PutBucketLifecycle | Unsupported |
|
||||||
|
| 48 | PutBucketNotification | Unsupported |
|
||||||
|
| 49 | PutBucketObjectLockConfig | Unsupported |
|
||||||
|
| 50 | PutBucketPolicy | Unsupported |
|
||||||
|
| 51 | PutBucketTagging | Unsupported |
|
||||||
|
| 52 | PutBucketVersioning | Unsupported |
|
||||||
|
| 53 | PutObject | Supported |
|
||||||
|
| 54 | PutObjectACL | Unsupported |
|
||||||
|
| 55 | PutObjectLegalHold | Unsupported |
|
||||||
|
| 56 | PutObjectPart | Unsupported |
|
||||||
|
| 57 | PutObjectRetention | Unsupported |
|
||||||
|
| 58 | PutObjectTagging | Unsupported |
|
||||||
|
| 59 | SelectObjectContent | Unsupported |
|
||||||
|
|
Loading…
Reference in a new issue