Skip to content

fix(ontoserver): remove allowScaledReadWrite, scaled read-write is unsupported - #15

Merged
edeati merged 1 commit into
masterfrom
fix/remove-allow-scaled-read-write
Aug 13, 2026
Merged

fix(ontoserver): remove allowScaledReadWrite, scaled read-write is unsupported#15
edeati merged 1 commit into
masterfrom
fix/remove-allow-scaled-read-write

Conversation

@edeati

@edeati edeati commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Reported: scaled read-write is not supported, and there should be no public documentation of any kind of an allowScaledReadWrite option (ontoserver.internal.deployment.scaledReadOnly is not public).

The report is correct, and confirmed against the Ontoserver sources

ProviderBase.checkReadOnly() throws on readonly || (scaled && scaledReadonly), and scaledReadonly defaults to true. So setting ontoserver.deployment.scaled makes the server reject writes regardless of anything else — a scaled read-write server is not a topology that exists.

The field's own comment upstream says it exists only "to allow internal experimentation with scaled read-write deployment." It is not a public knob, and the chart should not have shipped a public option built on top of it.

What changed

Removed entirely, not just undocumented:

  • ontoserver.deployment.allowScaledReadWrite — the value and its values.schema.json entry
  • examples/aks/scaled-rw-envoy-experimental.yaml and examples/eks/scaled-rw-envoy-experimental.yaml — both existed only to demonstrate the flag
  • The escape hatch in validate-values.yaml. The guard now keys on type: scaled + isReadOnly: false alone, and the failure message no longer tells the reader how to bypass it
  • Every public mention: the constraints bullet, the params table, and the isReadOnly description that cross-referenced it

Emphasis added rather than just deleted, since "unsupported" was previously a footnote under an opt-in:

  • The Deployment Modes section now opens with a callout stating scaled deployments are read-only, that this is enforced by Ontoserver rather than by the chart, and that there is no flag to override it
  • The mode matrix labels both scaled cells read-only
  • Unsupported configurations gains a leading any / scaled / any / any row for read-write

ontoserver.internal.deployment.scaledReadOnly now renders as a constant "true" with a comment marking it internal. Its false branch was only reachable through the flag being removed. It still matches the upstream default.

Verification

  • helm lint clean; helm unittest 271 pass
  • The opt-in test became a regression test: type: scaled + isReadOnly: false + allowScaledReadWrite: true now fails to render with the new message, proving the flag is inert rather than merely undocumented
  • Every tracked example under charts/ontoserver/examples/ still renders
  • A scaled read-only render is unchanged apart from the constant env var

@edeati
edeati force-pushed the fix/remove-allow-scaled-read-write branch from 3520b97 to d41ba1a Compare August 13, 2026 23:22
@edeati edeati changed the title feat(ontoserver)!: remove allowScaledReadWrite, scaled read-write is unsupported fix(ontoserver): remove allowScaledReadWrite, scaled read-write is unsupported Aug 13, 2026
…supported

Scaled deployments are read-only. Ontoserver rejects writes whenever
ontoserver.deployment.scaled is set, so a scaled read-write server is not a
topology that can be deployed. The chart nonetheless exposed
ontoserver.deployment.allowScaledReadWrite as an opt-out from its own guard, and
shipped two scaled read-write example values files that relied on it.

Removes the value, its schema entry, both example files, and every public
mention. The render-time guard no longer offers an escape hatch, and the README
now leads the deployment-modes section with the constraint rather than burying
it in a footnote. The scaledReadOnly env var collapses to a constant, since the
read-write branch is now unreachable.

Typed as a fix rather than a breaking change: the option was inert, so nothing
that worked is being taken away. A values file still carrying
allowScaledReadWrite: true alongside type: scaled and isReadOnly: false now
fails to render instead of deploying a server that rejects every write. Migrate
by loading content with a single-instance read-write deployment and serving it
scaled and read-only.
@edeati
edeati force-pushed the fix/remove-allow-scaled-read-write branch from d41ba1a to 5d5b97a Compare August 13, 2026 23:28
@edeati
edeati merged commit 9c3c315 into master Aug 13, 2026
17 of 18 checks passed
@edeati
edeati deleted the fix/remove-allow-scaled-read-write branch August 13, 2026 23:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants