Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@wolfsilver
Copy link
Owner

This pull request introduces several new features, dependency updates, and internal improvements across multiple crates. The most significant changes are the addition of the lapdev-kube crate and new admin/organization capabilities, as well as improvements to user and organization models, security checks, and dependency upgrades.

New Features and Integrations:

  • Added the new lapdev-kube crate to the workspace, including its initialization and async runner integration in the main server (lapdev-api) and workspace configuration. ([[1]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542R39-R47), [[2]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542R124), [[3]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-f87662f394201d2fdb0828cbc9111bbd1f6e48d285e0907c0090459bf8d6ea8bR50), [[4]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-f639877e71c9bcb2091ac98b805223b34ea28dc7f2db4e0afa2470571682d732R1-R11), [[5]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-8ff49eb0099b6bf787cac908db5923543a91a728ce6c6a0ba3a84b8f7feed658R1-R5), [[6]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-e8a13d3bdff1d0b82e7074f9f3d254e7f299c4d038cfbe59c5fb2883f1c767ccR112-R119))
  • Introduced an admin API endpoint and handler to clear all workspaces for a given organization (clear_organization), along with its route registration. ([[1]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-ec022bd9017571cd9addf28859d8ea83208b23a13e31b4f01ab3aa6b8d5c1626R702-R722), [[2]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-e3e0e3ef8ce2915c4748054fc3ba1053f60788c1a5ff54e9f11bf299faf394cdL243-R247))

User and Organization Model Enhancements:

  • Added max_cpu field to organizations and disabled field to users, with corresponding database migrations and default values. ([[1]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-7eeda5d620ab39f7823b06a10a844500c8db04211e6bf4a51318b6ab7583fe1cR20), [[2]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-a58ad3b3262dfb63f9671bcc03dcdd6e345e0ba5eb326c6b806a5bb1d6662147R19), [[3]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-92a393b7d9017830a1dee7b70b0bb5104e5c781b5868616029ac51daa00c2331R28), [[4]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-92a393b7d9017830a1dee7b70b0bb5104e5c781b5868616029ac51daa00c2331R50), [[5]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-bb139f594443bcb73f5ab411fb0ed2b6ae636936994d1828c588683bcfb01246R50), [[6]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-bb139f594443bcb73f5ab411fb0ed2b6ae636936994d1828c588683bcfb01246R85), [[7]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-82c9facef437fdb8e465f44d74a50475b3126d05546a5827c5b0196aa3571f42R356), [[8]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-82c9facef437fdb8e465f44d74a50475b3126d05546a5827c5b0196aa3571f42R399), [[9]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-2b1c5213fd9e26b006fea5697ad2819dc6c3f10c210085777cf36184f7899b30R221))
  • Enforced max_cpu per organization when creating workspaces and surfaced a configurable error message if exceeded. ([[1]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-8dfa9fdf9c2c01b8c98d8786464e6d107f3047c06b317c3899517ac294f1e608R1142-R1150), [[2]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-82c9facef437fdb8e465f44d74a50475b3126d05546a5827c5b0196aa3571f42R27))
  • Prevented disabled users from creating new workspaces. ([lapdev-conductor/src/server.rsR2062-R2066](https://github.com/wolfsilver/lapdev/pull/1/files#diff-8dfa9fdf9c2c01b8c98d8786464e6d107f3047c06b317c3899517ac294f1e608R2062-R2066))

Security and Access Control Improvements:

  • Added checks to block sign-in for GitHub and GitLab users whose accounts are less than 24 hours old. ([[1]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-ab1436b537c6dd3b2b7b5b0c62203c6ecd4922857268fa6c7f45bec1d236f04aR2), [[2]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-ab1436b537c6dd3b2b7b5b0c62203c6ecd4922857268fa6c7f45bec1d236f04aR18), [[3]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-1bd2cb1fc017def8a1e54569c64e0b8cd10308277ab71303005401d2e600ca15R2), [[4]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-1bd2cb1fc017def8a1e54569c64e0b8cd10308277ab71303005401d2e600ca15R17), [[5]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-d72a0a24d50f6c8745c60f3666fe2b819fff881b4e6f156fa31b8d04056c9d53R141-R147), [[6]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-d72a0a24d50f6c8745c60f3666fe2b819fff881b4e6f156fa31b8d04056c9d53R170-R176))
  • Updated run_sshd in the guest agent to ensure proper file ownership for /run and /root directories before starting SSH. ([lapdev-guest-agent/src/lib.rsR57-R66](https://github.com/wolfsilver/lapdev/pull/1/files#diff-628fc258080d5d32d7b2259fa9a643b9ce04e6b62a42797baf38e8e9c2b007a7R57-R66))

Dependency and API Updates:

  • Upgraded tokio-tungstenite and russh dependencies to latest versions, and updated SSH key generation logic to match the new russh API. ([[1]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542L86-R88), [[2]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542L111-R113), [[3]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-8dfa9fdf9c2c01b8c98d8786464e6d107f3047c06b317c3899517ac294f1e608R16-R23), [[4]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-8dfa9fdf9c2c01b8c98d8786464e6d107f3047c06b317c3899517ac294f1e608L1099-R1113), [[5]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-8dfa9fdf9c2c01b8c98d8786464e6d107f3047c06b317c3899517ac294f1e608L3409-R3429))
  • Minor: Fixed organization usage limit check to allow -1 as unlimited. ([lapdev-enterprise/src/enterprise.rsL74-R74](https://github.com/wolfsilver/lapdev/pull/1/files#diff-08461beff307468fd7d8737b4ec7e7a22f68727b07807e17148d84642abb4b65L74-R74))

Other Internal Improvements:

  • Added created_at field to GitHub and GitLab user structs for use in new account checks. ([[1]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-ab1436b537c6dd3b2b7b5b0c62203c6ecd4922857268fa6c7f45bec1d236f04aR18), [[2]](https://github.com/wolfsilver/lapdev/pull/1/files#diff-1bd2cb1fc017def8a1e54569c64e0b8cd10308277ab71303005401d2e600ca15R17))
  • Passed request headers to workspace middleware for improved forwarding. ([lapdev-api/src/router.rsR436](https://github.com/wolfsilver/lapdev/pull/1/files#diff-e3e0e3ef8ce2915c4748054fc3ba1053f60788c1a5ff54e9f11bf299faf394cdR436))

Let me know if you want to discuss any specific change in more detail!

@wolfsilver wolfsilver merged commit 6a0c18a into wolfsilver:main Oct 10, 2025
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants