Commit Graph

321 Commits

Author SHA1 Message Date
Tirumarai Selvan
b0f723b201 tag release v2.1.0-beta.1
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2472
GitOrigin-RevId: b18f755b8db82ee6376d9af02495fe55cfd93aa8
2021-09-30 09:48:30 +00:00
Aravind K P
61e069ad8a cli: allow specifiying a "to" version on migrate squash command
closes https://github.com/hasura/graphql-engine/issues/7472

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2442
GitOrigin-RevId: d804d04e0b87fc33c25407ff3991f266b0d6a6aa
2021-09-29 17:47:25 +00:00
Aravind K P
186baa7915 cli: add support for metadata subcommands to work with json/yaml files
closes https://github.com/hasura/graphql-engine/issues/7542

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2445
GitOrigin-RevId: c0087fa475cf4b353f4af150629684d3b9e1f82f
2021-09-29 11:13:31 +00:00
hasura-bot
20f7c85382 cli: add deploy command (close #7349)
GITHUB_PR_NUMBER: 7426
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/7426

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2173
Co-authored-by: Ajay Tripathi <24985760+atb00ker@users.noreply.github.com>
Co-authored-by: Kali Vara Purushotham Santhati <72007599+purush7@users.noreply.github.com>
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 1030d24c9e6c7d0c7062b6f0e98f8464950529d3
2021-09-29 06:15:17 +00:00
Aravind K P
5011955f73 cli: support query_tags in metadata
closes https://github.com/hasura/graphql-engine-mono/issues/2261

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2347
GitOrigin-RevId: 30d461c0b70f4a4924496d9c3f53cb73a658093a
2021-09-28 17:05:48 +00:00
Kali Vara Purushotham Santhati
d87f7abd02 cli: throw user friendly errors when server is unreachable
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2369
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: af635612948822ae7ea9eb7b7b79d7d4f147e0e6
2021-09-27 14:53:44 +00:00
Vishnu Bharathi
2165736497 ci: complete the CLI pipeline in buildkite
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2437
GitOrigin-RevId: 0b3cd970be1e814df7d679979af6aa09d95c21cd
2021-09-27 13:35:04 +00:00
Aravind K P
566b441b12 cli: remove config v1 specific logic from migrate squash
https://github.com/hasura/graphql-engine-mono/pull/2381

Co-authored-by: Kali Vara Purushotham Santhati <72007599+purush7@users.noreply.github.com>
GitOrigin-RevId: 42db5ea7ecd46838b5f2b266beca48e5af040bb9
2021-09-24 12:06:11 +00:00
Kali Vara Purushotham Santhati
ffce0d266b cli: non zero exit code if any of the database migrations aren't applied
Issue: https://github.com/hasura/graphql-engine/issues/7499

Problem: cli doesn't exit if `migrate apply --all-databases` fail on 1 or more databases

Solution: Store the names of the databases for which it failed and return
```
operation failed on : <database1>,<database2>,etc
```

https://github.com/hasura/graphql-engine-mono/pull/2305

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
Co-authored-by: Vijay Prasanna <11921040+vijayprasanna13@users.noreply.github.com>
GitOrigin-RevId: 8a30bdcc24de8a204320b00e5ea9d593a6293ad4
2021-09-23 06:50:25 +00:00
Kali Vara Purushotham Santhati
40c3d08d4a cli: migrate apply progress bar improvements
https://github.com/hasura/graphql-engine-mono/pull/2356

GitOrigin-RevId: 181db6e14ffd08083a1ffc97bf2e0e578f3da0fc
2021-09-22 12:53:43 +00:00
Kali Vara Purushotham Santhati
24d9bbcd93 cli: apply the migration after creating for flag --from-server
Issue: https://github.com/hasura/graphql-engine/issues/7510

Problem:

- To mark the migration applied after creating the migration from the server with skip-execution flag

Solution:

After creating migration apply it with skip-execution true

https://github.com/hasura/graphql-engine-mono/pull/2333

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 72eca352b76afe3a19d2198169b31284e38af07a
2021-09-22 11:48:29 +00:00
Kali Vara Purushotham Santhati
4cf13762e2 cli: add support for network metadata object
Issue: https://github.com/hasura/graphql-engine/issues/7520

Problem: add support for network metadata object

Solution: add new network.yaml which consists of network metadata and in code add new network metadata object

Metadata.json
```
{
  "resource_version": 6,
  "metadata": {
    "version": 3,
    "sources": [
      {
        "name": "default",
        "kind": "postgres",
        "tables": [],
        "configuration": {
          "connection_info": {
            "use_prepared_statements": true,
            "database_url": {
              "from_env": "HASURA_GRAPHQL_DATABASE_URL"
            },
            "isolation_level": "read-committed",
            "pool_settings": {
              "connection_lifetime": 600,
              "retries": 1,
              "idle_timeout": 180,
              "max_connections": 50
            }
          }
        }
      }
    ],
    "network": {
      "tls_allowlist": [
        {
          "suffix": null,
          "permissions": [
            "self-signed"
          ],
          "host": "www.google.com"
        },
        {
          "suffix": null,
          "permissions": [
            "self-signed"
          ],
          "host": "play.golang.com"
        },
        {
          "suffix": null,
          "permissions": [
            "self-signed"
          ],
          "host": "hasura.io"
        }
      ]
    }
  }
}
```
network.yaml
```
tls_allowlist:
- suffix: null
  permissions:
  - self-signed
  host: www.google.com
- suffix: null
  permissions:
  - self-signed
  host: play.golang.com
- suffix: null
  permissions:
  - self-signed
  host: hasura.io

```

https://github.com/hasura/graphql-engine-mono/pull/2343

GitOrigin-RevId: ef508ae946dc5c7c5bcb4a9a3ccb982394ae8639
2021-09-22 08:12:46 +00:00
hasura-bot
b50c4aee1d cli: install v2.0.9 by default instead of v2.0.6
GITHUB_PR_NUMBER: 7575
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/7575

https://github.com/hasura/graphql-engine-mono/pull/2383

Co-authored-by: Tyler Breisacher <244381+MatrixFrog@users.noreply.github.com>
Co-authored-by: Vishnu Bharathi <4211715+scriptnull@users.noreply.github.com>
GitOrigin-RevId: afc8c5cc178e16deb89046d1df4d80fafea69147
2021-09-20 05:56:17 +00:00
Antoine Leblanc
e2ce1972f6 Prevent empty subscription roots (fix hasura/graphql-engine#6898)
### Description

We always build a subscription root, even when there was no possible fields. This breaks some third party clients, as the spec does not allow empty types in the schema. This PR fixes this by changing the `buildSubscriptionParser` helper to return a `Maybe` value, and harmonizes / cleans places where we build the subscription root.

https://github.com/hasura/graphql-engine-mono/pull/2357

GitOrigin-RevId: 1aeae25e321eee957e7645c436d17e69207309fd
2021-09-16 07:42:46 +00:00
Kali Vara Purushotham Santhati
54e0e0264b cli: make progress bar render properly on all emulators and add progress bar-logs flag to get logs on CI
Issue: https://github.com/hasura/graphql-engine/issues/4795

Problem:
- Hasura CLI displays many lines of progress bar logs in CI which is not needed by many users ( not needed as default behaviour)
- The progress bar won't render properly on all the terminal emulators

Solution:
 - [x] change the default behaviour of the progress bar to display it only in terminal mode
 - [x] add new flag `progressbar-logs` which sets the width of progress bar to render
 - [x] hard set the terminal value as true so that the return symbol will be carriage return

https://github.com/hasura/graphql-engine-mono/pull/2312

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 0efe141050d0804c679cec5fdf2ac4d49a16d78d
2021-09-14 14:28:52 +00:00
Vijay Prasanna
1afd38f887 console: add source attribute to make migration action
https://github.com/hasura/graphql-engine-mono/pull/2213

Co-authored-by: Kali Vara Purushotham Santhati <72007599+purush7@users.noreply.github.com>
GitOrigin-RevId: 3cf65f0062005d23aa264da744dc680417275add
2021-09-14 06:49:57 +00:00
hasura-bot
ff8e76d1b7 [Hasura CLI]: fix possible typo "depricated" to "deprecated"
GITHUB_PR_NUMBER: 7527
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/7527

https://github.com/hasura/graphql-engine-mono/pull/2320

Co-authored-by: José Moreira <3604053+cusspvz@users.noreply.github.com>
Co-authored-by: Kali Vara Purushotham Santhati <72007599+purush7@users.noreply.github.com>
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: df04785e2e6104352dc7e3c703e6116ab60cc093
2021-09-10 04:55:52 +00:00
Kali Vara Purushotham Santhati
58d0a1e29f cli: send error to telemetry
closes https://github.com/hasura/graphql-engine-mono/issues/2093

Problem:
 - [x] Send errors to telemetry
 - [x] send flags along with the command to telemetry

Solution:
 - Added Error field in the data struct and if there is an error then the error will get copied to the field
 - Use Visit fn in cobra for getting the flag names which are set and append the flag-names to command

https://github.com/hasura/graphql-engine-mono/pull/2298

GitOrigin-RevId: bd28c2e83e039a4eb8d7fe0d2b7646d0c982c91b
2021-09-08 08:56:54 +00:00
Kali Vara Purushotham Santhati
b75ab7233e cli: fix data-race warnings
#### Issue: https://github.com/hasura/graphql-engine-mono/issues/2179

### Problem:

1. There are few warnings when tests are executed with cli if it is built with `race` flag
It is because of a race condition between stdin in migrate_delete for the prompt and stdout for other commands.

2. The integration test of the console used to behave as follows:
    ```
     - Initially there won't be any wg.adds in wait-group so the second go-routine created in console-test (integration-test)
     - It will send the interrupt signal to the channel before the server has been started
     - So practically the server won't start
    ```
3. The read and write for consoleopts.WG has been happening in different go-routines without control or lock system(reading and writing into same memory location without lock system). So there is a chance of data-race(warning for data-race while integration tests are executed)
4. Data-race errors from `promptui` package

### Solution:

1. Use `--force` flag to avoid getting the input from the prompt in `migrate_delete_test.go`
2. Introduced two fields in server and console opts to let know other go-routines whether the server has been started or not
3. To avoid data-race above which are shared b/w go-routines to know the status of servers has been operated atomically.
4. using new package https://github.com/AlecAivazis/survey

https://github.com/hasura/graphql-engine-mono/pull/2231

GitOrigin-RevId: 387eb1be74f24dda34bb3588314b5a909adac227
2021-09-07 13:34:54 +00:00
Tirumarai Selvan
4cabb0bdf9 tag release v2.0.9
GitOrigin-RevId: dfba245a4dbe1a71b1e3cc7c92914fc0a919c2b0
2021-09-07 07:49:53 +00:00
Vishnu Bharathi
2329c16ce9 cli: embed cli-ext as exe in case of windows
https://github.com/hasura/graphql-engine-mono/pull/2295

Co-authored-by: Kali Vara Purushotham Santhati <72007599+purush7@users.noreply.github.com>
GitOrigin-RevId: 16a03d33d5bf4d45a71ba79b3b775fba3176a1e8
2021-09-07 06:01:00 +00:00
Kali Vara Purushotham Santhati
b50df8a24b cli: add progress bar to migrate apply
https://github.com/hasura/graphql-engine-mono/pull/1673

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 59b8258557b2769853d0ca64032f453780a3cd7e
2021-08-31 09:57:32 +00:00
Tirumarai Selvan
9d592fde87 tag release v2.0.8
GitOrigin-RevId: 7e2c6333183ebf763ff37bda114219f5e7bf0951
2021-08-30 12:43:41 +00:00
Aravind K P
39f5d04ba8 cli: optimize state copy
https://github.com/hasura/graphql-engine-mono/pull/2176

GitOrigin-RevId: 71f72704c3097ee05f3adca954b4c283701cf5e9
2021-08-26 06:09:55 +00:00
Kali Vara Purushotham Santhati
c6d47a7db3 cli: use server metadata as base for comparison in metadata diff
Reference: https://hasurahq.slack.com/archives/C024GF6FCTH/p1629193174042700

Problem: The `metadata diff` is conventional where it takes the project metadata and w.r.t to the signs `---`, `+++`, it shows the diff output but it is not similar to git diff as taking the remote repo as base and `+` denotes it has, `-` not. So make the metadata diff output follow as git diff output

Solution: To change the order of arguments in diff function and assign `---` to server,`+++` to project, so that it will be similar to prev diff output

https://github.com/hasura/graphql-engine-mono/pull/2166

GitOrigin-RevId: bf35b5a3ef835fc64f590b65160c01c9a8c1382a
2021-08-24 03:25:05 +00:00
Vishnu Bharathi
cf6f3edc1f tag release v2.0.7 (#2118)
GitOrigin-RevId: b86611a3393d2b8008b09c1d833d5b2c43f72aaf
2021-08-17 13:07:37 +00:00
Aravind K P
f2e74da5aa cli: improve cli package error propogation in migrate operations
https://github.com/hasura/graphql-engine-mono/pull/1887

GitOrigin-RevId: 40c7e1a16e8dd25a46e0c58afc7cbc9169af8f0b
2021-08-16 06:44:05 +00:00
Tirumarai Selvan
7b863a1b3b tag release v2.0.6
GitOrigin-RevId: b2b906cf7b05bc444148a334aba42385046be75c
2021-08-11 01:19:22 +00:00
Kali Vara Purushotham Santhati
4d7aa0e105 cli: fix query endpoint construction
closes https://github.com/hasura/graphql-engine/issues/7196

https://github.com/hasura/graphql-engine-mono/pull/2025

GitOrigin-RevId: ab7c765d4de710dd08f48dc1bfb94eb606ac5d3f
2021-08-09 08:41:16 +00:00
Tirumarai Selvan
553aecb5e5 tag release v2.0.5
GitOrigin-RevId: 8c98e9dba9fa655b5d7503211a5d3f42f641cef5
2021-08-05 07:35:10 +00:00
Divi
28788f4b0b cli: add VERSION env to pin cli version
https://github.com/hasura/graphql-engine-mono/pull/1845

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
Co-authored-by: Vishnu Bharathi <4211715+scriptnull@users.noreply.github.com>
GitOrigin-RevId: f12ab6ef5a3aa1ee5181f5ddbf16f7232ef2874e
2021-07-29 09:21:57 +00:00
Divi
80846d36b7 cli: add support for query_tags metadata object
- add support for query_tags metadata object
- fix filename for cron_triggers metadata object

https://github.com/hasura/graphql-engine-mono/pull/1901

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: d9266d723f06d11d92f156f70660e0122412e41a
2021-07-29 07:22:25 +00:00
Kali Vara Purushotham Santhati
ca567bf8cb cli: enhance e2e tests
- actions use-codegen
    - Assert if starter kit files are created
- metadata apply
    - Assert server metadata after apply
    - assert that --dry-run flag will not modify metadata on server
- metadata clear
    - Assert with server metadata that operation was successful.
- metadata inconsistency drop
    - Assert with server metadata that operation was successful.
- metadata inconsistency status
    - Assert for all possible states
- metadata reload
    - Assert effect of operation with server
- migrate and seed subcommands
    - Add tests for MSSQL sources
    - Structure tests in such a way that it’s easy to add tests for new sources

https://github.com/hasura/graphql-engine-mono/pull/1693

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: fcdbb806d105978a07487a40f7fa6e16b3ab8816
2021-07-28 06:45:03 +00:00
Aravind K P
33d6025a20 cli: refactor metadata object interface
https://github.com/hasura/graphql-engine-mono/pull/1618

GitOrigin-RevId: f4559de4852f247de35604be3808f05fe5ed341a
2021-07-23 09:50:36 +00:00
Kali Vara Purushotham Santhati
2aeb6ad0b1 cli: use absolute path of project directory
closes https://github.com/hasura/graphql-engine/issues/7089
closes https://github.com/hasura/graphql-engine/issues/6499

https://github.com/hasura/graphql-engine-mono/pull/1717

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 74209e249c692d01f2bd849181c8a2ef46493e74
2021-07-16 12:59:04 +00:00
Divi
4ed8ba8bb3 cli: fix inconsistent metadata object list rendering
closes https://github.com/hasura/graphql-engine/issues/7202

https://github.com/hasura/graphql-engine-mono/pull/1781

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: bcbdf74773aa8f653ebe62c5bf00bcbda1aa51ee
2021-07-16 05:26:47 +00:00
Vishnu Bharathi
8a6f3f7e9d cli: support ARM architecture
https://github.com/hasura/graphql-engine-mono/pull/1534

GitOrigin-RevId: 67723bb64e2505c665b04b5b0d691e5599843f87
2021-07-14 08:54:43 +00:00
Aravind K P
e99c012af6 cli: expose method to get iconsistent metadata objects
https://github.com/hasura/graphql-engine-mono/pull/1725

GitOrigin-RevId: 68c64369dcc950def19bf773ab1bc95226ebcdd4
2021-07-06 09:37:28 +00:00
hasura-bot
621029b4ed cli: make cli-ext to be usable in the cli library
GITHUB_PR_NUMBER: 7099
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/7099

https://github.com/hasura/graphql-engine-mono/pull/1632

Co-authored-by: Vishnu Bharathi <4211715+scriptnull@users.noreply.github.com>
GitOrigin-RevId: 610215142cadfab76fd8368c28a125f46da5e759
2021-06-27 13:50:20 +00:00
Aravind K P
be7a100ebf cli: set default value for metadata_directory
https://github.com/hasura/graphql-engine-mono/pull/1630

GitOrigin-RevId: bb18133041739d30f5b270c3f64aeb680e47c2cd
2021-06-23 06:34:19 +00:00
Kali Vara Purushotham Santhati
59679babfa cli: add server flag to migrate delete and modify the docs for resetting migrations
https://github.com/hasura/graphql-engine-mono/pull/1540

Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com>
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 8aceb35c583d20b7dc7b16f257e20c83171008a2
2021-06-22 11:16:14 +00:00
hasura-bot
e640000a09 cli: skip compression for macos x64 binary
GITHUB_PR_NUMBER: 7096
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/7096

https://github.com/hasura/graphql-engine-mono/pull/1628

Co-authored-by: Vishnu Bharathi <4211715+scriptnull@users.noreply.github.com>
GitOrigin-RevId: 7234dc7d6bb4f4f62437a77824ce7904d3029f24
2021-06-22 08:05:16 +00:00
Kali Vara Purushotham Santhati
a924720a3a cli: add skip-execution support for up and down flags in migrate apply
https://github.com/hasura/graphql-engine-mono/pull/1510

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 9f7b271bda08ecd156a6220e830063bbb36a4b36
2021-06-21 15:57:41 +00:00
Aravind K P
4517478ccc cli: add support for citus sources
https://github.com/hasura/graphql-engine-mono/pull/1247

GitOrigin-RevId: 8383a37f71a4d45fe01c002eb229102f0dd38e9a
2021-06-21 14:35:00 +00:00
Kali Vara Purushotham Santhati
fbbd423d8b cli: migrate create gives warning if database isn't connected to server
https://github.com/hasura/graphql-engine-mono/pull/1518

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: a9e836545922719bcbd6e8c9c027df6056d23cef
2021-06-21 13:55:09 +00:00
Aravind K P
acb69dc88c cli: enrich errors in metadata subcommands
closes https://github.com/hasura/graphql-engine/issues/7020

https://github.com/hasura/graphql-engine-mono/pull/1511

GitOrigin-RevId: 3b7ec9e9dd00e904ecb2dd8fafe42f8078962aac
2021-06-18 17:39:26 +00:00
Vishnu Bharathi
ee2c9cd4ad cli: avoid race condition in cli-ext
https://github.com/hasura/graphql-engine-mono/pull/1610

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 87972a8a9c94252aa17a1f2304c048f66f6bdf2d
2021-06-18 16:14:27 +00:00
Aravind K P
c7ac1ede3f cli: add migrate and metadata packages
>

### Description
>
This PR adds two new packages which implement the CLI requirements specified in RFC:https://github.com/hasura/lux/blob/cloud/docs/rfcs/20210614_github_integration.md

1. `pkg/metadata`

![image](https://user-images.githubusercontent.com/8335904/122384828-b4757d80-cf89-11eb-9e21-ef116fb928e9.png)

2. `pkg/migrate`

![image](https://user-images.githubusercontent.com/8335904/122510554-68771700-d023-11eb-9f5d-046d2c0cf18a.png)

### Changelog

- [x] `CHANGELOG.md` is updated with user-facing content relevant to this PR. If no changelog is required, then add the `no-changelog-required` label.

### Affected components

- [x] CLI

https://github.com/hasura/graphql-engine-mono/pull/1598

GitOrigin-RevId: 0e2bce498386c5aae68dbca0fe383a6afff9d1a9
2021-06-18 06:25:14 +00:00
Kali Vara Purushotham Santhati
a70e6089c8 cli: show only differences in metadata on metadata diff
https://github.com/hasura/graphql-engine-mono/pull/461

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 626bdfd8d1d05996153cd9676f1695ea796b00d9
2021-06-17 10:16:17 +00:00
Solomon Bothwell
99e7e3b7b4 Implement refresh parameter for Cached Directive
https://github.com/hasura/graphql-engine-mono/pull/1523

Co-authored-by: Phil Freeman <630306+paf31@users.noreply.github.com>
GitOrigin-RevId: f83b73d23db15efdd19a61eca35badc3ff235779
2021-06-17 06:28:45 +00:00