Mark Laing
Mark Laing
In order to complete https://github.com/canonical/lxd-cloud/issues/136, upstream servers need to synchronise instance and storage volume records when the make a connection to a downstream. To accomplish this, we can call `/1.0/instances?all-projects=true`...
Implements an `all-projects=true` query parameter on `/1.0/storage-pools/{poolName}/volumes`. Adds associated methods to client and adds `--all-projects` flag to `lxc storage volume list {poolName}`. Closes #10753
Adds the embedded OpenFGA authorization driver for use with OIDC authentication. We will make this the default for TLS authenticated users when we are confident in its performance and reliability....
See https://github.com/canonical/lxd/actions/runs/8156637138/job/22299617287#step:13:305 and https://github.com/canonical/lxd/pull/13042#issuecomment-1979507605
This simplifies workflows on the UI side and enforces a single source of truth for entities and entitlements. We can also enrich this data with descriptions so that the user...
The `defer` error is correct, but the function is very long and hard to reason about. There are also operations and reverters involved.
`golangci-lint` was using `--whole-files` to enforce that we fix lint errors in any files that are touched by a commit. This was removed due to time pressure but should be...
There are two different methods for getting the URL of a LXD entity by it's type and ID. - `getWarningEntityURL` in `lxd/warnings.go` which accepts a `*sql.Tx` but doesn't cover all...
Given a list of HTTP verbs and URLs, return a map of verb+URL to boolean to indicate in advance whether or not a user is authorized to call the endpoint....
The `shared/entity` package uses a string type for all entity types. This means when adding new entities we need to update all functions and switch statements in the entities package....