Workers Auto Approve
Move Orion peer table to memory and implement environment variables for configuration
This bounty is to add high availability support to Orion and provide easier configurations (via environment variables) to make deployment of Orion in Kubernetes simpler.
### Technical Details
The bulk of the technical work to provide high availability for Orion consists of moving Orion's peer table out of memory and storing it in the Orion database. Multiple Orion instances can then use the same database so that their peer tables are the same and do not become inconsistent.
Orion needs to provide an option for the user to delete the known nodes information from the database. We need to create a startup flag that will determine if the starting node should delete all entries from the known peers table before it starts discovering new nodes.
Support for environment variables in addition to the currently supported configuration file options will give more flexibility to how Orion can be deployed depending on infrastructure. Specifically, all CLI options and configuration file parameters should be possible to set via environment variables.
*Note:* It may be possible to re-use the Besu PICO CLI to reduce maintenance costs.
### A good implementation will:
* Document how to configure Orion for high availability
* Have tests to validate the peer table is the same for Orion instances in the HA cluster
* Have tests to validate configuring Orion using environment variables works. For example, this is how we've done this for Besu https://github.com/hyperledger/besu/tree/master/docker/tests
* Document Orion environment variables
* Either be backwards compatible or clearly document the configuration changes needed for users upgrading from the previous Orion version
* Use an approach to environment variables in Orion that's consistent with Besu
### Submission Requirements
*Before beginning to implement, please share your approach on the issue so that our team can give you proactive comments.*
Implement storing of Orion peer table in the Orion database
Implement use of environment variables for storing Orion CLI and configuration file options
All submitted code must be Apache 2.0 licensed and the Contributor Licence Agreement signed for such code
All new libraries and dependencies must be Apache 2.0 friendly
### Evaluation Criteria
The bounty will be awarded to the best submission based on peer table and environment variable implementation, code and testing quality, compliance with Contribution Guidelines, maintenance burdens, and the Submission Requirements above, according to PegaSys. Before beginning to implement, please share your approach on the issue so that our team can give you proactive comments.
### Bounty Amount: 3,000 DAI
Setup your profile
Tell us a little about you:
No results found for
Type to search skills..
Required [[totalcharacter]] / 240
Are you currently looking for work?
[[ option.string ]]
Setup your profile
Our tools are based on the principles of earn (💰), learn (📖), and meet (💬).
Select the ones you are interested in. You can change it later in your settings.
I'm also an organization manager looking for a great community.
Enable your organization profile
Gitcoin products can help grow community around your brand. Create your tribe, events, and incentivize your community with bounties. Announce new and upcoming events using townsquare. Find top-quality hackers and fund them to work with you on a grant.
These are the organizations you own. If you don't see your organization here please be sure that information is public on your GitHub profile. Gitcoin will sync this information for you.
Select the products you are interested in:
Out of the box you will receive Tribes Lite for your organization. Please provide us with a contact email: