Account and billing
Limits
Every limit Cloud enforces, from name lengths to open connections, with the sentence each refusal shows.
Updated
Every limit Cloud enforces, grouped by what it applies to. Where Cloud refuses something with a sentence of its own, the sentence is quoted so you can search this page for it. Prices, rates and the figures of each size are not here: they can change, so read them in the size picker and on Billing.
What has no set limit
Cloud sets no number on how many projects, services, domains or volumes an organization holds, or on how many replicas it runs in total. What an organization runs is bounded by its monthly limit, which refuses new paid work that would take its month past it, and stops the organization's paid services once what the month has been charged reaches it: every running container is charged by the hour, and every running database by the data it holds, as Billing explains.
Organizations
| What | Limit | Refused with |
|---|---|---|
| Organizations per person | 10, counting every one you own | "You can have up to 10 organizations. Contact support for more." |
| New organizations | 10 attempts an hour per person, refused ones included | "Too many new organizations at once. Try again in an hour." |
| Monthly limit | One for each organization, in US dollars, shown on its Billing; support raises it. Once what the month has been charged reaches it, the organization's paid services stop until the next month begins or the limit is raised (Stopped for billing) | "This would take this month to $27.40 against your $20 limit. Contact support to raise the limit.", with the organization's own amounts; once stopped, "Paid services in Kopi Tiga are stopped for billing because this month has reached its $20 limit. They start again when the next month begins, or sooner if support raises the limit." |
Organizations covers making and switching them.
Names
| What | Limit | Refused with |
|---|---|---|
| Organization name | 1 to 80 characters, each run of spaces counted as one, and different from your other organizations' names whatever the capitals | "An organization name is at most 80 characters." / "You already have an organization with that name." / "An organization name cannot contain control characters." |
| Project name | 1 to 60 characters, and an address no other project in the organization has | "A project name is at most 60 characters." / "You already have a project with that name." |
| Service name | 1 to 40 characters | "A service name is at most 40 characters." |
| Platform domain name | 3 to 63 lowercase letters, digits or hyphens, starting and ending with a letter or digit, not already used and not one Cahaves keeps | "Use 3 to 63 lowercase letters, digits or hyphens, starting and ending with a letter or digit." / "That name is kept for Cahaves. Choose another." / "That name is already in use. Choose another." |
| Volume name | 1 to 60 characters | "Name is too long (maximum is 60 characters)" |
| SSH key name | 1 to 64 characters | "Give the key a name of 1 to 64 characters." |
| Notification channel name | Up to 80 characters | |
| Database name and user name | A lowercase letter, then up to 31 lowercase letters, digits or underscores | "A database name is a lowercase letter, then up to 31 lowercase letters, digits or underscores." |
Services
| What | Limit | Refused with |
|---|---|---|
| Replicas | 1 to 10, for an application | "Replicas run from 1 to 10." |
| Port | 1 to 65535; 3000 until you change it | "A port is a whole number from 1 to 65535." |
| Install, build and start command | One line of up to 500 characters each | "A command is one line of at most 500 characters." |
| Environment | Up to 64 KB of text, one NAME=value per line | "The environment is text, one name=value on each line, at most 64 KB." |
| Compose file | Up to 256 KB | "A compose file is at most 256 KB." |
| Image reference | Up to 255 characters, with no spaces | "Name the image to run, such as nginx:alpine." |
| Build path and publish directory | Up to 255 characters, a directory inside the repository | |
| Watch paths | Up to 20 | "Watch a directory in the repository, such as /apps/web, at most 20 of them." |
| Health check path | Begins with /, and holds only the characters a URL path needs | "A health check path begins with / and holds only the characters a path needs, such as /health." |
| Compose stack size | Small and larger | |
| Catalogue application size | Small and larger | The application's name followed by "needs small or larger." |
A size's CPU and memory limits apply to an application's containers and to a database. A compose stack is charged at its size's rate, and a database at its size's rate per GB of data it holds. Sizes and replicas covers what each size means.
Deployments
| What | Limit |
|---|---|
| Deployments at once | One per service. Another is refused with "A deployment of this service is already running." |
| Longest deployment | Two hours. A deployment still building then ends with "The deployment did not finish within two hours, so Cloud stopped it." |
| A database's start | Two minutes from its deployment. Past that, "The database did not start within two minutes." |
Logs, terminal and metrics
| What | Limit |
|---|---|
| Runtime log, lines | 100, 300, 1000 or 5000 lines; 300 until you change Line limit |
| Runtime log, time range | The last hour, 6 hours, 24 hours, 7 days or 30 days; 30 days until you change Time range |
| Open logs and terminals | 8 at once per account, across every browser tab and every organization. One more closes with "Too many open connections. Close one and try again." The platform also holds a ceiling of its own, so the same sentence can appear with fewer open. |
| A log with nothing new | Closed after 10 minutes: "Closed after 10 minutes without output." |
| A terminal nobody types in | Closed after 30 minutes: "Closed after 30 minutes idle." |
| One message on a log or terminal connection | Up to 64 KiB; a larger one closes the connection |
| Terminal size | 80 columns by 24 rows, as programs inside see it |
| Metrics | Sampled every 30 seconds and kept for two days; shown as the last 30 minutes, 90 minutes or 6 hours. Applications and databases only. |
SSH
| What | Limit | Refused with |
|---|---|---|
| Keys per account | 20 | "An account holds at most 20 keys. Remove one first." |
| Accounts per key | One: a key added to one Cahaves Cloud account cannot be added to another | "That key is already added to a Cahaves Cloud account." |
| Key types | Ed25519, ECDSA, and RSA of at least 2048 bits | "Cloud accepts Ed25519, ECDSA and RSA keys of at least 2048 bits." |
| What a connection can do | Open an interactive shell in the service's first running container. Commands, scp, sftp and forwarding are not offered. | "Cahaves Cloud SSH opens an interactive shell only: commands, scp and sftp are not offered." |
Domains
| What | Limit |
|---|---|
| DNS checks | Every five minutes, up to 12 times, which is about an hour. After that the domain reads DNS needs attention and is not checked again until you press Check again. |
| Certificate checks | The first three a minute apart, then every five minutes, up to 12 in all. After that the domain reads HTTPS needs attention, until you press Check again. |
| Renewal | A certificate within seven days of expiring is checked again once a day. |
| What a domain serves | HTTPS, from the path /. Cloud does not take a certificate from you, and does not offer wildcard domains, redirects or routing by path. |
Databases
| What | Limit | Refused with |
|---|---|---|
| Password | 12 to 128 letters, digits, dots, hyphens, underscores or tildes | "A password is 12 to 128 letters, digits, dots, hyphens, underscores or tildes." |
| Public access port | 20000 to 29999, and free on the node the database runs on | |
| Name, user and version | Chosen before the database first starts, and fixed after that |
Volumes and backups
| What | Limit |
|---|---|
| Mount path | An absolute path inside the container, up to 200 characters |
| Where a volume attaches | Applications only. A database's and a compose stack's volumes are managed by the service. |
| Automatic backup, in the console | Daily, Weekly or Monthly: every 24, 168 or 720 hours. Monthly is every 30 days. |
| Backup schedule, through the API | Every 1 to 720 hours |
| Redis | No backups |
| MongoDB | The automatic backup covers only the default test database |
Notifications
| What | Limit |
|---|---|
| Delivery attempts | Up to 5, the retries 2, 4, 8 and 16 minutes apart. Only a refusal for too many requests, a server error at the other end or a failed DNS lookup is retried. |
| Webhook signing secret | 16 to 256 characters |
| Monthly limit email | Once a month for each organization, when what its month comes to reaches 80% of its limit |
Billing, GitHub and sign-in
| What | Limit |
|---|---|
| What an organization's month may come to | Its monthly limit, shown on its Billing; support raises it. Reaching it stops the organization's paid services; its free application and free database keep running |
| An unpaid month | A grace period from the failed charge, the close with no card or the end of the invoice's due date, then the organization's paid services stop. The email Cloud sends gives the date and time, in UTC (Stopped for billing) |
| Paid services with no card on file | The same grace period, from the first time Cloud finds paid services running in an organization billed by card with no card, then its paid services stop. The email Cloud sends gives the date and time, in UTC |
| A stop for an unpaid month or no card | 30 days in force, then the organization's paid services are archived: a final backup of each, then the service deleted. The final backups are kept 30 days, then deleted (Archived for billing) |
| Completing a sign-in | 20 a minute from one network address: "Too many attempts." |
| A GitHub install link | Valid for 15 minutes after you press Connect or Add account |
| GitHub repository and branch lists | Read again after five minutes, and kept for at most a day. A repository newly given to the Cahaves GitHub App can take up to five minutes to appear. |