Commit Graph

5836 Commits

Author SHA1 Message Date
Erik Magnusson
e084126c73 console: upgrade nudging for oss users wanting to use ssl cockroach db
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7084
Co-authored-by: Luca Restagno <59067245+lucarestagno@users.noreply.github.com>
GitOrigin-RevId: 4706cb52d46e22cfd3396233e6222f83dbc43cf7
2022-11-30 11:42:15 +00:00
Philip Lykke Carlsen
3d1c663f51 server/tests: Remove pytest version of TestGraphQLQueryBasicCitus
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7073
GitOrigin-RevId: 17c6f4848d3c8dfb268a04442ec3a95f117fef89
2022-11-30 11:08:07 +00:00
Abby Sassel
74e30b8b0b Server/tests: Scalar Computed Fields > Postgres
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7094
GitOrigin-RevId: f5e632adc99ffa628a09d6703d2fdba9d2ade53e
2022-11-30 11:02:53 +00:00
Solomon
07682d4afb [Nix] Set nixpkgs to 22.11 and update flake lock.
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7105
GitOrigin-RevId: 6428d585cd9402bbdd1e7a42459c82d2dd8d9279
2022-11-30 09:46:48 +00:00
Auke Booij
cfc9d7d219 server: build even more parts of the Schema Cache monadically
Rewrites the schema cache building code monadically for the following features as well:
- REST endpoints
- Cron triggers
- OpenTelemetry config
- Remote schema cache (post-introspection only), mainly remote schema relationships
- Actions
- Inherited roles

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7049
GitOrigin-RevId: c0727c6a170a27f722cc173973658ad201ebedb5
2022-11-30 09:12:15 +00:00
Vishnu Bharathi
3c9e914931 ci: tag release v2.16.0-beta.1
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7103
GitOrigin-RevId: 52de369fc4bd35a92884706df4c0ec7c889d516c
2022-11-30 08:11:23 +00:00
sfarqu
5b95e4f778 console: Remove x-hasura-admin-secret header from DB latency requests
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7101
GitOrigin-RevId: 48dd66ded2cfd7c440db67f8edb267196757c75c
2022-11-30 07:19:14 +00:00
paritosh-08
4e4f31de23 server: fix streaming subscription input type names
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7077
GitOrigin-RevId: dbc07b0c6e3d1c5721d15310623f27e74e1a6082
2022-11-30 06:48:58 +00:00
Sandeep Raj Kumar
3c3c8d6895 Add Login with SSO option to EE lite
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6881
GitOrigin-RevId: d4603a0252c2924851c09fff9debe4d699a20fca
2022-11-30 05:21:35 +00:00
awjchen
04871c8a41 pro-server: add unit tests for the opentelemetry exporter
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6981
GitOrigin-RevId: 965fd2c4907c20407af9a987e9ea2e29f7e87349
2022-11-30 04:49:18 +00:00
awjchen
b1cb73e964 server: add another log line for metadata sync
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7102
GitOrigin-RevId: 0b18d4a07470c0c785db1b250d6d9c5e2b65676c
2022-11-30 04:03:18 +00:00
Rob Dominguez
29e3a0eb1b docs: restructure cli section
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6971
Co-authored-by: Sean Park-Ross <94021366+seanparkross@users.noreply.github.com>
GitOrigin-RevId: 161396ef07386d6032232bb3e9926b7520f1b5ba
2022-11-29 23:39:12 +00:00
Puru Gupta
698190894f server: use kriti template to generate query param from list
## Description ✍️
This PR adds support to generate query params directly using a kriti template which can be used to flatten a list of parameter arguments as well.

### Changes in the Metadata API
Earlier the `query_params` key inside `request_transform` used to take in an object of key/value pairs where the `key` represents the query parameter name and `value` points to the value of the parameter or a kriti template which could be resolved to the value.

With this PR, we provide the user with more freedom to generate the complete query string using kriti template. The  `query_params` can now take in a string as well which will be a kriti template. This new change needs to be incorporated on the console and CLI metadata import/export as well.
- [x] CLI: Compatible, no changes required
- [ ] Console

## Changelog ✍️

__Component__ : server

__Type__: feature

__Product__: community-edition

### Short Changelog

use kriti template to generate query param from list of arguments

### Related Issues ✍
https://hasurahq.atlassian.net/browse/GS-243

### Solution and Design ✍
We use a kriti template to generate the complete query parameter string.

