pub struct Project {Show 26 fields
pub id: i32,
pub name: String,
pub runner: Runner,
pub deployment_method: DeploymentMethod,
pub path: Option<String>,
pub repository: Option<String>,
pub description: Option<String>,
pub frontend_app_id: Option<String>,
pub deploy_repo_id: Option<i64>,
pub source_path: Option<String>,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
pub kind: Option<String>,
pub source: Option<String>,
pub output: Option<String>,
pub package_manager: Option<String>,
pub pm2_app: Option<String>,
pub pm2_env: Option<HashMap<String, Value>>,
pub port: Option<u16>,
pub shared_lib: Option<String>,
pub compile_cmd: Option<String>,
pub install_command: Option<String>,
pub binary_name: Option<String>,
pub rust_target: Option<String>,
pub swift_sdk: Option<String>,
pub swift_toolchain: Option<String>,
}Fields§
§id: i32Umbrella smbCloud workspace ID.
name: String§runner: Runner§deployment_method: DeploymentMethodDefaults to Git when absent (older API responses won’t include the field).
path: Option<String>§repository: Option<String>§description: Option<String>§frontend_app_id: Option<String>Deployable app ID for precise deployment tracking. Optional during the migration away from project-as-app semantics.
deploy_repo_id: Option<i64>Repo ID backing this deploy target. Optional until the API exposes it consistently to the CLI.
source_path: Option<String>Repo-relative app path for monorepo targets, e.g. “apps/web/console”.
created_at: DateTime<Utc>§updated_at: DateTime<Utc>§kind: Option<String>Deployment kind, e.g. “vite-spa”, “nextjs-ssr”, or “rust”.
source: Option<String>Local source directory to build from, e.g. “frontend/connected-devices”
or a Rust crate root like “.”.
Used by local-build deploys such as vite-spa, nextjs-ssr, and rust.
Distinct from path, which is the remote destination on the server.
output: Option<String>Build output directory relative to source, e.g. “dist”.
package_manager: Option<String>Package manager to use for the build step, e.g. “pnpm”.
pm2_app: Option<String>PM2 process name to restart after a nextjs-ssr deploy, e.g. “my-app”.
Matches the name passed to pm2 start on the server.
pm2_env: Option<HashMap<String, Value>>Environment variables to seed into the PM2 ecosystem env_production block.
Populated from the server-side App record; not written to .smb/config.toml.
port: Option<u16>Port the standalone server binds to (default: 3000). Must match nginx upstream configuration.
Path to a shared lib directory to rsync to the server before deploying, e.g. “lib”. Used by Rails apps that depend on native gems built from monorepo-level source. Relative to the repo root.
compile_cmd: Option<String>SSH command to run on the server after rsyncing the shared lib, e.g. “cd ~/lib/gems/gem_error_codes && rbenv local 3.4.2 && bundle install && bundle exec rake compile”.
install_command: Option<String>Install command override, e.g. “pnpm install –frozen-lockfile”.
binary_name: Option<String>Rust binary filename to upload and restart, e.g. “onde-cloud”. When absent, the CLI falls back to the Cargo package name.
rust_target: Option<String>Rust target triple used for local cross-compilation before upload, e.g. “x86_64-unknown-linux-gnu”.
swift_sdk: Option<String>Swift SDK identifier used to cross-compile a Swift/Vapor app for Linux,
e.g. “x86_64-swift-linux-musl” (the Static Linux SDK). Defaults to
“x86_64-swift-linux-musl” when absent. Built natively on the host with
swift build --swift-sdk <id> — no Docker, no emulation.
swift_toolchain: Option<String>Optional toolchain identifier passed via the TOOLCHAINS env var when
cross-compiling Swift. Needed on macOS where the default swift is
Apple’s Xcode toolchain (which lacks lld); point it at an installed
swift.org toolchain, e.g. “swift” (resolves to swift-latest) or a bundle
id like “org.swift.632202605101a”. Unnecessary when swift is already a
swift.org toolchain (e.g. via swiftly).