Commit Graph

6828 Commits

Author SHA1 Message Date
Tom Harding
1698f9dd91 Extract RoleName from Hasura.Session, move it into Hasura.RQL.Types.Roles
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8856
Co-authored-by: Daniel Harvey <4729125+danieljharvey@users.noreply.github.com>
GitOrigin-RevId: 38ad67de9b3d765c4eb50943dd52b8fc32317540
2023-04-24 08:51:58 +00:00
Karthikeyan Chinnakonda
9869e3fcf4 Server: add hasura_active_subscription_pollers_in_error_state metric [Subscriptions observability - 2]
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8808
GitOrigin-RevId: 9686125e87bdf06cdb4b133d236bfa64c61bb6f3
2023-04-24 07:44:04 +00:00
Daniele Cammareri
4df18e4328 console: fix create rest endpoint url label
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8810
GitOrigin-RevId: 758056a16bf5cc0288e747fa8513e90abf71e02c
2023-04-24 07:08:31 +00:00
Daniel Chambers
367f5f7771 Log the backend source kind in telemetry so we can see which data connector agent is in use
[GDC-1188]: https://hasurahq.atlassian.net/browse/GDC-1188?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8828
Co-authored-by: awjchen <13142944+awjchen@users.noreply.github.com>
GitOrigin-RevId: 46f39e229cb52a3b7d8965bbff972f74b031a510
2023-04-24 03:56:42 +00:00
pranshi06
28c8eb8fd1 docs: Update log types
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8835
GitOrigin-RevId: 75fb156a8c79bfac362d245889010d76e621e0e9
2023-04-21 19:13:49 +00:00
Sean Park-Ross
0af80b22d3 Docs: Fix Caching Gif
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8801
GitOrigin-RevId: 80b04ef8d7e59fbe260df5c83e82e5b923765dd7
2023-04-21 17:14:23 +00:00
Tom Harding
8292a9fae3 Move both Autodocodec.Extended modules into hasura-extras
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8851
Co-authored-by: Daniel Harvey <4729125+danieljharvey@users.noreply.github.com>
GitOrigin-RevId: 1095c52338d15ec41f1a09f2c40da74f038c8102
2023-04-21 15:25:12 +00:00
Rob Dominguez
0f656f413c docs: remove out-of-date roadmap for mssql
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8853
GitOrigin-RevId: 363cb47d7d573b6cb25b892c57ad41706c7dd35f
2023-04-21 14:40:52 +00:00
Tom Harding
99c1d99ecb chore(server): break out Hasura.Base into own package
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8850
Co-authored-by: Daniel Harvey <4729125+danieljharvey@users.noreply.github.com>
GitOrigin-RevId: 47310479d66adc3baf27ca9d2dbda7addea6bb3d
2023-04-21 14:26:15 +00:00
Gil Mizrahi
e768ef4920 cleanup(sqlserver): throw an error when native queries not supported
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8839
GitOrigin-RevId: afdaa9a0a5aa54f852d3a955a0d3de4f74b5fedf
2023-04-21 13:51:58 +00:00
Tom Harding
3151dd0074 Extract hasura-extras from graphql-engine
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8848
Co-authored-by: Daniel Harvey <4729125+danieljharvey@users.noreply.github.com>
GitOrigin-RevId: 4a667e2760f866e57e0e7d804815153571b413e6
2023-04-21 13:15:27 +00:00
Sean Park-Ross
a964892fca Docs: Replace GraphQL Federation Video
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8849
GitOrigin-RevId: a7e5290d365b89a215cd720c2ce45e9a493ccb0a
2023-04-21 12:39:35 +00:00
Daniele Cammareri
08f05a12ab fix: remove cached badge for non-cached queries with warning response header
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8627
GitOrigin-RevId: 5f1579898db93b5eb7ccf1a836e43ae992c498ca
2023-04-21 12:31:55 +00:00
Daniel Harvey
59244eac85 feature(server): basic array relationships on Native Queries
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8752
GitOrigin-RevId: adea2941e01c4037b74f6e8c9150ff0819729fae
2023-04-21 11:57:42 +00:00
Samir Talwar
7e1fc89377 server/tests-py: Remove "new".
Now that we have removed the old runners, the new one is the only one left; let's remove the word "new".

