Skip to content

Commit f00d73b

Browse files
committed
Project quotaswq:
1 parent b16cb9f commit f00d73b

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

docs/admin/Resource enforcement.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,26 @@ In either situation you're liable to run out of storage before inodes. On XFS sy
5555

5656
*If you're on XFS, don't worry counting inodes.*
5757

58+
### Project quotas
59+
**New in 3.2.44**
60+
61+
XFS supports a third quota tier, project quotas, which combine multiple filesystem paths into a unified quota. Aggregate usage may not exceed the project quota, both in blocks and inodes, resulting in complete utilization of resources. Reseller-backed accounts implicitly create a project prefixed with `group` while accounts may be individually assigned to a project.
62+
63+
When an account is under a project quota, the available space is either the space remaining within the quota group or quota project, whichever is less. Quotas in such situations are reported as "dynamic" in [`site:get-account-quota`](https://api.apiscp.com/Site_Module.html#_get_account_quota).
64+
65+
#### Assigning projects
66+
67+
A project is created using `diskquota:project-create <NAME>`. Once a project is defined, sites may be assigned by modifying `diskquota`,`group`. Quotas are set, in KB, with `diskquota:project-set NAME BHARD IHARD` for blocks, inodes.
68+
69+
```bash
70+
cpcmd diskquota:project-create devsites
71+
# Limit storage to 10 GB, 10000 inodes
72+
cpcmd diskquota:project-set devsites $((10*1024*1024)) 10000
73+
cpcmd diskquota:project-get devsites
74+
EditDomain -c diskquota,group=devsites wordpress.dev
75+
# Quota usage of wordpress.dev included within quota
76+
cpcmd diskquota:project-get devsites
77+
```
5878

5979
### XFS/Ext4 idiosyncrasies
6080

docs/admin/SSL.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,3 +359,12 @@ A certificate is only valid for the expiration dates it is authorized to serve.
359359
SANs are all hostnames bound to a certificate. -text generates significant data, so filter out the noise using `grep`:
360360
361361
`openssl s_client -connect apiscp.com:993 -servername apiscp.com | openssl x509 -noout -text | grep 'DNS:'`
362+
363+
## Common topics
364+
365+
### Server vs account SSL
366+
A single hostname certificate secures *common, shared* services: panel access, redirected panel services (webmail, phpMyAdmin, phpPgAdmin), and remote database access. The common name for this certificate is the server hostname retrieved with `net.hostname` [scope](Scopes.md). Wildcards are not supported for server SSL; **it is single-homed**.
367+
368+
Account certificates are configured after [creating an account](../INSTALL.md#adding-your-first-domain) in Nexus or with `AddDomain`. An account may host one or more domains that have a variety of subdomains (car.mydomain.com, house.mydomain.com, toilet.myrentalproperty.com, et cetera) that have different scopes. Accounts may be **multi-homed**. As such, accounts support wildcard certificates that allow multiple domains and subdomains.
369+
370+
Wildcard issuance requires DNS to be actively managed by the panel.

0 commit comments

Comments
 (0)