Should lax mode disable the project check? #46
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
kahliburke/Kaimon.jl#46
Loading…
Reference in a new issue
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?
When running Kaimon in a containerized environment, it would be nice to be able to disable the project check so a session could be started anywhere. The current workaround is scanning everything in the container's workspace for Project.toml and configuring projects.json with all of the paths that match. This works fine, but its at least worth considering a completely unrestriced mode for more seamless integration into isolated container workflows.
@csvance I'm not sure I 100% understand the situation you're running into. Could we discuss it a bit more. Also, sorry for the delayed response.
@kahliburke if I spin up Kaimon insider of a container / VM that is created per session, currently it refuses to work in any directory that isn't added as a "project". That means I need to manually find all of the directories it could consider a project (subdirs with Project.toml) and add them to its configuration on startup each time I make a new session. This doesn't apply to persistent workflows where Kaimon is running on the users system and they configure it one time, adding each project they want.
@csvance Thanks for explaining — that makes sense. For an ephemeral per-session container, the container is the security boundary, so repopulating the allow-list every session is just friction.
For 2.0 I added an opt-in to disable the allow-list: set
"allow_any_project": trueat the top level ofprojects.json:With it set,
start_sessionruns in any directory that has aProject.toml(theisdir/Project.tomlchecks still apply). The server logs a warning at startup when it's on, so it's never silent.I kept it separate from the security mode (
strict/relaxed/lax) on purpose — those gate transport/auth (API key, IP), a different axis from filesystem scope, and folding it intolaxwould silently drop the guardrail for people usinglaxjust for local convenience. A single explicit flag in the file that defines the allow-list felt clearer, and it bakes into a container image the same way an env var would.This is on the 2.0 branch. Let me know if it fits your workflow.
Implemented for the 2.0.0 release (
59dcb3a) —allow_any_projectin projects.json. Reopen if it doesn't fit your container workflow.