User and Project Management - davidgb8246/RapidRollout GitHub Wiki
👥 User and Project Management
This section explains how users, roles, and project lifecycles are managed in RapidRollout. Understanding these behaviors helps ensure safe and predictable deployments.
🔐 Roles and Access Control
RapidRollout operates with two roles:
🛠 Administrator
- Defined by being a Django superuser.
- Can create new user accounts via a dedicated "Manage Users" section.
- From the main RapidRollout interface, administrators can only manage their own projects, just like regular users.
👤 User
- Can only access and manage their own projects.
- Can create, deploy, and update projects linked to their account.
- Can change their email and password in the dashboard section.
🧩 Project Ownership and Linux Integration
When a user creates a project and performs the first deployment, RapidRollout automatically:
- Creates a corresponding Linux system user.
- Saves all deployments under that Linux user's
/home
directory.- Example path:
/home/rapidrollout-abc123/MyApp/
- Example path:
This isolation ensures file system separation and secure deployment environments per user.
🗑 What Happens When a User Is Deleted?
When a user is removed from the RapidRollout panel by an administrator:
- All of the user’s projects are stopped and deleted.
- The associated project folders under the Linux user’s home directory are removed.
- The Linux system user associated with the account is deleted after all projects are destroyed.
⚠️ Note: Private files stored outside the user’s home directory (e.g., files saved using absolute paths) are not automatically deleted and must be managed manually.
⚠️ This cleanup prevents orphaned processes and frees system resources.
📋 Best Practices for Admins
- Use the built-in "Users" page to manage access easily.
- Use the Django Admin Panel if deeper control over user or project models is needed.
- Before deleting users, make sure you're aware of all their active deployments.
🔐 Security and Isolation
Each user’s environment is isolated at the system level. This means:
- All files and containers are namespaced to the Linux user linked to the account.
- Deployments happen in protected directories scoped per user.
🧭 Navigating to User Management
Administrators can manage users by clicking "Manage Users" in the main navigation bar, where they can:
- Create new user accounts.
- Edit or delete existing users.
By understanding how users and projects are tied together, administrators can safely manage deployment environments while maintaining strong system hygiene and security.