Skip to content

Merge v16-stable into feat/engine-self-hosted-v16-sandboxes - #888

Merged
Bagatur (baskaryan) merged 19 commits into
feat/engine-self-hosted-v16-sandboxesfrom
chore/merge-v16-stable-into-engine
Jul 30, 2026
Merged

Bagatur (baskaryan) merged 19 commits into
feat/engine-self-hosted-v16-sandboxesfrom
chore/merge-v16-stable-into-engine

Conversation

@baskaryan

Copy link
Copy Markdown
Contributor

The engine branch forked at #591 and had fallen 18 commits behind v16-stable. Reconciling that is a prerequisite for targeting v16-stable at all, and it is easier to review on its own than folded into the feature PR.

After this the branch is 0 behind / 76 ahead.

Conflicts

file resolution
values.yaml keep the engineInsightsAgentImage rename, take v16-stable's image tags
_helpers.tpl keep the engine env block, add v16-stable's AGENT_{POSTGRES,REDIS}_IAM_AUTH_PROVIDER vars
validate.yaml keep both migration guards; the new IAM-provider check reads engineInsightsAgent, where postgres/redis moved to
agent_iam_provider_test.yaml same repoint, so its fixtures resolve
README.md regenerated with helm-docs

Deployment note

v16-stable removes backend.agentBootstrap, and its guard fails on the key's presence, not its value. self-hosted-ci was setting it, so its deploy would have aborted the moment this landed. Already removed in langchain-ai/deployments#34696 (merged), along with the now-unused engine.cliEndpoint.

Test Plan

  • helm unittest charts/langsmith — 248/248
  • helm lint clean
  • Rendered against self-hosted-ci's real values post-#34696: exit=0, no LANGSMITH_CLI_ENDPOINT, LANGCHAIN_PLATFORM_ENDPOINT=https://eks.smith.langchain.dev/api
  • Insights-only (engine off) still renders

ben (ben11211) and others added 19 commits July 27, 2026 08:05
* Bump langsmith appVersion 0.16.21rc1 -> 0.16.22rc1

* Bump langsmith chart version to 0.16.0-rc.17
* fix(langsmith): normalize SmithDB OTLP endpoint scheme

Derive the URI scheme required by SmithDB from the chart's TLS setting while preserving the bare endpoint consumed by existing LangSmith services.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(langsmith): allow disabling SmithDB tracing

Keep shared TLS tracing available to LangSmith services by adding a SmithDB-specific opt-out and validating TLS only when SmithDB export remains enabled.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(langsmith): disable SmithDB tracing with TLS

Keep TLS tracing available to supported services while SmithDB falls back to console logging until its OTLP exporter supports TLS.

Co-authored-by: Cursor <cursoragent@cursor.com>

* refactor(langsmith): simplify SmithDB tracing condition

Use the chart's explicit TLS setting as the source of truth for SmithDB exporter compatibility.

Co-authored-by: Cursor <cursoragent@cursor.com>

* docs(langsmith): clarify SmithDB TLS fallback

Distinguish disabled OTLP tracing from console-formatted stdout logging.

Co-authored-by: Cursor <cursoragent@cursor.com>

* refactor(langsmith): simplify SmithDB endpoint normalization

Make plaintext normalization explicit now that TLS compatibility is handled before rendering the endpoint.

Co-authored-by: Cursor <cursoragent@cursor.com>

* refactor(langsmith): prepend SmithDB OTLP scheme directly

Rely on the chart's bare endpoint contract instead of accepting protocol-bearing values.

Co-authored-by: Cursor <cursoragent@cursor.com>

* feat(langsmith): enable SmithDB OTLP TLS

Derive SmithDB's required endpoint URI scheme from the shared TLS setting while preserving the bare endpoint used by other services.

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
* feat: configure agent database IAM providers

Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>

* fix: validate agent IAM providers

Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>

* fix: nest agent IAM providers under external databases

Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>

* chore: bump v16 chart version to 0.16.0-rc.18

Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>

---------

