Commit Graph

3199 Commits

Author SHA1 Message Date
Divi
0632256de5 ci: tag release v2.11.10
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10092
GitOrigin-RevId: ff4f4e2a654de1c92bd8c37cbeac455d1c0fd9a6
2023-08-16 05:40:10 +00:00
Daniel Chambers
131fe3d9e6 Block the use of column redaction where the data connector agent does not support it
[GDC-1292]: https://hasurahq.atlassian.net/browse/GDC-1292?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10108
GitOrigin-RevId: 830102b8cf1e6ad53b9971460dee147b678f008d
2023-08-15 05:13:15 +00:00
Daniel Harvey
c04c4bc0d9 chore(server): Native Query -> Table array relationships
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10100
GitOrigin-RevId: 55f38a904767e1b25916fb31b3c5ece898c10349
2023-08-14 12:35:53 +00:00
David Overton
7a9e1f6ea6 Order by nested fields
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10082
GitOrigin-RevId: 9c53d7ce3635f442451e04f70f0975ed79a3f4f7
2023-08-14 06:41:50 +00:00
Daniel Harvey
cd324f747b chore(server): Native Query -> Table object relationships
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10098
GitOrigin-RevId: 9b98bb0e285560cd03b04f867d1fa16dadd00df9
2023-08-10 14:23:47 +00:00
Krushan Bauva
d9283e1cac server: add dynamic labels to Prometheus metric hasura_websocket_messages_sent_bytes_total
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9920
GitOrigin-RevId: 7fb49f07d7914d08576dd0062fbea406b897e45e
2023-08-10 11:53:34 +00:00
Krushan Bauva
cb9996d9e5 server: add Prometheus metrics hasura_postgres_connection_init_time and hasura_postgres_pool_wait_time
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10032
GitOrigin-RevId: 696522090a252f8838c31da9ab92e6ed2b5cc5f8
2023-08-10 11:08:42 +00:00
Brandon Simmons
f6bbda77eb pro/server: add monitoring metrics for OTLP traces export
re. https://hasurahq.atlassian.net/browse/INFRA-832

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10080
Co-authored-by: Toan Nguyen  <1615675+hgiasac@users.noreply.github.com>
GitOrigin-RevId: 8de1c0a1703037cc9955da01f2593c2db15dc189
2023-08-10 10:35:14 +00:00
pranshi06
75f0629c5d server: change log level to error for triggers in Cloud
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9873
GitOrigin-RevId: 703a16da479d35908a9a8c2862884d11a3135731
2023-08-10 10:04:05 +00:00
Auke Booij
465940abc1 server: fix issue with remote schema customisation & null values
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9929
Co-authored-by: Rakesh Emmadi <12475069+rakeshkky@users.noreply.github.com>
GitOrigin-RevId: 60f9c4f99d9229cd0f29763d8055e791837cddf1
2023-08-10 06:42:36 +00:00
Samir Talwar
2d7bb085d5 server: Support _contains and _contained_in in permissions.
We recently added support for the `_contains` and `_contained_in` operators for PostgreSQL arrays. However, they weren't available in permissions.

This adds support for these operators for arrays too.

As these operators are overloaded to work with either JSONB or arrays, no validation is done on the value. If the value is not an array, it will fail when making a query.

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

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10075
GitOrigin-RevId: 02e4a57d39ac3303205c37add4186a587f65e409
2023-08-09 15:45:54 +00:00
paritosh-08
ed43fe9863 server/console: fix Apollo Federation UI to extend table types in other subgraphs
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10071
Co-authored-by: Varun Choudhary <68095256+Varun-Choudhary@users.noreply.github.com>
GitOrigin-RevId: 5acbc792fd8b3fd9ae6a02ea740b3e13040b9c72
2023-08-09 12:55:14 +00:00
Tom Harding
29bb76d6d3 Fix inherited roles leaking supposedly-hidden data via aggregation predicates for BigQuery
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10049
Co-authored-by: Philip Lykke Carlsen <358550+plcplc@users.noreply.github.com>
GitOrigin-RevId: d0af2d29e29111097e17033e10c41d668eb5a351
2023-08-09 11:52:58 +00:00
Divi
91f010e84c ci: tag release v2.32.0-beta.1
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10083
GitOrigin-RevId: 4d4e7c67f5a3d48df5d45077ceea59cebfec06e3
2023-08-09 07:55:42 +00:00
Samir Talwar
83073fc2f8 server: Remove Weeder.
We don't care too much about Weeder's recommendations right now, so let's just remove it.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10076
GitOrigin-RevId: accf663d6183525d8ff8a72f3ee8d509a5286ef3
2023-08-08 10:39:27 +00:00
Brandon Simmons
ff954543ac server: fix for #9552: respect enabled data_types list
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10037
GitOrigin-RevId: a6465d61c2687ea8acf314532ba723664b849694
2023-08-07 15:13:01 +00:00
Samir Talwar
71c31755c1 Upgrade the Nix lockfile and fix ghcid on macOS.
I was experiencing issues trying to install ghcid on macOS + aarch64. Turns out there's a patch for that but it's not enabled for GHC 9.4. I have added it.

