Platform concepts
This page collects the vocabulary used across the console, the CLI, the API, and the rest of the documentation. Read it before creating your first project: most configuration and billing decisions depend on these concepts.
Account, organization, and permissions
Account
An account identifies a person. It has a verified email, a password, optional two-factor authentication and, if you want to deploy from repositories, a GitHub connection. See Account settings.
Organization
The organization is where projects, billing, credit, members, and API keys live. The same account can belong to several organizations and switch between them in the console. Every project belongs to exactly one organization. See Organizations.
Roles and permissions
Each member gets a role (owner, assistant, or member) and, when needed, granular permissions per resource, such as a specific project, databases, or billing. The same permission model applies to people and API keys. See Granular permissions.
Organization API key
Key used by the API, the CLI, the GitHub Action, and agents through MCP. It belongs to the organization, receives only the scopes you grant, and can be revoked at any time. See API keys.
Projects
Project
A project is the unit you create, configure, monitor, and pay for. Each project has a type, a plan, a payment model, and a unique ID used by the CLI and the API.
Project types
| Type | What it is for | Where to learn |
|---|---|---|
| HTTP | Websites, APIs, workers, and applications in general | Deploy |
| PostgreSQL / MariaDB | Managed relational database | Database |
| Key-Value, Cache, and Queues | Managed Valkey for state, caching, and messaging | Managed services |
| Analytics | Managed ClickHouse for analytical queries | Analytics |
HTTP project source
An HTTP project is deployed from one of two sources, chosen at creation:
- GitHub repository: Zenifra builds your code (Node.js or Python) from a branch. See Deploy via GitHub.
- OCI image: you provide a ready image from a public or private registry. See Deploy via OCI image.
The source cannot be changed after creation.
Template
A template describes a ready application (image, port, variables, and optionally a database) that can be deployed in a few clicks. See Templates.
Preview environment
A temporary copy of an HTTP project created for a pull request or a preview key. It inherits the main project configuration and expires automatically. See Preview environments.
Capacity and runtime
Plan
The plan defines CPU, memory, included storage, and extra features such as a custom subdomain, advanced metrics, health checks, auto-scaling, and IP access control. The console always shows the plan features before you confirm.
Instance
An instance is a running copy of your application or database. HTTP projects can run 1 to 10 fixed instances, or scale automatically with auto-scaling. More instances increase capacity and availability, and also cost.
Exposure
HTTP projects are either public (they get a *.clients.zenifra.com address and accept custom domains) or private (no public route, ideal for workers and automations). See Network access.
Environment variables and storage
Environment variables keep configuration and secrets out of your code. Persistent storage keeps files across restarts and new versions.
Billing
Payment model
Each project is billed hourly, monthly, or yearly. Hourly billing gives more flexibility to change plan and storage; monthly and yearly billing reserve capacity for the contracted period. See Payment models.
Credit
Credit is the organization's prepaid balance, also used for AI consumption. See Managing payments.