Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: tarmac-project/tarmac
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.8.0
Choose a base ref
...
head repository: tarmac-project/tarmac
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Loading
Showing with 2,174 additions and 461 deletions.
  1. +33 −30 Makefile
  2. +23 −21 go.mod
  3. +46 −53 go.sum
  4. +6 −6 pkg/app/app_test.go
  5. +26 −7 pkg/app/server_test.go
  6. +88 −0 pkg/callbacks/httpclient/httpclient.go
  7. +168 −45 pkg/callbacks/httpclient/httpclient_test.go
  8. +175 −12 pkg/callbacks/kvstore/kvstore.go
  9. +343 −13 pkg/callbacks/kvstore/kvstore_test.go
  10. +86 −42 pkg/callbacks/metrics/metrics.go
  11. +298 −47 pkg/callbacks/metrics/metrics_test.go
  12. +173 −54 pkg/callbacks/sql/sql.go
  13. +330 −86 pkg/callbacks/sql/sql_test.go
  14. +5 −5 pkg/wasm/wasm_test.go
  15. +1 −1 testdata/{ → base}/default/Makefile
  16. 0 testdata/{ → base}/default/docker-compose.yml
  17. 0 testdata/{ → base}/default/go.mod
  18. 0 testdata/{ → base}/default/go.sum
  19. 0 testdata/{ → base}/default/main.go
  20. +1 −1 testdata/{ → base}/fail/Makefile
  21. 0 testdata/{ → base}/fail/docker-compose.yml
  22. 0 testdata/{ → base}/fail/go.mod
  23. 0 testdata/{ → base}/fail/go.sum
  24. 0 testdata/{ → base}/fail/main.go
  25. +1 −1 testdata/{kv → base/function}/Makefile
  26. 0 testdata/{ → base}/function/docker-compose.yml
  27. 0 testdata/{ → base}/function/go.mod
  28. 0 testdata/{ → base}/function/go.sum
  29. 0 testdata/{ → base}/function/main.go
  30. +10 −0 testdata/base/kv/Makefile
  31. 0 testdata/{ → base}/kv/docker-compose.yml
  32. 0 testdata/{ → base}/kv/go.mod
  33. 0 testdata/{ → base}/kv/go.sum
  34. 0 testdata/{ → base}/kv/main.go
  35. +10 −0 testdata/base/logger/Makefile
  36. 0 testdata/{ → base}/logger/docker-compose.yml
  37. 0 testdata/{ → base}/logger/go.mod
  38. 0 testdata/{ → base}/logger/go.sum
  39. 0 testdata/{ → base}/logger/main.go
  40. +10 −0 testdata/base/sql/Makefile
  41. 0 testdata/{ → base}/sql/docker-compose.yml
  42. +15 −0 testdata/base/sql/go.mod
  43. +18 −0 testdata/base/sql/go.sum
  44. +57 −0 testdata/base/sql/main.go
  45. +1 −1 testdata/{function → base/successafter5}/Makefile
  46. 0 testdata/{ → base}/successafter5/docker-compose.yml
  47. 0 testdata/{ → base}/successafter5/go.mod
  48. 0 testdata/{ → base}/successafter5/go.sum
  49. 0 testdata/{ → base}/successafter5/main.go
  50. +0 −10 testdata/logger/Makefile
  51. +10 −0 testdata/sdkv1/kv/Makefile
  52. +12 −0 testdata/sdkv1/kv/docker-compose.yml
  53. +10 −0 testdata/sdkv1/kv/go.mod
  54. +8 −0 testdata/sdkv1/kv/go.sum
  55. +43 −0 testdata/sdkv1/kv/main.go
  56. +10 −0 testdata/sdkv1/logger/Makefile
  57. +12 −0 testdata/sdkv1/logger/docker-compose.yml
  58. +10 −0 testdata/sdkv1/logger/go.mod
  59. 0 testdata/{sql → sdkv1/logger}/go.sum
  60. +28 −0 testdata/sdkv1/logger/main.go
  61. +10 −0 testdata/sdkv1/sql/Makefile
  62. +12 −0 testdata/sdkv1/sql/docker-compose.yml
  63. 0 testdata/{ → sdkv1}/sql/go.mod
  64. +7 −0 testdata/sdkv1/sql/go.sum
  65. 0 testdata/{ → sdkv1}/sql/main.go
  66. +72 −0 testdata/sdkv1/tarmac.json
  67. +0 −10 testdata/sql/Makefile
  68. +0 −10 testdata/successafter5/Makefile
  69. +1 −1 testdata/tarmac-fail.json
  70. +5 −5 testdata/tarmac.json
