hyperweb-io / hyperweb-io/starship
examples: cw-orchestrator using starship
- Dominant language
- TypeScript
- Stars
- 77
- Forks
- 39
- PR merge metrics
- No merged PRs in 30d
Description
## Overview
Currently `AbstractSDK/cw-orchestrator` is using a fork of interchain tests with a mix of golang and rust coupled with docker.
We create an example in which we are able to perform the various e2e tests
## Proposal
Inorder to achive this we have to do the following
### On Starship: Rust Client
Create a rust client similar to the [go client](https://github.com/cosmology-tech/starship/tree/main/clients/go/client): This client will be responsible for initial connection with the starship infra running from a config file.
The client will do the following:
* Have information about all the chains running, relayers etc
* Initial keys/mnemonics with the balances
* Handy util functions to: send tokens, ibc tokens, contract deployment (?), contract store (?) etc
### On `cw-orchestrator`: Starship directory
First we create a starship dir in root, with the
* config file (specifying the infra we want to setup)
* Makefile with handy commands to spin up starship infra, and to connect to it
* Test cases, which will import the rust client created above, and write idempotent test cases
Bonus:
* Add CI/CD using `starship-action` to run the whole testing setup and test cases (maybe in a k8s cluster)
## Workflow
Once we have the components the tests would look something like:
```bash
# Spin up the infra
make start
# Run the tests, should be able to run multiple times
cargo test
# Stop everything
make stop
```
The setup is such that there is some initial setup time, so it would make sense to write test cases itself such that they can be run multiple times against the same infra setup.
Note: In CI/CD we spinup the system from scratch.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the existing Starship Go client in clients/go/client and the cw-orchestrator integration described in the issue. Define the Rust client, starship configuration, Makefile commands, and repeatable test cases before implementing them. The proposed workflow is make start, cargo test, and make stop; completion includes the end-to-end tests, with starship-action CI as a bonus.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, go, kubernetes, rust
- Domain
- devops, infrastructure, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100