Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow some commands to be run without authenticating against the API #364

Merged
merged 6 commits into from
Oct 25, 2023

Conversation

optik-aper
Copy link
Member

@optik-aper optik-aper commented Oct 23, 2023

Description

These changes re-work some of the authentication logic used to pass the API key when executing commands. Before this, ALL commands authenticated with this key, even the version command. This PR moves the client logic to allow setting a basic HTTP client without bearer tokens. It also moves the missing API key check so that it happens in a pre-Execute check on each top-level command. This check cascades down to all of its children.

Related Issues

closes #359
#332
#92

Testing

  • Open a new shell and do not export VULTR_API_KEY
  • Test these commands:
  • go run main.go account
  • go run main.go backups list
  • go run main.go bare-metal list
  • go run main.go billing history list
  • go run main.go block-storage list
  • go run main.go database list
  • go run main.go dns domain list
  • go run main.go firewall group list
  • go run main.go instance list
  • go run main.go iso list
  • go run main.go kubernetes list
  • go run main.go load-balancer list
  • go run main.go network list
  • go run main.go object-storage list
  • go run main.go reserved-ip list
  • go run main.go script list
  • go run main.go snapshot list
  • go run main.go ssh list
  • go run main.go user list
  • go run main.go vpc list
  • go run main.go vpc2 list

All of which should show something along the lines of:

Error:
Please export your VULTR API key as an environment variable or add 'api-key' to your config file, eg:
export VULTR_API_KEY='<api_key_from_vultr_account>'

Usage:
  vultr-cli database list [flags]

Aliases:
  list, l

Examples:

        # Full example
        vultr-cli database list

        # Summarized view
        vultr-cli database list --summarize


Flags:
  -h, --help            help for list
  -l, --label string    (optional) Filter by label.
  -r, --region string   (optional) Filter by region.
      --summarize       (optional) Summarize the list output. One line per database.
  -t, --tag string      (optional) Filter by tag.

Global Flags:
      --config string   config file (default is $HOME/.vultr-cli.yaml) (default "/home/michael/.vultr-cli.yaml")

exit status 1

Conversely, these should still return data:

  • go run main.go plans list
  • go run main.go application list
  • go run main.go os list
  • go run main.go version

Checklist:

  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?
  • Have you linted your code locally prior to submission?
  • Have you successfully ran tests with your changes locally?

@optik-aper optik-aper added the enhancement New feature or request label Oct 23, 2023
@optik-aper optik-aper self-assigned this Oct 23, 2023
@github-actions
Copy link

Unit Tests and Coverage

Show Output
?   	github.com/vultr/vultr-cli/v2	[no test files]

Pusher: @optik-aper, Action: pull_request_target

@optik-aper optik-aper changed the title Allow some commands to be run without authenticating against the API DRAFT: Allow some commands to be run without authenticating against the API Oct 23, 2023
@optik-aper optik-aper marked this pull request as draft October 23, 2023 21:49
@github-actions
Copy link

Unit Tests and Coverage

Show Output
?   	github.com/vultr/vultr-cli/v2	[no test files]

Pusher: @optik-aper, Action: pull_request_target

@github-actions
Copy link

Unit Tests and Coverage

Show Output
?   	github.com/vultr/vultr-cli/v2	[no test files]

Pusher: @optik-aper, Action: pull_request_target

@github-actions
Copy link

Unit Tests and Coverage

Show Output
?   	github.com/vultr/vultr-cli/v2	[no test files]

Pusher: @optik-aper, Action: pull_request_target

@optik-aper optik-aper changed the title DRAFT: Allow some commands to be run without authenticating against the API Allow some commands to be run without authenticating against the API Oct 24, 2023
@optik-aper optik-aper marked this pull request as ready for review October 24, 2023 21:23
Copy link
Contributor

@christhemorse christhemorse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested all of the suggested commands without exporting my API key and everything worked as expected. Added the API key after and tested several of the same commands with the correct expected result. Checked over the public commands again for good measure as well. Approved!