63 changes: 33 additions & 30 deletions Makefile
Original file line number Diff line number Diff line change
@@ -4,70 +4,73 @@
build: build-testdata

build-testdata:
$(MAKE) -C testdata/default build
$(MAKE) -C testdata/fail build
$(MAKE) -C testdata/kv build
$(MAKE) -C testdata/sql build
$(MAKE) -C testdata/logger build
$(MAKE) -C testdata/function build
$(MAKE) -C testdata/successafter5 build
$(MAKE) -C testdata/sdkv1/kv build
$(MAKE) -C testdata/sdkv1/sql build
$(MAKE) -C testdata/sdkv1/logger build
$(MAKE) -C testdata/base/default build
$(MAKE) -C testdata/base/fail build
$(MAKE) -C testdata/base/kv build
$(MAKE) -C testdata/base/sql build
$(MAKE) -C testdata/base/logger build
$(MAKE) -C testdata/base/function build
$(MAKE) -C testdata/base/successafter5 build

tests: build tests-nobuild
tests-nobuild: tests-base tests-redis tests-cassandra tests-mysql tests-postgres tests-boltdb tests-inmemory

tests-base:
@echo "Launching Tests in Docker Compose"
docker-compose -f dev-compose.yml up -d consul consulator
docker-compose -f dev-compose.yml up --exit-code-from tests-base --build tests-base
docker-compose -f dev-compose.yml down
docker compose -f dev-compose.yml up -d consul consulator
docker compose -f dev-compose.yml up --exit-code-from tests-base --build tests-base
docker compose -f dev-compose.yml down

tests-boltdb:
@echo "Launching Tests in Docker Compose"
docker-compose -f dev-compose.yml up --exit-code-from tests-boltdb tests-boltdb
docker-compose -f dev-compose.yml down
docker compose -f dev-compose.yml up --exit-code-from tests-boltdb tests-boltdb
docker compose -f dev-compose.yml down

tests-inmemory:
@echo "Launching Tests in Docker Compose"
docker-compose -f dev-compose.yml up --exit-code-from tests-inmemory tests-inmemory
docker-compose -f dev-compose.yml down
docker compose -f dev-compose.yml up --exit-code-from tests-inmemory tests-inmemory
docker compose -f dev-compose.yml down

tests-redis:
@echo "Launching Tests in Docker Compose"
docker-compose -f dev-compose.yml up --exit-code-from tests-redis tests-redis
docker-compose -f dev-compose.yml down
docker compose -f dev-compose.yml up --exit-code-from tests-redis tests-redis
docker compose -f dev-compose.yml down

tests-cassandra:
@echo "Launching Tests in Docker Compose"
docker-compose -f dev-compose.yml up -d cassandra-primary cassandra
docker-compose -f dev-compose.yml up --exit-code-from tests-cassandra tests-cassandra
docker-compose -f dev-compose.yml down
docker compose -f dev-compose.yml up -d cassandra-primary cassandra
docker compose -f dev-compose.yml up --exit-code-from tests-cassandra tests-cassandra
docker compose -f dev-compose.yml down

tests-mysql:
@echo "Launching Tests in Docker Compose"
docker-compose -f dev-compose.yml up -d mysql
docker-compose -f dev-compose.yml up --exit-code-from tests-mysql tests-mysql
docker-compose -f dev-compose.yml down
docker compose -f dev-compose.yml up -d mysql
docker compose -f dev-compose.yml up --exit-code-from tests-mysql tests-mysql
docker compose -f dev-compose.yml down

tests-postgres:
@echo "Launching Tests in Docker Compose"
docker-compose -f dev-compose.yml up -d postgres
docker-compose -f dev-compose.yml up --exit-code-from tests-postgres tests-postgres
docker-compose -f dev-compose.yml down
docker compose -f dev-compose.yml up -d postgres
docker compose -f dev-compose.yml up --exit-code-from tests-postgres tests-postgres
docker compose -f dev-compose.yml down

benchmarks:
@echo "Launching Tests in Docker Compose"
docker-compose -f dev-compose.yml up -d cassandra-primary cassandra mysql
docker compose -f dev-compose.yml up -d cassandra-primary cassandra mysql
sleep 120
docker-compose -f dev-compose.yml up --build benchmarks
docker compose -f dev-compose.yml up --build benchmarks

clean:
@echo "Cleaning up build junk"
-docker-compose -f dev-compose.yml down
-docker compose -f dev-compose.yml down

tarmac:
@echo "Starting Application"
docker-compose -f dev-compose.yml up --build tarmac
docker compose -f dev-compose.yml up --build tarmac

