Skip to content

galenmarchetti/kurtosis-libs

 
 

Repository files navigation

Kurtosis Libs

This repo contains:

  1. Libraries in various languages for interacting with Kurtosis Core, which are used to write testsuites
  2. Example implementations of testsuites in each langauge
  3. Infrastructure for bootstrapping a new testsuite, that you can use to create your own customized testsuite

Testsuite Quickstart

Prerequisites:

Quickstart steps:

  1. Clone this repo's master branch: git clone --single-branch --branch master [email protected]:kurtosis-tech/kurtosis-libs.git
  2. View the supported languages and choose the language you'd like your testsuite in
  3. Run bootstrap/bootstrap.sh and follow the helptext instructions to fill in the script arguments and bootstrap your repo
  4. If you see error messages after running your new testsuite, check out the guide for debugging failed tests which contains solutions to common issues. If this still doesn't resolve your issue, feel free to ask for help in the Kurtosis Discord server
  5. If all tests are passing, you can proceed to customizing your testsuite.

Developing On This Repo

Cutting New Releases

Run scripts/release.sh

Regenerating Protobuf Bindings

Prerequisites:

  • protoc installed (can be installed on Mac with brew install protobuf)
  • The Golang extension to protoc installed (can be installed on Mac with brew install protoc-gen-go)
  • The Golang gRPC extension to protoc installed (can be installed on Mac with brew install protoc-gen-go-grpc)
  • rust-protobuf-binding-generator installed

NOTE: One day we want to push all the protobuf binding into Docker, so that the output doesn't depend on the developer's machine; see this issue for more details

Each library needs to talk with Kurtosis Core, and the Kurtosis Core API is defined via Protobuf. Rather than storing the Protobufs in Git submodules (which add significant complexity), the .proto files are simply copied from the relevant version of Kurtosis Core. In the future, we can move to a more productized solution.

To regenerate the bindings corresponding to the Protobuf files, use the scripts/regenerate-protobuf-output.sh script.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 55.1%
  • Shell 44.0%
  • Dockerfile 0.9%