We may want to push this upstream.

This also upgrades Ormolu, with only a tiny change.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10062
GitOrigin-RevId: 09d0bf115155267584e91c6a21caf8afc7d744a8
2023-08-07 08:59:51 +00:00
David Overton
5b70da8138 Nested permissions
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10069
GitOrigin-RevId: 6bdde406a57e394f7bf4cc1bae2b6411cbb4ffe0
2023-08-07 04:58:22 +00:00
pranshi06
7647456718 server: configuration to specify which Header to pick for JWT Authentication
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9942
GitOrigin-RevId: 4f18d29f07c213a001d43b88e3ce2991230e28e6
2023-08-04 10:37:40 +00:00
Daniel Chambers
016070df34 Add support for data redaction to the reference agent and added agent tests
[GDC-1292]: https://hasurahq.atlassian.net/browse/GDC-1292?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10039
GitOrigin-RevId: c36802d24261e77c0bf28b6bec7cb84bc3b95c3c
2023-08-04 06:17:54 +00:00
Daniel Chambers
68f7d6e9a4 Add inherited roles data redaction support to the Data Connector API
[GDC-1292]: https://hasurahq.atlassian.net/browse/GDC-1292?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10023
GitOrigin-RevId: d6947dd89dc59fce3f68b786192c59e731826c60
2023-08-03 06:10:53 +00:00
Philip Lykke Carlsen
2cb66592c3 fix: Apply naming conventions in more places
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9988
GitOrigin-RevId: e74797306a6a131b9b038a20cc6e40befb33ab77
2023-08-02 13:47:21 +00:00
ananya-2410
f617b68b8b ci: tag release v2.31.0
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10026
GitOrigin-RevId: bf6d87df602029cd55b014f6c729c462739ffeb2
2023-08-02 08:54:54 +00:00
Daniel Harvey
6aae78c8e1 chore(server): add track/untrack stored procedure metadata commands to bulk_atomic
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10013
GitOrigin-RevId: 3843e379e08bcb65e65110fc8217acc05cf7640a
2023-08-01 08:15:28 +00:00
David Overton
23d40fc500 Nested where
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9940
GitOrigin-RevId: c2115f1de4f647c4b559c98183c6260a1f5674dd
2023-08-01 05:41:36 +00:00
Daniel Chambers
374bbd1937 Fix inherited roles leaking supposedly-hidden data via native queries in Postgres
[GDC-1292]: https://hasurahq.atlassian.net/browse/GDC-1292?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9980
GitOrigin-RevId: 48174a559453d802991b475caf337808d2462356
2023-08-01 02:29:19 +00:00
Daniel Chambers
7b2647e4e9 Fix inherited roles leaking supposedly-hidden data via streaming subscriptions for Postgres
[GDC-1292]: https://hasurahq.atlassian.net/browse/GDC-1292?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9977
GitOrigin-RevId: 56da6f97477095a1930cd29ff87ba5c3832d59f4
2023-08-01 01:47:44 +00:00
Krushan Bauva
94a2b6348a server: add Prometheus metric hasura_websocket_message_write_time and fix hasura_websocket_message_queue_time
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9879
GitOrigin-RevId: 9dd82d01faa367fa67950a7f5f55a61fc396b27f
2023-07-28 11:38:57 +00:00
Samir Talwar
1a052dd44b server: Avoid partial fields wherever possible.
This turns on the `partial-fields` warning, which yells at you if you try and create fields on sum types that end up being partial functions. These are dangerous; we had a bug because we introduced a new case to a data type, making the field accessors partial, and leading to a crash in certain cases.

This means that we have introduced a few wrappers in various places where the field names are useful, but we want to avoid partial matches.