[NDAT-259]: https://hasurahq.atlassian.net/browse/NDAT-259?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8843
GitOrigin-RevId: c3dc7b91881948eb543a933304c3284e84210ea8
2023-04-21 11:24:01 +00:00
Vijay Prasanna
19facb7ff2 console: fix issue with table names not being displayed property in the Metatadata Status page
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8847
GitOrigin-RevId: 9420251bca42f7d761c86f54c964a6518349f866
2023-04-21 10:11:21 +00:00
Varun Dey
caa56a9d5c docs: Add use case overview doc
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8831
Co-authored-by: Sean Park-Ross <94021366+seanparkross@users.noreply.github.com>
Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com>
GitOrigin-RevId: 9430bdac22058201bb0819bbe5f4a008c2188ea7
2023-04-21 09:07:36 +00:00
Samir Talwar
07db08cf43 cli-ext: Upgrade the node.js version to 16 when packaging.
This brings it all in line. It seems to work fine for me.

I am doing this because I can't seem to cross-build with node.js v12 on macOS+arm64.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8713
GitOrigin-RevId: 06d7daa4176e99584ab88146a3d17200721ae8bf
2023-04-21 09:05:15 +00:00
Luca Restagno
5649924625 Use bulk_keep_going for tracking actions
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8837
Co-authored-by: Vijay Prasanna <11921040+vijayprasanna13@users.noreply.github.com>
GitOrigin-RevId: 9e31bcde24303d690f602f8e8bfc0918a8c5f55c
2023-04-21 07:54:26 +00:00
Matthew Goodwin
ffe4bc7d1c console: port template gallery to new ui / tracked tables as links / code gardening
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8759
Co-authored-by: Nicolas Beaussart <7281023+beaussan@users.noreply.github.com>
GitOrigin-RevId: 2c3b2c2d14f45f0f9e10683d55e77b237fde0a79
2023-04-20 22:29:58 +00:00
Kailash Sudhakar
63fe16604e Hide HasuraCon'22 banner
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8845
GitOrigin-RevId: 7ad2250d6f88a8b3e4e3da20328b095b3b8fa62d
2023-04-20 16:34:28 +00:00
Samir Talwar
71430082f2 server/tests-py: Remove the old local and CI runners.
We no longer need these!

Next up:

