* refactor: split logic for building API config into public func * refactor: move config code out of internal/
influx-cli
CLI for managing resources in InfluxDB v2
Status
This is a work-in-progress effort to decouple the influx CLI from the OSS influxdb codebase.
Our goals are to:
- Make it easier to keep the CLI up-to-date with InfluxDB Cloud API changes
- Enable faster turn-around on fixes/features that only affect the CLI
- Allow the CLI to be built & released for a wider range of platforms than the server can support
Building
Development build
Run make or make influx to build the CLI. The output binary will be written to bin/$(GOOS)/influx.
Release build
We use goreleaser to manage cross-building the CLI for release. Run make build
to build the CLI with release settings for your current GOOS and GOARCH. Run make crossbuild to build
the CLI for all GOOS/GOARCH pairs supported by the CLI. The output binary/binaries will be written under
dist/influx_${GOOS}_${GOARCH}/.
Regenerating OpenAPI client
We use OpenAPITools/openapi-generator to generate
the underlying HTTP client used by the CLI. Run make openapi to re-generate the code. You'll need Docker
running locally for the script to work.
Running
After building, use influx -h to see the list of available commands.
Enabling Completions
The CLI supports generating completions for bash, zsh, and powershell. To enable completions for a
single shell session, run one of these commands:
# For bash:
source <(influx completion bash)
# For zsh:
source <(influx completion zsh)
# For pwsh:
Invoke-Expression ((influx completion powershell) -join "`n`")
To enable completions across sessions, add the appropriate line to your shell's login profile (i.e. ~/.bash_profile).
Testing
Run make test to run unit tests.