Skip to content

Create separate repository for Cosmovisor #9994

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
1 of 4 tasks
mdyring opened this issue Aug 24, 2021 · 4 comments
Closed
1 of 4 tasks

Create separate repository for Cosmovisor #9994

mdyring opened this issue Aug 24, 2021 · 4 comments
Labels
C:Cosmovisor Issues and PR related to Cosmovisor

Comments

@mdyring
Copy link

mdyring commented Aug 24, 2021

Summary

It would be nice for validators to have a single repository for Cosmosvisor with its own tags for versioning and issues tracking specific to Cosmovisor functionality.

Problem Definition

  1. Versioning is unclear.
  2. New features and bug fixes end up being tied with a specific SDK version (such as described in Cosmovisor hangs node when piping API response.  #9875).
  3. It seems excessive to clone the entire cosmos-sdk to build Cosmovisor.

Proposal

  1. Setup a fresh repository, e.g. github.com/cosmos/cosmovisor
  2. Introduce a versioning scheme that does not depend on cosmos-sdk
  3. Provide an overview in README.md of compatibility between Cosmosvisor and SDK versions.
  4. Get a standing ovation from validators. 🥇

For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned
@robert-zaremba
Copy link
Contributor

robert-zaremba commented Aug 26, 2021

Cosmovisor is using it's own tags and it's own releases. Moreover Cosmovisor is it's own module. Go works well with installing a binary from a multi module or multi binary repository.

I know that it seams more clear to put the Cosmovisor in it's own repository. We had few discussions about it (ps: I was also supporting moving it to other repository) in the past and decided to keep it in the same repository as the Cosmos SDK, because it's managed by the Cosmos SDK team, uses same test flow and hopefully have more awareness about this project.

@robert-zaremba robert-zaremba added the C:Cosmovisor Issues and PR related to Cosmovisor label Aug 26, 2021
@mdyring
Copy link
Author

mdyring commented Sep 1, 2021

Cosmovisor is using it's own tags and it's own releases. Moreover Cosmovisor is it's own module. Go works well with installing a binary from a multi module or multi binary repository.

I know that it seams more clear to put the Cosmovisor in it's own repository. We had few discussions about it (ps: I was also supporting moving it to other repository) in the past and decided to keep it in the same repository as the Cosmos SDK, because it's managed by the Cosmos SDK team, uses same test flow and hopefully have more awareness about this project.

Hi Robert, yeah I understand that it is to some extent a matter of personal taste. I see some thumbs-up on the original issue, so I believe other people might hold a similar view as you and I :-)

I would still argue that the most appropriate solution is to split the repos as the Cosmos stack is intended to be modular. Already today we have gaia and Cosmos SDK repos separated.

The only reason that I spend the time to bring this up was because our validator operations were affected by #9875 and I found the mixing of repos and versioning non-intuitive.

If the projects remain glued together it would be a good addition with some installation instructions in the Cosmovisor readme on how to build a specific version. Could be something simple such as go install github.com/cosmos/cosmos-sdk/cosmovisor/cmd/[email protected]

@aaronc
Copy link
Member

aaronc commented Sep 10, 2021

Thanks for your suggestion @mdyring. Cosmovisor was in a separate repo before and it didn't have enough maintainers. Thus we prefer a mono-repo solution so that we can ensure it gets maintained. If there is a big enough group of maintainers outside the core SDK team at some point, maybe we can re-explore a separate repo then. For now it's staying here.

Yes, it is a separate go module with separate version tags and the installation command you suggested is now documented in the README. If there you see other gaps in documentation, please let us know.

@aaronc aaronc closed this as completed Sep 10, 2021
@robert-zaremba
Copy link
Contributor

Gaia is a Cosmos SDK chain, not a tool / framework.

A week ago (or more) we updated the installation instructions. I hope it's clear now how to install cosmovisor. We are also integrating go releaser to attach binaries to the on GitHub Cosmovisor Release Page.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C:Cosmovisor Issues and PR related to Cosmovisor
Projects
None yet
Development

No branches or pull requests

3 participants