* Problem: Upsert validator not migrated to Tendermint 0.19.0
Solution: Migrate the same to Tendermint 0.19.0
* Problem: There are no tests for public key encoding/decoding
Solution: Add necessary tests
Solution
As per Tendermint 0.16.0 , --p2p.seeds is now --p2p.persistent_peers. Update bigchaindb/tendermint container to use that configuration. Also disable --p2p.pex, we currently don't want the peer exchange.
Solution
Since BigchainDB and Tendermint are so tightly coupled we need to introduce a process supervisor to make them act like a single microservice, so that if BigchainDB crashes, Tendermint does as well and both are restarted and Tendermint requests a connection towards the proxy app.
In Kubernetes, they can be exposed as part of a one POD.
For BigchainDB as a system service/process, we need to introduce a process supervisor such as systemd.
This PR only solves the former.
Changes
Upgrade deployment from Tendermint v0.12.0 to v0.19.0
Update some documentation
Fix nginx-http entrypoint issues.
Update generate-configs.sh script to handle config generation without https-certificates.
Update Dockerfile to process dependency links introduced by abci
Integrate BigchainDB and Tendermint as a single microservice.
This required making BigchainDB to be exposed as a statefulset.
Introduce new liveness probe checks.
Issues Resolved
Partially fixes#2232
* remove max_tries while connecting to tendermint ws
Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>
* leave healthcheck as is for now
Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>
* Problem: No docs explaining use of MongoDB for querying
Solution: Start a new root docs page explaining how a node operator can use the full power of MongoDB's query engine, and can expose as much of that as they like to end users.
* Finished first draft of new docs page 'Querying BigchainDB'
Solution: Create a `LICENSE` file in this repo, containing the Apache v2 license, so that GitHub can detect the code license in this repo.
Please leave the `LICENSES.md` file. It also specifies the license on the documentation, and notes that some code is NOT licensed Apache v2 (i.e. the code we got from Runscope and modified).
This pull request was inspired by https://github.com/bigchaindb/bigchaindb-driver/pull/406 by @codegeschrei
* Initial update to CHANGELOG.md for the 2.0 Alpha 2 release
* Add Known Issues section to 2.0 Alpha 2 changelog
* Update Docker image tag to bigchaindb/bigchaindb:2.0.0-alpha2
* Update version.py for 2.0.0 Alpha 2
I changed the license from AGPL v3 to Apache v2 in January. See pull request #2020
Somehow, the license got changed back to AGPL without us noticing. It was noticed by @dscook who asked us about it on Gitter, see https://gitter.im/bigchaindb/bigchaindb?at=5ad0cfc66d7e07082bef276b
This pull request changes the license back to Apache v2, which is what it should have been ever since January.
* Problem: docker image tag wrong in dev-setup/bigchaindb.yaml
Solution: change the docker image tag to 2.0.0-alpha in that file
* Problem: version.py needed updating for 2.0 Alpha
Solution: Updated the contents of bigchaindb/version.py for the release of 2.0.0 Alpha
* Update CHANGELOG.md for the 2.0 release
* Problem: BigchainDB 2.0 Alpha name & tag wrong in CHANGELOG.md
Solution: Name="BigchainDB 2.0 Alpha" tag="v2.0.0a1"
* Problem: Blogpost link missing & no Known Issues
Solution: Hyperlink the blog post with the missing link and
document the Known Issues.
* Problem: The 2.0 Alpha release date in CHANGELOG.md was wrong
Solution: Changed the release date of 2.0 Alpha to April 3, 2018 in CHANGELOG.md
* Problem: Some docs still say to run MongoDB w/ replica set
Solution: Update the relevant docs
* Problem: A docs mention of upsert-validator wasn't linked to BEP-3.
Solution: Link that docs mention to BEP-3 on GitHub.
Solution: update the documentation to reflect this. I've also removed
the documentation about the event plugin API. That part needs to be
refactored to work properly with BigchainDB 2.0. We can reintroduce it
later.