mirror of
https://github.com/moghtech/komodo.git
synced 2025-12-05 19:17:36 -06:00
[PR #555] [MERGED] 1.18.0 #748
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/moghtech/komodo/pull/555
Author: @mbecker20
Created: 5/28/2025
Status: ✅ Merged
Merged: 5/30/2025
Merged by: @mbecker20
Base:
main← Head:1.18.0📝 Commits (10+)
766b559ferretdb v2 now that they support arm64270804eremove ignored for sqlite35aa8fdtweak791138emongo copiera29b3551.17.6de23d76primary name is ferretdb option379d24egive doc counts09905d0fmt0530a47print document count789c611komodo util versioned seperately📊 Changes
190 files changed (+5962 additions, -3423 deletions)
View changed files
📝
Cargo.lock(+77 -64)📝
Cargo.toml(+13 -13)📝
bin/binaries.Dockerfile(+6 -3)📝
bin/core/Cargo.toml(+1 -1)📝
bin/core/aio.Dockerfile(+1 -1)📝
bin/core/src/alert/mod.rs(+9 -7)📝
bin/core/src/alert/ntfy.rs(+12 -6)📝
bin/core/src/api/execute/action.rs(+4 -3)📝
bin/core/src/api/execute/alerter.rs(+2 -2)📝
bin/core/src/api/execute/build.rs(+5 -4)📝
bin/core/src/api/execute/deployment.rs(+3 -2)📝
bin/core/src/api/execute/mod.rs(+14 -12)📝
bin/core/src/api/execute/procedure.rs(+4 -3)📝
bin/core/src/api/execute/repo.rs(+9 -8)📝
bin/core/src/api/execute/server.rs(+43 -43)📝
bin/core/src/api/execute/stack.rs(+7 -9)📝
bin/core/src/api/execute/sync.rs(+6 -4)📝
bin/core/src/api/read/action.rs(+17 -7)📝
bin/core/src/api/read/alert.rs(+1 -1)📝
bin/core/src/api/read/alerter.rs(+15 -6)...and 80 more files
📄 Description
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 change to Komodo itself, only to the list of supported Mongo stand-ins. 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 user access rules. In particular, container logs,
docker inspecton containers, and terminal access are now gated behind additional permissions (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.TOML Examples
As before, you are able to manage User Groups in Resource Syncs.
Misc.
pretty_startup_config = trueto get more human readable initial config log.KOMODO_PRETTY_STARTUP_CONFIG=truePERIPHERY_PRETTY_STARTUP_CONFIG=true🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.