Multidatabase
Changelog
[v0.7.0] - 2020-08-10
Bug Fixes
- userlist returns wrong message when logged in as immudb with single database
- use dedicated logger for store
- fix compilation error in corruption checker test
- race condition in token eviction
- chose defaultdb on user create if not in multiple db mode
- user list showing only the superadmin user even when other user exist
- fix multiple services config uninstall
- skip loading databases from disk when in memory is requested
- if custom port is <= 0 use default port for both immudb and immugw
- fix immugw failing to start with nil pointer dereference since gRPC dial options are inherited (bug was introduced in commit a4477e2)
- remove os.Exit(0) from disconnect method
- fix DefaultPasswordReader initialization. fixes #404
- fix travis build sleep time
- use the correct server logger and use a dedicated logger with warning level for the db store
- cmd/immuadmin/command: fix user list output to support multiple databases (with permissions) for the same user
- pkg/auth: if new auth token is found in outgoing context it replaced the old one
- pkg/client: use database set internally database name
- pkg/client: inherit dial options that came from constructor
- pkg/fs: don't overwrite copy error on Close malfunction. Sync seals the operation–not Close.
- pkg/gw: fix client option construction with missing homedirservice
- pkg/server: added os file separator and db root path
- pkg/server: avoid recursion on never ending functionality. Further improvements can be done (#427)
- pkg/server/server: change user pass , old password check
- pkg/service: restore correct config path
- pkg/store: fix count method using a proper NewKeyIterator
Changes
- refactor immuclient test
- fix tokenService typos
- add use database gw handler
- spread token service usage
- enhance immudb server messages during start
- capitalize immudb stop log message for consistency reasons
- remove permission leftovers and useless messages in client server protocol
- log immudb user messages during start to file if a logfile is specified
- use debug instead of info for some log messages that are not relevant to the user
- versioning token filename
- add auditor single run mode
- fix conflicts while rebasing from master
- remove user commands from immuclient
- add unit tests for zip and tar
- fix test
- improve command ux and fix changepassword test. Closes #370
- change insert user to use safeset instead of set
- remove useless quitToStdError and os.exit calls
- remove sleep from tests
- use 0.0.0.0 instead of 127.0.0.1 as default address for both immudb and immugw
- using cobra command std out
- move immuadmin and immuclient service managing to pkg
- add homedir service
- rewrite tests in order to use pkg/server/servertest
- add codecov windows and freebsd ignore paths
- fix typo in UninstallManPages function name
- add coveralls.io stage
- refactor immuadmin service to use immuos abstraction
- add coverall badge
- add filepath abstration, use it in immuadmin backup and enhance coverage for backup test
- add os and filepath abstraction and use it in immuadmin backup command
- fix codecov ignore paths
- remove os wrapper from codecov.yml
- fix go test cover coverall
- fix immuclient tests
- add empty clientTest constructor
- user list client return a printable string
- add unexpectedNotStructuredValue error. fixes #402
- add failfast option in test command
- fix contributing.md styling
- remove tests from windows CI
- add go-acc to calculate code coverage and fix go version to 1.13
- refactor immuclient test, place duplicated code in one place
- add an explicit data source on terminal reader
- TestHealthCheckFails if grpc is no fully closed
- add options to tuning corruption checking frequency, iteration and single iteration
- cmd: immugw and immudb use process launcher for detach mode
- cmd: token is managed as a string. fixes #453
- cmd: fix typo in command messages
- cmd: enhance PrintTable function to support custom table captions and use such captions in immuadmin user and database list commands
- cmd: restore error handling in main method
- cmd/helper: add doc comment for the PrintTable function
- cmd/immuadmin: immuadmin user sub-commands use cobra, tests
- cmd/immuadmin/command: remove useless auth check in print tree command
- cmd/immuadmin/command: fix text alignment and case
- cmd/immuadmin/command: move command line and his command helper method in a single file
- cmd/immuadmin/command: automatically login the immuadmin user after forced password change is completed
- cmd/immuadmin/command: remove silent errors in immuadmin
- cmd/immuadmin/command: move options as dependency of commandline struct
- cmd/immuadmin/command: user and database list use table printer
- cmd/immuclient/command: remove useless comment
- cmd/immuclient/immuc: inject homedir service as dependency
- cmd/immugw/command: use general viper.BindPFlags binding instead of a verbose bindFlags solution
- cmd/immutest/command: inject homedir service as dependency
- pkg/client/options: add options fields and test
- pkg/client/timestamp: removed unused ntp timestamp
- pkg/fs: utilise filepath directory walk for copy
- pkg/fs: traceable copy errors
- pkg/fs: create file copy with flags from the start, in write-only mode
- pkg/server: add corruption checker random indexes generator missing dependency
- pkg/server: improve tests
- pkg/server: mtls test certificates system db as immuserver property improve tests
- pkg/server: make DevMode default false and cleanup call to action message shwon right after immudb start
- pkg/server: immudb struct implements immudbIf interface, fixes previous tests
- pkg/server: add corruption checker random indexes generator dependency
- pkg/store/sysstore: remove useless method
Code Refactoring
- add immuadmin services interfaces and terminal helper
- remove custom errors inside useDatabase and createDatabase services. Fixes #367
- handle in idiomatic way errors in changePermission grpc service. Fixes #368
- decoupled client options from server gateway constructor
- refactor detach() method in a process launcher service
- decouple manpage methods in a dedicated service
- cmd: move database management commands from immuclient to immuadmin. Fixes #440
- cmd/immuadmin/command: using c.PrintfColorW instead c.PrintfColor to increase cobra.cmd integration for tests
- cmd/immuadmin/command: move checkLoggedInAndConnect, connect, disconnect from server to login file
- cmd/immuadmin/command: remove useless argument in Init and improve naming conventions
Features
- add multiple databases support
- cmd/helper: add table printer
- cmd/helper: add PrintfColorW to decouple writer capabilities
- cmd/immutest: allow immutest to run on remote server
- pkg/client: add token service
Downloads
Docker image
https://hub.docker.com/r/codenotary/immudb
Immudb Binaries
| File | SHA256 |
|---|---|
| immudb-v0.7.0-darwin-amd64 | 53a2b89781be7a83a3ae4a22156c62cc144413cba601cd9ab54fbede936c0abd |
| immudb-v0.7.0-linux-amd64 | fa94dd6518dc9d4fa1e8ff11c3143cdfdc43476299925f3421ac487530246d92 |
| immudb-v0.7.0-linux-amd64-static | ec86c9d2c34e0bc8a5bfcd4e5072fefcfd3da0891dfc6d84a872eddf6a667945 |
| immudb-v0.7.0-linux-s390x | 0c7fbe33bc616182bbbc59b77e370d4295904b94f52e3147572547b54fafae2b |
| immudb-v0.7.0-windows-amd64.exe | 2b8db025ef1afffb12426761cf34a41f4ead059fb51efccec7560868bb99690b |
Immugw Binaries
| File | SHA256 |
|---|---|
| immugw-v0.7.0-darwin-amd64 | 8952cb9c4a9a7631553cb04b59646eb1b18ff5dbf098625cef35754f0e71a215 |
| immugw-v0.7.0-linux-amd64 | f15e869af91817c4df2efe5bca4ec4a93b7a88929446c55c3bf8a55e14399750 |
| immugw-v0.7.0-linux-amd64-static | 1c3daf1ef395e1114187624d11a574294614dd9befcc1afa50b647e35f7ee9d1 |
| immugw-v0.7.0-linux-s390x | 5ea29b72cadcc75dbb18f7a06f225155c324197154a175f2c59ace1ad1d6fdc3 |
| immugw-v0.7.0-windows-amd64.exe | 4212c741f4a094e75fe5b6e05e02dead451277527de65d423bf66fd8ea1fc25a |
Immuclient Binaries
| File | SHA256 |
|---|---|
| immuclient-v0.7.0-darwin-amd64 | 678f8cedb21d35259ae449ec949c1d5b7b8d6fa77f3db40fecbddba0d5bab19a |
| immuclient-v0.7.0-linux-amd64 | 4aa2f58176ed089176c77a5931c98b09f3f97a7e5b2fafd4cc72f367640d157f |
| immuclient-v0.7.0-linux-amd64-static | 2a41507432c6f098e142e544140bc91cf5b468a8579dec49f9a708c8d99ad011 |
| immuclient-v0.7.0-linux-s390x | 68ea33c8cc235c207ebc5eb44862ccbd56ac48bc9a8dd17fee372bd899c7e80e |
| immuclient-v0.7.0-windows-amd64.exe | f5dae66336374229b3a17e0827097374d99f78736445e51ecece2731d0f2a4b5 |
Immuadmin Binaries
| File | SHA256 |
|---|---|
| immuadmin-v0.7.0-darwin-amd64 | dc4c1f8f364d058f05e7a556f699a6a90bba1935f6ac751a8d3b85741d6c7406 |
| immuadmin-v0.7.0-linux-amd64 | 630dc2122144323896d27443f436840d1f033bc01c79d67b024ba7729e3588bb |
| immuadmin-v0.7.0-linux-amd64-static | e380190d9627a080c60536b1d45f20f626233219929a7ebd0f9d93f9fa340a72 |
| immuadmin-v0.7.0-linux-s390x | b9bd6d9f6d0cdc4122ff32288232a6a87d662cf3a755f432dce2515deddace54 |
| immuadmin-v0.7.0-windows-amd64.exe | 6ed09612139333d613504636a13842754c890836535e44626d008aac1de2f155 |