LXD Projects
Segment your LXD server into isolated workspaces โ each with its own instances, images, profiles, storage volumes and networks. Built for multi-team environments, enhanced security and clean resource governance.
Explore Projects โWhat is an LXD Project?
A Project in LXD acts as a namespace โ a fully isolated workspace on your LXD server. Every resource you create (containers, VMs, images, profiles, storage volumes, networks) lives inside a project and is invisible to other projects by default. Think of it as having multiple independent LXD servers on a single machine.
Instances
Each project owns its own set of containers and virtual machines. Instances in project staging are completely separate from those in project production โ even if they share the same physical host. List, start, stop and delete without ever affecting another team's workloads.
Images
Projects can have their own private image store. You can publish a custom image inside a project and it remains scoped to that project. Alternatively, images from the global store are always accessible to any project without duplication.
Profiles
Profiles define reusable configuration templates (CPU, memory, network interfaces,
storage mounts). Each project maintains its own profile list โ so a
default profile in project A can have completely different
resource limits to the default profile in project B.
Storage Volumes
Custom storage volumes (block or filesystem) are project-scoped. Teams can create, snapshot and attach volumes without risk of naming conflicts or accidental access from another project on the same pool.
Networks (optional)
Networks can optionally be scoped per project. When enabled, each project manages its own bridges, OVN networks and subnets โ giving you full network-level isolation between environments like dev, staging and production.
Why use Projects?
Projects solve three real-world problems: team isolation, environment separation and security segmentation.
Multi-team isolation
Give each team (frontend, backend, data) their own project. They operate independently โ no shared namespaces, no risk of accidentally deleting another team's instances.
Environment separation
Run dev, staging and production as separate projects on the same cluster. Each environment has its own resource limits, profiles and network config.
Fine-grained access control
LXD's access control integrates with Projects. Grant a user operator rights on one project while keeping them restricted from another โ all managed through a single LXD server.
Resource governance
Apply CPU, memory, storage and instance-count limits at the project level. Prevent one team's workloads from consuming the entire host's resources.
Project commands.
Everything you need to create, switch and manage LXD projects from the OrbitNova CLI.
Up and running with Projects.
Create isolated environments for every team or stage โ in seconds. No extra configuration needed beyond a single CLI command.