diff --git a/.docker/Dockerfile.adm b/.docker/Dockerfile.adm index 082760d17..3112d0120 100644 --- a/.docker/Dockerfile.adm +++ b/.docker/Dockerfile.adm @@ -5,15 +5,15 @@ ARG REPO=repository WORKDIR /src COPY . /src -RUN make bin/neofs-adm +RUN make bin/frostfs-adm # Executable image -FROM alpine AS neofs-adm +FROM alpine AS frostfs-adm RUN apk add --no-cache bash WORKDIR / COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ -COPY --from=builder /src/bin/neofs-adm /bin/neofs-adm +COPY --from=builder /src/bin/frostfs-adm /bin/frostfs-adm -CMD ["neofs-adm"] +CMD ["frostfs-adm"] diff --git a/.docker/Dockerfile.cli b/.docker/Dockerfile.cli index 489f6225e..e91c72db9 100644 --- a/.docker/Dockerfile.cli +++ b/.docker/Dockerfile.cli @@ -5,15 +5,15 @@ ARG REPO=repository WORKDIR /src COPY . /src -RUN make bin/neofs-cli +RUN make bin/frostfs-cli # Executable image -FROM alpine AS neofs-cli +FROM alpine AS frostfs-cli RUN apk add --no-cache bash WORKDIR / COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ -COPY --from=builder /src/bin/neofs-cli /bin/neofs-cli +COPY --from=builder /src/bin/frostfs-cli /bin/frostfs-cli -CMD ["neofs-cli"] +CMD ["frostfs-cli"] diff --git a/.docker/Dockerfile.dirty-adm b/.docker/Dockerfile.dirty-adm index 13a6c55f3..1515b9437 100644 --- a/.docker/Dockerfile.dirty-adm +++ b/.docker/Dockerfile.dirty-adm @@ -3,6 +3,6 @@ RUN apk add --no-cache bash ca-certificates WORKDIR / -COPY bin/neofs-adm /bin/neofs-adm +COPY bin/frostfs-adm /bin/frostfs-adm -CMD ["neofs-adm"] +CMD ["frostfs-adm"] diff --git a/.docker/Dockerfile.dirty-cli b/.docker/Dockerfile.dirty-cli index 9bcc14db7..7718a2ac5 100644 --- a/.docker/Dockerfile.dirty-cli +++ b/.docker/Dockerfile.dirty-cli @@ -3,6 +3,6 @@ RUN apk add --no-cache bash ca-certificates WORKDIR / -COPY bin/neofs-cli /bin/neofs-cli +COPY bin/frostfs-cli /bin/frostfs-cli -CMD ["neofs-cli"] +CMD ["frostfs-cli"] diff --git a/.docker/Dockerfile.dirty-ir b/.docker/Dockerfile.dirty-ir index a20021809..7e4e33fd7 100644 --- a/.docker/Dockerfile.dirty-ir +++ b/.docker/Dockerfile.dirty-ir @@ -3,6 +3,6 @@ RUN apk add --no-cache bash ca-certificates WORKDIR / -COPY bin/neofs-ir /bin/neofs-ir +COPY bin/frostfs-ir /bin/frostfs-ir -CMD ["neofs-ir"] +CMD ["frostfs-ir"] diff --git a/.docker/Dockerfile.dirty-storage b/.docker/Dockerfile.dirty-storage index 849d4bb6a..098712def 100644 --- a/.docker/Dockerfile.dirty-storage +++ b/.docker/Dockerfile.dirty-storage @@ -3,6 +3,6 @@ RUN apk add --no-cache bash ca-certificates WORKDIR / -COPY bin/neofs-node /bin/neofs-node +COPY bin/frostfs-node /bin/frostfs-node -CMD ["neofs-node"] +CMD ["frostfs-node"] diff --git a/.docker/Dockerfile.ir b/.docker/Dockerfile.ir index ec26e5939..9f28ff4b0 100644 --- a/.docker/Dockerfile.ir +++ b/.docker/Dockerfile.ir @@ -5,14 +5,14 @@ ARG REPO=repository WORKDIR /src COPY . /src -RUN make bin/neofs-ir +RUN make bin/frostfs-ir # Executable image -FROM alpine AS neofs-ir +FROM alpine AS frostfs-ir RUN apk add --no-cache bash WORKDIR / -COPY --from=builder /src/bin/neofs-ir /bin/neofs-ir +COPY --from=builder /src/bin/frostfs-ir /bin/frostfs-ir -CMD ["neofs-ir"] +CMD ["frostfs-ir"] diff --git a/.docker/Dockerfile.storage b/.docker/Dockerfile.storage index ed3f5dcde..be8e3f8ba 100644 --- a/.docker/Dockerfile.storage +++ b/.docker/Dockerfile.storage @@ -5,14 +5,14 @@ ARG REPO=repository WORKDIR /src COPY . /src -RUN make bin/neofs-node +RUN make bin/frostfs-node # Executable image -FROM alpine AS neofs-node +FROM alpine AS frostfs-node RUN apk add --no-cache bash WORKDIR / -COPY --from=builder /src/bin/neofs-node /bin/neofs-node +COPY --from=builder /src/bin/frostfs-node /bin/frostfs-node -CMD ["neofs-node"] +CMD ["frostfs-node"] diff --git a/.docker/Dockerfile.storage-testnet b/.docker/Dockerfile.storage-testnet index a08f18992..7082f0806 100644 --- a/.docker/Dockerfile.storage-testnet +++ b/.docker/Dockerfile.storage-testnet @@ -5,15 +5,15 @@ ARG REPO=repository WORKDIR /src COPY . /src -RUN make bin/neofs-node +RUN make bin/frostfs-node # Executable image -FROM alpine AS neofs-node +FROM alpine AS frostfs-node RUN apk add --no-cache bash WORKDIR / -COPY --from=builder /src/bin/neofs-node /bin/neofs-node +COPY --from=builder /src/bin/frostfs-node /bin/frostfs-node COPY --from=builder /src/config/testnet/config.yml /config.yml -CMD ["neofs-node", "--config", "/config.yml"] +CMD ["frostfs-node", "--config", "/config.yml"] diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 5fa1650de..f1653e3f4 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -43,7 +43,7 @@ assignees: '' * Operating System and version (`uname -a`): ## Don't forget to add labels! -- component label (`neofs-adm`, `neofs-storage`, ...) +- component label (`frostfs-adm`, `frostfs-storage`, ...) - `goodfirstissue`, `helpwanted` if needed - does this issue belong to an epic? - priority (`P0`-`P4`) if already triaged diff --git a/.github/logo.svg b/.github/logo.svg new file mode 100644 index 000000000..148c359d5 --- /dev/null +++ b/.github/logo.svg @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.github/logo_dark.svg b/.github/logo_dark.svg deleted file mode 100644 index f045d9784..000000000 --- a/.github/logo_dark.svg +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.github/logo_light.svg b/.github/logo_light.svg deleted file mode 100644 index b4da0765c..000000000 --- a/.github/logo_light.svg +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b4acbb08..e7c935db2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,5 @@ # Changelog -Changelog for NeoFS Node +Changelog for FrostFS Node ## [Unreleased] diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a805501b6..ed01174cf 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,8 +3,8 @@ First, thank you for contributing! We love and encourage pull requests from everyone. Please follow the guidelines: -- Check the open [issues](https://github.com/nspcc-dev/neofs-node/issues) and - [pull requests](https://github.com/nspcc-dev/neofs-node/pulls) for existing +- Check the open [issues](https://github.com/TrueCloudLab/frostfs-node/issues) and + [pull requests](https://github.com/TrueCloudLab/frostfs-node/pulls) for existing discussions. - Open an issue first, to discuss a new feature or enhancement. @@ -23,23 +23,23 @@ everyone. Please follow the guidelines: ## Development Workflow -Start by forking the `neofs-node` repository, make changes in a branch and then +Start by forking the `frostfs-node` repository, make changes in a branch and then send a pull request. We encourage pull requests to discuss code changes. Here are the steps in details: ### Set up your GitHub Repository -Fork [NeoFS node upstream](https://github.com/nspcc-dev/neofs-node/fork) source +Fork [FrostFS node upstream](https://github.com/TrueCloudLab/frostfs-node/fork) source repository to your own personal repository. Copy the URL of your fork (you will need it for the `git clone` command below). ```sh -$ git clone https://github.com/nspcc-dev/neofs-node +$ git clone https://github.com/TrueCloudLab/frostfs-node ``` ### Set up git remote as ``upstream`` ```sh $ cd neofs-node -$ git remote add upstream https://github.com/nspcc-dev/neofs-node +$ git remote add upstream https://github.com/TrueCloudLab/frostfs-node $ git fetch upstream $ git merge upstream/master ... @@ -79,7 +79,7 @@ Description ``` ``` -$ git commit -am '[#123] Add some feature' +$ git commit -sam '[#123] Add some feature' ``` ### Push to the branch @@ -106,7 +106,8 @@ contributors". To sign your work, just add a line like this at the end of your commit message: ``` -Signed-off-by: Samii Sakisaka +Signed-off-by: Samii Sakisaka + ``` This can easily be done with the `--signoff` option to `git commit`. diff --git a/CREDITS.md b/CREDITS.md index 23ce9a750..14b9648bf 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -1,5 +1,7 @@ # Credits +FrostFS continues the development of NeoFS. + Initial NeoFS research and development (2018-2020) was done by [NeoSPCC](https://nspcc.ru) team. diff --git a/Makefile b/Makefile index f54d8767f..fde03ed88 100644 --- a/Makefile +++ b/Makefile @@ -84,9 +84,9 @@ protoc: done rm -rf vendor -# Build NeoFS component's docker image +# Build FrostFS component's docker image image-%: - @echo "⇒ Build NeoFS $* docker image " + @echo "⇒ Build FrostFS $* docker image " @docker build \ --build-arg REPO=$(REPO) \ --build-arg VERSION=$(VERSION) \ diff --git a/README.md b/README.md index 862c9c419..d906f4269 100644 --- a/README.md +++ b/README.md @@ -1,43 +1,40 @@