1. renaming anything with "new" in the name (because we don't have an "old" any more)
2. removing the server upgrade/downgrade tests (I am sure this is controversial)
3. deleting a lot of Python code

[NDAT-259]: https://hasurahq.atlassian.net/browse/NDAT-259?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8841
GitOrigin-RevId: df026d4a19dc0cf5c8730d41eafae5eebb6f6f50
2023-04-20 14:22:07 +00:00
Varun Choudhary
1846307cd6 console: show warning notification while replacing metadata, clearing metadata and setting time_limt
[GS-494]: https://hasurahq.atlassian.net/browse/GS-494?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8689
GitOrigin-RevId: c47b309359a9d3632153d525ab0b61e1f35ca7fa
2023-04-20 13:51:28 +00:00
Sean Park-Ross
3c3ad2d120 Docs: Update Apollo Subscriptions
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8838
GitOrigin-RevId: 628b9f7bf6a4815f1d094346e04b97f0b2df6a8a
2023-04-20 13:13:09 +00:00
Tom Harding
52c21832d8 Add an alias for EXISTS clauses in queries
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8537
GitOrigin-RevId: d931e4f32bef75dcba7cf8d370caa7539a7d3d8a
2023-04-20 12:34:51 +00:00
Puru Gupta
9d815b54ed docs: update docs for enabling EE rate limiting
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8811
Co-authored-by: Rob Dominguez <24390149+robertjdominguez@users.noreply.github.com>
GitOrigin-RevId: 111d059b7a002178c42f44926bbf220ab3ad2fe2
2023-04-20 11:16:44 +00:00
Puru Gupta
0383cb383b server: integration tests for zero-downtime env vars update on cloud
## Description

Add multitenant integration tests for zero downtime env variable configuration on cloud
- [x] `HASURA_GRAPHQL_STRINGIFY_NUMERIC_TYPES`
- [x] `HASURA_GRAPHQL_DEV_MODE`
- [x] `HASURA_GRAPHQL_DEFAULT_NAMING_CONVENTION`
- [x] `HASURA_GRAPHQL_ENABLED_APIS`
- [x] `HASURA_GRAPHQL_ENABLE_ALLOWLIST`
- [x] `HASURA_GRAPHQL_ADMIN_INTERNAL_ERRORS`
- [ ] `HASURA_GRAPHQL_EXPERIMENTAL_FEATURES`
   - [x] inherited_roles (GA tests not needed)
   - [ ] optimise_permission_filters (pending)
   - [x] naming_convention (done as part of `HASURA_GRAPHQL_DEFAULT_NAMING_CONVENTION`)
   - [x] streaming_subscriptions (GA tests not needed)
   - [x] apollo_federation
   - [x] hide_update_many_fields
   - [x] bigquery_string_numeric_input (done as part of `HASURA_GRAPHQL_STRINGIFY_NUMERIC_TYPES`)
   - [x] hide_aggregation_predicates
   - [x] hide_stream_fields
- [x] `HASURA_GRAPHQL_V1_BOOLEAN_NULL_COLLAPSE`

This PR also add the integration tests for changing auth mode dynamically. This test changes the auth mode from Admin Secret to JWT and finally to auth hook and checks that a sample query is run correctly.

```
Dynamic Auth mode changes are reflected properly
  test multitenant works fine when auth mode changes from ADMIN SECRET -> JWT -> AUTH HOOK  [ ]
  Spock is running on port 9231
  test multitenant works fine when auth mode changes from ADMIN SECRET -> JWT -> AUTH HOOK  [✔]
```

We know that OSS python tests (`test-server.sh`) has a more intensive auth mode tests. And hence the efforts in this [branch](https://github.com/hasura/graphql-engine-mono/compare/gqls/zero-downtime-envvars...naveen/tests-auth-changes-dynamically) tests multitenant server on all the auth tests of the pytest suite on a single running multitenant server. I can confirm that all those tests passed and thus gives us high confidence that we did not break any code related to auth.

Note that, the test in this PR is a very simple test to see that AUTH mode is working correctly. We are okay with this simple test because we have already tested the multitenant server on all the auth mode tests present in OSS pytest suite.

Epic: https://hasurahq.atlassian.net/browse/GS-232
Jira Ticket: https://hasurahq.atlassian.net/browse/GS-387

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7721
Co-authored-by: Naveen Naidu <30195193+Naveenaidu@users.noreply.github.com>
Co-authored-by: Anon Ray <616387+ecthiender@users.noreply.github.com>
GitOrigin-RevId: 7fbe3d0d6e1dd2334b911c94f7f8bbaa170a8b59
2023-04-20 10:36:43 +00:00
Gil Mizrahi
a5043ab215 cleanup(sqlserver): remove QueryWithDDL
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8834
GitOrigin-RevId: b31fba44bb67a16bcc1901ce51ce4ab1c6797f23
2023-04-20 10:02:58 +00:00
Samir Talwar
ffa3f5e3cc server/tests-py: Remove test_horizontal_scale.py.
This removes *test_horizontal_scale.py*, which tests horizontal scaling by running some tests against two HGE servers, both talking to PgBouncer.

This doesn't really test HGE; it's testing whether PgBouncer guarantees the same level of consistency as PostgreSQL. I'm not convinced that it's worthwhile, so I am deleting it.

[NDAT-542]: https://hasurahq.atlassian.net/browse/NDAT-542?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8821
GitOrigin-RevId: 2029f2fea11c7fd58ed47e724cb3cd50e67d5a43
2023-04-20 09:28:15 +00:00
Varun Choudhary
0641500f26 console: fix UI bug in "inspect modal" in operations tab (under monitoring)
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8833
GitOrigin-RevId: 3662dd68f2f19800b665475417ab9f4ce52dcaf4
2023-04-20 07:17:09 +00:00
pranshi06
a4a1283f98 docs: configurable log types
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8778
GitOrigin-RevId: 9cefc5843e553517df7858e9193d9df7ae5c474b
2023-04-19 20:27:08 +00:00
Sean Park-Ross
decd3dcc55 Docs: Small Changes 4
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8694
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Rob Dominguez <24390149+robertjdominguez@users.noreply.github.com>
GitOrigin-RevId: 134a08f70614c5fbc0fa889912c58134dd2548bc
2023-04-19 16:59:51 +00:00
Priya Sharma
d798e18fa2 console: randomise options in use case onboarding
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8820
GitOrigin-RevId: e4d622ac160b0e1e3a750d9a26a5caca5f68f5de
2023-04-19 16:55:09 +00:00
awjchen
5e97a1e475 server: set default service.name in opentelemetry exporter
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8169
GitOrigin-RevId: 0aac41869d6d9a100825f7a90fb976b75c006875
2023-04-19 16:16:31 +00:00
Samir Talwar
832fac9c69 server/tests-py: Remove test_startup_db_calls.py.
This removes the *test_startup_db_calls.py* tests. These tests are looking for a specific regression on resolving sources multiple times on startup. I have never seen them fail and I'm not convinced the tests are worthwhile.

This is compounded by the roundabout way in which we verify that we resolve the sources; we do it by inspecting the logs. This is a real pain to port to the fixture-based method of spinning HGE, and I don't believe it's worth the effort; I'd rather just delete it.

[NDAT-540]: https://hasurahq.atlassian.net/browse/NDAT-540?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8813
GitOrigin-RevId: 0a313e7998fa034fa96aaa10924d9d11dd1856f4
2023-04-19 15:30:19 +00:00
Gil Mizrahi
2635ed46bd sqlserver: implement native queries as CTEs
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8818
GitOrigin-RevId: 78d84c3558b2cc27e1c1a6c025de4c5035a9cafe
2023-04-19 14:54:56 +00:00
Nicolas Inchauspe
13a4710083 Remove code display in notification when useless
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8816
GitOrigin-RevId: bb9fb429670f286579d8cdad7ebcaa41e9c18b28
2023-04-19 14:07:16 +00:00
paritosh-08
4a15cfae99 docs: improve docs for auth-hook session variable caching
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8749
Co-authored-by: Rob Dominguez <24390149+robertjdominguez@users.noreply.github.com>
GitOrigin-RevId: c685451d5c4da343a6074d3d5fd82d73f6f240b4
2023-04-19 13:31:52 +00:00
Vijay Prasanna
2f7e89a9c2 console (feature): component to introspect and track functions in the new data tab UI
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8570
GitOrigin-RevId: addf15967efcbcdc86aedd42096d59b95be14a27
2023-04-19 12:53:10 +00:00
Vijay Prasanna
fad183d854 console: minor bug fixes (Tracking UI, Connect DB)
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8807
Co-authored-by: Luca Restagno <59067245+lucarestagno@users.noreply.github.com>
GitOrigin-RevId: f681dfb5b4ace38efe087e18aef6dde8dbd8b940
2023-04-19 12:11:28 +00:00
ananya-2410
72d0c73377 ci: tag release v2.24.0-beta.1
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8814
GitOrigin-RevId: ba9a5f44d3d8cdcd2990c2c192d4063b429f416e
2023-04-19 11:37:32 +00:00
Anon Ray
055cf11134 server/pro: remote schema queries should not be cached when forward client headers are set
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8806
GitOrigin-RevId: e2b5aa012146cf3cf1bc361d986c0619e9f78d26
2023-04-19 11:13:35 +00:00
Samir Talwar
26e03a07bb server/tests-py: Parallelize JWT tests.
This rewrites the JWT tests to generate and specify the secrets per test class, and to provide the server configuration to the HGE fixture.

It covers the tests in:

  - *test_jwt.py*
  - *test_jwt_claims_map.py*
  - *test_config_api.py*
  - *test_graphql_queries.py* (just a couple here)

This does reduce the number of code paths exercised with JWT, as we were previously running *all* tests with JWT tokens. However, this seems excessive; we don't need to tread every code path, just enough to ensure we handle the tokens appropriately. I believe that the test coverage in *test_jwt.py* does this well enough (though I'd prefer if we moved the coverage lower down in the stack as unit tests).

These tests were configured in multiple different ways by *test-server.sh*; this configuration is now moved to test subclasses within the various files. This results in a bit of duplication.

Unfortunately, the tests would ideally use parameterization rather than subclassing, but that doesn't work because of `hge_fixture_env`, which creates a "soft" dependency between the environment variables and `hge_server`. Parameterizing the former *should* force the latter to be recreated for each new set of environment variables, but `hge_server` isn't actually aware there's a dependency.

It currently looks like this adds lines of code; we'll more than make up for it when we delete the relevant lines from *test-server.sh*. I am not doing that here because I plan on deleting the whole file in a subsequent changeset.

[NDAT-538]: https://hasurahq.atlassian.net/browse/NDAT-538?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8803
GitOrigin-RevId: f7f2caa62de0b0a45e42964b69a8ae73d1575fe8
2023-04-19 10:30:21 +00:00
Philip Lykke Carlsen
983fc2ad47 Rename "Custom Return Types" → "Logical Models"
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8800
GitOrigin-RevId: e5e10f31c6cc8953a8ee947441a7f80b0e9b5e5e
2023-04-19 09:05:25 +00:00
Erik Magnusson
56beb705b2 Dsf 248 permissions add view checks to permissions
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8600
GitOrigin-RevId: f877085e96cc75d1ba784095ef5a6701ddad9fcc
2023-04-19 08:30:38 +00:00
ananya-2410
f93eed713f ci: update ubuntu image to focal-20230412
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8805
GitOrigin-RevId: 3d4e0dfca555e4f709e94e6658eacb213bcb1750
2023-04-19 07:28:10 +00:00
Daniel Chambers
91c88b2109 Properly return schema information about views and PK mutability from the Super Connector
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8786
GitOrigin-RevId: b7cd0dd5736a408a269819ea76dfbe53455060ee
2023-04-18 17:24:51 +00:00
Brandon Simmons
3332189756 benchmarks: resource_calibration.sh and CI throughput benchmarks
See this earlier iteration of this work for an example of the kind of report  we're producing: #7664

And related work in this repo: github.com:hasura/graphql-bench-helper

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7923
GitOrigin-RevId: 99d2a55e2fb5b55f3f33e2570cfd0bc23e448e0c
2023-04-18 16:44:54 +00:00
Gil Mizrahi
5ed9fcc0a3 bugfix(NativeQueries): fix validation failed on name with uppercase on postgres
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8790
GitOrigin-RevId: f3b9b041fd96c6087ff4bd3379ef6283befcdc54
2023-04-18 16:09:45 +00:00
Karthikeyan Chinnakonda
41ed0d369b server: add active multiplexed subscriptions metrics
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8644
Co-authored-by: Rob Dominguez <24390149+robertjdominguez@users.noreply.github.com>
GitOrigin-RevId: ff1f646cd6a4b8dd5106db4693b2c6ad465ae052
2023-04-18 15:33:01 +00:00