UCloud logo UCloud logo UCloud
v2025.1.0
  1. UCloud/Core
  2. 1. Introduction
  3. 2. Projects
  4. 3. Accounting
  5. 4. Orchestration
  6. UCloud/IM for Slurm-based HPC
  7. 5. Installation
  8. 6. Architecture and Networking
  9. 7. User and Project Management
  10. 8. Filesystem Integration
    1. 8.1. Inter-provider file transfers
  11. 9. Slurm Integration
    1. 9.1. Application Management
    2. 9.2. Built-in Applications
  12. 10. Reference
    1. 10.1. Configuration
    2. 10.2. CLI
  13. 11. Appendix
    1. 11.1. Built-in Application Index
  14. UCloud/IM for Kubernetes
  15. 12. Installation
  16. 13. Architecture and Networking
  17. 14. Filesystem Integration
  18. 15. Compute Jobs
    1. 15.1. Public Links
    2. 15.2. Public IPs
    3. 15.3. License Servers
    4. 15.4. SSH Servers
  19. 16. Integrated applications
    1. 16.1. Syncthing
    2. 16.2. Integrated terminal
  20. 17. Reference
    1. 17.1. Configuration
  21. H: Procedures
  22. 18. H: Procedures
  23. 19. H: Introduction
  24. 20. H: Auditing
  25. 21. H: Auditing scenario
  26. 22. H: GitHub actions
  27. 23. H: Deployment
  28. 24. H: 3rd party dependencies (risk assesment)
  1. Links
  2. Source Code
  3. Releases

Projects

UCloud’s project model is the foundation for collaboration, resource allocation, accounting, and access control across the platform. From a developer perspective, projects act as logical workspaces that group users, define resource boundaries, and provide contextual scope for operations. Each request in UCloud is executed within the context of a particular project, which determines the resources and permissions available for that action. If no project context is specified, operations run in the user’s personal scope, known as the personal workspace.

A project consists of a collection of members with defined roles. Every project includes exactly one Principal Investigator (PI) who is responsible for managing the project, adding and removing members, and approving grant applications for resources. Projects can also include administrators and regular members, each with progressively limited management privileges.

Within a project, users can organize collaborators into groups, which serve as finer-grained permission units. UCloud automatically maintains special groups (such as “All Users”) that providers use when registering and resolving resource access.

Projects are also the core target for accounting and resource allocation. When a project is approved, it is allocated products such as compute, storage, software licenses, or public IPs. The PI and project administrators can view and manage these allocations through UCloud’s management interface, and statistics about usage over time are available for monitoring and reporting.

Projects are, in some cases, also synchronized with service providers. For example, using the UCloud/IM for Slurm-based HPC integration, users and projects are mapped directly to their Unix equivalent. This is illustrated below and explained more in-depth in the corresponding documentation.

UCloud projects are sometimes mapped into corresponding Unix groups.

Projects are primarily created through grant applications, as explained in the next chapter.

Glossary and developer quick-start

The relevant code can be found in the Core and in the shared project. We recommend you start here:

  • API and models: shared/foundation/projects.go.
  • Implementation: core2/foundation/projects.go.

Glossary:

TermDescription
ProjectShared collaboration space. Consists of project groups and members.
Project memberA member of a project. Each member has a role (PI, admin or user). Each project has exactly 1 PI.
Project groupA sub-division of members in a project. Members of a group must be a member of the associated project.
InviteAn invitation sent directly to a user to participate in a project collaboration.
Invite linkA link usede to join a project. Preferred over direct project invites due to ease of use.
Previous Introduction
Next Accounting