Unfortunately this can be turned off by prefixing the field name with an underscore. Ideally we would try and avoid exporting any field names with underscores, but lenses make this hard. I have removed some underscores for the areas in which we've seen this break in the past.

We will have to be vigilant.

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

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9991
GitOrigin-RevId: fd69b1ef999682969f3507f0e97513f983da4da6
2023-07-28 10:54:24 +00:00
Philip Lykke Carlsen
bda6aadca8 fix(mssql): Properly record the schema of referenced columns
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9985
GitOrigin-RevId: 0262c414a6421b79d5b8c0fc47b17c8efed22c6c
2023-07-27 15:06:47 +00:00
Daniel Harvey
37726b088c chore(server): use 'double precision' instead of numeric
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9972
GitOrigin-RevId: 0a6a06081a7c5a3618b6c7252c6697da97c6efc2
2023-07-26 16:39:33 +00:00
Philip Lykke Carlsen
cf2d205937 Fix(Sqlserver): Apply Column Redaction to order_by and _where
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9971
GitOrigin-RevId: 04cae8163af2d002a2d5aea73fb45088fc0eaea4
2023-07-26 16:05:00 +00:00
Daniel Harvey
9bd52c0a89 chore: remove Postgres data connector
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9970
GitOrigin-RevId: 5ebae21a19c50c305ee661052f629a367af05d57
2023-07-26 15:24:00 +00:00
Daniel Harvey
88a2bf1b7d Changed return type of computed field to numeric
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9968
GitOrigin-RevId: 94a1d1d354488577089e0d3e027f3ee1bc53095d
2023-07-26 14:45:26 +00:00
Puru Gupta
b3a128065f server: add tenant policy to enable/disable otel exporter
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9928
Co-authored-by: Brandon Simmons <210815+jberryman@users.noreply.github.com>
Co-authored-by: Toan Nguyen  <1615675+hgiasac@users.noreply.github.com>
Co-authored-by: Varun Choudhary <68095256+Varun-Choudhary@users.noreply.github.com>
Co-authored-by: Daniele Cammareri <5709409+dancamma@users.noreply.github.com>
GitOrigin-RevId: 56c6903691353875f87bf417c332ac89cdda1279
2023-07-26 12:50:10 +00:00
Daniel Chambers
bae14c70d4 Fix inherited roles leaking supposedly-hidden data via aggregation predicates for Postgres
[GDC-1292]: https://hasurahq.atlassian.net/browse/GDC-1292?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9961
GitOrigin-RevId: cffe2fda2f4dbc7929fc1aaac3887b7d12c4b467
2023-07-26 12:07:34 +00:00
Vishnu Bharathi
2693447b25 ci: tag release v2.31.0-beta.1
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9967
GitOrigin-RevId: 65796e0792be252a7e3e5496688715f146f4b751
2023-07-26 11:06:59 +00:00
Philip Lykke Carlsen
483409c26b Fix(Sqlserver): Apply Column Redaction to aggregations
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9956
GitOrigin-RevId: ed7a734fabcaaead85999a25223a61f0cba7807c
2023-07-26 08:53:56 +00:00
Brandon Simmons
f0441a3d61 INFRA-833: OpenTelemetry exporter for metrics
I scratched out some changes to support this in the front end, mostly to test it easily,   maybe this can be used without much rework (validation seems to work correctly, but the tests need to be extended and probably fixed):

<img width="648" alt="fd" src="https://github.com/hasura/graphql-engine-mono/assets/68095256/e5873a90-ef83-43c3-9d54-cfc0a693baca">

-------

## Fake OTel collector for testing

ChatGPT spit this out, and it's what I used to test, if it's useful to others:

