Skip to content

Multidatabase

Choose a tag to compare

@mmeloni mmeloni released this 10 Aug 16:26
· 3817 commits to master since this release

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