Commit Graph

2171 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
Daniel Chambers
2f3defe3a9 Refactor inherited roles data redaction types
[GDC-1292]: https://hasurahq.atlassian.net/browse/GDC-1292?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9882
GitOrigin-RevId: cffb0643202ee18abdc90887fd0306fe0835c44e
2023-07-18 13:50:32 +00:00
Daniel Chambers
a86345421f Fix inherited roles issue with ordering
[GDC-1292]: https://hasurahq.atlassian.net/browse/GDC-1292?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9868
GitOrigin-RevId: 0c2b50ec1a2d179a4f79b6c795bf8fecb7ad7c9f
2023-07-18 13:09:42 +00:00
Auke Booij
9a09af4f20 server: don't forward absent variable values as nulls
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9871
GitOrigin-RevId: 71191f89d7de36ff1fad0e29e8f1f07a9ddca9f7
2023-07-18 12:36:30 +00:00
paritosh-08
b1a7a64466 server: add new fields in schema registry payload
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9769
GitOrigin-RevId: c38797bab390fc8f388bf9c64250044949d94060
2023-07-18 12:03:17 +00:00
paritosh-08
318634c7a1 server/schema-registry: fix metadata resource version -1 for catalog sync
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9864
GitOrigin-RevId: 55340364d138ccb311e3f0e927ef2fd1486a125b
2023-07-17 08:12:31 +00:00
Daniel Chambers
06a79b9e59 Fix inherited roles leaking supposedly-hidden data from aggregates for Postgres
[GDC-1292]: https://hasurahq.atlassian.net/browse/GDC-1292?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9799
GitOrigin-RevId: 8138c6064bffe8af5228c293e28513962e980820
2023-07-17 04:28:46 +00:00
Tom Harding
70d5a0e168 Support remote relationship deletion in bulk_atomic
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9858
GitOrigin-RevId: 11eab0ec6383871792a1e7bf3c7ebaed3be53f90
2023-07-13 13:55:25 +00:00
pranshi06
da582dda33 server: add log line for Event Trigger timeout errors
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9847
GitOrigin-RevId: 2cff5d3bca1e04b57cbe054e774e97e543cb7ce5
2023-07-13 09:53:27 +00:00
Anon Ray
ddfd5c74bc revert "server: add upstream_execution_time to http-log"
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9856
GitOrigin-RevId: 5721b4945025fd8139fe19f7aa87d7366c4b0c27
2023-07-13 09:23:38 +00:00
Tom Harding
a381cf273a Add *_drop_relationship to bulk_atomic
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9851
GitOrigin-RevId: 6f837e2040261c319899769abcd1af28b5cea64f
2023-07-13 08:54:51 +00:00
Anon Ray
6853688e20 server: add upstream_execution_time to http-log
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9853
GitOrigin-RevId: 001ac73bb3c5c34fee26ee8804fc0a9b34fba4c7
2023-07-13 07:29:00 +00:00
Daniel Harvey
21bee98e25 chore(server): tidy logimo permissions
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9844
GitOrigin-RevId: f08e3872d2507f965bf94976cae3ee5d15d882b5
2023-07-12 10:45:42 +00:00
Brandon Simmons
4eeb0860d9 server: use lighter GC in ourIdleGC when idle
Previously when users had an idle system with a large working set (i.e. large schema) they would likely see CPU spikes every 10 seconds.

See: https://github.com/hasura/graphql-engine/issues/9592#issuecomment-1580543694

Now we perform a lighter-weight minor GC in that case.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9841
GitOrigin-RevId: a04f86bfef7a73cb25fbec850d58e51eb796b81b
2023-07-12 09:26:11 +00:00
Krushan Bauva
cfd2f54eab server: fix operationName not parsed into subscription metrics and query tags
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9816
GitOrigin-RevId: c27ab21d2574fe36a150f3e333c6da6ea2658a32
2023-07-12 07:33:17 +00:00
David Overton
a46f07ea45 Logical models in get_table_info
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9798
GitOrigin-RevId: ab7b1dc0a4504c1ec103c449ca2e444589673c0f
2023-07-12 02:10:02 +00:00
Daniel Harvey
eeb819e7a4 chore(server): allow Logical Models to be defined inside Native Queries
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9787
GitOrigin-RevId: 48b88f3c98024d3be721ab27a28be75952586a8c
2023-07-10 13:47:25 +00:00
Daniel Harvey
213f64c061 chore(server): add experiment feature flag to disable Postgres arrays in introspection
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9804
GitOrigin-RevId: eeb378153df070ffedcada6a91d3117a0a83dde9
2023-07-10 11:17:10 +00:00
Philip Lykke Carlsen
e8d7444b70 Feat: Use column nullabilty to generate simpler permissions SQL
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9793
GitOrigin-RevId: d7a3995efe5ca3936fa5b3a7ecf4574b694b9909
2023-07-10 09:28:54 +00:00
Tom Harding
ceedfe7f8d Allow array and object relationships to be made with bulk_atomic
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9809
GitOrigin-RevId: d813b66be6ab07a1efb834aa988a715ab531a3a2
2023-07-07 17:25:23 +00:00
Krushan Bauva
c68f6c7ba1 server: extend livequery-poller-log to log errors
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9708
GitOrigin-RevId: ba2075f5f62bd56805fde0a8f02803b05105d775
2023-07-07 07:18:14 +00:00
Puru Gupta
1d8d934157 server: fix race condition in reloadAppContext
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9788
GitOrigin-RevId: c6b9441e4f4e12fea6ad4e5b336f3231fc4494d2
2023-07-06 23:01:32 +00:00
Auke Booij
fdddac8057 server: Delete unused SchemaCacheVer
`SchemaCacheVer` has been a write-only value for a while. It was introduced by hasura/graphql-engine#1934.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9786
GitOrigin-RevId: aa9d5600d2be347ea0538903b7f41f7ed745fafc
2023-07-06 15:37:01 +00:00
pranshi06
d32ae8ea05 server: update HTTP exception errors in log line for Triggers
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9738
GitOrigin-RevId: cece764a6fa087958675077c8420e9478d419e8e
2023-07-06 07:38:09 +00:00
Daniel Harvey
a0cc1dd9c9 chore(server): Native Query relationships no longer required a matching Logical Model field
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9737
GitOrigin-RevId: 4e6cd40fee21b7ca51342b805ed52e6b51b8c0d5
2023-07-04 17:21:19 +00:00
Tom Harding
5770f7eaad Log the host IP address for a failing Postgres connection.
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9751
GitOrigin-RevId: 6980513188c58103716588e1dd695d84ea0ab33e
2023-07-04 16:37:51 +00:00
Auke Booij
26cf5a8368 Fix for forwarding null values to the remote schema for nullable field types
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9749
GitOrigin-RevId: 943cfe18202c6eb74bcc38ebaa49f7e21b934b66
2023-07-04 14:29:48 +00:00
Naveen Naidu
f29105fb0c server: remove input validation feature from experimental features
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9747
GitOrigin-RevId: d59a272558d190525245796518a764574bd93286
2023-07-04 13:23:20 +00:00