``` python
from flask import Flask, request
from opentelemetry.proto.collector.trace.v1.trace_service_pb2 import ExportTraceServiceRequest
from opentelemetry.proto.collector.metrics.v1.metrics_service_pb2 import ExportMetricsServiceRequest
import google.protobuf.json_format as json_format

app = Flask(__name__)

@app.route("/v1/traces", methods=["POST"])
def handle_traces():
    if request.method == 'POST':
        binary_trace = request.get_data()
        trace_request = ExportTraceServiceRequest()
        trace_request.ParseFromString(binary_trace)
        print("Received trace data:\n")
        print(json_format.MessageToJson(trace_request, indent=2, preserving_proto_field_name=True))
        return "Trace data received", 200

@app.route("/v1/metrics", methods=["POST"])
def handle_metrics():
    if request.method == 'POST':
        binary_metric = request.get_data()
        metric_request = ExportMetricsServiceRequest()
        metric_request.ParseFromString(binary_metric)
        print("Received metrics data:\n")
        print(json_format.MessageToJson(metric_request, indent=2, preserving_proto_field_name=True))
        return "Metrics data received", 200

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8080)
```

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9552
Co-authored-by: Puru Gupta <32328846+purugupta99@users.noreply.github.com>
Co-authored-by: Toan Nguyen  <1615675+hgiasac@users.noreply.github.com>
Co-authored-by: Varun Choudhary <68095256+Varun-Choudhary@users.noreply.github.com>
Co-authored-by: Daniele Cammareri <5709409+dancamma@users.noreply.github.com>
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: f340bfc5c135a7bb24735b524d015e05db422fd2
2023-07-26 05:22:17 +00:00
Daniel Chambers
fa1441ac3b Enable inherited role redaction tests for Citus and Cockroach and fix DISTINCT ON for Cockroach
[GDC-1292]: https://hasurahq.atlassian.net/browse/GDC-1292?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9951
GitOrigin-RevId: b078006a14ebdc007576314405734734ad1944c4
2023-07-26 04:50:25 +00:00
kodiakhq[bot]
4d86cd3a62 Fix #9447 bad memory usage
A fix for #9447

Before this change, for the workload in the ticket, we saw a memory stay at around 4 GB an hour after the workload ended.  after this change we see both a lower memory high watermark, and also see memory come back to baseline at the end as we expect (after the `HASURA_GRAPHQL_PG_CONN_LIFETIME` and a subsequent `_idleStaleReaperThread` interval elapses).  But note the numbers given on any given machine may be slightly different, since the behavior depends on the version of glibc and processor speed (Since the test case depends on the server being overloaded).

This might also help some users commenting in https://github.com/hasura/graphql-engine/issues/9592

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9823
GitOrigin-RevId: 5650aa42d10d46c418c21686983a982d69011884
2023-07-25 11:24:57 +00:00
Daniel Harvey
78323ed1a1 chore(server): permissions for inline logical models
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9835
GitOrigin-RevId: b36a4d5a8e0d4156a2d26803c7d046570f7afefa
2023-07-25 10:11:35 +00:00
Auke Booij
dad9a80dac server: null forwarding feature flag
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9861
Co-authored-by: paritosh-08 <85472423+paritosh-08@users.noreply.github.com>
Co-authored-by: Rob Dominguez <24390149+robertjdominguez@users.noreply.github.com>
GitOrigin-RevId: 46153d68adf1acc707dc451555055600b006629e
2023-07-21 15:12:32 +00:00
Vishnu Bharathi
b7a6bce19e ci: tag release v2.30.1
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9933
GitOrigin-RevId: 62a8e988dc2c8fae65c6306b27a8261eb3230b14
2023-07-21 12:46:33 +00:00
Daniel Chambers
592e2329d0 Fix inherited roles leaking supposedly-hidden data via filtering for Postgres
[GDC-1292]: https://hasurahq.atlassian.net/browse/GDC-1292?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9916
GitOrigin-RevId: 39f6f1aa21421dda6573bbae561c62ced3400034
2023-07-20 23:29:01 +00:00
Tom Harding
05cfb65b54 Log Postgres Source Names in Connection Errors
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9869
GitOrigin-RevId: 916758e7f1037cc67035894298e55771f9aa2d9f
2023-07-20 11:20:09 +00:00
Puru Gupta
b5cd05cebd server: add tests for invalid auth when using graphql-ws protocol
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9905
GitOrigin-RevId: 394849866b33039ee9c2bdfc3c33ba13b88f03fa
2023-07-20 10:44:47 +00:00
Divi
4f6ef10e17 ci: tag release v2.30.0
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9901
GitOrigin-RevId: c23ed2593edb25cfc688b23207de3430b6447f8f
2023-07-19 07:44:47 +00:00
ananya-2410
b4fd94eb82 ci: tag release v2.29.2
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9899
GitOrigin-RevId: 08f7c6841f8ff5087de242310f313a7851c438c8
2023-07-19 06:51:06 +00:00
Philip Lykke Carlsen
462abadb8c feat(SqlServer): Configuration option to disable the connection pool
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9834
Co-authored-by: Samir Talwar <47582+SamirTalwar@users.noreply.github.com>
GitOrigin-RevId: 6b7f8bd660ddda0cae3a5457267f5af4906ff65a
2023-07-18 18:41:10 +00:00