Skip to content

Commit

Permalink
Support 3.0 user management and encryption (#267)
Browse files Browse the repository at this point in the history
## Usage and product changes

We introduce support for the user management commands available in 3.0.
The interface for these remains largely the same as 2.x with a few
notable differences:
- The "update password" and "set password" options have been unified
into `user password-update <username> [password]`, matching the new
driver implementation
- All user management commands are available in core as well as cloud
- Password expiry is not yet implemented

We also support the updated encryption behaviour (that is, support for
TLS and username/password authentication). Again, this is essentially
the same as the 2.x interface with the only notable difference being
that authentication and encryption are now core features not cloud.

## Implementation

We uncomment user management code, deleting that related to the old
password update logic and replacing it with correct behaviour. We also
remove cloud checks from user management, authentication, and encryption
functionality.

Since usernames and passwords are now required for both core and cloud,
we can make their arguments to console both required, and thus no longer
nullable.

As a drive-by, we introduce static tokens for `read`, `write`, and
`schema` to minimise the duplication of those strings as they pertain to
transaction types. We also update the auto-complete behaviour to
correctly support updated transaction types.

---------

Co-authored-by: Ganeshwara Hananda <[email protected]>
  • Loading branch information
sam-butcher and lolski authored Dec 6, 2024
1 parent d5376f6 commit 929f8e9
Show file tree
Hide file tree
Showing 3 changed files with 337 additions and 455 deletions.
Loading

0 comments on commit 929f8e9

Please sign in to comment.