mirror of
https://github.com/cozystack/cozystack.git
synced 2026-11-04 19:17:20 +09:00
Pin the 1:1 equivalence between legacy flat preset names and their
instance-type counterparts in helm-unittest for three charts that
exercise different preset shapes:
- postgres — top-level only
- clickhouse — top + nested clickhouseKeeper preset
- opensearch — top + nested dashboards preset
Each case asserts that nano <-> t1.nano, small <-> t1.small,
medium <-> c1.small, large <-> c1.medium, and micro <-> t1.micro
render the same CPU and memory.
packages/apps/{clickhouse,opensearch}/Makefile gain a `test:` target
that calls helm unittest so hack/helm-unit-tests.sh actually runs the
new suites in CI; without it the suites would land as dead weight.
hack/check-rd-presets.sh enforces two invariants in `make unit-tests`:
- every packages/system/*-rd/cozyrds/*.yaml openAPISchema carries
the canonical 47-preset enum (40 instance-type + 7 legacy);
- no chart template carries a hardcoded legacy preset literal in
a defaultingSanitize (list "<legacy>" ...) form.
Both turn an accidental drop of a per-chart Makefile step or an
accidental legacy hardcode into a CI failure rather than silent
production-time validation rejection.
Co-authored-by: Matthieu ROBIN <matthieu@hidora.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>
Managed OpenSearch Service
Parameters
Common parameters
| Name | Description | Type | Value |
|---|---|---|---|
replicas |
Number of OpenSearch nodes in the cluster. | int |
3 |
resources |
Explicit CPU and memory configuration for each OpenSearch node. When omitted, the preset defined in resourcesPreset is applied. |
object |
{} |
resources.cpu |
CPU available to each node. | quantity |
"" |
resources.memory |
Memory (RAM) available to each node. | quantity |
"" |
resourcesPreset |
Default sizing preset used when resources is omitted. OpenSearch requires minimum 2Gi memory. |
string |
c1.medium |
size |
Persistent Volume Claim size available for application data. | quantity |
10Gi |
storageClass |
StorageClass used to store the data. | string |
"" |
external |
Enable external access from outside the cluster. | bool |
false |
topologySpreadPolicy |
How strictly to enforce pod distribution across nodes and zones. | string |
soft |
version |
OpenSearch major version to deploy. | string |
v2 |
Image configuration
| Name | Description | Type | Value |
|---|---|---|---|
images |
Container images used by the operator. | object |
{} |
images.opensearch |
OpenSearch image. | string |
"" |
Node roles configuration
| Name | Description | Type | Value |
|---|---|---|---|
nodeRoles |
Node roles configuration. | object |
{} |
nodeRoles.master |
Enable cluster_manager role. | bool |
true |
nodeRoles.data |
Enable data role. | bool |
true |
nodeRoles.ingest |
Enable ingest role. | bool |
true |
nodeRoles.ml |
Enable machine learning role. | bool |
false |
Users configuration
| Name | Description | Type | Value |
|---|---|---|---|
users |
Custom OpenSearch users configuration map. | map[string]object |
{} |
users[name].password |
Password for the user (auto-generated if omitted). | string |
"" |
users[name].roles |
List of OpenSearch roles. | []string |
[] |
OpenSearch Dashboards configuration
| Name | Description | Type | Value |
|---|---|---|---|
dashboards |
OpenSearch Dashboards configuration. | object |
{} |
dashboards.enabled |
Enable OpenSearch Dashboards deployment. | bool |
false |
dashboards.replicas |
Number of Dashboards replicas. | int |
1 |
dashboards.resources |
Explicit CPU and memory configuration for Dashboards. | object |
{} |
dashboards.resources.cpu |
CPU available to each node. | quantity |
"" |
dashboards.resources.memory |
Memory (RAM) available to each node. | quantity |
"" |
dashboards.resourcesPreset |
Default sizing preset for Dashboards. | string |
c1.small |