| Query Template | Output |
|---|---|
| `{{ concat ([concat({{ range _, x := [\"apple\", \"banana\"] }} \"tags={{x}}&\" {{ end }}), \"flag=smthng\"]) }}`| `tags=apple&tags=banana&flag=smthng`  |
| `{{ concat ([\"tags=\", concat({{ range _, x := $body.input }} \"{{x}},\" {{ end }})]) }}` | `tags=apple%2Cbanana%2C` |

### Steps to test and verify ✍
- start HGE and make the following request to `http://localhost:8080/v1/metadata`:
```json
{
    "type": "test_webhook_transform",
    "args": {
        "webhook_url": "http://localhost:3000",
        "body": {
            "action": {
                "name": "actionName"
            },
            "input": ["apple", "banana"]
        },
        "request_transform": {
            "version": 2,
            "url": "{{$base_url}}",
            "query_params": "{{ concat ([concat({{ range _, x := $body.input }} \"tags={{x}}&\" {{ end }}), \"flag=smthng\"]) }}",
            "template_engine": "Kriti"
        }
    }
}
```
- you should receive the following as output:
```json
{
    "body": {
        "action": {
            "name": "actionName"
        },
        "input": [
            "apple",
            "banana"
        ]
    },
    "headers": [],
    "method": "GET",
    "webhook_url": "http://localhost:3000?tags=apple&tags=banana&flag=smthng"
}
```

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6961
Co-authored-by: Tirumarai Selvan <8663570+tirumaraiselvan@users.noreply.github.com>
GitOrigin-RevId: 712ba038f03009edc3e8eb0435e723304943399a
2022-11-29 20:27:41 +00:00
Daniele Cammareri
16561d2c9a feat(console): add import single endpoint from openAPI
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6970
GitOrigin-RevId: 14bbca9efbda6fa71f6b00ab5d45062d71abd794
2022-11-29 19:09:53 +00:00
Karthikeyan Chinnakonda
32a316aef7 server: provide an option to enable event triggers on logically replicated tables
## Description ✍️
This PR introduces a new feature to enable/disable event triggers during logical replication of table data for PostgreSQL and MS-SQL data sources. We introduce a new field `trigger_on_replication` in the `*_create_event_trigger` metadata API. By default the event triggers will not fire for logical data replication.

## Changelog ✍️

__Component__ : server

__Type__: feature

__Product__: community-edition

### Short Changelog

Add option to enable/disable event triggers on logically replicated tables

### Related Issues ✍

https://github.com/hasura/graphql-engine/issues/8814
https://hasurahq.atlassian.net/browse/GS-252

### Solution and Design
- By default, triggers do **not** fire when the session mode is `replica` in Postgres, so if the `triggerOnReplication` is set to `true` for an event trigger we run the query `ALTER TABLE #{tableTxt} ENABLE ALWAYS TRIGGER #{triggerNameTxt};` so that the trigger fires always irrespective of the `session_replication_role`
- By default, triggers do fire in case of replication in MS-SQL, so if the `triggerOnReplication` is set to `false` for an event trigger we add a clause `NOT FOR REPLICATION` to the the SQL when the trigger is created/altered, which sets the `is_not_for_replication` for the trigger as `true` and it does not fire during logical replication.

### Steps to test and verify ✍
- Run hspec integration tests for HGE

## Server checklist ✍

### Metadata ✍