Co-authored-by: joaquin-borggio-lc <213688804+joaquin-borggio-lc@users.noreply.github.com>
Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
…[v16-stable] (#856)

* fix(langsmith): template TRIGGER_SERVER_ENDPOINT in shared ConfigMap

v16-stable port. Fleet trigger proxy/client in platform-backend and the
tool-server need TRIGGER_SERVER_ENDPOINT. Wire the in-cluster
trigger-server URL into the shared ConfigMap when fleet +
fleetTriggerServer are enabled so customers do not need to set commonEnv.

Co-authored-by: Cursor <cursoragent@cursor.com>

* chore: drop TRIGGER_SERVER_ENDPOINT unittest

Co-authored-by: Cursor <cursoragent@cursor.com>

* chore: drop TRIGGER_SERVER_ENDPOINT config-map comments

Co-authored-by: Cursor <cursoragent@cursor.com>

* chore: bump chart version by one (rc.19)

Only increment from v16-stable's rc.18 instead of jumping to rc.22.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
) (#860)

Extends the main -config ConfigMap with the LangSmith app feature-flag envs
that differ from code defaults for a stable SmithDB-backed deployment. New
SMITHDB_* / RUN_RULES_SMITHDB_* keys are gated on smithdb.enabled (same block
as SMITHDB_CLUSTER_MANAGER_ENABLED), so ClickHouse-only clusters keep app
code defaults. RUN_RULES_TWO_POINTER_BACKFILL_TENANTS is non-SmithDB-specific
and emitted unconditionally.

Values.yaml gains typed knobs under smithdb.langsmith.* and
config.runRules.twoPointerBackfillTenants for operator overrides.
Set the standard OpenTelemetry insecure flag from useTls so Python exporters connect correctly to plaintext collectors while preserving TLS behavior.
Advance v16-stable chart defaults to the newly published 0.16.24rc1 images and bump the chart package to 0.16.0-rc.20.

Co-authored-by: Cursor <cursoragent@cursor.com>
… on use (#841)

Remove the bundled agent-bootstrap Job (backend.agentBootstrap) and its glue:
the bootstrap-job/rbac templates, its test, its values, the three
agentBootstrap.* helpers, and the -agent-builder-config configMap mounts it
created at runtime. Standalone agents (top-level fleet/insights/polly
deployments) replace it, so config.agentBuilder is retained (fleet uses it as
fallback defaults).

Add a validate.yaml gate: if backend.agentBootstrap is still set, fail with a
message directing users to contact LangChain support for migration guidance.
#846)

* fix(langsmith): set AUTH_ENDPOINT on the agent gateway

The gateway resolves frontend bearer tokens against the auth service and
reads AUTH_ENDPOINT, which the chart never set. Whenever the gateway
cannot build a local auth backend it panics at startup with:

  panic: gateway frontend bearer authentication requires AUTH_ENDPOINT
         for AUTH_TYPE "mixed"

Point AUTH_ENDPOINT at the platform-backend service, the same target
LANGSMITH_AUTH_ENDPOINT already uses in the shared ConfigMap. Scoped to
the gateway Deployment rather than the ConfigMap so the other services'
resolution of AUTH_ENDPOINT is unchanged.

Chart version goes to rc.19 rather than rc.18 so this branch and main do
not publish different charts under the same version.

* refactor(langsmith): move AUTH_ENDPOINT to the shared ConfigMap

AUTH_ENDPOINT was set as an inline env var on the agent gateway Deployment
only. Move it to the shared ConfigMap alongside GO_ENDPOINT and
LANGSMITH_AUTH_ENDPOINT, which already resolve to the same platform-backend
service.

The gateway already consumes the shared ConfigMap via envFrom, so it still
receives the value. Setting it centrally also covers every other consumer of
AUTH_ENDPOINT instead of the single Deployment we happened to patch.

Replace the gateway-scoped test with a ConfigMap suite covering the key's
presence across each authType branch, that it matches LANGSMITH_AUTH_ENDPOINT,
custom platformBackend name/port/clusterDomain, and the gateway's envFrom
reference that delivers it.
Advance v16-stable chart defaults to the newly published 0.16.25rc1
images and bump the chart package to 0.16.0-rc.22.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Alex Kira <43946+akira@users.noreply.github.com>
Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
#869)

Set SMITHDB_UPGRADE_CRON_ENABLED=true into the shared LangSmith
ConfigMap when smithdb.enabled is true

(cherry picked from commit e17caa5)
)

Bakes RULES_REDIS_TRACKING_ENABLED=true and
RULES_REDIS_TRACKING_MULTIPART_ENABLED=true into the shared LangSmith
ConfigMap when smithdb.langsmith.ingestion.enabled is true — the "dual"
(ClickHouse + SmithDB) and "smithdb only" ingestion modes.

The Run Rules scheduler already reads from Redis (gated in #848 by
SMITHDB_RULES_REDIS_READ_ENABLED / _THREAD_ variants), but the ingestion
pipeline was not writing tracking entries there. These app-side flags
default to false, so we opt in from the chart whenever SmithDB is doing
the ingesting.

Placed in the existing `{{- if .Values.smithdb.langsmith.ingestion.enabled }}`
block alongside SMITHDB_MUTATIONS_SERVICE_URL / SMITHDB_INGESTION_SERVICE_URL,
so ClickHouse-only clusters remain on app code defaults (both false).

Unittest coverage: positive assertions in the dual-mode and smithdb-only
ingestion cases; notExists assertions in the disabled case.

Co-authored-by: Anirudh Satish <asatish@langchain.dev>
Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
Give the chart-managed migration TaskDB guaranteed CPU and memory so it does not run with BestEffort QoS.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: ben <1986620+ben11211@users.noreply.github.com>
Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
* feat: add priorityClassName to StatefulSets

Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>

* feat: add priorityClassName to deployments

Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>

* chore: align priorityClassName placement

Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>

* ci: rerun transient helm repository check

Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>

---------

Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
Set RUN_RULES_QUERY_LIMIT=250 in the shared LangSmith ConfigMap when
smithdb.enabled is true, covering the "dual" (ClickHouse + SmithDB) and
"SmithDB only" self-hosted modes. Pure-ClickHouse installs keep the
application default.
The branch forked at #591 and was 18 commits behind, which has to be
reconciled before it can target v16-stable.

Conflicts:
- images: keep the engineInsightsAgentImage rename, take v16-stable's tags
- insights.extraEnv: keep the engine block, add the IAM auth provider vars
- validate.yaml: keep both migration guards; the IAM provider check reads
  engineInsightsAgent, where postgres/redis moved to
- agent_iam_provider_test.yaml: same, so its fixtures resolve
- README.md: regenerated with helm-docs

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@baskaryan
Bagatur (baskaryan) requested a review from a team as a code owner July 30, 2026 21:54
@baskaryan
Bagatur (baskaryan) merged commit 24312ce into feat/engine-self-hosted-v16-sandboxes Jul 30, 2026
3 of 6 checks passed
@baskaryan
Bagatur (baskaryan) deleted the chore/merge-v16-stable-into-engine branch July 30, 2026 21:55
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.

6 participants