Collaborative Serverless Deployment with Laravel Vapor Teams
Overview of Teams in Vapor
Prerequisites
To follow this guide, you need a basic understanding of
Key Libraries & Tools
- Vapor CLI: The primary command-line interface for interacting with the Vapor platform.
- AWS IAM: Credentials used to link specific teams to your cloud infrastructure.
- Laravel Framework: The core environment where your project code resides.
CLI Team Management Walkthrough
Before initializing a project, you must ensure your terminal is pointed at the correct team context.
# Check your current active team
vapor team:current
# List all teams you belong to
vapor team:list
# Switch to a different team context
vapor team:switch
Once you switch to your company team using vapor team:switch, you can safely run vapor init. This attaches the current project directory to the selected team's billing and AWS accounts rather than your personal ones.
Collaborator Permissions and Environments
You can add members in the Team Settings dashboard. Critically, invited members need a Vapor account but do not require a paid subscription of their own. You can toggle granular permissions, such as the ability to create new environments without allowing the creation of entirely new projects.
For example, a developer with environment-only permissions can run:
vapor env "feature-testing"
This creates a sandboxed environment for testing without compromising the project's root configuration.
Syntax Notes
Vapor uses a colon-less or space-separated syntax for many commands (e.g., vapor team current). However, standard Laravel-style colon syntax often works interchangeably. The CLI is context-aware; it reads the local vapor.yml to understand project links but relies on your global authentication to determine team access.
Tips & Gotchas
- AWS Linking: Remember that each team usually links to a unique AWSaccount to keep billing and resource limits distinct.
- Authorization Errors: If a team member sees "You are not authorized," check the permissions toggle in the dashboard. Permissions can be updated in real-time without the user needing to log out.
- Context Check: Always run
vapor team:currentbeforevapor initto prevent accidentally deploying a client site to your personal AWS account.
