Skip to content

v0.1.9

Latest
Compare
Choose a tag to compare
@marcua marcua released this 03 Dec 03:49
· 1 commit to main since this release

High-level description: public and individual sharing

Beyond clearer errors and instructions, the major two features of this release are public sharing levels and individual sharing permissions. By default, only the owner / creator of an ayb database can access it. It's possible to share ayb databases in two ways:

  • By setting the public sharing level of the database to give all entities some level of access to the database.
  • By sharing the database with a particular entity.

To set the public sharing level of a database, select one of the following options:

# The default setting: no entity will be able to access the database
# unless they specifically get permissions.
$ ayb client update_database marcua/test.sqlite --public-sharing-level no-access

# With a public sharing level of `fork`, entities will be able to see
# the database in the owner's list of databases using `ayb client
# list` and fork a copy of the database under their own account. They
# won't be able to query the database unless they fork it. Note:
# Listing access is implemented today, but forking one database into
# another account is not yet implemented.
$ ayb client update_database marcua/test.sqlite --public-sharing-level fork

# In addition to the listing and forking access that `fork`
# allows, `read-only` access allows any entity to
# issue a read-only (e.g., SELECT) query against the database. They
# can't modify the database.
$ ayb client update_database marcua/test.sqlite --public-sharing-level read-only

To provide a specific user with access to a database, select one of the following:

# Revoke access to a database from an entity.
$ ayb client share marcua/test.sqlite sofia no-access

# Allow an entity to make read-only (e.g., SELECT) queries against a
# database.
$ ayb client share marcua/test.sqlite sofia read-only

# Allow an entity to make any type of query against a database.
$ ayb client share marcua/test.sqlite sofia read-write

# Allow an entity to not only modify a database, but also to manage
# snapshots and change the permissions of any non-owner entity.
$ ayb client share marcua/test.sqlite sofia manager

Individual pull requests

Feature/cleanup changes

  • Make a few errors that new users are likely ot encounter easier to understand by @marcua in #455
  • Migrations for sharing permissions data models by @marcua in #461
  • Add instructions for setting up test postgres user on Linux vs macOS by @marcua in #463
  • Permissions data models in Rust by @marcua in #466
  • Introduce update_database endpoint to enable public sharing level update by @marcua in #473
  • Permissions public_sharing_level read-only/fork support by @marcua in #479
  • Database sharing with individual entities by @marcua in #487
  • Documentation for public sharing level and entity-specific permissions by @marcua in #483

Various dependabot changes

Full Changelog: v0.1.8...v0.1.9