Skip to content

Commit e28caf1

Browse files
add ed/os to storage isolation tenant doc
1 parent 501d66d commit e28caf1

1 file changed

Lines changed: 84 additions & 0 deletions

File tree

docs/self-managed/concepts/physical-tenants/storage-isolation.md

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,90 @@ tenanta:
5757
5858
<!--- **Pending benchmarks**: Specific resource consumption per tenant will be provided once performance benchmarks complete. --->
5959
60+
## Elasticsearch and OpenSearch storage
61+
62+
Each Physical Tenant can use a shared search cluster with isolated index prefixes, or a dedicated cluster per tenant.
63+
64+
### Configuration models
65+
66+
**Shared cluster with index prefix isolation** (recommended for cost-efficiency):
67+
68+
```yaml
69+
camunda:
70+
data:
71+
secondary-storage:
72+
type: elasticsearch # or opensearch
73+
elasticsearch:
74+
url: https://es.example.com:9200
75+
index-prefix: default
76+
physical-tenants:
77+
tenanta:
78+
data:
79+
secondary-storage:
80+
elasticsearch:
81+
index-prefix: tenanta # must be unique per tenant
82+
tenantb:
83+
data:
84+
secondary-storage:
85+
elasticsearch:
86+
index-prefix: tenantb
87+
```
88+
89+
**Separate cluster per tenant** (maximum isolation):
90+
91+
```yaml
92+
camunda:
93+
data:
94+
secondary-storage:
95+
type: elasticsearch
96+
elasticsearch:
97+
url: https://es-default.example.com:9200
98+
index-prefix: default
99+
physical-tenants:
100+
tenanta:
101+
data:
102+
secondary-storage:
103+
elasticsearch:
104+
url: https://es-tenanta.example.com:9200
105+
index-prefix: tenanta
106+
```
107+
108+
**OpenSearch with AWS credentials** (shared credentials at root, override per tenant):
109+
110+
```yaml
111+
camunda:
112+
data:
113+
secondary-storage:
114+
type: opensearch
115+
opensearch:
116+
url: https://os.example.com:9200
117+
aws-enabled: true
118+
aws-region: eu-west-1
119+
provider-auth:
120+
aws:
121+
role-arn: arn:aws:iam::111111111111:role/default-role
122+
web-identity-token-file: /var/run/secrets/default-token
123+
physical-tenants:
124+
tenanta:
125+
data:
126+
secondary-storage:
127+
opensearch:
128+
index-prefix: tenanta
129+
provider-auth:
130+
aws:
131+
role-arn: arn:aws:iam::222222222222:role/tenant-a-role
132+
# web-identity-token-file inherited from root if not set here
133+
```
134+
135+
Static AWS credentials (`access-key` + `secret-key`) and web identity (IRSA via `role-arn` + `web-identity-token-file`) are mutually exclusive. When no credentials are configured, the AWS SDK default provider chain is used.
136+
137+
### Validation and operations
138+
139+
- **Configuration**: Duplicate index prefixes across tenants cause a startup error.
140+
- **Pre-startup**: Ensure each tenant's index prefix is unique and the cluster is reachable before deploying.
141+
- **Backup**: ES/OS backups operate at the cluster level via the web applications backup endpoint. Per-tenant ES/OS backup is not yet available and is planned as part of the management API.
142+
- **Resource scaling**: Each tenant's search client is independent; monitor index size per prefix and set retention policies independently per tenant.
143+
60144
## Document Store storage
61145

62146
Store documents globally with per-tenant subpaths, or use dedicated stores per tenant.

0 commit comments

Comments
 (0)