Does this PR add a new Metadata feature?
-  Yes
  - Does `export_metadata`/`replace_metadata` supports the new metadata added?
    - 

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6953
Co-authored-by: Puru Gupta <32328846+purugupta99@users.noreply.github.com>
Co-authored-by: Sean Park-Ross <94021366+seanparkross@users.noreply.github.com>
GitOrigin-RevId: 92731328a2bbdcad2302c829f26f9acb33c36135
2022-11-29 17:43:13 +00:00
Daniel Harvey
7184c46a4e [server] fix api-tests-pro
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7078
GitOrigin-RevId: 427186eac62926408a8e1cd191fb3363757954b0
2022-11-29 15:43:22 +00:00
Luca Restagno
8a45b4d075 console: fix nested browse rows run query
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7072
GitOrigin-RevId: cf3aa7588c1dbf4dbb225491ab36fba35535b0d1
2022-11-29 15:06:35 +00:00
Varun Choudhary
88fd90d0e5 console: show roles created from from allow list on data, RS and action permission tables
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7059
GitOrigin-RevId: 9ccdbf14ed7066f44cd9bd568101e6ec566c1762
2022-11-29 14:01:14 +00:00
Abhijeet Khangarot
1e1622053a console: track console load custom event on heap
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7086
GitOrigin-RevId: 838fc52e603324f2df0b234be898033eb76a0766
2022-11-29 12:48:29 +00:00
Abby Sassel
7089b9de64 server/tests: Subscriptions > Value of Derived Field > Citus
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7065
GitOrigin-RevId: a14aa4e37971817b84e321dd6872cb17c12524a3
2022-11-29 11:17:21 +00:00
awjchen
41b64e8a9e server: clean up query variables hotfix
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6916
GitOrigin-RevId: ace6e625e70930d36e019be910a26101cb6eed5b
2022-11-29 10:06:14 +00:00
Erik Magnusson
459aa73d2b console: fix filtering using nullish values
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7076
GitOrigin-RevId: 369a8abc2fd871e0e67d07c9ef299f689c01d81a
2022-11-29 09:33:04 +00:00
Varun Choudhary
ff223ab938 console: clean up response transform code base
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6782
Co-authored-by: Daniele Cammareri <5709409+dancamma@users.noreply.github.com>
GitOrigin-RevId: 57f4731d2d5eb74950e6e9c3a41a2a71f162c394
2022-11-29 09:03:49 +00:00
Erik Magnusson
a4d669a71e console: added checks to hide previously removed sources
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6996
GitOrigin-RevId: 3467b68521b50afd364c7842c7e69fbe9bd7f90f
2022-11-29 08:06:28 +00:00
awjchen
badad573f6 server: implement resource attributes for the OpenTelemetry exporter
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6891
GitOrigin-RevId: 2c7b4767160e9fb976be4b5e656ef70cd19e4e0e
2022-11-29 07:35:09 +00:00
Daniel Chambers
ed79049637 Mutation Data Connector API types [GDC-594]
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6893
GitOrigin-RevId: edf0f72027197ae61bfa8d27d53eabf6ca626112
2022-11-29 03:37:13 +00:00
Auke Booij
cca0b6e81a Further schema cache cleanups
Mostly trying to avoid tricky `Arrows` syntax, and unnecessary use of the `Hasura.Incremental` framework.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6997
GitOrigin-RevId: 9a2f5883e7e29af164e1581049ae003afec2cbe4
2022-11-29 01:02:09 +00:00
Auke Booij
7928179024 Delete SourceM type class
I encountered this dead code while doing other things: it's a type class with a single method which is never called. Deleting the type class allows us to simplify `TableCoreCacheRT` and `TableCacheRT`

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7075
GitOrigin-RevId: 121320349c478a93717b0706037553d8406cbfa9
2022-11-28 20:20:32 +00:00
Brandon Simmons
1b7602a2a5 server: define instance Functor InputFieldsParser by hand to lower memory usage slightly
fwiw: I was looking here because ghc-debug showed many closures associated with the Applicative instance,
but defining Monoid/Semigroup by hand and inlining didn't seem to have any effect

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7026
GitOrigin-RevId: 4ad2fd26519da98b2380658d89942c700de4ffa2
2022-11-28 15:58:11 +00:00
Philip Lykke Carlsen
a6e25a9e01 server/tests: Re-enable ObjectRelationshipsSpec for Citus
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7074
GitOrigin-RevId: 72592a29d6ea7897f93718b656fce4ac7179f4cc
2022-11-28 13:58:35 +00:00
Luca Restagno
e27ed1eb5b fix: show the accelerate project box on the cloud console only
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7060
GitOrigin-RevId: 6718c5412d8541f0ab19f4d53e6afa20543b9e8c
2022-11-28 13:00:47 +00:00
Nicolas Inchauspe
25cc0b75d6 console: fix REST endpoint creation form width
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7061
GitOrigin-RevId: 6fa530518051fab25443889c261b8ae879e8af8f
2022-11-28 11:07:39 +00:00
Erik Magnusson
6980054a35 console: removed unnecessary null defaulting from input fields
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6988
Co-authored-by: Luca Restagno <59067245+lucarestagno@users.noreply.github.com>
GitOrigin-RevId: 0b56327130bd268403054479c9cfd725b65dfb72
2022-11-28 10:35:35 +00:00
Auke Booij
b0d4493b5c Replace non-canonical Select instance with a canonical one
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7066
GitOrigin-RevId: ef65253ad816d669d109cf45662817b3115b37c3
2022-11-28 09:50:18 +00:00
Mohd Bilal
9335e40d76 cli: remove os.IsNotExist and os.IsExist error checks
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7068
GitOrigin-RevId: 37735c0020df23857015871890d2f6774166d7b1
2022-11-28 08:45:42 +00:00
Varun Choudhary
b74c2952dd console: enable naming convention check to enable/disable naming convention carded radio button
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6897
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com>
GitOrigin-RevId: 9dba07b1febf44fe10426e6c383cc8f3e0b799a6
2022-11-28 07:36:27 +00:00
Abby Sassel
37e7480822 server/tests: refactor XToDBArrayRelationshipSpec setup/teardown
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7055
GitOrigin-RevId: 71d631165e4364d9cc22c303becf75fef5d01497
2022-11-25 17:59:19 +00:00
Rahul Agarwal
5f2490b26c Adding features to the enterprise listing docs page
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7048
Co-authored-by: Tirumarai Selvan <8663570+tirumaraiselvan@users.noreply.github.com>
Co-authored-by: Marion Schleifer <5722022+marionschleifer@users.noreply.github.com>
GitOrigin-RevId: 916a20213a137d2f797648d12c6976351d67e59d
2022-11-25 15:49:13 +00:00
Daniel Harvey
60ab8e2ae3 [tooling] make commands for building and formatting CI pipeline
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7051
GitOrigin-RevId: dca45b31608680bf57a2dd190171b2567e1fcb02
2022-11-25 15:49:06 +00:00
Philip Lykke Carlsen
afa1e2fc02 server/tests: Port Citus table relationship tests from pytest
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7047
GitOrigin-RevId: 1ddcc656a43adc2c34f36fa4cf220eebb91f09ae
2022-11-25 15:40:49 +00:00
Daniel Harvey
9dc863e479 [server/tests] allow api-tests to be filtered by backend type
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7056
GitOrigin-RevId: 84618c3d5a0c2273b51584831287968b4df73fba
2022-11-25 15:40:41 +00:00
Tom Harding
b85a6572bf Make fixtureRepl work again
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6906
Co-authored-by: Philip Lykke Carlsen <358550+plcplc@users.noreply.github.com>
GitOrigin-RevId: cf00c31f610ad65305a007d8fbc6b7971ce9b7a9
2022-11-25 13:15:43 +00:00
Philip Lykke Carlsen
88af86e21a server/tests: Add ghci macros to ease working with fixtureRepl
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7046
GitOrigin-RevId: 6a3f4780cfd86646bfdd933839ca0dfb865fd32c
2022-11-25 12:34:37 +00:00
Daniel Harvey
5ab101acd5 [server/tests] Re-add Citus views test
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7043
GitOrigin-RevId: f737af39d5f6b46b29587400f53e2c6e2a772706
2022-11-25 10:33:25 +00:00
Philip Lykke Carlsen
375aa28c4e server/tests: Improve details in feature matrix tool
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7041
GitOrigin-RevId: ba0c6a28ac507d5d57fa1faf37f6e69deaba3a61
2022-11-24 17:54:40 +00:00
Nicolas Beaussart
b01a9e2784 frontend: re import code into new mono
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6966
GitOrigin-RevId: 92a8909a3d316f6a6d5dc512057e60995389383d
2022-11-24 17:21:59 +00:00
Tirumarai Selvan
4662d75bc6 revamp elastic connection pool docs
Restructure elastic connection pool docs to remove internal details and describe connection pooling benefits.

