diff --git a/docker-compose.yml b/docker-compose.yml index 17f79c7..b3af38c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -9,11 +9,13 @@ services: - "3000:3000" volumes: - ./:/root/warchest + security_opt: + - seccomp:unconfined environment: - NODE_ENV=development - BE_DATABASE_URL=postgres://postgres:password@postgres-be:5432/warchest - MM_DATABASE_URL=postgres://postgres:password@postgres-mm:5432/money_module - - TIGERBEETLE_ADDRESS=tigerbeetle:3000 + - TIGERBEETLE_ADDRESS=172.20.0.10:3000 networks: - warchest-network depends_on: @@ -57,13 +59,15 @@ services: retries: 5 tigerbeetle: - build: - context: ./money-module/tigerbeetle - dockerfile: Dockerfile + image: ghcr.io/tigerbeetle/tigerbeetle + entrypoint: ["/bin/sh"] + command: "/start.sh" networks: - - warchest-network + warchest-network: + ipv4_address: 172.20.0.10 volumes: - tigerbeetle_data:/data + - ./money-module/tigerbeetle/start.sh:/start.sh security_opt: - seccomp:unconfined @@ -75,3 +79,6 @@ volumes: networks: warchest-network: driver: bridge + ipam: + config: + - subnet: 172.20.0.0/24 # Define the range (e.g., 172.20.0.1 to 172.20.0.254) diff --git a/money-module/go.mod b/money-module/go.mod index c5355f9..3fdeede 100644 --- a/money-module/go.mod +++ b/money-module/go.mod @@ -1,3 +1,5 @@ module money-module go 1.22.2 + +require github.com/tigerbeetle/tigerbeetle-go v0.17.1 diff --git a/money-module/go.sum b/money-module/go.sum new file mode 100644 index 0000000..e90a509 --- /dev/null +++ b/money-module/go.sum @@ -0,0 +1,2 @@ +github.com/tigerbeetle/tigerbeetle-go v0.17.1 h1:jrpTigDx/UN7+xAlV14H6er6AUR+CstYALjZZATJtJc= +github.com/tigerbeetle/tigerbeetle-go v0.17.1/go.mod h1:d6G7n4OlD7GLHd62x0VlWPXeI/L0SoNNTfm/ee24GJI= diff --git a/money-module/main.go b/money-module/main.go index a3dd973..4dae724 100644 --- a/money-module/main.go +++ b/money-module/main.go @@ -1,7 +1,25 @@ package main -import "fmt" +import ( + "log" + "os" + + tb "github.com/tigerbeetle/tigerbeetle-go" +) func main() { - fmt.Println("Hello, World!") + tbAddress := os.Getenv("TIGERBEETLE_ADDRESS") + + if len(tbAddress) == 0 { + tbAddress = "3000" + } + + client, err := tb.NewClient(tb.ToUint128(0), []string{tbAddress}) + + if err != nil { + log.Printf("Error creating client: %s", err) + return + } + + defer client.Close() } diff --git a/money-module/money-module/main.go b/money-module/money-module/main.go deleted file mode 100644 index af5a9b5..0000000 --- a/money-module/money-module/main.go +++ /dev/null @@ -1,13 +0,0 @@ -package main - -import ( - "fmt" -) - -/* "google.golang.org/grpc" - . "github.com/tigerbeetle/tigerbeetle-go" -)*/ - -func main() { - fmt.Println("Import ok!") -} diff --git a/money-module/tigerbeetle/Dockerfile b/money-module/tigerbeetle/Dockerfile deleted file mode 100644 index 014acb7..0000000 --- a/money-module/tigerbeetle/Dockerfile +++ /dev/null @@ -1,18 +0,0 @@ -FROM alpine:3.19 - -RUN apk add --no-cache curl unzip linux-headers musl-dev - -RUN curl -sSL -o /tmp/tigerbeetle.zip https://linux.tigerbeetle.com \ - && unzip -o /tmp/tigerbeetle.zip -d /tmp \ - && mv /tmp/tigerbeetle /usr/local/bin/ \ - && chmod +x /usr/local/bin/tigerbeetle \ - && rm /tmp/tigerbeetle.zip - -RUN mkdir -p /data -VOLUME /data - -COPY start.sh /start.sh -RUN sed -i 's/\r$//' /start.sh && chmod +x /start.sh - -EXPOSE 3000 -CMD ["/start.sh"] diff --git a/money-module/tigerbeetle/start.sh b/money-module/tigerbeetle/start.sh index 57e8339..d975198 100644 --- a/money-module/tigerbeetle/start.sh +++ b/money-module/tigerbeetle/start.sh @@ -4,7 +4,7 @@ set -e DATA_FILE="${TIGERBEETLE_DATA_FILE:-/data/0_0.tigerbeetle}" if [ ! -f "$DATA_FILE" ]; then - tigerbeetle format --cluster=0 --replica=0 --replica-count=1 --development "$DATA_FILE" + /tigerbeetle format --cluster=0 --replica=0 --replica-count=1 --development "$DATA_FILE" fi -exec tigerbeetle start --development --addresses=0.0.0.0:3000 "$DATA_FILE" +exec /tigerbeetle start --development --addresses=0.0.0.0:3000 "$DATA_FILE"