Skip to content

Commit f9d96f3

Browse files
authored
Merge pull request #546 from NVIDIA/xutongr/sync
sync main
2 parents 99610ad + e6db441 commit f9d96f3

346 files changed

Lines changed: 2821 additions & 57615 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/pr-checks.yaml

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,7 @@ jobs:
6262
- 'cookbook/**'
6363
ui:
6464
- '.github/workflows/pr-checks.yaml'
65-
- 'BUILD'
66-
- 'MODULE.bazel'
67-
- 'bzl/**'
68-
- 'ui/**'
65+
- 'src/ui/**'
6966
7067
#######################
7168
# CI Tests #
@@ -125,7 +122,7 @@ jobs:
125122
126123
- name: Run Tests
127124
run: |
128-
bazel test --test_output=errors -- //... -//ui/...
125+
bazel test --test_output=errors -- //...
129126
130127
ci-internal:
131128
timeout-minutes: 30
@@ -212,8 +209,7 @@ jobs:
212209
--test_env=TESTCONTAINERS_HOST_OVERRIDE=docker \
213210
--test_output=errors \
214211
-- \
215-
//... \
216-
-//ui/...
212+
//...
217213
218214
- name: Docker cleanup
219215
if: always()
@@ -376,17 +372,28 @@ jobs:
376372
with:
377373
lfs: true
378374

379-
- name: Setup Bazel
380-
uses: bazel-contrib/setup-bazel@4fd964a13a440a8aeb0be47350db2fc640f19ca8
375+
- name: Setup pnpm
376+
uses: pnpm/action-setup@v4
381377
with:
382-
bazelisk-cache: true
383-
bazelisk-version: 1.27.0
384-
disk-cache: ${{ github.workflow }}
385-
repository-cache: true
386-
external-cache: |
387-
manifest:
388-
npm: ui/pnpm-lock.yaml
378+
package_json_file: src/ui/package.json
379+
380+
- name: Setup Node.js
381+
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
382+
with:
383+
node-version-file: src/ui/.nvmrc
384+
cache: pnpm
385+
cache-dependency-path: src/ui/pnpm-lock.yaml
386+
387+
- name: Cache Next.js build
388+
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
389+
with:
390+
path: src/ui/.next/cache
391+
key: nextjs-${{ hashFiles('src/ui/pnpm-lock.yaml') }}-${{ hashFiles('src/ui/src/**') }}
392+
restore-keys: |
393+
nextjs-${{ hashFiles('src/ui/pnpm-lock.yaml') }}-
389394
390-
- name: Build UI
395+
- name: Validate UI
396+
working-directory: src/ui
391397
run: |
392-
bazel build //ui/...
398+
pnpm install --frozen-lockfile
399+
pnpm validate

BUILD_AND_TEST.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<!--
2-
SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
33
44
Licensed under the Apache License, Version 2.0 (the "License");
55
you may not use this file except in compliance with the License.
@@ -146,8 +146,8 @@ bazel run @osmo_workspace//src/service/worker:worker_push_x86_64
146146
# OSMO Backend Operators
147147
bazel run @osmo_workspace//src/operator:listener_push_x86_64 # Image name: backend-listener
148148
bazel run @osmo_workspace//src/operator:backend_worker_push_x86_64 # Image name: backend-worker
149-
# OSMO UI
150-
bazel run @osmo_workspace//ui:web_ui_push_x86_64 # Image name: web-ui
149+
# OSMO UI (built via Docker)
150+
bazel run @osmo_workspace//src/ui:build_push_web_ui_x86_64 # Image name: web-ui
151151
# OSMO Runtime
152152
bazel run @osmo_workspace//src/runtime:init_push_x86_64 # Image name: init-container
153153
# OSMO Client
@@ -169,8 +169,8 @@ bazel run @osmo_workspace//src/service/worker:worker_push_arm64
169169
# OSMO Backend Operators
170170
bazel run @osmo_workspace//src/operator:listener_push_arm64 # Image name: backend-listener
171171
bazel run @osmo_workspace//src/operator:backend_worker_push_arm64 # Image name: backend-worker
172-
# OSMO UI
173-
bazel run @osmo_workspace//ui:web_ui_push_arm64 # Image name: web-ui
172+
# OSMO UI (built via Docker)
173+
bazel run @osmo_workspace//src/ui:build_push_web_ui_arm64 # Image name: web-ui
174174
# OSMO Runtime
175175
bazel run @osmo_workspace//src/runtime:init_push_arm64 # Image name: init-container
176176
# OSMO Client