[Rendered](https://tiru-elastic-connection-pool.hasura-docs-mono.pages.dev/docs/latest/databases/connect-db/cloud-connection-pooling/)

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6960
Co-authored-by: Sean Park-Ross <94021366+seanparkross@users.noreply.github.com>
GitOrigin-RevId: 10c0ebfe1313fcf0c25631e6103978ce774502f8
2022-11-24 15:18:13 +00:00
hasura-bot
0df52d8497 docs: fix streaming subscription example (close #9241)
GITHUB_PR_NUMBER: 9242
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/9242

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6984
Co-authored-by: Jeff Lambert <11539524+jflambert@users.noreply.github.com>
GitOrigin-RevId: ed0965a016e3957ecc91184595478741e1cc7b25
2022-11-24 14:33:03 +00:00
Samir Talwar
a0dc296ede Document and automate spinning up AlloyDB for testing.
We sometimes need to test against cloud databases. Here, we add a Terraform module to start a new AlloyDB cluster and instance, which we can then use for testing purposes.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7002
GitOrigin-RevId: 2d661b5cc6d60e47485ea68b781e13426ed4f097
2022-11-24 14:16:21 +00:00
Abby Sassel
eebeb5cc3b Server/tests: Remote Relationships > Citus
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7040
GitOrigin-RevId: 1a177e2d8a903144576990d047addcef70c69544
2022-11-24 13:31:04 +00:00