- - - - NeoFS logo - + FrostFS

+

- NeoFS is a decentralized distributed object storage integrated with the NEO Blockchain. + FrostFS is a decentralized distributed object storage integrated with the NEO Blockchain.

--- -[![Report](https://goreportcard.com/badge/github.com/nspcc-dev/neofs-node)](https://goreportcard.com/report/github.com/nspcc-dev/neofs-node) -![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/nspcc-dev/neofs-node?sort=semver) -![License](https://img.shields.io/github/license/nspcc-dev/neofs-node.svg?style=popout) +[![Report](https://goreportcard.com/badge/github.com/TrueCloudLab/frostfs-node)](https://goreportcard.com/report/github.com/TrueCloudLab/frostfs-node) +![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/TrueCloudLab/frostfs-node?sort=semver) +![License](https://img.shields.io/github/license/TrueCloudLab/frostfs-node.svg?style=popout) # Overview -NeoFS Nodes are organized in a peer-to-peer network that takes care of storing +FrostFS Nodes are organized in a peer-to-peer network that takes care of storing and distributing user's data. Any Neo user may participate in the network and get paid for providing storage resources to other users or store their data in -NeoFS and pay a competitive price for it. +FrostFS and pay a competitive price for it. -Users can reliably store object data in the NeoFS network and have a transparent +Users can reliably store object data in the FrostFS network and have a transparent data placement process due to a decentralized architecture and flexible storage policies. Each node is responsible for executing the storage policies that the users select for geographical location, reliability level, number of nodes, type -of disks, capacity, etc. Thus, NeoFS gives full control over data to users. +of disks, capacity, etc. Thus, FrostFS gives full control over data to users. -Deep [Neo Blockchain](https://neo.org) integration allows NeoFS to be used by +Deep [Neo Blockchain](https://neo.org) integration allows FrostFS to be used by dApps directly from [NeoVM](https://docs.neo.org/docs/en-us/basic/technology/neovm.html) on the [Smart Contract](https://docs.neo.org/docs/en-us/intro/glossary.html) code level. This way dApps are not limited to on-chain storage and can manipulate large amounts of data without paying a prohibitive price. -NeoFS has a native [gRPC API](https://github.com/nspcc-dev/neofs-api) and has +FrostFS has a native [gRPC API](https://github.com/TrueCloudLab/frostfs-api) and has protocol gateways for popular protocols such as [AWS -S3](https://github.com/nspcc-dev/neofs-s3-gw), -[HTTP](https://github.com/nspcc-dev/neofs-http-gw), +S3](https://github.com/TrueCloudLab/frostfs-s3-gw), +[HTTP](https://github.com/TrueCloudLab/frostfs-http-gw), [FUSE](https://wikipedia.org/wiki/Filesystem_in_Userspace) and [sFTP](https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol) allowing developers to integrate applications without rewriting their code. @@ -47,8 +44,8 @@ developers to integrate applications without rewriting their code. Now, we only support GNU/Linux on amd64 CPUs with AVX/AVX2 instructions. More platforms will be officially supported after release `1.0`. -The latest version of neofs-node works with neofs-contract -[v0.16.0](https://github.com/nspcc-dev/neofs-contract/releases/tag/v0.16.0). +The latest version of frostfs-node works with frostfs-contract +[v0.16.0](https://github.com/TrueCloudLab/frostfs-contract/releases/tag/v0.16.0). # Building @@ -60,7 +57,7 @@ The resulting binaries will appear in `bin/` folder. To make a specific binary use: ``` -make bin/neofs- +make bin/frostfs- ``` See the list of all available commands in the `cmd` folder. @@ -69,12 +66,12 @@ See the list of all available commands in the `cmd` folder. Building can also be performed in a container: ``` make docker/all # build all binaries -make docker/bin/neofs- # build a specific binary +make docker/bin/frostfs- # build a specific binary ``` ## Docker images -To make docker images suitable for use in [neofs-dev-env](https://github.com/nspcc-dev/neofs-dev-env/) use: +To make docker images suitable for use in [frostfs-dev-env](https://github.com/TrueCloudLab/frostfs-dev-env/) use: ``` make images ``` @@ -89,7 +86,7 @@ the feature/topic you are going to implement. # Credits -NeoFS is maintained by [NeoSPCC](https://nspcc.ru) with the help and +FrostFS is maintained by [True Cloud Lab](https://github.com/TrueCloudLab/) with the help and contributions from community members. Please see [CREDITS](CREDITS.md) for details. diff --git a/docs/release-instruction.md b/docs/release-instruction.md index 6d2a78e3f..ec7b8cdf3 100644 --- a/docs/release-instruction.md +++ b/docs/release-instruction.md @@ -19,20 +19,20 @@ following the [semantic versioning](https://semver.org/) standard. Determine the revision number for the release: ```shell -$ export NEOFS_REVISION=X.Y.Z[-rc.N] -$ export NEOFS_TAG_PREFIX=v +$ export FROSTFS_REVISION=X.Y.Z[-rc.N] +$ export FROSTFS_TAG_PREFIX=v ``` Double-check the number: ```shell -$ echo ${NEOFS_REVISION} +$ echo ${FROSTFS_REVISION} ``` Create release branch from the main branch of the origin repository: ```shell -$ git checkout -b release/${NEOFS_TAG_PREFIX}${NEOFS_REVISION} +$ git checkout -b release/${FROSTFS_TAG_PREFIX}${FROSTFS_REVISION} ``` ### Update versions @@ -40,7 +40,7 @@ $ git checkout -b release/${NEOFS_TAG_PREFIX}${NEOFS_REVISION} Write new revision number into the root `VERSION` file: ```shell -$ echo ${NEOFS_TAG_PREFIX}${NEOFS_REVISION} > VERSION +$ echo ${FROSTFS_TAG_PREFIX}${FROSTFS_REVISION} > VERSION ``` Update version in Debian package changelog file @@ -68,7 +68,7 @@ Add an entry to the `CHANGELOG.md` following the style established there. Stage changed files for commit using `git add`. Commit the changes: ```shell -$ git commit -s -m 'Release '${NEOFS_TAG_PREFIX}${NEOFS_REVISION} +$ git commit -s -m 'Release '${FROSTFS_TAG_PREFIX}${FROSTFS_REVISION} ``` ### Open pull request @@ -76,7 +76,7 @@ $ git commit -s -m 'Release '${NEOFS_TAG_PREFIX}${NEOFS_REVISION} Push release branch: ```shell -$ git push release/${NEOFS_TAG_PREFIX}${NEOFS_REVISION} +$ git push release/${FROSTFS_TAG_PREFIX}${FROSTFS_REVISION} ``` Open pull request to the main branch of the origin repository so that the @@ -89,13 +89,13 @@ with PGP signature. ```shell $ git checkout master && git pull -$ git tag -s ${NEOFS_TAG_PREFIX}${NEOFS_REVISION} +$ git tag -s ${FROSTFS_TAG_PREFIX}${FROSTFS_REVISION} ``` ## Push the release tag ```shell -$ git push origin ${NEOFS_TAG_PREFIX}${NEOFS_REVISION} +$ git push origin ${FROSTFS_TAG_PREFIX}${FROSTFS_REVISION} ``` ## Post-release @@ -103,16 +103,16 @@ $ git push origin ${NEOFS_TAG_PREFIX}${NEOFS_REVISION} ### Prepare and push images to a Docker Hub (if not automated) Create Docker images for all applications and push them into Docker Hub -(requires [organization](https://hub.docker.com/u/nspccdev) privileges) +(requires [organization](https://hub.docker.com/u/truecloudlab) privileges) ```shell -$ git checkout ${NEOFS_TAG_PREFIX}${NEOFS_REVISION} +$ git checkout ${FROSTFS_TAG_PREFIX}${FROSTFS_REVISION} $ make images -$ docker push nspccdev/neofs-storage:${NEOFS_REVISION} -$ docker push nspccdev/neofs-storage-testnet:${NEOFS_REVISION} -$ docker push nspccdev/neofs-ir:${NEOFS_REVISION} -$ docker push nspccdev/neofs-cli:${NEOFS_REVISION} -$ docker push nspccdev/neofs-adm:${NEOFS_REVISION} +$ docker push truecloudlab/frostfs-storage:${FROSTFS_REVISION} +$ docker push truecloudlab/frostfs-storage-testnet:${FROSTFS_REVISION} +$ docker push truecloudlab/frostfs-ir:${FROSTFS_REVISION} +$ docker push truecloudlab/frostfs-cli:${FROSTFS_REVISION} +$ docker push truecloudlab/frostfs-adm:${FROSTFS_REVISION} ``` ### Make a proper GitHub release (if not automated) @@ -121,7 +121,7 @@ Edit an automatically-created release on GitHub, copy things from `CHANGELOG.md` Build and tar release binaries with `make prepare-release`, attach them to the release. Publish the release. -### Update NeoFS Developer Environment +### Update FrostFS Developer Environment Prepare pull-request in [frostfs-devenv](https://github.com/TrueCloudLab/frostfs-devenv) with new versions. @@ -130,9 +130,9 @@ with new versions. Look up GitHub [milestones](https://github.com/TrueCloudLab/frostfs-node/milestones) and close the release one if exists. -### Rebuild NeoFS LOCODE database +### Rebuild FrostFS LOCODE database -If new release contains LOCODE-related changes, rebuild NeoFS LOCODE database via NeoFS CLI +If new release contains LOCODE-related changes, rebuild FrostFS LOCODE database via FrostFS CLI ```shell $ frostfs-cli util locode generate ... diff --git a/docs/storage-node-configuration.md b/docs/storage-node-configuration.md index f9ef2cc0b..2f6e3deb1 100644 --- a/docs/storage-node-configuration.md +++ b/docs/storage-node-configuration.md @@ -1,6 +1,6 @@ # NeoFS Storage node configuration file -This section contains detailed NeoFS Storage node configuration file description +This section contains detailed FrostFS Storage node configuration file description including default config values and some tips to set up configurable values. There are some custom types used for brevity: @@ -18,9 +18,9 @@ There are some custom types used for brevity: | `pprof` | [PProf configuration](#pprof-section) | | `prometheus` | [Prometheus metrics configuration](#prometheus-section) | | `control` | [Control service configuration](#control-section) | -| `contracts` | [Override NeoFS contracts hashes](#contracts-section) | +| `contracts` | [Override FrostFS contracts hashes](#contracts-section) | | `morph` | [N3 blockchain client configuration](#morph-section) | -| `apiclient` | [NeoFS API client configuration](#apiclient-section) | +| `apiclient` | [FrostFS API client configuration](#apiclient-section) | | `policer` | [Policer service configuration](#policer-section) | | `replicator` | [Replicator service configuration](#replicator-section) | | `storage` | [Storage engine configuration](#storage-section) | @@ -105,7 +105,7 @@ logger: | `level` | `string` | `info` | Logging level.
Possible values: `debug`, `info`, `warn`, `error`, `dpanic`, `panic`, `fatal` | # `contracts` section -Contains override values for NeoFS side-chain contract hashes. Most of the time contract +Contains override values for FrostFS side-chain contract hashes. Most of the time contract hashes are fetched from the NNS contract, so this section can be omitted. ```yaml @@ -133,9 +133,9 @@ morph: dial_timeout: 30s cache_ttl: 15s rpc_endpoint: - - address: wss://rpc1.morph.fs.neo.org:40341/ws + - address: wss://rpc1.morph.frostfs.info:40341/ws priority: 1 - - address: wss://rpc2.morph.fs.neo.org:40341/ws + - address: wss://rpc2.morph.frostfs.info:40341/ws priority: 2 switch_interval: 2m ``` @@ -348,7 +348,7 @@ It is used to correctly handle node restarts or crashes. | Parameter | Type | Default value | Description | |-----------|----------|------------------------|------------------------| -| `path` | `string` | `.neofs-storage-state` | Path to the database. | +| `path` | `string` | `.frostfs-storage-state` | Path to the database. | ## `subnet` subsection This is an advanced section, use with caution. @@ -372,7 +372,7 @@ This is an advanced section, use with caution. | `ca` | `string` | | Override root CA used to verify server certificates. | # `apiclient` section -Configuration for the NeoFS API client used for communication with other NeoFS nodes. +Configuration for the FrostFS API client used for communication with other FrostFS nodes. ```yaml apiclient: @@ -425,4 +425,4 @@ object: | Parameter | Type | Default value | Description | |------------------------|-------|---------------|------------------------------------------------------------------------------------------------| -| `put.pool_size_remote` | `int` | `10` | Max pool size for performing remote `PUT` operations. Used by Policer and Replicator services. | \ No newline at end of file +| `put.pool_size_remote` | `int` | `10` | Max pool size for performing remote `PUT` operations. Used by Policer and Replicator services. |