2026-10-12-native-check-revision
title: Verify the selected native deployment revision affects: dartway_cli: "0.25.0-dev.0" dartway_core_server: "0.22.0-dev.0"
Who is affected
Projects using the native Kamal/Studio deployment contract. Compose-only projects may record this note as not applicable. Optional call quotas require no adoption by themselves.
What to change
Wire the framework environment in the server entry point's DwServerSettings:
trustedProxyNetworks: env.server.trustedProxyNetworks,
behindProxy: env.server.httpBehindProxy,
deploymentVersion: env.server.deploymentVersion,
Declare trusted_proxy_networks with the actual kamal Docker network subnets in
each destination of deploy/config.yaml. Move any per-call nginx quota to
callRateLimits; native generation refuses remaining deploy/nginx.d/*.conf,
so review every policy before removing a snippet.
Run dartway deploy kamal, commit regenerated configurations and deploy/studio.yml.
The check runner must substitute {version} with the selected full commit SHA.
When invoking the check image directly, pass --version <full SHA> alongside
--project and --env. The worker remains outside-only and needs no SSH or Git.
Native Kamal supplies KAMAL_VERSION to the running API.
This must be a full commit SHA; tag-style versions are refused at startup.
On a local server without a native deployment revision, leave KAMAL_VERSION
unset rather than assigning a development label.
How to check
Run dartway deploy kamal --check, then
dartway deploy check --env <environment> --version <full SHA>. Confirm native
identity, routing, ingress trust and outside checks pass. GET/HEAD API /health
and app /dw/health must report ETag: "<full SHA>". Selecting a different SHA
must fail even while the old service returns 200. Data mount checks do not prove
data contents: a move from Compose still needs a backup restore proof.