ℹ️ For information on how to install and use, please see README.md
Changelog
New Features
- 025c619 feat(cfg): generate node's config base on bundle cfg
- 83a52ab feat(consensus): add bones for light version
- efc23fa feat(consensus): implement RPC and db componens
- 07245ab feat(docker): add all-in-one
- 2570d8b feat(filenode): check limit on BlockPush
- 38f5600 feat(filenode): correct limit info for group/space base on default
- d712619 feat(filenode): create separate store service
- 6ec121c feat(filenode): create store object links
- eac9550 feat(filenode): file object in store and marshal tests
- 9a2969c feat(filenode): implement BlocksCheck
- 125a233 feat(filenode): implement FilesInfo
- 2798db7 feat(filenode): implement RPC base on store and index services
- 5ca2688 feat(filenode): implement mock for index and permissions check in rpc
- cb261de feat(filenode): implement read-only operation for IndexService
- 8fec0bb feat(filenode): implement wait for BlockGet
- 96d3742 feat(filenode): move checks into update transaction
- e80eeab feat(filenode): object in store for group and space
- f3c7c43 feat(filenode): remove size change RPC and add likes to space/group to CID
- 334ba24 feat(filenode): split store on files and simple test
- d56a59e feat(filenode): start RPC implementation
- 8e12251 feat(filenode): update and write file object on BlockPush
- fbd93eb feat(filenode): update group info on BlockPush
- 1e723c6 feat(filenode): use index operations in RPC
- 58a2e0d feat(light): implement light consensus nodeconf
- caeeb1e feat(lightfilenode): implement check existance of checks in index
- 218de98 feat(testutil): use corrected version for Windows of rand.Reader
- 80ab717 feat: add compose configuration and store app in array
- a5f07a6 feat: add air auto restart
- adf9068 feat: add consensus node
- 722d2b4 feat: add default configuration values for sync node and improve garbage collection settings
- 4942978 feat: add force shutdown
- e42c270 feat: add goreleser cfg and build staticly
- f79b319 feat: add log level flag to CLI for configurable logging verbosity
- a495bfd feat: add sync node
- 7cce747 feat: container without DB
- ba758b0 feat: create client config and mongo replica
- ea3f8a0 feat: create config on start if not exist
- c234238 feat: implement automated version tracking
- c67e9a7 feat: init with filenode code
- 8896b5c feat: logging if replica already init
- 389732f feat: separate global and command flags
- a3d8a63 feat: start all nodes
- 22d4985 feat: store file blob as key-value
- 19da5e5 feat: use filedevstore for filenode
- 2cfd63e feat: use real metrics for sync node
Bug fixes
- 232a81d fix(filenode): create link if not exist for file->block
- 0e474b8 fix(filenode): store data blocks globally, CID by space
- ed4916d fix: add proper config for NewSyncApp
- 5c47245 fix: create dir for files
- f11f530 fix: ensure correct extraction of current timestamp in version-check workflow and assign issue to user
- e265f1d fix: goreleaser correct buildin info
- 62c4ce8 fix: handle key not found errors
- cc666f4 fix: log error from Close
- 7e05f6b fix: update default external addresses in root command configuration
- adabab6 fix: use the correct module name
- a8bad79 fix: wait for coordinator's TCP listener to be ready before starting dependent services
Others
- 0b458ad Create LICENSE
- d614c10 Initial commit
- 71fc1b5 build: provice info into Dockerfile in CI
- c1821b8 build: use --mount
- 000e5c4 build: use one Dockerfile
- efc6015 chore(consensusdb): check Rollback error
- d1046ae chore(go.mod): add tool protoc-gen-go
- 7b89c7c chore(lightfilenode): avoid name intersection
- faf85be chore(lightfilenode): clean up unused code
- 6e0b8b9 chore(lightfilenodestore): comment unused atomic for now
- 50a9a5b chore: add comments to compose and remove unused files
- 4c642f8 chore: add more logger to debug test
- 7241912 chore: change parameters of badger
- b490fda chore: comment out unused linters in .golangci.yml for cleaner configuration
- fab9b23 chore: correct linter
- 45fca53 chore: remove LICENSE file
- 5d673e3 chore: remove Protoc installation step from GitHub Actions workflow
- 6fff372 chore: remove Windows 11 ARM runner from GitHub Actions workflow
- dffe25d chore: simplify tool declaration for moq in go.mod
- 2f181aa chore: update .air.toml build
- 99ed429 chore: update GitHub Actions workflow to refine OS matrix and remove deprecated runners
- aac3c29 chore: update Go version and golangci-lint
- 0c3f0d7 chore: update Go version to 1.25.1 and upgrade GitHub Actions dependencies
- 77a292e chore: update README.md with new bundle version and compatibility date
- 3c9e2c9 chore: update dependencies in go.mod and go.sum to latest versions
- 5b1c7d6 chore: update deps to latest
- 907a205 chore: update deps to latest
- d8817d9 chore: update go.mod
- bd98b9f chore: update go.mod to include new dependencies for multihash and testify, and remove indirect references
- a06e614 chore: update golangci-lint configuration and formatt
- 80ab8f9 chore: update golangci-lint configuration to v2.5.0 and add new linters for improved code quality
- c10c7ca chore: upgrade Go to 1.25.2
- 43e88b3 chore: upgrade golangci-lint to version 2.5.0 in CI workflow
- 5c7f93d ci(commit): add Protoc installation
- dfd2450 ci(commit): add comments for clarity on tests runners list
- 1194ccd ci(commit): specify v30.x Protoc
- b8a5065 ci(commit): start tests on all available runners
- 74e550b ci(commit): use same Protoc version (29.3) as current for macOS brew
- ceb597d ci(test): download modules in separate step
- 03a3bd6 ci: add minimal tag
- 49a017d ci: add release flow and build only for arm64 and amd64
- c38667d ci: build docker
- 4622ef4 ci: build on commit
- ca12f6b ci: bump up golangci-lint to 1.64.5
- 4672120 ci: enable caching for Docker builds
- 3b12418 ci: enhance test coverage reporting and configuration
- b223ca3 ci: install tool
- 956c01b ci: linter timeout and jobs' name
- a4182ad ci: only amd and arm
- 8299553 ci: release without normal release tags
- 53936d4 ci: remove 386
- ecda9cf ci: remove mips64le
- 69e8357 ci: remove needs
- f09487f ci: remove unsupported arch
- fa72dca ci: trigger
- eeb47e0 ci: update release workflow
- 89cb17a ci: use fgrosse/go-coverage-report
- 5c4ff71 ci: use ubuntu-24.04
- f09d2ef docs: add AGENTS.md
- 93f99ea docs: add Docker Compose deployment examples
- 845168b docs: add callout that under dev.
- 483823c docs: add logo
- 47993be docs: add marker for each version variant
- caa9d84 docs: add notes TODO
- 72b33fe docs: add release instruction and header
- 7e6e265 docs: add usage
- 7532751 docs: bumpup to 0.5.0
- 74c48e0 docs: clean up AGENTS and add sleep for coordinator start
- c922efc docs: describe how version is created
- 068257c docs: expand AGENTS.md with shared account architecture details and service impact analysis
- afabe6d docs: move ideas to issues
- dd734db docs: remove outdated from README
- e1971f1 docs: remove status indicators
- d6ec46a docs: remove top header
- e2247c2 docs: remove wrong point in issues
- fa32d1a docs: sync version in README
- 6ddadbb docs: update AGENTS.md and README.md
- 0b73139 docs: update AGENTS.md and README.md
- 5a2a38e docs: update list of bundle variants
- 53c4cb8 docs: update version in README for release v0.3.5
- 5fa6ae8 docs: use table for status
- b3649b3 dump client config
- 1210d5c refactor(filenode): CID add operation auto bind to file
- ea47c71 refactor(filenode): make all index fields private
- 955768c refactor(filenode): remove unused errors and values in from Index/Store services
- c9c31c7 refactor(filenode): return objects instead interface and make private fields of lightfilenodeindex
- 074ac3e refactor(filenode): split permission check on read/write
- a751b38 refactor(filenode): switch to Index service in memory
- b50fddc refactor(filenode): use full storeKey for all Index operations
- 3ec32cd refactor(lightfilenode): using crypto/rand for block generation
- 3cbe3e3 refactor(testutil): remove deprecated block utility functions
- c91a28e refactor: update configuration commands
- a5b719f refactor: add missing periods to comments and rename lightFileNodeStore for consistency
- 1402065 refactor: add missing punctuation to comments for consistency
- 61835a3 refactor: badger component
- 7fea41d refactor: change log level from Info to Warn for error handling in lightFileNodeStore
- 1ac3f02 refactor: consolidate lightnode
- 4a14a7f refactor: consolidate lightnode components and remove unused files
- 5fbb606 refactor: finalize external address
- 4eda6a8 refactor: implement shared network architecture for service coordination and streamline startup process
- 2c0c600 refactor: improve code safety and permissions handling across multiple files
- 763b646 refactor: improve error handling and variable naming across multiple files for consistency and clarity
- 0ba7135 refactor: move nodes into separate package and add metric mock
- e5440d8 refactor: move terminationSignals declaration into main function for improved scope management
- e508789 refactor: organize store and updat tests
- 594aa61 refactor: remove MustMkdirAll function and its usage from lightnode components
- 6b1cb8f refactor: remove generate configuration command
- 26ddac9 refactor: remove lightconfig and lightnodeconf components along with their tests
- 89905d6 refactor: remove logging from sync node
- 4c4d2ca refactor: remove mock implementations and associated tests for lightFileNodeStore
- 8200e02 refactor: replace CName constant with fileblockstore.CName in lightFileNodeStore
- 08845fd refactor: replace fmt.Errorf with errors.New for improved error handling in mongo.go and update variable naming in bundle.go
- 5a5c603 refactor: specify all path in one place for nodes
- 8e1f63c refactor: split start cmd
- fbb61fd refactor: start split on cmd in CLI
- eb4f1fd refactor: update Dockerfile paths, remove unused config commands, and streamline service startup
- 0facb13 refactor: update lightFileNodeStore initialization
- eeabef2 split config subcommand
- 04ff8ea test(filenode): check links file to block and group to space
- b73b51c test(filenode): implement rpc tests base on index and store mocks
- b04be0b test(filenode): write to store same block
- 48aa5c9 test(lightfilenode): add logging to debug windows fail
- 2fafd58 test(lightfilenode): use custom block generator of blocks
- 7ef39c4 test(lightfilenode): verify CID add into index
- e1fd9b8 test: add comprehensive unit tests for LightFileNodeStore including CRUD, error handling, and concurrency scenarios
- 5354de7 test: add more tests on s3 service
- 98d01ef test: correct linter errors
- a6ea36e test: skip permission tests on Windows, modernize
- 3237725 test: unit tests for lightnodeconf
- 65e65df tests(filenode): more RPC test BlockPush
Your PRs and issues are welcome! Thanks 🙂