DEV.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<!--
2-
SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
33
44
Licensed under the Apache License, Version 2.0 (the "License");
55
you may not use this file except in compliance with the License.
@@ -45,7 +45,7 @@ bazel run @osmo_workspace//run:start_service -- --mode bazel
4545
This command:
4646

4747
- Creates postgres, redis, and localstack-s3 docker containers if they do not exist
48-
- Starts core OSMO services (osmo, ui, router) using bazel
48+
- Starts core OSMO services (osmo, router) using bazel and the UI using pnpm (from `src/ui/`)
4949

5050
### Start OSMO Backend
5151

MODULE.bazel

Lines changed: 1 addition & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -327,15 +327,7 @@ oci.pull(
327327
"linux/arm64",
328328
],
329329
)
330-
oci.pull(
331-
name = "node_22_distroless",
332-
digest = "sha256:9b6cc2cad6cd1a0008c14ca3edacd5929839b7a06a5d530036437c0ed257f3b2",
333-
image = BASE_DISTROLESS_IMAGE_URL + "node:22-v4.0.2",
334-
platforms = [
335-
"linux/amd64",
336-
"linux/arm64",
337-
],
338-
)
330+
339331
use_repo(
340332
oci,
341333
"distroless_python3_10",
@@ -344,9 +336,6 @@ use_repo(
344336
# "distroless_python3_10_dev",
345337
# "distroless_python3_10_dev_linux_amd64",
346338
# "distroless_python3_10_dev_linux_arm64_v8",
347-
"node_22_distroless",
348-
"node_22_distroless_linux_amd64",
349-
"node_22_distroless_linux_arm64",
350339
"ubuntu_22_04",
351340
"ubuntu_22_04_linux_amd64",
352341
"ubuntu_22_04_linux_arm64",
@@ -376,40 +365,3 @@ wheel_requires(
376365
name = "osmo_wheel_requires",
377366
requirements_txt = "//src:requirements.txt",
378367
)
379-
380-
################
381-
# JavaScript #
382-
################
383-
384-
bazel_dep(name = "aspect_rules_js", version = "2.3.5")
385-
386-
# pnpm (https://pnpm.io/)
387-
# Replaces `npm import`
388-
# bazel run -- @pnpm//:pnpm --dir $PWD import
389-
pnpm = use_extension("@aspect_rules_js//npm:extensions.bzl", "pnpm")
390-
use_repo(pnpm, "pnpm")
391-
392-
# Node.js
393-
bazel_dep(name = "rules_nodejs", version = "6.5.0")
394-
395-
node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node")
396-
use_repo(node, "nodejs_linux_amd64")
397-
use_repo(node, "nodejs_linux_arm64")
398-
use_repo(node, "nodejs_darwin_arm64")
399-
node.toolchain(node_version = "22.17.1")
400-
401-
# npm
402-
npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm")
403-
npm.npm_translate_lock(
404-
name = "npm",
405-
data = [
406-
"//ui:package.json",
407-
"//ui:pnpm-lock.yaml",
408-
],
409-
npm_package_lock = "//ui:package-lock.json",
410-
npmrc = "//ui:.npmrc",
411-
pnpm_lock = "//ui:pnpm-lock.yaml",
412-
update_pnpm_lock = False,
413-
verify_node_modules_ignored = "//:.bazelignore",
414-
)
415-
use_repo(npm, "npm")

deployments/charts/quick-start/values.yaml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -620,6 +620,18 @@ service:
620620
## Enable OTEL collector sidecar for metrics and tracing
621621
##
622622
enabled: false
623+
## OAuth2 Proxy sidecar configuration
624+
##
625+
oauth2Proxy:
626+
## Enable OAuth2 Proxy sidecar container
627+
##
628+
enabled: false
629+
## Authorization sidecar configuration
630+
##
631+
authz:
632+
## Enable authorization sidecar
633+
##
634+
enabled: false
623635
## Rate limiting sidecar configuration
624636
##
625637
rateLimit:
@@ -674,6 +686,12 @@ web-ui:
674686
## Enable Envoy proxy sidecar container
675687
##
676688
enabled: false
689+
## OAuth2 Proxy sidecar configuration
690+
##
691+
oauth2Proxy:
692+
## Enable OAuth2 Proxy sidecar container
693+
##
694+
enabled: false
677695

678696
## Router service configuration
679697
##
@@ -765,6 +783,18 @@ router:
765783
## Enable log agent sidecar for centralized log collection
766784
##
767785
enabled: false
786+
## OAuth2 Proxy sidecar configuration
787+
##
788+
oauth2Proxy:
789+
## Enable OAuth2 Proxy sidecar container
790+
##
791+
enabled: false
792+
## Authorization sidecar configuration
793+
##
794+
authz:
795+
## Enable authorization sidecar
796+
##
797+
enabled: false
768798

769799
## Backend operator configuration for managing compute workloads
770800
##

deployments/charts/router/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ helm upgrade my-router ./router -f my-values.yaml
123123

124124
| Parameter | Description | Default |
125125
|-----------|-------------|---------|
126+
| `targetSchema` | pgroll schema version for search_path (e.g., `public_v6_2_0`). Leave empty to use the default `public` schema. | `""` |
126127
| `services.postgres.serviceName` | PostgreSQL service name | `postgres` |
127128
| `services.postgres.port` | PostgreSQL service port | `5432` |
128129
| `services.postgres.db` | PostgreSQL database name | `osmo` |

deployments/charts/router/templates/_envoy-config-helpers.tpl

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -200,9 +200,6 @@ listeners:
200200
allowed_client_headers_on_success:
201201
patterns:
202202
- exact: set-cookie
203-
- exact: x-auth-request-user
204-
- exact: x-auth-request-email
205-
- exact: x-auth-request-preferred-username
206203
failure_mode_allow: false
207204
- name: envoy.filters.http.lua.copy-auth-header
208205
typed_config:

deployments/charts/router/templates/_sidecar-helpers.tpl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,8 @@ Authorization sidecar container
290290
- "--log-name=authz_sidecar"
291291
{{- end }}
292292
env:
293+
- name: OSMO_SCHEMA_VERSION
294+
value: {{ .Values.targetSchema | default "public" }}
293295
{{- with .Values.sidecars.authz.extraEnv }}
294296
{{- toYaml . | nindent 4 }}
295297
{{- end }}

deployments/charts/router/templates/log-agent-config.yaml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -138,10 +138,6 @@ data:
138138
log_stream_prefix ${NODE_NAME}-flb-
139139
auto_create_group true
140140
extra_user_agent container-insights
141-
{{- if .Values.sidecars.logAgent.cloudwatch.role }}
142-
role_arn {{ .Values.sidecars.logAgent.cloudwatch.role }}
143-
{{- end }}
144-
145141
146142
parsers.conf: |
147143
[PARSER]

deployments/charts/router/templates/router-service.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,8 @@ spec:
114114
{{- end }}
115115
{{- end }}
116116
env:
117+
- name: OSMO_SCHEMA_VERSION
118+
value: {{ .Values.targetSchema | default "public" }}
117119
{{- if .Values.services.postgres.password }}
118120
- name: OSMO_POSTGRES_PASSWORD
119121
value: {{ .Values.services.postgres.password }}

0 commit comments

Comments
 (0)