Organizations
Multi-tenant model and team management in StrictOps
Organizations
Organizations are the top-level entity in StrictOps. They provide tenant isolation, team management, and billing boundaries.
What is an Organization?
An organization represents a company or team using StrictOps. All resources (projects, deployments, integrations, users) belong to an organization.
When you sign up for StrictOps, an organization is automatically created for you.
Multi-Tenant Model
StrictOps is a multi-tenant platform:
- Each organization's data is isolated from others
- AWS resources are deployed to the organization's own AWS account
- API requests are scoped to the authenticated user's organization
Users and Memberships
Users belong to organizations through memberships. Each membership has a role:
| Role | Description |
|---|---|
strictops_admin | Full access to all StrictOps features |
customer | Standard user access |
A user can belong to multiple organizations with different roles in each.
Subscription Tiers
Organizations have a subscription tier that determines available features and limits:
| Tier | Description |
|---|---|
FREE | Limited deployments, basic features |
STARTER | Increased limits, standard support |
PROFESSIONAL | Higher limits, priority support |
ENTERPRISE | Custom limits, dedicated support |
Organization Resources
An organization owns:
| Resource | Description |
|---|---|
| Projects | Groups of related services and environments |
| AWS Connections | IAM roles for deploying to the org's AWS account |
| GitHub Installations | GitHub App installations for repo access |
| Deployments | All deployment history for the organization |
| API Tokens | Authentication tokens for programmatic access |
| Alert Channels | Notification channels for monitoring alerts |
| Audit Events | Activity log for compliance and debugging |
Projects
Projects are the primary organizational unit within an organization. Each project:
- Contains one or more services defined by
strictops.yml - Has its own set of environments (e.g., dev, staging, production)
- Can be linked to an AWS connection for deployment
- Tracks its own deployment history
- Manages resources like databases, storage, queues, and caches
See Stack Strategies for how project environments are grouped into CloudFormation stacks.
Creating an Organization
Organizations are created automatically when:
- A new user signs up (creates their first organization)
- The
GET /auth/meendpoint is called for a user without an organization
The first user becomes an admin of the organization.
Rate Limiting
API requests are rate-limited per organization to ensure fair usage. Different endpoints have different rate limits (e.g., deployment requests are more limited than read operations).
API Reference
See the Auth API in Swagger for endpoint details.
Relationship to Other Entities
- Users belong to organizations through memberships
- Projects contain services, environments, and resources
- AWS Connections link the organization to their AWS account
- GitHub Installations link the organization to their GitHub account
- Deployments are scoped to an organization and project