-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[BLD] Update Golang README and Makefile for generating protobuf depen…
…dencies
- Loading branch information
Showing
3 changed files
with
31 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,6 +5,7 @@ | |
go/bin/ | ||
go/**/testdata/ | ||
go/coordinator/bin/ | ||
go/pkg/proto/ | ||
|
||
clients/js/package-lock.json | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,35 @@ | ||
# Set up Local Postgres | ||
# Chroma Golang Codebase | ||
|
||
## Set up Local Postgres | ||
|
||
- Install Postgres on Mac | ||
- `brew install postgresql@14` | ||
- `brew install postgresql@14` | ||
- Start & Stop | ||
- `brew services start postgresql` | ||
- `brew services stop postgresql` | ||
- `brew services start postgresql` | ||
- `brew services stop postgresql` | ||
- create testing db | ||
- terminal: `psql postgres` | ||
- postgres=# `create role chroma with login password 'chroma';` | ||
- postgres=# `alter role chroma with superuser;` | ||
- postgres=# `create database chroma;` | ||
- terminal: `psql postgres` | ||
- postgres=# `create role chroma with login password 'chroma';` | ||
- postgres=# `alter role chroma with superuser;` | ||
- postgres=# `create database chroma;` | ||
- Set postgres ENV Vars | ||
Several tests (such as record_log_service_test.go) require the following environment variables to be set: | ||
- `export POSTGRES_HOST=localhost` | ||
- `export POSTGRES_PORT=5432` | ||
- `export POSTGRES_HOST=localhost` | ||
- `export POSTGRES_PORT=5432` | ||
- Atlas schema migration | ||
- [~/chroma/go]: `atlas migrate diff --env dev` | ||
- [~/chroma/go]: `atlas --env dev migrate apply --url "postgres://chroma:chroma@localhost:5432/chroma?sslmode=disable"` | ||
- [~/chroma/go]: `atlas migrate diff --env dev` | ||
- [~/chroma/go]: `atlas --env dev migrate apply --url "postgres://chroma:chroma@localhost:5432/chroma?sslmode=disable"` | ||
|
||
## Building | ||
|
||
The biggest challenge to getting the project to build correctly is ensuring you have the correct versions for Protobuf. Refer to the "source of truth" for the version in `Dockerfile`. Note, you need all three of these: | ||
|
||
- `protoc` | ||
- `protoc-gen-go` | ||
- `protoc-gen-go-grpc` | ||
|
||
For MacOS users, you can download the version of `protoc` from the [release page](https://github.com/protocolbuffers/protobuf/releases). Ensure that you copy the `protoc` binary to `/usr/local/bin` or add it to your `GOPATH/bin`. | ||
|
||
ALSO, ensure you have copied the `/include` directory of the release to `../include` relative to wherever you installed the binary. | ||
|
||
Once those are installed, you can run `make build` to build the project and most importantly, the generated protobuf files which your IDE will complain about until they are generated. |