Commit graph

50 commits

Author SHA1 Message Date
Alex Vanin
5baa2774d5 [#159] Add docker/$(BINS) target
Use this target to build binaries in clean docker environment.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2022-06-15 13:21:13 +03:00
Denis Kirillov
a42606742a [#142] Support resolving container nicename
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-04-28 17:18:13 +03:00
Elizaveta Chichindaeva
11283c1c79 [#153] English Check
Signed-off-by: Elizaveta Chichindaeva <elizaveta@nspcc.ru>
2022-04-22 18:05:51 +03:00
Alex Vanin
d906732ef4 [#146] Update default values for HTTP_GW_READ/WRITE_TIMEOUT
10 minute upload and 5 minute download timeouts are long enough
to handle average size objects in the real networks. For big
data streams these timeouts should be disabled.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2022-04-22 15:21:42 +04:00
Denis Kirillov
0b57b7add3 [#147] Update README
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-04-19 20:10:00 +04:00
Denis Kirillov
eacd7be33e [#140] Improve docs
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-04-15 03:26:02 +04:00
Alex Vanin
d1bdef6f83 [#133] Replace go get with go install
Since Go 1.16, go install can install a command at a version
specified on the command line while. Starting in Go 1.17,
installing executables with go get is deprecated.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2022-03-21 16:36:26 +03:00
Angira Kekteeva
c11b2332f9 [#123] Add url-encoded queries for attributes
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-01-27 16:51:11 +03:00
Denis Kirillov
c21217bc62 [#120] Fix project name
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2021-12-27 16:36:09 +03:00
Denis Kirillov
71e846a4fc [#115] Update sdk version to support priority
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2021-12-10 10:59:43 +03:00
Denis Kirillov
cd0633cda0 [#108] Add different expiration header formats
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2021-11-29 15:42:32 +03:00
Denis Kirillov
9b92c0146c [#96] Add zip compression
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2021-11-01 11:27:22 +03:00
Denis Kirillov
0597c0c143 [#87] Allow canonical X-Attribute-Neofs-* headers
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2021-09-13 13:15:26 +03:00
Denis Kirillov
87918483c6 [#76] Refactor HeadObject logic
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2021-07-15 10:57:22 +03:00
Roman Khimov
9241156af4 README: fix typo 2021-06-29 17:19:30 +03:00
Denis Kirillov
5b6cc990c0 [#71] Fix yaml config support
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2021-06-28 16:17:08 +03:00
Denis Kirillov
2d41fbc95e [#68] Support NEP-6 wallets
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2021-06-23 14:53:04 +03:00
Denis Kirillov
7734be609c [#60] Dropped grpc keepalive options
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2021-06-10 18:48:55 +03:00
Denis Kirillov
63e9048de6 [#XX] Added Bearer token requirements
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2021-06-07 15:37:03 +03:00
Roman Khimov
9f6f037b9f
Merge pull request #55 from KirillovDenis/bearer_token_example
[#54] Bearer token generation example
2021-06-04 16:52:43 +03:00
Denis Kirillov
742eb7d0d7 [#55] Bearer token example
Example of using console utils to generate token

Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2021-06-04 16:20:08 +03:00
Angira Kekteeva
2510d1054a readme: update params of acl 'create a container'
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2021-06-04 10:38:01 +03:00
Denis Kirillov
b93fa7048a [#53] Fixed bearer cookie key in README.md
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2021-06-03 15:18:27 +03:00
Angira Kekteeva
33b1a28bf1 Replace http-gate by http-gw in files
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2021-05-18 15:14:36 +03:00
Angira Kekteeva
ebb97a215d Readme edits
Add new info, new sections, examples

Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2021-05-17 18:02:53 +03:00
Stanislav Bogatyrev
73bd26bc12 docs: Clarify auth scheme
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2021-05-05 16:25:01 +03:00
Roman Khimov
881136faf1
Merge pull request #36 from roman-khimov/docker-and-changelog
Docker fix and changelog
2021-04-30 21:40:20 +03:00
Stanislav Bogatyrev
ea66180012 Improve first contribution experience
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2021-04-30 19:45:03 +03:00
Roman Khimov
9ab39fa22d README: mention Docker images 2021-04-30 19:43:51 +03:00
Roman Khimov
90b0613182 README: add something about bearer tokens 2021-04-30 14:31:14 +03:00
Roman Khimov
293debe6db downloader: ensure downloader/uploader header symmetry
Use X-Attribute-* everywhere.
2021-04-30 14:31:14 +03:00
Roman Khimov
e80d147d72 README: rewrite all documentation
I think we can fit into one page with this, thus how-to-check.md was removed
(and it's a bit bloated to me anyway).
2021-04-30 14:31:14 +03:00
Roman Khimov
491ae13190 app: add support for TLS key/cert options
Run in TLS mode if anything is specified.
2021-04-15 20:24:49 +03:00
Roman Khimov
a6f63c2bac app: use 1 for weight if not specified or wrong
If we have a number of nodes with unspecified weights they'd all be treated
equal which seems to be fair.
2021-04-15 09:45:43 +03:00
Roman Khimov
f019c97ce8 connections: normalize weights, make config a bit more human-oriented
Current scheme requires people to calculate exact percentages for their
nodes. People are bad with pecentage calculations and it's really inconvenient
if you have more than 3-4 nodes. What I'd like to have is ability to specify
weights like weights, not percentages:
  .._0_WEIGHT=3
  .._1_WEIGHT=1
  .._2_WEIGHT=1

and let the gateway calculate things for me.
2021-04-15 09:45:43 +03:00
Roman Khimov
c06a3137e5 app: add support for ephemeral keys 2021-04-14 23:52:59 +03:00
Stanislav Bogatyrev
b2e7a2cb61 Clean up Makefile and image build
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2021-04-12 17:09:39 +03:00
Pavel Korotkov
4c96885a42 [#19] Add a version with no cdn-sdk deps
Signed-off-by: Pavel Korotkov <pavel@nspcc.ru>
2021-04-06 12:19:21 +03:00
Evgeniy Kulikov
a428a0b1b3
fix conflicts 2021-02-12 15:24:52 +03:00
Evgeniy Kulikov
cbaf9e6142
Fixes after review
After discussion, we decided to simplify attribute translation for now. Full translation requires support for UTF-8 values encoded according to RFC 8187/7230, this can be clarified and implemented in further PRs.

1. Remove translation tables
2. Use simple translation rules only, for now ignoring UTF-8 keys and values

- `X-Attribute-NEOFS-` prefixed headers considered well-known system attributes
- System Attribute key is uppercased
- System Attribute key's `-` translates to `_`
- `X-Attribute-` prefixed headers considered regular object attributes
- Normal attribute key is a result of http header prefix trimming
- Value string should be left as is, for now

```
HTTP:
X-Attribute-NEOFS-Expiration-Epoch: 123
X-Attribute-FileName: cat.jpg

NeoFS:
__NEOFS__EXPIRATION_EPOCH: "123"
FileName: "cat.jpg"
```

Signed-off-by: Evgeniy Kulikov <kim@nspcc.ru>
2021-02-12 15:21:53 +03:00
Evgeniy Kulikov
3cbd4dbd09
Fixes after review
- Maybe it could be rephrased to "attribute name prefixed with X-Attribute-"
- Maybe it worth renaming to userAttributeHeaderPrefix
- Requirement for having only one file uploaded at a time has to be reflected in documentation.
- Maybe this should be reflected in doc
- I'm not sure if missing timestamp attribute should be forced on gateway level. Normally it should be set by app and there should be a way not to set it.

Signed-off-by: Evgeniy Kulikov <kim@nspcc.ru>
2021-02-12 15:21:53 +03:00
Evgeniy Kulikov
462de45e12
Added POST method to upload files into NeoFS through HTTP Gate
- Updated README
- Added method to upload files into NeoFS
- HTTP Upload Header Filter loaded from settings
- Added `HeaderFilter` that filters headers (object attributes)

Signed-off-by: Evgeniy Kulikov <kim@nspcc.ru>
2021-02-12 15:21:53 +03:00
Evgeniy Kulikov
3b8d684e7c
Update README
Signed-off-by: Evgeniy Kulikov <kim@nspcc.ru>
2021-02-05 17:13:37 +03:00
Evgeniy Kulikov
65a5a3f9fc
Update README
Signed-off-by: Evgeniy Kulikov <kim@nspcc.ru>
2020-12-02 12:25:18 +03:00
Evgeniy Kulikov
3166adc410
Deprecation warning 2020-11-23 12:43:27 +03:00
Evgeniy Kulikov
f2352f1e76
change module name 2020-08-21 02:50:14 +03:00
Evgeniy Kulikov
746946290c
NSPCC-762 Connection pool
- implement connection pool
- wait until container creates
- refactoring gw service
- add config option to enable prometheus and pprof
- update neofs-proto to v0.2.8
2019-12-21 13:26:14 +03:00
Evgeniy Kulikov
39279e4c5f
NSPCC-786 Rename gen => generated 2019-12-17 18:34:04 +03:00
Evgeniy Kulikov
97d1a99f58
NSPCC-493 Separate repository for NeoFS GW
- Update dependencies
- Update README (configuration: flags section)
- Add gRPC logger and flag to enable gRPC connection debugging
- Refactored settings (add flags, use defaults instead of yaml representation)
2019-12-13 19:09:14 +03:00
Evgeniy Kulikov
99ed41b905
NSPCC-587 Add License and Readme 2019-11-07 20:29:29 +03:00