Skip to content

Latest commit

 

History

History

wren

Wren

Wren is the API layer between external client libraries, and Compute. It also manages table schema and metadata.

Building

Notes

  • To manage dependences, wren uses go-modules.
    • The go.mod file is defined in the root wren folder.
  • To generate gRPC/protobuf libraries, wren uses Buf
    • The buf.gen.yaml files are defined in the root proto folder

Building Wren

Note that building wren currently requires docker. Docker is used for generating code for gRPC via buf.

  • make proto/generate
    • writes the output to gen/ -- all the files execpt those that match the pattern *.ent.go are dyamically generated. do not commit them to the repo.
  • make ent/generate
    • writes the output to ent/ -- all the files except those in ent/schema/ and ent/generate.go are dyamically generated. do not commit them to the repo.
  • make wren/build
    • generates the wren executable

Testing Wren

Generating Mocks

Adding

To add mocks for additional interfaces in wren, update the .mockery.yaml file and then run make wren/generate-mocks from the root folder of the monorepo.

Updating

To update the existing mocks for recent interface changes, run make wren/generate-mocks from the from the root folder of the monorepo.

Running Unit Tests

From the root of the monorepo, run make wren/test

Standards

The following standards are used in the design of the Wren API:

Tools Used

Helpful Links/Repos