189 Commits

Author SHA1 Message Date
Dane Strandboge
56a8276a4a
chore: fix issues with Go 1.18 in CI (#416) 2022-06-27 15:11:12 -05:00
Andrew Lee
d3e0efb560
fix up tabs vs. spaces mistakes in shell help prompt (#412) 2022-06-24 11:32:16 -06:00
Andrew Lee
9dc1b8e4b1
feat: add pretty table format to REPL (#393)
* add v1-compatible query path and refactor other paths to de-duplicate "/query"

* add initial influxQL repl

* add ping endpoint to schema

* improve prompt UX, implement some commands

* fix json column type in schema and improve completion

* feat: add table formatter and move to forked go-prompt

* improve formatting and add table pagination

* implement more REPL commands, including insert and history

* implement "INSERT INTO"

* move repl command to "v1 repl"

* refactor and improve documentation

* clean up v1_repl cmd

* update to latest openapi, use some openapi paths instead of overrides

* remove additional files that were moved to openapi

* compute historyFilePath at REPL start

* clean up REPL use command logic flow

* clean up comments for TODOs now in issues

* move gopher (chonky boi)

* remove autocompletion for separate PR

* run go mod tidy

* add rfc3339 precision option

* allow left and right column scrolling to display whole table

* add error to JSON query response

* add tags and partial to JSON response series schema

* fix csv formatting and add column formatting

* remove table format for separate PR

* add pretty table format to REPL

* fix getDatabases

* move from write to legacy write endpoint for INSERT

* remove history vestiges

* allow multiple spaces in INSERT commands

* add precision comment

* remove auth for separate PR

* separate parseInsert and add unit test

* add additional test case and improve error messages

* fix missing errors import

* update for simpler horizontal scrolling in table mode

* improve dialog printing

* improve table format and interactions

* jump to first page on shift-up

* add keybinding info

* change wording from result to table, flip
2022-06-24 09:08:51 -06:00
Dane Strandboge
85c690f1f1
chore: add checkgenerate test to lint (#404) 2022-06-23 10:07:38 -05:00
Dane Strandboge
09881c0214
chore: fix typo in mockgen (#403) 2022-06-23 10:02:00 -05:00
Andrew Depke
760f07ed9e
feat: invokable scripts (#387)
* basic list, create, and invoke working

* all commands working

* added support for create script body from file and invoke params from file

* linter cleanup

* update defaults to existing parameters if not provided

* updated generated mock files, added mock files for scripts, added basic script create test

* added mock script list

* cleanup pass, fixed not using params in list call

* added update mock test

* fixed mock tests requiring go 1.18

* updated openapi, integrated overrides upstream, added new override to fix codegen bug

* added nil check

* fixed routes
2022-06-22 14:08:55 -06:00
Andrew Lee
a68106ee88
Replace token flags with = to prevent bad parsing of leading dash in token (#399) 2022-06-17 14:59:11 -06:00
Andrew Lee
c695e601a5
Add REPL autocompletion & go-prompt (#392)
* add v1-compatible query path and refactor other paths to de-duplicate "/query"

* add initial influxQL repl

* add ping endpoint to schema

* improve prompt UX, implement some commands

* fix json column type in schema and improve completion

* feat: add table formatter and move to forked go-prompt

* improve formatting and add table pagination

* implement more REPL commands, including insert and history

* implement "INSERT INTO"

* move repl command to "v1 repl"

* refactor and improve documentation

* clean up v1_repl cmd

* update to latest openapi, use some openapi paths instead of overrides

* remove additional files that were moved to openapi

* compute historyFilePath at REPL start

* clean up REPL use command logic flow

* clean up comments for TODOs now in issues

* move gopher (chonky boi)

* remove autocompletion for separate PR

* run go mod tidy

* add back autocompletion & go-prompt

* add rfc3339 precision option

* allow left and right column scrolling to display whole table

* add error to JSON query response

* add tags and partial to JSON response series schema

* fix csv formatting and add column formatting

* remove table format for separate PR

* fix getDatabases

* move from write to legacy write endpoint for INSERT

* remove history vestiges

* allow multiple spaces in INSERT commands

* add precision comment

* remove auth for separate PR

* separate parseInsert and add unit test

* add additional test case and improve error messages

* fix missing errors import

* fix format suggestion

* re-add history implementation with history limit

* build: upgrade to Go 1.18.3 (#395)

* feat: add back the InfluxQL REPL (#386)

* add v1-compatible query path and refactor other paths to de-duplicate "/query"

* add initial influxQL repl

* add ping endpoint to schema

* improve prompt UX, implement some commands

* fix json column type in schema and improve completion

* feat: add table formatter and move to forked go-prompt

* improve formatting and add table pagination

* implement more REPL commands, including insert and history

* implement "INSERT INTO"

* move repl command to "v1 repl"

* refactor and improve documentation

* clean up v1_repl cmd

* update to latest openapi, use some openapi paths instead of overrides

* remove additional files that were moved to openapi

* compute historyFilePath at REPL start

* clean up REPL use command logic flow

* clean up comments for TODOs now in issues

* move gopher (chonky boi)

* remove autocompletion for separate PR

* run go mod tidy

* add rfc3339 precision option

* allow left and right column scrolling to display whole table

* add error to JSON query response

* add tags and partial to JSON response series schema

* fix csv formatting and add column formatting

* remove table format for separate PR

* fix getDatabases

* move from write to legacy write endpoint for INSERT

* remove history vestiges

* allow multiple spaces in INSERT commands

* add precision comment

* remove auth for separate PR

* separate parseInsert and add unit test

* add additional test case and improve error messages

* fix missing errors import

* print rfc3339 precision

* add rfc3339 to help output

* run tidy

* restructure autocomplete and handle review items

* improve autocompletion with leftover handling

* improve comments and add autocomplete for DELETE & DROP MEASUREMENT

* rename repl to shell

* remove unsupported CREATE & DROP autocompletions

* additional refactor for autocompletion

Co-authored-by: Dane Strandboge <dstrandboge@influxdata.com>
2022-06-14 15:18:27 -06:00
Jeffrey Smith II
0c17ebd621
fix: users and orgs permissions should not be scoped under an org (#398) 2022-06-13 09:20:26 -04:00
Andrew Lee
fc529745a5
feat: add back the InfluxQL REPL (#386)
* add v1-compatible query path and refactor other paths to de-duplicate "/query"

* add initial influxQL repl

* add ping endpoint to schema

* improve prompt UX, implement some commands

* fix json column type in schema and improve completion

* feat: add table formatter and move to forked go-prompt

* improve formatting and add table pagination

* implement more REPL commands, including insert and history

* implement "INSERT INTO"

* move repl command to "v1 repl"

* refactor and improve documentation

* clean up v1_repl cmd

* update to latest openapi, use some openapi paths instead of overrides

* remove additional files that were moved to openapi

* compute historyFilePath at REPL start

* clean up REPL use command logic flow

* clean up comments for TODOs now in issues

* move gopher (chonky boi)

* remove autocompletion for separate PR

* run go mod tidy

* add rfc3339 precision option

* allow left and right column scrolling to display whole table

* add error to JSON query response

* add tags and partial to JSON response series schema

* fix csv formatting and add column formatting

* remove table format for separate PR

* fix getDatabases

* move from write to legacy write endpoint for INSERT

* remove history vestiges

* allow multiple spaces in INSERT commands

* add precision comment

* remove auth for separate PR

* separate parseInsert and add unit test

* add additional test case and improve error messages

* fix missing errors import

* print rfc3339 precision

* add rfc3339 to help output
2022-06-10 08:54:07 -06:00
Dane Strandboge
51ca97ee29
build: upgrade to Go 1.18.3 (#395) 2022-06-07 13:49:46 -05:00
Andrew Lee
50de408a0a
fix: add mutual exclusion for OrgId and OrgName params (#377)
Display an error when the OrgName and OrgId flags are both passed in. Only one or the other is allowed.

closes https://github.com/influxdata/influx-cli/issues/371
2022-05-13 18:50:22 -06:00
Dane Strandboge
35279515e9
build: upgrade to Go 1.18.1 (#373) 2022-04-13 15:50:35 -05:00
Marko Mikulicic
30e64c5cc9
feat: Add --extra-http-header flag (#372) 2022-04-13 19:22:18 +02:00
Dane Strandboge
88ba3464cd
feat: add max age to replications create and update (#367) 2022-03-18 17:21:12 -05:00
Sam Arnold
c8c7c1c680
fix: json suffix for json template from CLI (#370) 2022-03-14 09:15:21 -04:00
Sam Arnold
37ec38ac5a
fix: rename bucket id parameters to be explicit (#369) 2022-03-11 15:12:34 -05:00
Dane Strandboge
85a33adf71
chore: update to API spec for new template endpoint response (#362) 2022-02-17 14:46:05 -06:00
Dane Strandboge
041ebf65e3
chore: improve logging for creating a new remote (#360)
* chore: improve logging for creating a new remote

* chore: improve error logging for creating remote
2022-02-04 15:06:35 -05:00
Sam Arnold
9ddf110ad6
fix: template apply uses better diff checking (#358)
* fix: template apply uses better diff checking

Previously, we did a DeepEqual of all the returned data about each changed entity,
but due to our template overrides that is not actually all the information
available for each entity. So we marked trivial things as 'conflicts' (e.g.
telegraf config ID's 'changing' from the empty string to the real, current value)
while not catching important conflicts like flux script changes in checks and tasks.

Changes to make things more straightforward:

 * Change the --force behaviour to be more similar to `apt install`, where even
in non-interactive mode `--force yes` is required to bypass the prompt to apply.

  * Before, there were two stages of diff checking - once to print diffs, and once
after the 'Yes/No' prompt. If any conflicts were detected in the second check,
the user got an inscrutable error message that did not highlight what the difference
was or how to force it to apply. `--force conflict` was required to avoid this error.
Instead, we now have simplified to `--force yes` to bypass the 'Yes/No' prompt, and
we never do a second stage of diff checking.

 * Because we do not currently properly account for more complicated diffs (e.g.
flux tasks), we now assume in the diff printing that every object has changes,
except for Labels, Buckets, Variables, and Label Mappings. This could be improved
in the future.

* fix: when statestatus is 'remove', mark as removed
2022-02-04 10:59:02 -05:00
Dane Strandboge
981be7872d
chore: upgrade to latest OpenAPI (#357) 2022-02-01 14:53:34 -06:00
William Baker
5cd1c9d037
build: automatically generate changelog (#349) 2022-01-10 08:05:38 -08:00
Jason Stirnaman
cb3bade38b
update: instructions to update openapi (#350)
* Add openapi submodule instructions to README.md

Add instructions for updating the influx-cli/openapi git submodule when regenerating the CLI.

* update: instructions to update openapi

Add instructions to update and regenerate influx-cli/openapi when changing commits.
2021-12-28 14:51:46 -06:00
William Baker
7af0b2ae73
feat: enhanced error messages for cloud and oss specific commands (#347)
* feat: enhanced error messages for cloud and oss specific commands

* chore: rename test
2021-12-28 10:03:29 -05:00
William Baker
13d0827815
fix: duration parser shows duration missing units on error (#348) 2021-12-23 15:06:29 -05:00
William Baker
178c7546b1
feat: add server-config command (#346)
* feat: added server-config command

* chore: update openapi to latest
2021-12-23 09:32:31 -05:00
William Baker
68ac116959
chore: update openapi ref to latest (#345)
* chore: update openapi ref to latest

* chore: update to openapi master
2021-12-21 15:15:50 -05:00
William Baker
327f239c6f
feat: enable remotes and replication streams feature (#341) 2021-12-13 16:33:28 -06:00
Marko Mikulicic
becbe8f7b8
fix: Use influx-debug-id header (#338)
Influxdata cloud2 uses a different mechanism to enable tracing.
You need to pass a `influx-debug-id` header (the value is ignored) and if the response contains
`trace-sampled: true` then the response's `trace-id` header contains a valid trace ID that can be
used to jump to the trace in jaeger.

If the request has been sampled, we print the trace-id to stderr.

Since modern terminals allow to click on hyperlinks, we could avoid a copy&paste of the trace id
if the `influx` binary wrote a the link to the jeager trace.
However, we don't want to hardcode the URL of the internal jaeger endpoint in the binary.

I tried adding a wrapper script on my machine that would just capture the trace-id and render it, but it's
hard to do without messing with the ordering of the stderr and stdout lines.
Thus I preferred adding a secret env var that controls the formatting of the trace-id and can be used
by our devs to generate links to our internal jaeger instance.

```console
$ export INFLUX_CLI_TRACE_PRINT_PREFIX="Trace: https://jaeger.my.cloud/trace/"
$ influx query --trace-debug-id 123 -f query.flux
Trace: https://jaeger.my.cloud/trace/f39a69354a3acca6
Result: _result
Table: keys: [_measurement]
...
```
2021-12-03 17:54:47 +01:00
William Baker
4c0fae3a4c
feat: add ExecuteWithHttpInfo methods for generated API (#336)
* feat: add `ExecuteWithHttpInfo` methods for generated API

* chore: update templates README

* chore: update comment to explain usage of response body

* chore: update template README

* chore: fix formatting
2021-11-29 15:42:29 -06:00
William Baker
a408c02bd4
chore: remove remote validation (#333) 2021-11-19 09:00:52 -07:00
William Baker
f32a55f3bf
feat: add drop-non-retryable-data to replications commands (#330)
* feat: add drop-non-retryable-data to replications commands

* refactor: use drop vs nodrop flags

* chore: use the built-in PtrBool
2021-11-17 14:16:58 -07:00
yumenomatayume
6a7c4f6d44
fix: v1 auth create supports multiple buckets (#328) 2021-11-11 11:43:14 -05:00
Dane Strandboge
adc58b8441
chore: refactor influxid.ID, cleanup organization checking (#326) 2021-11-10 15:12:59 -06:00
Daniel Moran
99791bafd3
feat: add flags for remotes, replications, and functions to auth create (#325) 2021-11-10 11:33:01 -05:00
Daniel Moran
1eadcf12e1
chore: update CHANGELOG (#323) 2021-11-10 09:35:35 -05:00
Daniel Moran
566dcafae9
chore: update CHANGELOG (#319) 2021-11-09 10:30:02 -05:00
许懿赫
9c9785e359
fix: wrong position of orgID and userID in org members remove (#318) 2021-11-09 10:22:46 -05:00
Daniel Moran
d861490100
fix: return "unknown command" instead of "no help topic" error when unknown (sub)command is passed (#316)
Co-authored-by: Sam Lai <samuel.lai@gmail.com>
2021-11-02 14:17:42 -04:00
Sam Lai
a3af8ca833
revert: "feat: return error if API token required but not found (#310)" (#315)
This reverts commit 81de7e63dd2649cd043c7a66c6698a9f5609552c.
2021-11-01 12:57:30 -04:00
Sam Lai
81de7e63dd
feat: return error if API token required but not found (#310) 2021-10-22 10:06:12 -04:00
Daniel Moran
c3690d8584
chore: pin release date in CHANGELOG (#311) 2021-10-21 11:20:21 -04:00
Dane Strandboge
3e76528ed2
build: upgrade protobuf library (#308) 2021-10-18 13:22:54 -05:00
Daniel Moran
6fda4cceed
feat: handle pagination in bucket list (#307) 2021-10-15 15:14:59 -07:00
Daniel Moran
d92bede8d3
fix: embed tzdata into Windows builds (#305)
Migrate cross-test jobs to use cross-builder so Windows tests run on a system without Go, as a regression test
2021-10-14 08:49:26 -07:00
Daniel Moran
964bc4fe03
fix: set newly-created config as active in setup (#302) 2021-10-14 07:00:16 -07:00
Daniel Moran
af631b4da8
build: bump to go1.17.2 (#300) 2021-10-12 09:27:23 -07:00
mcfarlm3
c49001b412
feat: added functionality for replication update command (#299)
* feat: added functionality for replication update command

* refactor: changed replication update usage text for clarity

* fix: added closing bracket back in

* chore: ran make fmt
2021-10-08 14:08:44 -07:00
mcfarlm3
eb3ee7631f
feat: added functionality for replication delete command (#298)
* feat: added functionality for replication delete command

* refactor: changed naming of remote-id flag to be consistent with other influx commands

* refactor: reduced lines of code and improved error message based on code review
2021-10-07 14:43:03 -07:00
Daniel Moran
cafae42d3c
build: update deb/rpm metadata to ref influxdb2 v2.1.0 (#292) 2021-10-07 09:04:22 -04:00