@optik-aper optik-aper merged commit 73327b2 into vultr:master Oct 25, 2023
4 checks passed
@optik-aper optik-aper mentioned this pull request Nov 1, 2023
@optik-aper optik-aper deleted the api-key-check-rework branch January 4, 2024 18:29
optik-aper added a commit that referenced this pull request Feb 15, 2024
…commands (#398)

* 🐧 Add Fedora installation instructions (#246)

The vultr-cli package is now available on Fedora 35+:

* https://src.fedoraproject.org/rpms/vultr-cli

* Add block type support / Add Aliases and Examples (#249)

* Update govultr dependency / add block type support

* Add examples and aliases for each command

* Fix lint issues

* Replace example placeholders with real data

* Fix detach typo

* Add VPC support and deprecate networks (#251)

* Add VPC support and deprecate networks

This commit adds the VPC support offered by govultr 2.15.x and
deprecates the private network commands.  Note, this means that usage of
the `vultr-cli network` commands will output a deprecation notice which
may throw off output parsers.

* Update VPC IDs flag and some error checking

* Bump github.com/spf13/viper from 1.10.1 to 1.11.0 (#252)

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.10.1 to 1.11.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](spf13/viper@v1.10.1...v1.11.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/viper
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add VPC flag check to Load Balancers (#254)

* Add VPC support and deprecate networks

This commit adds the VPC support offered by govultr 2.15.x and
deprecates the private network commands.  Note, this means that usage of
the `vultr-cli network` commands will output a deprecation notice which
may throw off output parsers.

* Update VPC IDs flag and some error checking

* Add VPC error checking to load balancer as well

* adding block type to printer response (#253)

* Release v2.13.0 #minor

* updated veribage for snapshots + readme (#257)

* vultr-cli is now available on all flavors since 7.1 release. (#258)

* Bump github.com/vultr/govultr/v2 from 2.15.1 to 2.16.0 (#260)

Bumps [github.com/vultr/govultr/v2](https://github.com/vultr/govultr) from 2.15.1 to 2.16.0.
- [Release notes](https://github.com/vultr/govultr/releases)
- [Changelog](https://github.com/vultr/govultr/blob/master/CHANGELOG.md)
- [Commits](vultr/govultr@v2.15.1...v2.16.0)

---
updated-dependencies:
- dependency-name: github.com/vultr/govultr/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add tags support to bare metal and instance commands (#259)

* Add tags to bare metal and instance commands

* Remove unnecessary godoc

* Move tags output in printers

* Add firewall rule ip-type support (#262)

* Add fw ip-type flags and docs; use govultr IPType

* Move ip type alias to new flag

* Add support for VKE auto scaler options (#261)

* Add support for VKE version upgrades (#263)

* WIP: add upgrade commands and printer to kubernetes

* Move upgrade commands to sub-command and add docs

* Inline error handling

* Change upgrade command to be less redundant

* Release v2.14.0 #minor

* Bump github.com/spf13/viper from 1.11.0 to 1.12.0 (#266)

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.11.0 to 1.12.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](spf13/viper@v1.11.0...v1.12.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/viper
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump govultr version from 2.16.0 to 2.17.1 (#267)

Bumps [github.com/vultr/govultr/v2](https://github.com/vultr/govultr) from 2.16.0 to 2.17.1.
- [Release notes](https://github.com/vultr/govultr/releases)
- [Changelog](https://github.com/vultr/govultr/blob/master/CHANGELOG.md)
- [Commits](vultr/[email protected])

---
updated-dependencies:
- dependency-name: github.com/vultr/govultr/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

* Update instance and kubernetes tag to str pointer (#268)

* Update instance and kubernetes tag to str pointer

* Fix vendoring state

* Add GPU fields to plans printer (#269)

* Release v2.14.1 #patch

* Update govultr and add support for reserved IP label updates (#272)

* Add update command to reserved IP

* Fix label flag for IP update

* Add docs to reserved IP commands

* Bump govultr to v2.17.2

* Release v2.14.2 #patch

* Bump github.com/spf13/cobra from 1.4.0 to 1.5.0 (#274)

Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](spf13/cobra@v1.4.0...v1.5.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Remove extraneous dash from example command line (#279)

* bumping go from 1.17 to 1.19 (#284)

* add ARM v6 support

* bumping go from 1.17 to 1.19

* Replaced golint with golangci-lint

* Replaced golint with golangci-lint

* Fix linting issues and unhandle error returns

* Fix linter issues

* Rename github workflow

* Make load balancer display show VPN

* Gofmt cmd/dnsRecord

Co-authored-by: Michael Riley <[email protected]>

* feature add arm builds (#283)

* add ARM v6 support

* Add ARM builds

Co-authored-by: Michael Riley <[email protected]>

* Release v2.15.0 #minor

* Update goreleaser to add latest docker image tag (#287)

* Bump github.com/spf13/cobra from 1.5.0 to 1.6.0 (#288)

Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.5.0 to 1.6.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](spf13/cobra@v1.5.0...v1.6.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump github.com/spf13/cobra from 1.6.0 to 1.6.1 (#289)

Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](spf13/cobra@v1.6.0...v1.6.1)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump github.com/spf13/viper from 1.13.0 to 1.14.0 (#290)

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.13.0 to 1.14.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](spf13/viper@v1.13.0...v1.14.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/viper
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Make cli param examples consistently use = (#291)

* Bump golang.org/x/oauth2 from 0.0.0-20221014153046-6fdb5e3db783 to 0.5.0 (#296)

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.0.0-20221014153046-6fdb5e3db783 to 0.5.0.
- [Release notes](https://github.com/golang/oauth2/releases)
- [Commits](https://github.com/golang/oauth2/commits/v0.5.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump github.com/spf13/viper from 1.14.0 to 1.15.0 (#293)

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.14.0 to 1.15.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](spf13/viper@v1.14.0...v1.15.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/viper
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump golang.org/x/net from 0.6.0 to 0.7.0 (#297)

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/golang/net/releases)
- [Commits](golang/net@v0.6.0...v0.7.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add vcg options to docstrings on regions and plans (#299)

* Bump golang.org/x/oauth2 from 0.5.0 to 0.6.0 (#298)

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/golang/oauth2/releases)
- [Commits](golang/oauth2@v0.5.0...v0.6.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Release v2.15.1 #patch

* Update govultr to v3.0.1 (#301)

* Update Go to v1.20

* Remove vendored dependencies

* Ignore vendor directory

* Bump go version in github releaser workflow

* Update builds to Go 1.20 and remove vendor

* Update to govultr v3.0.1

* Add DBaaS Support to Vultr CLI (#302)

* Initial WIP commit

* More WIP stuff

* Implement primary DBaaS endpoints

* Clean up old .gitignore stuff and README update

* Add in database user management endpoints

* Quick README update

* Implement logical db management

* Implement maintenance updates and service alerts

* Implement migrations, read-only replicas, backup info, and fork/restore

* Implement PostgreSQL connection pools management

* Add in support for PG advanced options and version upgrades

* Remove temporary local env support

* Update go to 1.20 (#303)

* Update govultr to v3.0.2 (#304)

* Release v2.16.0 #minor

* Goreleaser configuration updates (#306)

* Update goreleaser configs

* Replace deprecated rm-dist flag

* Release v2.16.1 #patch

* Quote go version in github workflow config (#308)

* Quote go-version in github workflow

* Release v2.16.2 #patch

* Update workflows to go v1.20 (#311)

* Update workflows to go v1.20

* Update golanci-lint to v1.52.2

* Bump github.com/spf13/cobra from 1.6.1 to 1.7.0 (#310)

Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.6.1 to 1.7.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](spf13/cobra@v1.6.1...v1.7.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump golang.org/x/oauth2 from 0.6.0 to 0.7.0 (#312)

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/golang/oauth2/releases)
- [Commits](golang/oauth2@v0.6.0...v0.7.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix database update errors and remove db engine/version (#314)

* Fix database update errors and remove db engine/version

* Removed leftover debug variable print

* Deleted extra space

* Bump golang.org/x/oauth2 from 0.7.0 to 0.8.0 (#316)

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.7.0 to 0.8.0.
- [Commits](golang/oauth2@v0.7.0...v0.8.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add support for attachdetaching VPC networks from existing VPS instances (#318)

* Initial work on VPC attach/detach for instances

* Add flags for VPC ID on attach/detach

* Add additional help for instance VPC commands

* Use succinct Homebrew command to tap-and-install (#315)

* Add docker install/usage instructions (#322)

* Add docker install/usage instructions

* Remove extraneous whitespace

* Fix README spelling (#324)

* Bump golang.org/x/oauth2 from 0.8.0 to 0.9.0 (#323)

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.8.0 to 0.9.0.
- [Commits](golang/oauth2@v0.8.0...v0.9.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump github.com/spf13/viper from 1.15.0 to 1.16.0 (#319)

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.15.0 to 1.16.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](spf13/viper@v1.15.0...v1.16.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/viper
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump github.com/vultr/govultr/v3 from 3.0.2 to 3.0.3 (#320)

Bumps [github.com/vultr/govultr/v3](https://github.com/vultr/govultr) from 3.0.2 to 3.0.3.
- [Release notes](https://github.com/vultr/govultr/releases)
- [Changelog](https://github.com/vultr/govultr/blob/master/CHANGELOG.md)
- [Commits](vultr/govultr@v3.0.2...v3.0.3)

---
updated-dependencies:
- dependency-name: github.com/vultr/govultr/v3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add another mention of default config yaml location in README (#325)

* Release v2.17.0 #minor

* Update govultr to v3.1.0 (#329)

* Bump github.com/vultr/govultr/v3 from 3.1.0 to 3.2.0 (#330)

Bumps [github.com/vultr/govultr/v3](https://github.com/vultr/govultr) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/vultr/govultr/releases)
- [Changelog](https://github.com/vultr/govultr/blob/master/CHANGELOG.md)
- [Commits](vultr/govultr@v3.1.0...v3.2.0)

---
updated-dependencies:
- dependency-name: github.com/vultr/govultr/v3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump golang.org/x/oauth2 from 0.9.0 to 0.10.0 (#328)

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.9.0 to 0.10.0.
- [Commits](golang/oauth2@v0.9.0...v0.10.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add VPC support for DBaaS instances (#331)

* Bump golang.org/x/oauth2 from 0.10.0 to 0.11.0 (#333)

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.10.0 to 0.11.0.
- [Commits](golang/oauth2@v0.10.0...v0.11.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update govultr to v3.3.0 (#334)

* Add support for VPC 2.0 (#335)

* Add main vpc2 commands and printers

* Add support for instance VPC2 endpoints

* Add support for bare metal VPC2 endpoints

* Add README reference for VPC2

* Update example description for VPC2

* Add more aliases for the apps command (#336)

* cmd/instance: Fix reserved IPv4 flag docs (#337)

This flag doesn't accept the IP address directly, it has to be the uuid of the IP address.

* Update govultr to v3.3.1 (#338)

* VPC2 Nodes Endpoints (#339)

* Add VPC2 nodes endpoints

* Finalize vpc2 node endpoints

* Fix linting messages for vpc2 nodes endpoints

* Correct error with VPC2 examples

* Managed Database Nesting Refactor (#340)

* Refactor DBaaS components into nested commands

* Remove local testing change

* Correct some line lengths for flags

* Fix some duplicate descriptions

* Release v2.18.0 #minor

* Remove replacement and use name template in goreleaser archives (#342)

* Remove replacement and use name template in goreleaser

* Use name_template conditions for replacements

* Release v2.18.1 #patch

* Fix goreleaser archive names and remove deprecated brew command (#344)

* Use repository instead of tap in brews goreleaser

* Update goreleaser archive formatting

* Release v2.18.2 #patch

* Add project name back to the archive file names (#346)

There was a discrepancy between running it locally and when running it
on github.

* Update to go v1.21 (#347)

* Add summarize list options for VKE, VLB & database (#348)

* Add summarize flag to k8s list command

* Add summarize output for load balancers

* Add status column in kubernetes summarize

* Add instance count to load-balancer summary

* Fix summarize flag description

* Add summarize examples in command help

* Add database list summarized option

* Remove extra whitespace

* Remove extraneous example for database help

* Remove unnecessary Go dependency from .goreleaser (#97)

Co-authored-by: Michael Riley <[email protected]>

* Remove the useless cobra init help toggle flag (#349)

* Bump golang.org/x/oauth2 from 0.11.0 to 0.12.0 (#351)

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.11.0 to 0.12.0.
- [Commits](golang/oauth2@v0.11.0...v0.12.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix documentation for VPC2 command options (#350)

* vpc2: doc: fix typo

* vpc2: doc: fix required ip type in example

* Add golangci-lint config and fix linter errors (#353)

* Add golangci-lint and fixes

* Use consistent line breaks on AddCommand

* Correct some load balancer command docs

* Update workflows to use go v1.21

* Add exclude rules to printer functions

The errors will be addressed in another, more complicated changeset

* Remove unecessary whitespace

* Remove obsolete nolint directive

* Rework the printer output code (#355)

* Rework printer logic for effeciency and consistency

* Amend some golangci-lint rules

* Resolve more linting/formatting errors on printer

* Release v2.19.0 #minor

* Update govultr to v3.3.2 (#362)

* Add support for public/private host, cleanup summarize view (#363)

* Bump golang.org/x/net from 0.15.0 to 0.17.0 (#358)

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.15.0 to 0.17.0.
- [Commits](golang/net@v0.15.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update govultr to v3.3.3 (#365)

* Adjust DBaaS VPC pointer to detect changes (#366)

* Allow some commands to be run without authenticating against the API (#364)

* Add root cmd logic to allow non-auth execution

* Add pre-execute logic to auth-required commands

* Switch to errors.New on pre-run checks

* Use struct{} for context key

* Fix bool comparison and whitespace linting

* Add comment to ctxAuthKey type

* Update govultr to v3.3.4 (#367)

* Add support for the VKE HA control plane option (#368)

* Add support for the VKE HA control plane option

* Use more verbose printer output for HA

* Fix long line

* Add support for DBaaS FerretDB subscriptions (#369)

* Bump golang.org/x/oauth2 from 0.12.0 to 0.13.0 (#356)

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.12.0 to 0.13.0.
- [Commits](golang/oauth2@v0.12.0...v0.13.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump github.com/spf13/viper from 1.16.0 to 1.17.0 (#357)

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.16.0 to 1.17.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](spf13/viper@v1.16.0...v1.17.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/viper
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Release v2.20.0 #minor

* Update the bare-metal and instance tags display to use delimiters  (#372)

* Add array stringify function for printer functions

* Use the array stringifier for BM and Instance tags

* Ignore staticcheck errors on bare-metal Tag

* Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 (#371)

Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](spf13/cobra@v1.7.0...v1.8.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump govultr to v3.4.0 (#374)

* Support Managed Database Read Replica Promotion (#375)

* Add support for promoting Managed Database read replicas

* Remove unused nolints

* Remove one more unused nolint

* Bump golang.org/x/oauth2 from 0.13.0 to 0.14.0 (#373)

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.13.0 to 0.14.0.
- [Commits](golang/oauth2@v0.13.0...v0.14.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add flag to export kubeconfig (#361)

* add kubeconfig filepath flag

* update file permissions

* lint fix

* remove default path

* remove newline and arg check

* decode base64 kubeconfig

* update helptext

* Update govultr to v3.4.1 (#376)

* Add usage command for database (#378)

* Bump golang.org/x/oauth2 from 0.14.0 to 0.15.0 (#379)

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.14.0 to 0.15.0.
- [Commits](golang/oauth2@v0.14.0...v0.15.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add container registry commands (#380)

* WIP: add initial container registry implementation

* Add initial printer for container-registry

* Fix the govultr hooks for container registry

* Add public to container registry list

* Change aliase for regions

* Fix container-registry update flags

* Update helptexts for container registry

* Add container-registry to root command

* Lint fixes

* Fix spelling errors

* Pass plans struct as pointer

* No lint the byte number

* Remove extraneous whitespace

* Update readme with conatiner registry

* Release v2.21.0 #minor

* Bump github.com/vultr/govultr/v3 from 3.4.1 to 3.5.0 (#382)

Bumps [github.com/vultr/govultr/v3](https://github.com/vultr/govultr) from 3.4.1 to 3.5.0.
- [Release notes](https://github.com/vultr/govultr/releases)
- [Changelog](https://github.com/vultr/govultr/blob/master/CHANGELOG.md)
- [Commits](vultr/govultr@v3.4.1...v3.5.0)

---
updated-dependencies:
- dependency-name: github.com/vultr/govultr/v3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Database: Support user access control for Redis databases (#383)

* Support user access control for Redis Managed Databases

* Make at least one Redis access control flag required

* Bring govultr versions inline

* Bump vultr-cli module to v3

* Switch go-yaml to v3

* Manual merge printer commands from rewrite

* Rename printer yaml function

* Manually merge in other misc legacy printer funcs

* Add printers to separated package commands

Still a work in progress on migrating all commands to the v3 way of
handling the command data.  This fixes all the go errors resulting from
the somewhat scuffed merge from master.  But it compiles!

* Move API auth to base and use NewCLIBase

* Add persistent auth check to accounts

* Fix exit codes after displayNonText

* Move marshalling to printer public function

At least for now

* Add a context to the base struct

* Fix ssh key package name to conform to lang standard

* Make backups command into package

* Use index vs k/v on range in backups printer

* Use consistent case on generic message

* Add public arrayofstrings func to printer

* Add info func to printer

* Add error and options utility functions

* Move all printer from map to slice

Maps are not ordered and cannot be relied upon for ordered output when
accesed with an index in a loop.

* Add the bare metal command

* Update root command

* Add auth check to ssh keys

* Add paging to plans

* Flesh out the rest of bare metal

* Rename operatingsystems

* Add user data printer

* Tidy up baremetal

* Move float precistion to constant

* Move billing to its own package

* Remove old backup printer

* Remove license/copyright and add packages godoc

* Make meta json name lowercase

* Move block storage to package

* Rename billing options struct

* Add package godoc for regions

* Fix users printer godoc

* Add default consts to utils

This might not be the best place for them, but it'll do for now

* Remove unused block storage ID option

* Move container registry to its own package

* WIP: Move DNS to its own package

* Finish moving dns to its own package

* Remove old DNS code

* Fix DNS cmd comment

* Remove extraneous whitespace

* Move firewall to its own package

* Add SilenceUsage to root command

* Reformat root command AddCommand

* Move ISO to own package

* Make ISO package godoc better

* Remove deprecated 'network' command

Replaced by the VPC commands

* Clean up the legacy printer files

* Adjust error output whitespace on ISO

* Move object-storage to own package

* Move object-storage list flags to correct spot

* Move firewall options struct

* Move 'reserved-ip' to own package

* Move `startup-script` to separate package

* Fix godoc for script printer

* Add firewall utils

* Update utils const

* Fix CR docker credentials read/write flag

* Move 'snapshot' to its own package

* Move `vpc` to its own package

* Fix godoc

* Fix godoc again

* Move `vpc2` to its own package

* Move `kubernetes` to its own package

* Add printer for ips

* Make bare metal use ip printer

* Move `instance` to its own package

* Remove extraneous license details

* Add 'none' output when empty user data

* Re-do `users` w/ new structure

* Update `vpc2` list flag formatting

* Use consistent format for `account`

* Tidy up packages to conform with current structure

* Fix the version command

* Tidy up `container-registry`

* Add the license NOTICE file

* Upgrade govultr from v3.5.0 to v3.6.1

* Fix whitespace

* Initialize data var in `applications` printer

* Fix nil reference in `applications`

* Add `marketplace`

* Update some `marketplace` docs

* Move `load-balancer` to own package

* Fix load balancer printer variable

* Tidy up printer functions & types

* Add printer Array of int stringifier

* Add printer total display

* Fix k8s help text

* Move `database` to own package

* Make errors print just the col for now

This is a thing that needs to be fleshed out to work ideally

* Combine `kubernetes` delete examples

* Fix `kubernetes` whitespace and linting

* Ignore gocritic errors for now

* Remove tests for now

There's not much point in keeping these while they're not working

* Fix `database` whitespace and linting

* Add missing `database` maintenance commands and lint fixes

* Fix lint errors on `account`

* Move aliases in `applications`

* Fix unused vars in `backups`

* Switch `backups` to private struct

* Resolve lint issues on `bare-metal`

* Remove extraneous whitespace

* Make `block-storage` conform with private struct

* Fix linting on `container-registry`

* Ignore gocyclo on `container-registry`

* Move `dns` to private struct

* Fix linting on `dns`

* Linting fixes for `firewall`

* Linting fixes on `instance`

* Linting fixes on ip package

* Linting fixes on `iso`

* Linting fixes on `load-balancer`

* Linting fixes on `martketplace`

* Silence gocylco on `object-storage`

* Linting fixes on `os`

* Linting fixes on `plans`

* Linting fixes on the printer package

* Linting fixes on `reserved-ip`

* Fix linting on `scripts`

* Fix linting errors on `snapshot`

* Silence gocyclo on `ssh-key`

* Silence gocyclo on `user`

* Add godoc to NewUserCmd

* Fix godoc in the utils package

* Fix linting on `vpc`

* Fix linting on `vpc2`

* Remove unused stuff from root

* Remove unused printer functions

* Update `plans` to match other commands

* Set persisten pre run on plans

* Shore up `os`

* Add persistent pre execute on non-auth routes

Otherwise JSON and other --output will not work

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Major Hayden <[email protected]>
Co-authored-by: Glenn Dobson <[email protected]>
Co-authored-by: Michael Riley <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: David Dymko <[email protected]>
Co-authored-by: Adriano Barbosa <[email protected]>
Co-authored-by: Nicholas Chambers <[email protected]>
Co-authored-by: cdragon <[email protected]>
Co-authored-by: happytreees <[email protected]>
Co-authored-by: Chris Morse <[email protected]>
Co-authored-by: ELLIOTTCABLE <[email protected]>
Co-authored-by: Anmol Sethi <[email protected]>
Co-authored-by: 0az <[email protected]>
Co-authored-by: René Moser <[email protected]>
optik-aper added a commit that referenced this pull request Feb 15, 2024
* sample user rewrite

* user refactor

* plans rewrite

* refactor printer

* printer restructure + json/yaml

* version - still need tests, long, example, alias

* printer cleanup

* version

* regions without tests

* regions

* applications command and printers

* application tests

* create base struct, add regions, refactor other commands to use base struct

* ssh keys

* sshkey updates

* rewrite accounts

* Bring govultr versions inline

* Bump vultr-cli module to v3

* Switch go-yaml to v3

* Manual merge printer commands from rewrite

* Rename printer yaml function

* Manually merge in other misc legacy printer funcs

* Add printers to separated package commands

Still a work in progress on migrating all commands to the v3 way of
handling the command data.  This fixes all the go errors resulting from
the somewhat scuffed merge from master.  But it compiles!

* Move API auth to base and use NewCLIBase

* Add persistent auth check to accounts

* Fix exit codes after displayNonText

* Move marshalling to printer public function

At least for now

* Add a context to the base struct

* Fix ssh key package name to conform to lang standard

* Make backups command into package

* Use index vs k/v on range in backups printer

* Use consistent case on generic message

* Add public arrayofstrings func to printer

* Add info func to printer

* Add error and options utility functions

* Move all printer from map to slice

Maps are not ordered and cannot be relied upon for ordered output when
accesed with an index in a loop.

* Add the bare metal command

* Update root command

* Add auth check to ssh keys

* Add paging to plans

* Flesh out the rest of bare metal

* Rename operatingsystems

* Add user data printer

* Tidy up baremetal

* Move float precistion to constant

* Move billing to its own package

* Remove old backup printer

* Remove license/copyright and add packages godoc

* Make meta json name lowercase

* Move block storage to package

* Rename billing options struct

* Add package godoc for regions

* Fix users printer godoc

* Add default consts to utils

This might not be the best place for them, but it'll do for now

* Remove unused block storage ID option

* Move container registry to its own package

* WIP: Move DNS to its own package

* Finish moving dns to its own package

* Remove old DNS code

* Fix DNS cmd comment

* Remove extraneous whitespace

* Move firewall to its own package

* Add SilenceUsage to root command

* Reformat root command AddCommand

* Move ISO to own package

* Make ISO package godoc better

* Remove deprecated 'network' command

Replaced by the VPC commands

* Clean up the legacy printer files

* Adjust error output whitespace on ISO

* Move object-storage to own package

* Move object-storage list flags to correct spot

* Move firewall options struct

* Move 'reserved-ip' to own package

* Move `startup-script` to separate package

* Fix godoc for script printer

* Add firewall utils

* Update utils const

* Fix CR docker credentials read/write flag

* Move 'snapshot' to its own package

* Move `vpc` to its own package

* Fix godoc

* Fix godoc again

* Move `vpc2` to its own package

* Move `kubernetes` to its own package

* Add printer for ips

* Make bare metal use ip printer

* Move `instance` to its own package

* Remove extraneous license details

* Add 'none' output when empty user data

* Re-do `users` w/ new structure

* Update `vpc2` list flag formatting

* Use consistent format for `account`

* Tidy up packages to conform with current structure

* Fix the version command

* Tidy up `container-registry`

* Add the license NOTICE file

* Upgrade govultr from v3.5.0 to v3.6.1

* Fix whitespace

* Initialize data var in `applications` printer

* Fix nil reference in `applications`

* Add `marketplace`

* Update some `marketplace` docs

* Move `load-balancer` to own package

* Fix load balancer printer variable

* Tidy up printer functions & types

* Add printer Array of int stringifier

* Add printer total display

* Fix k8s help text

* Move `database` to own package

* Make errors print just the col for now

This is a thing that needs to be fleshed out to work ideally

* Combine `kubernetes` delete examples

* Fix `kubernetes` whitespace and linting

* Ignore gocritic errors for now

* Remove tests for now

There's not much point in keeping these while they're not working

* Fix `database` whitespace and linting

* Add missing `database` maintenance commands and lint fixes

* Fix lint errors on `account`

* Move aliases in `applications`

* Fix unused vars in `backups`

* Switch `backups` to private struct

* Resolve lint issues on `bare-metal`

* Remove extraneous whitespace

* Make `block-storage` conform with private struct

* Fix linting on `container-registry`

* Ignore gocyclo on `container-registry`

* Move `dns` to private struct

* Fix linting on `dns`

* Linting fixes for `firewall`

* Linting fixes on `instance`

* Linting fixes on ip package

* Linting fixes on `iso`

* Linting fixes on `load-balancer`

* Linting fixes on `martketplace`

* Silence gocylco on `object-storage`

* Linting fixes on `os`

* Linting fixes on `plans`

* Linting fixes on the printer package

* Linting fixes on `reserved-ip`

* Fix linting on `scripts`

* Fix linting errors on `snapshot`

* Silence gocyclo on `ssh-key`

* Silence gocyclo on `user`

* Add godoc to NewUserCmd

* Fix godoc in the utils package

* Fix linting on `vpc`

* Fix linting on `vpc2`

* Remove unused stuff from root

* Remove unused printer functions

* Update `plans` to match other commands

* Set persisten pre run on plans

* Shore up `os`

* Add persistent pre execute on non-auth routes

Otherwise JSON and other --output will not work

* Add package comment on main

* Refactor commands into packages and finish up the base model for all commands (#398)

* 🐧 Add Fedora installation instructions (#246)

The vultr-cli package is now available on Fedora 35+:

* https://src.fedoraproject.org/rpms/vultr-cli

* Add block type support / Add Aliases and Examples (#249)

* Update govultr dependency / add block type support

* Add examples and aliases for each command

* Fix lint issues

* Replace example placeholders with real data

* Fix detach typo

* Add VPC support and deprecate networks (#251)

* Add VPC support and deprecate networks

This commit adds the VPC support offered by govultr 2.15.x and
deprecates the private network commands.  Note, this means that usage of
the `vultr-cli network` commands will output a deprecation notice which
may throw off output parsers.

* Update VPC IDs flag and some error checking

* Bump github.com/spf13/viper from 1.10.1 to 1.11.0 (#252)

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.10.1 to 1.11.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](spf13/viper@v1.10.1...v1.11.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/viper
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add VPC flag check to Load Balancers (#254)

* Add VPC support and deprecate networks

This commit adds the VPC support offered by govultr 2.15.x and
deprecates the private network commands.  Note, this means that usage of
the `vultr-cli network` commands will output a deprecation notice which
may throw off output parsers.

* Update VPC IDs flag and some error checking

* Add VPC error checking to load balancer as well

* adding block type to printer response (#253)

* Release v2.13.0 #minor

* updated veribage for snapshots + readme (#257)

* vultr-cli is now available on all flavors since 7.1 release. (#258)

* Bump github.com/vultr/govultr/v2 from 2.15.1 to 2.16.0 (#260)

Bumps [github.com/vultr/govultr/v2](https://github.com/vultr/govultr) from 2.15.1 to 2.16.0.
- [Release notes](https://github.com/vultr/govultr/releases)
- [Changelog](https://github.com/vultr/govultr/blob/master/CHANGELOG.md)
- [Commits](vultr/govultr@v2.15.1...v2.16.0)

---
updated-dependencies:
- dependency-name: github.com/vultr/govultr/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add tags support to bare metal and instance commands (#259)

* Add tags to bare metal and instance commands

* Remove unnecessary godoc

* Move tags output in printers

* Add firewall rule ip-type support (#262)

* Add fw ip-type flags and docs; use govultr IPType

* Move ip type alias to new flag

* Add support for VKE auto scaler options (#261)

* Add support for VKE version upgrades (#263)

* WIP: add upgrade commands and printer to kubernetes

* Move upgrade commands to sub-command and add docs

* Inline error handling

* Change upgrade command to be less redundant

* Release v2.14.0 #minor

* Bump github.com/spf13/viper from 1.11.0 to 1.12.0 (#266)

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.11.0 to 1.12.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](spf13/viper@v1.11.0...v1.12.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/viper
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump govultr version from 2.16.0 to 2.17.1 (#267)

Bumps [github.com/vultr/govultr/v2](https://github.com/vultr/govultr) from 2.16.0 to 2.17.1.
- [Release notes](https://github.com/vultr/govultr/releases)
- [Changelog](https://github.com/vultr/govultr/blob/master/CHANGELOG.md)
- [Commits](vultr/[email protected])

---
updated-dependencies:
- dependency-name: github.com/vultr/govultr/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

* Update instance and kubernetes tag to str pointer (#268)

* Update instance and kubernetes tag to str pointer

* Fix vendoring state

* Add GPU fields to plans printer (#269)

* Release v2.14.1 #patch

* Update govultr and add support for reserved IP label updates (#272)

* Add update command to reserved IP

* Fix label flag for IP update

* Add docs to reserved IP commands

* Bump govultr to v2.17.2

* Release v2.14.2 #patch

* Bump github.com/spf13/cobra from 1.4.0 to 1.5.0 (#274)

Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](spf13/cobra@v1.4.0...v1.5.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Remove extraneous dash from example command line (#279)

* bumping go from 1.17 to 1.19 (#284)

* add ARM v6 support

* bumping go from 1.17 to 1.19

* Replaced golint with golangci-lint

* Replaced golint with golangci-lint

* Fix linting issues and unhandle error returns

* Fix linter issues

* Rename github workflow

* Make load balancer display show VPN

* Gofmt cmd/dnsRecord

Co-authored-by: Michael Riley <[email protected]>

* feature add arm builds (#283)

* add ARM v6 support

* Add ARM builds

Co-authored-by: Michael Riley <[email protected]>

* Release v2.15.0 #minor

* Update goreleaser to add latest docker image tag (#287)

* Bump github.com/spf13/cobra from 1.5.0 to 1.6.0 (#288)

Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.5.0 to 1.6.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](spf13/cobra@v1.5.0...v1.6.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump github.com/spf13/cobra from 1.6.0 to 1.6.1 (#289)

Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](spf13/cobra@v1.6.0...v1.6.1)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump github.com/spf13/viper from 1.13.0 to 1.14.0 (#290)

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.13.0 to 1.14.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](spf13/viper@v1.13.0...v1.14.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/viper
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Make cli param examples consistently use = (#291)

* Bump golang.org/x/oauth2 from 0.0.0-20221014153046-6fdb5e3db783 to 0.5.0 (#296)

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.0.0-20221014153046-6fdb5e3db783 to 0.5.0.
- [Release notes](https://github.com/golang/oauth2/releases)
- [Commits](https://github.com/golang/oauth2/commits/v0.5.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump github.com/spf13/viper from 1.14.0 to 1.15.0 (#293)

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.14.0 to 1.15.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](spf13/viper@v1.14.0...v1.15.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/viper
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump golang.org/x/net from 0.6.0 to 0.7.0 (#297)

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/golang/net/releases)
- [Commits](golang/net@v0.6.0...v0.7.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add vcg options to docstrings on regions and plans (#299)

* Bump golang.org/x/oauth2 from 0.5.0 to 0.6.0 (#298)

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/golang/oauth2/releases)
- [Commits](golang/oauth2@v0.5.0...v0.6.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Release v2.15.1 #patch

* Update govultr to v3.0.1 (#301)

* Update Go to v1.20

* Remove vendored dependencies

* Ignore vendor directory

* Bump go version in github releaser workflow

* Update builds to Go 1.20 and remove vendor

* Update to govultr v3.0.1

* Add DBaaS Support to Vultr CLI (#302)

* Initial WIP commit

* More WIP stuff

* Implement primary DBaaS endpoints

* Clean up old .gitignore stuff and README update

* Add in database user management endpoints

* Quick README update

* Implement logical db management

* Implement maintenance updates and service alerts

* Implement migrations, read-only replicas, backup info, and fork/restore

* Implement PostgreSQL connection pools management

* Add in support for PG advanced options and version upgrades

* Remove temporary local env support

* Update go to 1.20 (#303)

* Update govultr to v3.0.2 (#304)

* Release v2.16.0 #minor

* Goreleaser configuration updates (#306)

* Update goreleaser configs

* Replace deprecated rm-dist flag

* Release v2.16.1 #patch

* Quote go version in github workflow config (#308)

* Quote go-version in github workflow

* Release v2.16.2 #patch

* Update workflows to go v1.20 (#311)

* Update workflows to go v1.20

* Update golanci-lint to v1.52.2

* Bump github.com/spf13/cobra from 1.6.1 to 1.7.0 (#310)

Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.6.1 to 1.7.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](spf13/cobra@v1.6.1...v1.7.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump golang.org/x/oauth2 from 0.6.0 to 0.7.0 (#312)

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/golang/oauth2/releases)
- [Commits](golang/oauth2@v0.6.0...v0.7.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix database update errors and remove db engine/version (#314)

* Fix database update errors and remove db engine/version

* Removed leftover debug variable print

* Deleted extra space

* Bump golang.org/x/oauth2 from 0.7.0 to 0.8.0 (#316)

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.7.0 to 0.8.0.
- [Commits](golang/oauth2@v0.7.0...v0.8.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add support for attachdetaching VPC networks from existing VPS instances (#318)

* Initial work on VPC attach/detach for instances

* Add flags for VPC ID on attach/detach

* Add additional help for instance VPC commands

* Use succinct Homebrew command to tap-and-install (#315)

* Add docker install/usage instructions (#322)

* Add docker install/usage instructions

* Remove extraneous whitespace

* Fix README spelling (#324)

* Bump golang.org/x/oauth2 from 0.8.0 to 0.9.0 (#323)

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.8.0 to 0.9.0.
- [Commits](golang/oauth2@v0.8.0...v0.9.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump github.com/spf13/viper from 1.15.0 to 1.16.0 (#319)

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.15.0 to 1.16.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](spf13/viper@v1.15.0...v1.16.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/viper
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump github.com/vultr/govultr/v3 from 3.0.2 to 3.0.3 (#320)

Bumps [github.com/vultr/govultr/v3](https://github.com/vultr/govultr) from 3.0.2 to 3.0.3.
- [Release notes](https://github.com/vultr/govultr/releases)
- [Changelog](https://github.com/vultr/govultr/blob/master/CHANGELOG.md)
- [Commits](vultr/govultr@v3.0.2...v3.0.3)

---
updated-dependencies:
- dependency-name: github.com/vultr/govultr/v3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add another mention of default config yaml location in README (#325)

* Release v2.17.0 #minor

* Update govultr to v3.1.0 (#329)

* Bump github.com/vultr/govultr/v3 from 3.1.0 to 3.2.0 (#330)

Bumps [github.com/vultr/govultr/v3](https://github.com/vultr/govultr) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/vultr/govultr/releases)
- [Changelog](https://github.com/vultr/govultr/blob/master/CHANGELOG.md)
- [Commits](vultr/govultr@v3.1.0...v3.2.0)

---
updated-dependencies:
- dependency-name: github.com/vultr/govultr/v3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump golang.org/x/oauth2 from 0.9.0 to 0.10.0 (#328)

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.9.0 to 0.10.0.
- [Commits](golang/oauth2@v0.9.0...v0.10.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add VPC support for DBaaS instances (#331)

* Bump golang.org/x/oauth2 from 0.10.0 to 0.11.0 (#333)

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.10.0 to 0.11.0.
- [Commits](golang/oauth2@v0.10.0...v0.11.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update govultr to v3.3.0 (#334)

* Add support for VPC 2.0 (#335)

* Add main vpc2 commands and printers

* Add support for instance VPC2 endpoints

* Add support for bare metal VPC2 endpoints

* Add README reference for VPC2

* Update example description for VPC2

* Add more aliases for the apps command (#336)

* cmd/instance: Fix reserved IPv4 flag docs (#337)

This flag doesn't accept the IP address directly, it has to be the uuid of the IP address.

* Update govultr to v3.3.1 (#338)

* VPC2 Nodes Endpoints (#339)

* Add VPC2 nodes endpoints

* Finalize vpc2 node endpoints

* Fix linting messages for vpc2 nodes endpoints

* Correct error with VPC2 examples

* Managed Database Nesting Refactor (#340)

* Refactor DBaaS components into nested commands

* Remove local testing change

* Correct some line lengths for flags

* Fix some duplicate descriptions

* Release v2.18.0 #minor

* Remove replacement and use name template in goreleaser archives (#342)

* Remove replacement and use name template in goreleaser

* Use name_template conditions for replacements

* Release v2.18.1 #patch

* Fix goreleaser archive names and remove deprecated brew command (#344)

* Use repository instead of tap in brews goreleaser

* Update goreleaser archive formatting

* Release v2.18.2 #patch

* Add project name back to the archive file names (#346)

There was a discrepancy between running it locally and when running it
on github.

* Update to go v1.21 (#347)

* Add summarize list options for VKE, VLB & database (#348)

* Add summarize flag to k8s list command

* Add summarize output for load balancers

* Add status column in kubernetes summarize

* Add instance count to load-balancer summary

* Fix summarize flag description

* Add summarize examples in command help

* Add database list summarized option

* Remove extra whitespace

* Remove extraneous example for database help

* Remove unnecessary Go dependency from .goreleaser (#97)

Co-authored-by: Michael Riley <[email protected]>

* Remove the useless cobra init help toggle flag (#349)

* Bump golang.org/x/oauth2 from 0.11.0 to 0.12.0 (#351)

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.11.0 to 0.12.0.
- [Commits](golang/oauth2@v0.11.0...v0.12.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix documentation for VPC2 command options (#350)

* vpc2: doc: fix typo

* vpc2: doc: fix required ip type in example

* Add golangci-lint config and fix linter errors (#353)

* Add golangci-lint and fixes

* Use consistent line breaks on AddCommand

* Correct some load balancer command docs

* Update workflows to use go v1.21

* Add exclude rules to printer functions

The errors will be addressed in another, more complicated changeset

* Remove unecessary whitespace

* Remove obsolete nolint directive

* Rework the printer output code (#355)

* Rework printer logic for effeciency and consistency

* Amend some golangci-lint rules

* Resolve more linting/formatting errors on printer

* Release v2.19.0 #minor

* Update govultr to v3.3.2 (#362)

* Add support for public/private host, cleanup summarize view (#363)

* Bump golang.org/x/net from 0.15.0 to 0.17.0 (#358)

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.15.0 to 0.17.0.
- [Commits](golang/net@v0.15.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update govultr to v3.3.3 (#365)

* Adjust DBaaS VPC pointer to detect changes (#366)

* Allow some commands to be run without authenticating against the API (#364)

* Add root cmd logic to allow non-auth execution

* Add pre-execute logic to auth-required commands

* Switch to errors.New on pre-run checks

* Use struct{} for context key

* Fix bool comparison and whitespace linting

* Add comment to ctxAuthKey type

* Update govultr to v3.3.4 (#367)

* Add support for the VKE HA control plane option (#368)

* Add support for the VKE HA control plane option

* Use more verbose printer output for HA

* Fix long line

* Add support for DBaaS FerretDB subscriptions (#369)

* Bump golang.org/x/oauth2 from 0.12.0 to 0.13.0 (#356)

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.12.0 to 0.13.0.
- [Commits](golang/oauth2@v0.12.0...v0.13.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump github.com/spf13/viper from 1.16.0 to 1.17.0 (#357)

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.16.0 to 1.17.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](spf13/viper@v1.16.0...v1.17.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/viper
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Release v2.20.0 #minor

* Update the bare-metal and instance tags display to use delimiters  (#372)

* Add array stringify function for printer functions

* Use the array stringifier for BM and Instance tags

* Ignore staticcheck errors on bare-metal Tag

* Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 (#371)

Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](spf13/cobra@v1.7.0...v1.8.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump govultr to v3.4.0 (#374)

* Support Managed Database Read Replica Promotion (#375)

* Add support for promoting Managed Database read replicas

* Remove unused nolints

* Remove one more unused nolint

* Bump golang.org/x/oauth2 from 0.13.0 to 0.14.0 (#373)

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.13.0 to 0.14.0.
- [Commits](golang/oauth2@v0.13.0...v0.14.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add flag to export kubeconfig (#361)

* add kubeconfig filepath flag

* update file permissions

* lint fix

* remove default path

* remove newline and arg check

* decode base64 kubeconfig

* update helptext

* Update govultr to v3.4.1 (#376)

* Add usage command for database (#378)

* Bump golang.org/x/oauth2 from 0.14.0 to 0.15.0 (#379)

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.14.0 to 0.15.0.
- [Commits](golang/oauth2@v0.14.0...v0.15.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add container registry commands (#380)

* WIP: add initial container registry implementation

* Add initial printer for container-registry

* Fix the govultr hooks for container registry

* Add public to container registry list

* Change aliase for regions

* Fix container-registry update flags

* Update helptexts for container registry

* Add container-registry to root command

* Lint fixes

* Fix spelling errors

* Pass plans struct as pointer

* No lint the byte number

* Remove extraneous whitespace

* Update readme with conatiner registry

* Release v2.21.0 #minor

* Bump github.com/vultr/govultr/v3 from 3.4.1 to 3.5.0 (#382)

Bumps [github.com/vultr/govultr/v3](https://github.com/vultr/govultr) from 3.4.1 to 3.5.0.
- [Release notes](https://github.com/vultr/govultr/releases)
- [Changelog](https://github.com/vultr/govultr/blob/master/CHANGELOG.md)
- [Commits](vultr/govultr@v3.4.1...v3.5.0)

---
updated-dependencies:
- dependency-name: github.com/vultr/govultr/v3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Database: Support user access control for Redis databases (#383)

* Support user access control for Redis Managed Databases

* Make at least one Redis access control flag required

* Bring govultr versions inline

* Bump vultr-cli module to v3

* Switch go-yaml to v3

* Manual merge printer commands from rewrite

* Rename printer yaml function

* Manually merge in other misc legacy printer funcs

* Add printers to separated package commands

Still a work in progress on migrating all commands to the v3 way of
handling the command data.  This fixes all the go errors resulting from
the somewhat scuffed merge from master.  But it compiles!

* Move API auth to base and use NewCLIBase

* Add persistent auth check to accounts

* Fix exit codes after displayNonText

* Move marshalling to printer public function

At least for now

* Add a context to the base struct

* Fix ssh key package name to conform to lang standard

* Make backups command into package

* Use index vs k/v on range in backups printer

* Use consistent case on generic message

* Add public arrayofstrings func to printer

* Add info func to printer

* Add error and options utility functions

* Move all printer from map to slice

Maps are not ordered and cannot be relied upon for ordered output when
accesed with an index in a loop.

* Add the bare metal command

* Update root command

* Add auth check to ssh keys

* Add paging to plans

* Flesh out the rest of bare metal

* Rename operatingsystems

* Add user data printer

* Tidy up baremetal

* Move float precistion to constant

* Move billing to its own package

* Remove old backup printer

* Remove license/copyright and add packages godoc

* Make meta json name lowercase

* Move block storage to package

* Rename billing options struct

* Add package godoc for regions

* Fix users printer godoc

* Add default consts to utils

This might not be the best place for them, but it'll do for now

* Remove unused block storage ID option

* Move container registry to its own package

* WIP: Move DNS to its own package

* Finish moving dns to its own package

* Remove old DNS code

* Fix DNS cmd comment

* Remove extraneous whitespace

* Move firewall to its own package

* Add SilenceUsage to root command

* Reformat root command AddCommand

* Move ISO to own package

* Make ISO package godoc better

* Remove deprecated 'network' command

Replaced by the VPC commands

* Clean up the legacy printer files

* Adjust error output whitespace on ISO

* Move object-storage to own package

* Move object-storage list flags to correct spot

* Move firewall options struct

* Move 'reserved-ip' to own package

* Move `startup-script` to separate package

* Fix godoc for script printer

* Add firewall utils

* Update utils const

* Fix CR docker credentials read/write flag

* Move 'snapshot' to its own package

* Move `vpc` to its own package

* Fix godoc

* Fix godoc again

* Move `vpc2` to its own package

* Move `kubernetes` to its own package

* Add printer for ips

* Make bare metal use ip printer

* Move `instance` to its own package

* Remove extraneous license details

* Add 'none' output when empty user data

* Re-do `users` w/ new structure

* Update `vpc2` list flag formatting

* Use consistent format for `account`

* Tidy up packages to conform with current structure

* Fix the version command

* Tidy up `container-registry`

* Add the license NOTICE file

* Upgrade govultr from v3.5.0 to v3.6.1

* Fix whitespace

* Initialize data var in `applications` printer

* Fix nil reference in `applications`

* Add `marketplace`

* Update some `marketplace` docs

* Move `load-balancer` to own package

* Fix load balancer printer variable

* Tidy up printer functions & types

* Add printer Array of int stringifier

* Add printer total display

* Fix k8s help text

* Move `database` to own package

* Make errors print just the col for now

This is a thing that needs to be fleshed out to work ideally

* Combine `kubernetes` delete examples

* Fix `kubernetes` whitespace and linting

* Ignore gocritic errors for now

* Remove tests for now

There's not much point in keeping these while they're not working

* Fix `database` whitespace and linting

* Add missing `database` maintenance commands and lint fixes

* Fix lint errors on `account`

* Move aliases in `applications`

* Fix unused vars in `backups`

* Switch `backups` to private struct

* Resolve lint issues on `bare-metal`

* Remove extraneous whitespace

* Make `block-storage` conform with private struct

* Fix linting on `container-registry`

* Ignore gocyclo on `container-registry`

* Move `dns` to private struct

* Fix linting on `dns`

* Linting fixes for `firewall`

* Linting fixes on `instance`

* Linting fixes on ip package

* Linting fixes on `iso`

* Linting fixes on `load-balancer`

* Linting fixes on `martketplace`

* Silence gocylco on `object-storage`

* Linting fixes on `os`

* Linting fixes on `plans`

* Linting fixes on the printer package

* Linting fixes on `reserved-ip`

* Fix linting on `scripts`

* Fix linting errors on `snapshot`

* Silence gocyclo on `ssh-key`

* Silence gocyclo on `user`

* Add godoc to NewUserCmd

* Fix godoc in the utils package

* Fix linting on `vpc`

* Fix linting on `vpc2`

* Remove unused stuff from root

* Remove unused printer functions

* Update `plans` to match other commands

* Set persisten pre run on plans

* Shore up `os`

* Add persistent pre execute on non-auth routes

Otherwise JSON and other --output will not work

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Major Hayden <[email protected]>
Co-authored-by: Glenn Dobson <[email protected]>
Co-authored-by: Michael Riley <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: David Dymko <[email protected]>
Co-authored-by: Adriano Barbosa <[email protected]>
Co-authored-by: Nicholas Chambers <[email protected]>
Co-authored-by: cdragon <[email protected]>
Co-authored-by: happytreees <[email protected]>
Co-authored-by: Chris Morse <[email protected]>
Co-authored-by: ELLIOTTCABLE <[email protected]>
Co-authored-by: Anmol Sethi <[email protected]>
Co-authored-by: 0az <[email protected]>
Co-authored-by: René Moser <[email protected]>

* Revert "Refactor commands into packages and finish up the base model for all …" (#399)

This reverts commit a2ab9db.

* Remove old marketplace code

* Remove unused validate on (#403)

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: David Dymko <[email protected]>
Co-authored-by: Mariah <[email protected]>
Co-authored-by: Major Hayden <[email protected]>
Co-authored-by: Glenn Dobson <[email protected]>
Co-authored-by: Michael Riley <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Adriano Barbosa <[email protected]>
Co-authored-by: Nicholas Chambers <[email protected]>
Co-authored-by: cdragon <[email protected]>
Co-authored-by: happytreees <[email protected]>
Co-authored-by: Chris Morse <[email protected]>
Co-authored-by: ELLIOTTCABLE <[email protected]>
Co-authored-by: Anmol Sethi <[email protected]>
Co-authored-by: 0az <[email protected]>
Co-authored-by: René Moser <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BUG] - CLI requires non-empty VULTR_API_KEY for "help [..]" and "version" subcommands
2 participants