Commit Graph

35 Commits

Author SHA1 Message Date
Zach Musgrave
c02ec6dd50 Fixed go.mod problems in integration test 2023-02-20 09:41:08 -08:00
Zach Musgrave
5f5dae3ccf Squash merge from zachmu/session-transaction to get rid of spurious test files 2022-12-21 13:12:31 -08:00
Dustin Brown
baedb70771 [auto-bump] [no-release-notes] dependency by max-hoffman (#4888)
* [ga-bump-dep] Bump dependency in Dolt by max-hoffman

* go mod update

Co-authored-by: max-hoffman <maximilian.wolfgang1@gmail.com>
Co-authored-by: Max Hoffman <max@dolthub.com>
2022-11-29 19:52:18 -08:00
Aaron Son
f7c69bf881 Merge pull request #4749 from dolthub/aaron/cluster-jwks-auth
go/libraries/doltcore/sqle/cluster: Add JWT authentication for peer communication to cluster replicas.
2022-11-15 12:21:55 -08:00
Aaron Son
6d7a569e61 integration-tests/go-sql-server-driver: Use 385{1,2} instead of 5005{1,2} for cluster remotesapi ports. 2022-11-10 16:34:49 -08:00
Maximilian Hoffman
08167dfd5d Redo import perf (#4689)
* import perf harness prog

* more test isolation

* rework common dep

* fix server driver

* delete old files, fix readme

* more readme fixes

* batching edits

* edits

* skip import tests by def

* GA starter

* rename

* fix arg name

* change input name again

* remove espaced character from input desc

* fix env definition

* fix env definition

* fix workflow_dispatch name

* CI test files

* remove os spec

* runs on

* different set variable

* defaults

* defaults

* remove local GMS

* edits

* run bench from go/ directory

* dropped def equals

* go run, not go build

* fix output command name

* configure dolt

* fix query file path

* fix query file path

* switch query and inputs

* fix format <<EOF

* reformat yaml

* debug output

* more debug output

* fix echo -> cat

* fix to json flag

* fix yaml spacing

* yaml spacing

* yaml spacing

* revert html spacing

* json format

* env var expansion

* echo not cat

* another json string printing error

* no echo

* log template

* no template string

* wrong parameter, template should be templateName

* remove console.log

* pass file, not string, to ses

* rely on preexisting template? email action interface

* fix yaml

* fix html print

* fix html header

* change ci script

* fix sql-server connection pass

* mysql no password, setup default db

* put password back

* missed port for default database

* expanded CI tests

* shorter test file

* extend ci tests

* change default query

* try to push to dolthub

* modify push to dolthub

* duplicate test names

* typo

* dolt-action version

* invalid param for dolt_action

* specify feature branch

* specify main branch dolt-action

* -b flag first

* dont need -q flag for batch EOF

* combine results and dolthub push

* missing curly brace

* no auth

* new creds

* new cred fun

* use the cred key

* try again

* log table

* move push out of batch

* more logging

* new vs old branch

* fix branch rule

* more test

* all tests

* smaller tests

* smaller tests

* double env: key

* fix yaml error

* more yaml errors

* more yaml errors

* [ga-format-pr] Run go/utils/repofmt/format_repo.sh and go/Godeps/update.sh

* linting fixes, remove other import nightly

* linting

* go vet

* licenses

* fix compile errorrs

* warn don't panic on init()

* [ga-format-pr] Run go/utils/repofmt/format_repo.sh and go/Godeps/update.sh

* no external package

* [ga-format-pr] Run go/utils/repofmt/format_repo.sh and go/Godeps/update.sh

* unused dep

* [ga-format-pr] Run go/utils/repofmt/format_repo.sh and go/Godeps/update.sh

* Revert perf scripts

* refactor to repo dispatch

Co-authored-by: max-hoffman <max-hoffman@users.noreply.github.com>
2022-11-10 12:56:43 -08:00
Aaron Son
b22fbf11f2 go/libraries/doltcore/sqle/cluster: Add JWT authentication for peer communication to cluster replicas.
A remotesapi server running on a cluster replica publishes a JWKS.

Every outbound GRPC call the cluster replica makes includes a JWT signed with a
private key.

remotesapi servers running on cluster replicas require and validate incoming
JWTs for cluster traffic. The set of valid signing keys is taken from the
JWKSes which are published at /.well-known/jwks.json on the standby replica
hosts.

It is possible to configure tls_ca on cluster remotesapi to configure the set
of trusted roots for outbound TLS connections. Because the JWKSes are served
over the same connection, and becuase signed JWTs are not replay resistent, TLS
is recommended for all deployment topologies.
2022-11-10 09:26:38 -08:00
Jason Fulghum
a62e12686c [no-release-notes] Merge pull request #4686 from dolthub/fulghum/orm-testing
Prisma compatibility smoke testing
2022-11-08 15:43:29 -08:00
Aaron Son
57523a9323 go/libraries/doltcore/sqle/cluster: Add the ability to generate a keypair, serve a JWKS, and sign outbound RPCs with a JWT. 2022-11-02 09:54:09 -07:00
Jason Fulghum
eeb460d9b3 Merge branch 'main' into fulghum/orm-testing 2022-10-31 15:15:32 -07:00
Jason Fulghum
a27dc9a065 First pass on a basic smoke test for the Prisma ORM. Reproduces the issue from: https://github.com/dolthub/dolt/issues/4511 2022-10-31 15:08:23 -07:00
Aaron Son
363248538e Merge pull request #4659 from dolthub/aaron/remotesrv-tls-san
go/libraries/doltcore/sqle/cluster: Add the ability to configure SAN assertions on URIs and DNS names in the server certificate when configuring TLS.
2022-10-28 16:29:39 -07:00
Aaron Son
d85ad51b4b Merge remote-tracking branch 'origin/main' into aaron/bats-move-sql-server-temporary-table-test 2022-10-28 13:33:00 -07:00
Aaron Son
248be8b21a go/libraries/doltcore/sqle/cluster: Add the ability to configure SAN assertions on URIs and DNS names in the server certificate when configuring TLS. 2022-10-28 10:31:14 -07:00
Aaron Son
4d93b69ef3 integration-tests/bats/sql-server.bats: Move the temporary table session specific test to go-sql-server-driver. 2022-10-27 09:43:29 -07:00
Aaron Son
27a528e498 go/libraries/doltcore/sqle/cluster: Add support for configured tls_{cert,key,ca} on the cluster.remotesapi.
For now, this is server-side TLS, not mTLS.

If a tls_ca is configured, the certificates in that file are PEM encoded. They
are the only trusted roots for server certificate verification on both gRPC and
HTTP connections. If tls_ca is set, no server name verification is done for
now.
2022-10-26 16:13:51 -07:00
Aaron Son
995e3818cd go: sqle: remotesrv: Successfully replicate CREATE DATABASE commands by instantiating new databases on the standby on demand. 2022-10-05 12:37:39 -07:00
Aaron Son
ec2fabf3c3 .github/workflows/ci-sql-server-integration-tests.yaml: Disable windows for now. 2022-10-04 14:34:34 -07:00
Aaron Son
89a6807336 .github/workflows: ci-sql-server-integration-tests.yaml: More iteration, try a GracefulStop for Windows. 2022-10-04 13:54:31 -07:00
Aaron Son
61831cf91e .github/workflows: ci-sql-server-integration-tests.yaml: More iteration. 2022-10-04 13:16:43 -07:00
Aaron Son
cc82355269 integration-tests/go-sql-server-driver: Fix JSON test for LD_1. 2022-10-04 11:49:11 -07:00
Aaron Son
c56b0630a9 integration-tests/go-sql-server-driver: Finish transitioning the rest of the sql-server-cluster tests. 2022-10-04 10:22:38 -07:00
Aaron Son
fa7db054ad integration-tests/go-sql-server-driver: Convert some more sql-server-cluster.bats tests. 2022-10-03 17:23:53 -07:00
Aaron Son
dd7b5b5bec integration-tests/go-sql-server-driver: Move over some more tests. 2022-10-03 16:37:24 -07:00
Aaron Son
72579d4972 integration-tests/go-sql-server-driver: Cleanup how we write files a bit. 2022-10-03 15:37:40 -07:00
Aaron Son
364024f7a2 integration-tests/go-sql-server-driver: Make a new connection pool per connection assertion, instead of trying to reuse them.
Simpler.

Much better structure for lots of tests which test things like connection
strings, users and passwords provided at connection time, etc.
2022-10-03 15:26:48 -07:00
Aaron Son
b3dc25fc57 integration-tests/go-sql-server-driver: Move some magic numbers/strings to constants. 2022-10-03 15:19:59 -07:00
Aaron Son
04947a44a0 integration-tests/go-sql-server-driver: Some cleanup to finalization and sql.Rows handling. 2022-10-03 15:14:37 -07:00
Aaron Son
bf7480eb1b integration-tests/go-sql-server-driver: sql-server-cluster.yaml: Fix dolt_assume_cluster_role tests for new behavior of not breaking connection when role does not change. 2022-10-03 15:02:40 -07:00
Aaron Son
153ea002e4 integration-tests/go-sql-server-driver: Start migrating over some simple tests from sql-server.bats. 2022-10-03 14:00:56 -07:00
Aaron Son
a2f1e06b75 integration-tests/go-sql-server-driver: Factor out test.Run. 2022-10-03 12:50:07 -07:00
Aaron Son
7ebc1bb45f integration-tests/go-sql-server-driver: Move Server definitions to TestRepo/MultiRepo, instead of a separate top-level field. 2022-10-03 12:04:35 -07:00
Aaron Son
87de2bb7d9 integration-tests/go-sql-server-driver: Add retry_attempts functionality, drop sleep_millis. Add some documentation. 2022-10-03 11:38:01 -07:00
Aaron Son
cf639c3585 integration-tests/go-sql-server-driver: Start converting some sql-server bats tests. 2022-10-03 10:01:47 -07:00
Aaron Son
1857806d2d integration-tests/go-sql-server-driver: Proof of concept a declarative approach to integration tests for sql-server interactions.
Converts bats/sql-server-config.bats to use a new approach.
2022-10-01 15:42:22 -07:00