tarmac-performance: build
@echo "Starting Application"
docker-compose -f dev-compose.yml up -d tarmac-performance
docker compose -f dev-compose.yml up -d tarmac-performance
44 changes: 23 additions & 21 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
module github.com/tarmac-project/tarmac

go 1.22.3
go 1.22.6

require (
github.com/go-sql-driver/mysql v1.7.1
github.com/julienschmidt/httprouter v1.3.0
github.com/lib/pq v1.10.9
github.com/madflojo/tasks v1.2.0
github.com/madflojo/testcerts v1.2.0
github.com/madflojo/tasks v1.2.1
github.com/madflojo/testcerts v1.3.0
github.com/pquerna/ffjson v0.0.0-20190930134022-aa0246cd15f7
github.com/prometheus/client_golang v1.19.1
github.com/prometheus/client_golang v1.20.5
github.com/sirupsen/logrus v1.9.3
github.com/spf13/viper v1.19.0
github.com/tarmac-project/hord v0.6.0
@@ -18,21 +18,23 @@ require (
github.com/tarmac-project/hord/drivers/hashmap v0.6.0
github.com/tarmac-project/hord/drivers/mock v0.6.0
github.com/tarmac-project/hord/drivers/redis v0.6.0
github.com/tarmac-project/wapc-toolkit v0.1.2
github.com/tarmac-project/protobuf-go v0.0.0-20241006222441-51664fb11f56
github.com/tarmac-project/wapc-toolkit/callbacks v0.2.0
github.com/tarmac-project/wapc-toolkit/engine v0.2.0
github.com/wapc/wapc-go v0.7.0
google.golang.org/protobuf v1.36.0
)

require (
cloud.google.com/go v0.112.1 // indirect
cloud.google.com/go/compute v1.24.0 // indirect
cloud.google.com/go/compute/metadata v0.2.3 // indirect
cloud.google.com/go/compute/metadata v0.3.0 // indirect
cloud.google.com/go/firestore v1.15.0 // indirect
cloud.google.com/go/longrunning v0.5.5 // indirect
github.com/FZambia/sentinel v1.1.1 // indirect
github.com/Workiva/go-datastructures v1.1.5 // indirect
github.com/armon/go-metrics v0.4.1 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/coreos/go-semver v0.3.1 // indirect
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
github.com/fatih/color v1.15.0 // indirect
@@ -61,23 +63,25 @@ require (
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/hashicorp/serf v0.10.1 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/klauspost/compress v1.17.7 // indirect
github.com/klauspost/compress v1.17.9 // indirect
github.com/magiconair/properties v1.8.7 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.19 // indirect
github.com/mitchellh/go-homedir v1.1.0 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/nats-io/nats.go v1.34.1 // indirect
github.com/nats-io/nkeys v0.4.7 // indirect
github.com/nats-io/nuid v1.0.1 // indirect
github.com/pelletier/go-toml/v2 v2.2.2 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/prometheus/client_model v0.5.0 // indirect
github.com/prometheus/common v0.48.0 // indirect
github.com/prometheus/procfs v0.12.0 // indirect
github.com/rs/xid v1.5.0 // indirect
github.com/planetscale/vtprotobuf v0.6.0 // indirect
github.com/prometheus/client_model v0.6.1 // indirect
github.com/prometheus/common v0.55.0 // indirect
github.com/prometheus/procfs v0.15.1 // indirect
github.com/rs/xid v1.6.0 // indirect
github.com/sagikazarmark/crypt v0.19.0 // indirect
github.com/sagikazarmark/locafero v0.4.0 // indirect
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
@@ -100,21 +104,19 @@ require (
go.opentelemetry.io/otel/trace v1.24.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.26.0 // indirect
golang.org/x/crypto v0.21.0 // indirect
golang.org/x/crypto v0.31.0 // indirect
golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect
golang.org/x/net v0.23.0 // indirect
golang.org/x/oauth2 v0.18.0 // indirect
golang.org/x/sync v0.6.0 // indirect
golang.org/x/sys v0.18.0 // indirect
golang.org/x/text v0.14.0 // indirect
golang.org/x/net v0.26.0 // indirect
golang.org/x/oauth2 v0.21.0 // indirect
golang.org/x/sync v0.10.0 // indirect
golang.org/x/sys v0.28.0 // indirect
golang.org/x/text v0.21.0 // indirect
golang.org/x/time v0.5.0 // indirect
google.golang.org/api v0.171.0 // indirect
google.golang.org/appengine v1.6.8 // indirect
google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20240311132316-a219d84964c2 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240314234333-6e1732d8331c // indirect
google.golang.org/grpc v1.62.1 // indirect
google.golang.org/protobuf v1.33.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
Loading