Conversation
|
Hey, I'm really appreciating the ongoing improvements to Komodo! I wanted to flag that requiring a database migration would be a significant breaking change. Users on tagged versions like |
Member
Author
|
@fathonyfath This release marks the move to officially supporting FerretDB v2 (and dropping v1), and includes upgrade guide for this. Users will still be able to upgrade Komodo itself separately and continue using FerretDB v1 for as long as they like, so its not actually breaking. |
…ing the permissioning on those entities
…t / stack specific permissioned endpoints
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changelog
🚨 This release moves official support to FerretDB v2. Users who deployed v1.17.5 or before using Postgres / Sqlite option are using FerretDB v1 and should eventually migrate using the FerretDB v2 Update Guide. Note that this is not a breaking change to Komodo itself, and users can update to 1.17.6 and continue to use FerretDB v1 if they wish.
🚨 Admins managing user permissions may need to modify the access rules to continue to access features. In particular, container logs,
docker inspecton containers, and terminal access are now gated behind additional permission (for non admin users)Specific Permissions
The main purpose of this release is to refine the access control / permissions system in Komodo. In 1.17.5 and before, access to resources was controlled only via access level (
Read,Execute,Write). These levels provide access to the associated/read,/execute, and/writemethods on resources, and it worked pretty well to provide RBAC.Now with more potentially sensitive features, this is not quite enough to provide granular access control. To address this,
specificpermissions have been introduced in addition toRead,Execute, andWritelevels.Terminal: User can access the associated resource's terminal.Server, this allows server level terminal access.StackorDeployment, this allows container exec terminal (even withoutTerminalonServer)Attach: User can "attach" other resources to the resource.Server, allows users to attachStacksandDeploymentsBuilder, allows users to attachBuildsDockerInspect: User can "inspect" docker resources (like containers) on theServerDockerLogs: User can retrieve docker / docker compose logs on the associated resource.Server,Stack,DeploymentProcessList: User can retrieve the full running process list on theServerThe above
specificpermissions are defined in a list alongside theirlevel. This list is open for future expansion / and the associated implementations may be refined in future releases as well.Default User Groups
Sometimes you will want to set a "baseline" set of permissions that all users will have on the Komodo instance. Previously this could only be done in very barebones way, by setting
KOMODO_TRANSPARENT_MODE=trueon the Komodo Core container. This would give all users a base level of "Read" on all resources.In addition to the above permissions features, this release also adds an
everyonemode to User Groups. If you enable this mode on a User Group, then all users will inherit those permissions as a base.Misc.