Go to file
Anil Kumar Kammari 5a47154f6c
feat: Add backup option for cosmovisor (#9652)
<!--
The default pull request template is for types feat, fix, or refactor.
For other templates, add one of the following parameters to the url:
- template=docs.md
- template=other.md
-->

## Description

Ref: https://github.com/cosmos/cosmos-sdk/issues/9616#issuecomment-873051972

depends: #8590

<!-- Add a description of the changes that this PR introduces and the files that
are the most critical to review. -->

This PR adds a full backup option for cosmovisor. 
`UNSAFE_SKIP_BACKUP` is an `env` setting introduced newly.
- if `false` (default, **recommended**), cosmovisor will try to take backup and then upgrade. In case of failure while taking backup, it will just halt the process there and won't try the upgrade.
- If `true`, the cosmovisor will try to upgrade without any backup. This setting makes it hard to recover from a failed upgrade. Node operators either need to sync from a healthy node or use a snapshot from others.

---

### Author Checklist

*All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.*

I have...

- [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] added `!` to the type prefix if API or client breaking change
- [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] provided a link to the relevant issue or specification
- [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules)
- [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing)
- [ ] added a changelog entry to `CHANGELOG.md`
- [x] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [x] updated the relevant documentation or specification
- [x] reviewed "Files changed" and left comments if necessary
- [ ] confirmed all CI checks have passed

### Reviewers Checklist

*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*

I have...

- [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed 
- [ ] reviewed state machine logic
- [ ] reviewed API design and naming
- [ ] reviewed documentation is accurate
- [ ] reviewed tests and test coverage
- [ ] manually tested (if applicable)
2021-08-05 20:00:08 +00:00
.github build(deps): bump technote-space/get-diff-action from 4 to 5 (#9834) 2021-08-04 11:50:02 +02:00
baseapp feat!: support debug trace QueryResult (#9576) 2021-07-08 09:25:40 +00:00
client fix: hardcoded ledger algo on `keys add` (#9766) 2021-07-28 10:14:40 +00:00
codec feat!: remove legacy REST (#9594) 2021-07-06 10:04:54 +00:00
contrib feat!: change Coin storage model (#9832) 2021-08-05 17:00:28 +00:00
cosmovisor feat: Add backup option for cosmovisor (#9652) 2021-08-05 20:00:08 +00:00
crypto fix: hardcoded ledger algo on `keys add` (#9766) 2021-07-28 10:14:40 +00:00
docs feat: Add cli for listing all module accounts (#9812) 2021-08-02 18:47:43 +00:00
internal/conv
proto/cosmos feat: Add cli for listing all module accounts (#9812) 2021-08-02 18:47:43 +00:00
scripts chore: Add script to validate gentxs (#9486) 2021-07-27 09:37:29 +00:00
server perf(grpcweb): remove useless HTTP HandlerFun wrapping (#9711) 2021-07-19 09:28:49 +00:00
simapp fix!: Capability Issue on Restart, Backport to v0.43 (#9836) 2021-08-03 18:50:08 +00:00
snapshots
std Add ADR 031 BaseApp and codec infrastructure (#7519) 2020-10-15 13:07:59 +00:00
store docs: Add godocs to GasMeter methods (#9665) 2021-07-12 23:17:01 +00:00
telemetry
tests
testutil fix: start GRPCWebServer in goroutine (#9704) 2021-07-19 01:20:55 +00:00
third_party/proto
types feat!: change Coin storage model (#9832) 2021-08-05 17:00:28 +00:00
version feat: add cosmos-sdk Version (#9429) 2021-06-18 12:56:55 +00:00
x feat!: change Coin storage model (#9832) 2021-08-05 17:00:28 +00:00
.build.sh
.clang-format
.codecov.yml
.deepsource.toml
.dockerignore
.gitattributes
.gitignore docs: fix cosmovisor quickstart (#9730) 2021-07-26 07:51:36 +00:00
.golangci.yml refactor: Rename x/{mod}/legacy to x/{mod}/migrations (#9628) 2021-07-05 14:55:51 +00:00
.goreleaser.yml
.markdownlint.json chore: add markdownlint to lint commands (#9353) 2021-05-27 15:31:04 +00:00
.markdownlintignore chore: add markdownlint to lint commands (#9353) 2021-05-27 15:31:04 +00:00
.mergify.yml chore: Add mergify v0.43 backport (#9591) 2021-06-28 12:23:20 +02:00
CHANGELOG.md feat!: change Coin storage model (#9832) 2021-08-05 17:00:28 +00:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md docs: update adr section of contributing (#9710) 2021-07-27 21:27:49 -07:00
Dockerfile build: Update Dockerfile (#9839) 2021-08-03 09:46:16 -04:00
LICENSE
Makefile feat: simd runs in-process testnet by default (#9246) 2021-06-29 10:41:55 +00:00
README.md chore: add markdownlint to lint commands (#9353) 2021-05-27 15:31:04 +00:00
SECURITY.md chore: add markdownlint to lint commands (#9353) 2021-05-27 15:31:04 +00:00
STABLE_RELEASES.md chore: add markdownlint to lint commands (#9353) 2021-05-27 15:31:04 +00:00
buf.yaml refactor: Bring back deprecated proto fields to `v1beta1` (#9534) 2021-06-23 13:03:33 +00:00
docker-compose.yml perf: Change localnet CIDR from /16 (65k addresses) to /25 (128 addresses) to reduce docker network conflicts (#9667) 2021-07-12 08:51:36 +00:00
go.mod build(deps): bump github.com/prometheus/common from 0.29.0 to 0.30.0 (#9787) 2021-07-30 14:10:54 +00:00
go.sum build(deps): bump github.com/prometheus/common from 0.29.0 to 0.30.0 (#9787) 2021-07-30 14:10:54 +00:00

README.md

Cosmos SDK

banner

The Cosmos-SDK is a framework for building blockchain applications in Golang. It is being used to build Gaia, the first implementation of the Cosmos Hub.

WARNING: The SDK has mostly stabilized, but we are still making some breaking changes.

Note: Requires Go 1.15+

Quick Start

To learn how the SDK works from a high-level perspective, go to the SDK Intro.

If you want to get started quickly and learn how to build on top of the SDK, please follow the SDK Application Tutorial. You can also fork the tutorial's repository to get started building your own Cosmos SDK application.

For more, please go to the Cosmos SDK Docs.

Cosmos Hub Mainnet

The Cosmos Hub application, gaia, has moved to its own repository. Go there to join the Cosmos Hub mainnet and more.

Interblockchain Communication (IBC)

The IBC module for the SDK has moved to its own repository. Go there to build and integrate with the IBC module.

Starport

If you are starting a new app or a new module you can use Starport to help you get started and speed up development. If you have any questions or find a bug, feel free to open an issue in the repo.

Disambiguation

This Cosmos-SDK project is not related to the React-Cosmos project (yet). Many thanks to Evan Coury and Ovidiu (@skidding) for this Github organization name. As per our agreement, this disambiguation notice will stay here.