Skip to content

Commit a88f6b8

Browse files
authored
Merge pull request #666 from NVIDIA/xutongr/sync
Xutongr/sync
2 parents d34da08 + 389f0c1 commit a88f6b8

File tree

46 files changed

+2228
-111
lines changed

Some content is hidden

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

46 files changed

+2228
-111
lines changed

.coderabbit.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Repository-specific override
2+
reviews:
3+
profile: chill # assertive / chill profile
4+
auto_review:
5+
enabled: true # Enable auto-review for this repository

cookbook/reinforcement_learning/multi_gpu/train_policy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ workflow:
3232
3333
set -euxo pipefail
3434
35-
_isaac_sim/python.sh -m torch.distributed.run --nnodes=1 --nproc_per_node=2 \
35+
_isaac_sim/python.sh -m torch.distributed.run --nnodes=1 --nproc_per_node={{num_gpu}} \
3636
--rdzv_endpoint=localhost:5555 \
3737
scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Cartpole-v0 \
3838
--headless --distributed

cookbook/reinforcement_learning/multi_node/train_policy.yaml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ workflow:
3535
3636
set -euxo pipefail
3737
38-
_isaac_sim/python.sh -m torch.distributed.run --nproc_per_node={{num_gpu}} --nnodes=2 --node_rank=0 \
38+
_isaac_sim/python.sh -m torch.distributed.run --nproc_per_node={{num_gpu}} --nnodes={{num_nodes}} --node_rank=0 \
3939
--rdzv_id=123 --rdzv_backend=c10d --rdzv_endpoint=localhost:5555 \
4040
scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Cartpole-v0 --headless \
4141
--distributed
@@ -46,7 +46,8 @@ workflow:
4646
outputs:
4747
- dataset:
4848
name: robot-policy-dataset
49-
- name: worker
49+
{% for i in range(1, num_nodes) %}
50+
- name: worker-{{i}}
5051
command: ["bash"]
5152
args: ["/tmp/entry.sh"]
5253
image: nvcr.io/nvidia/isaac-lab:2.2.0
@@ -59,14 +60,15 @@ workflow:
5960
6061
set -euxo pipefail
6162
62-
_isaac_sim/python.sh -m torch.distributed.run --nproc_per_node={{num_gpu}} --nnodes=2 --node_rank=1 \
63+
_isaac_sim/python.sh -m torch.distributed.run --nproc_per_node={{num_gpu}} --nnodes={{num_nodes}} --node_rank={{i}} \
6364
--rdzv_backend=c10d --rdzv_endpoint={{host:master}}:5555 \
6465
--rdzv_id=123 scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Cartpole-v0 \
6566
--headless --distributed
6667
6768
mv logs/ {{output}}/
6869
6970
path: /tmp/entry.sh
71+
{% endfor %}
7072
name: train-robot-multi-node
7173
resources:
7274
default:
@@ -77,3 +79,4 @@ workflow:
7779

7880
default-values:
7981
num_gpu: 2
82+
num_nodes: 2

cookbook/synthetic_data_generation/isaac_sim/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ SPDX-License-Identifier: Apache-2.0
2121
## Overview
2222

2323
This workflow uses Isaac Sim, a robotics simulator, to generate synthetic data that can be used to train deep neural
24-
networks. The workflow consists of one main task that launches Isaac Sim.
24+
networks. The workflow consists of one main task that launches Isaac Sim, and generates 60 images.
2525

2626
## Prerequisites
2727

deployments/charts/backend-operator/templates/backend-test-runner-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ data:
245245
- name: {{ .Values.backendTestRunner.volumes.testConfigName }}
246246
configMap:
247247
{{- $configMapName := .Values.backendTestRunner.configMap.nameTemplate }}
248-
name: {{ $configMapName | replace "{{.BackendName}}" "{{backend_name}}" | replace "{{.TestName}}" "{{test_name}}" | quote }}
248+
name: {{ $configMapName | replace "{{.TestName}}" "{{test_name}}" | quote }}
249249
defaultMode: {{ .Values.backendTestRunner.configMap.defaultMode }}
250250
optional: {{ .Values.backendTestRunner.configMap.optional }}
251251

deployments/charts/backend-operator/values.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -764,7 +764,7 @@ backendTestRunner:
764764
configMap:
765765
## ConfigMap name template
766766
##
767-
nameTemplate: "{{.BackendName}}-{{.TestName}}-config"
767+
nameTemplate: "{{.TestName}}-config"
768768

769769
## Default mode for ConfigMap files
770770
##
@@ -859,4 +859,3 @@ extraConfigMaps: {}
859859
# description: "Custom configuration"
860860
# labels:
861861
# component: "custom"
862-

deployments/charts/router/README.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,15 @@ helm upgrade my-router ./router -f my-values.yaml
129129
| `services.postgres.user` | PostgreSQL username | `postgres` |
130130
| `services.postgres.password` | PostgreSQL password | `""` |
131131

132+
### Redis Settings
133+
134+
| Parameter | Description | Default |
135+
|-----------|-------------|---------|
136+
| `services.redis.serviceName` | Kubernetes service name for Redis (used for OAuth2-Proxy session store) | `redis` |
137+
| `services.redis.port` | Redis service port | `6379` |
138+
| `services.redis.dbNumber` | Redis database number to use (0–15) | `0` |
139+
| `services.redis.tlsEnabled` | Enable TLS encryption for Redis connections | `true` |
140+
132141
## Sidecar Configuration
133142

134143
### Envoy Proxy Sidecar
@@ -177,6 +186,31 @@ helm upgrade my-router ./router -f my-values.yaml
177186
| `sidecars.envoy.osmoauth.hostname` | OSMO auth hostname | `""` |
178187
| `sidecars.envoy.osmoauth.address` | OSMO auth service address | `osmo-service` |
179188

189+
### OAuth2 Proxy Sidecar
190+
191+
| Parameter | Description | Default |
192+
|-----------|-------------|---------|
193+
| `sidecars.oauth2Proxy.enabled` | Enable OAuth2 Proxy sidecar | `true` |
194+
| `sidecars.oauth2Proxy.image` | OAuth2 Proxy container image | `quay.io/oauth2-proxy/oauth2-proxy:v7.14.2` |
195+
| `sidecars.oauth2Proxy.imagePullPolicy` | Image pull policy | `IfNotPresent` |
196+
| `sidecars.oauth2Proxy.httpPort` | HTTP port for OAuth2 Proxy | `4180` |
197+
| `sidecars.oauth2Proxy.metricsPort` | Metrics port for OAuth2 Proxy | `44180` |
198+
| `sidecars.oauth2Proxy.provider` | OIDC provider type | `oidc` |
199+
| `sidecars.oauth2Proxy.oidcIssuerUrl` | OIDC issuer URL | `""` |
200+
| `sidecars.oauth2Proxy.clientId` | OAuth2 client ID | `""` |
201+
| `sidecars.oauth2Proxy.cookieName` | Session cookie name | `_osmo_session` |
202+
| `sidecars.oauth2Proxy.cookieSecure` | Set Secure flag on cookies | `true` |
203+
| `sidecars.oauth2Proxy.cookieDomain` | Cookie domain | `""` |
204+
| `sidecars.oauth2Proxy.cookieExpire` | Cookie expiration duration | `168h` |
205+
| `sidecars.oauth2Proxy.cookieRefresh` | Cookie refresh interval | `1h` |
206+
| `sidecars.oauth2Proxy.scope` | OAuth2 scopes to request | `openid email profile` |
207+
| `sidecars.oauth2Proxy.passAccessToken` | Pass the access token to upstream | `false` |
208+
| `sidecars.oauth2Proxy.redisSessionStore` | Use Redis (`services.redis`) as the session store instead of in-memory | `true` |
209+
| `sidecars.oauth2Proxy.useKubernetesSecrets` | Use Kubernetes secrets for credentials | `false` |
210+
| `sidecars.oauth2Proxy.secretName` | Kubernetes secret name (when `useKubernetesSecrets` is true) | `oauth2-proxy-secrets` |
211+
| `sidecars.oauth2Proxy.secretPaths.clientSecret` | File path for client secret | `/etc/oauth2-proxy/client-secret` |
212+
| `sidecars.oauth2Proxy.secretPaths.cookieSecret` | File path for cookie secret | `/etc/oauth2-proxy/cookie-secret` |
213+
180214
## Extensibility Configuration
181215

182216
The chart provides several extension points for customization:

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ OAuth2 Proxy sidecar container
112112
- --redirect-url=https://{{ .Values.sidecars.envoy.service.hostname }}/oauth2/callback
113113
- --silence-ping-logging=true
114114
- --skip-provider-button=true
115+
- --api-route=/api/.+
115116
{{- range .Values.sidecars.oauth2Proxy.extraArgs }}
116117
- {{ . }}
117118
{{- end }}

deployments/charts/router/values.yaml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -282,9 +282,9 @@ services:
282282
## Redis cache service configuration
283283
##
284284
redis:
285-
## Kubernetes service name for Redis (leave empty to use in-memory session store)
285+
## Kubernetes service name for Redis (used for OAuth2-Proxy session store)
286286
##
287-
serviceName: ""
287+
serviceName: redis
288288

289289
## Redis service port
290290
##
@@ -296,7 +296,7 @@ services:
296296

297297
## Enable TLS encryption for Redis connections
298298
##
299-
tlsEnabled: false
299+
tlsEnabled: true
300300

301301
## Configuration for sidecar containers
302302
##
@@ -517,7 +517,7 @@ sidecars:
517517

518518
## Use Redis (services.redis) as the session store instead of in-memory
519519
##
520-
redisSessionStore: false
520+
redisSessionStore: true
521521

522522
## Use Kubernetes secrets for credentials
523523
##
@@ -695,4 +695,3 @@ extraConfigMaps: []
695695
# data:
696696
# config.yaml: |
697697
# key: value
698-

deployments/charts/service/README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,30 @@ Any field from `sidecars.envoy` can be overridden at the service level. Fields n
307307
| `sidecars.rateLimit.redis.port` | Redis port | `6379` |
308308
| `sidecars.rateLimit.configName` | Rate limit config name | `ratelimit-config` |
309309

310+
#### OAuth2 Proxy Settings
311+
312+
| Parameter | Description | Default |
313+
|-----------|-------------|---------|
314+
| `sidecars.oauth2Proxy.enabled` | Enable OAuth2 Proxy sidecar | `true` |
315+
| `sidecars.oauth2Proxy.image` | OAuth2 Proxy container image | `quay.io/oauth2-proxy/oauth2-proxy:v7.14.2` |
316+
| `sidecars.oauth2Proxy.httpPort` | HTTP port for OAuth2 Proxy | `4180` |
317+
| `sidecars.oauth2Proxy.metricsPort` | Metrics port for OAuth2 Proxy | `44180` |
318+
| `sidecars.oauth2Proxy.provider` | OIDC provider type | `oidc` |
319+
| `sidecars.oauth2Proxy.oidcIssuerUrl` | OIDC issuer URL | `""` |
320+
| `sidecars.oauth2Proxy.clientId` | OAuth2 client ID | `""` |
321+
| `sidecars.oauth2Proxy.cookieName` | Session cookie name | `_osmo_session` |
322+
| `sidecars.oauth2Proxy.cookieSecure` | Set Secure flag on cookies | `true` |
323+
| `sidecars.oauth2Proxy.cookieDomain` | Cookie domain | `""` |
324+
| `sidecars.oauth2Proxy.cookieExpire` | Cookie expiration duration | `168h` |
325+
| `sidecars.oauth2Proxy.cookieRefresh` | Cookie refresh interval | `1h` |
326+
| `sidecars.oauth2Proxy.scope` | OAuth2 scopes to request | `openid email profile` |
327+
| `sidecars.oauth2Proxy.passAccessToken` | Pass the access token to upstream | `false` |
328+
| `sidecars.oauth2Proxy.redisSessionStore` | Use Redis (`services.redis`) as the session store instead of in-memory | `true` |
329+
| `sidecars.oauth2Proxy.useKubernetesSecrets` | Use Kubernetes secrets for credentials | `false` |
330+
| `sidecars.oauth2Proxy.secretName` | Kubernetes secret name (when `useKubernetesSecrets` is true) | `oauth2-proxy-secrets` |
331+
| `sidecars.oauth2Proxy.secretPaths.clientSecret` | File path for client secret | `/etc/oauth2-proxy/client-secret` |
332+
| `sidecars.oauth2Proxy.secretPaths.cookieSecret` | File path for cookie secret | `/etc/oauth2-proxy/cookie-secret` |
333+
310334
### Extensibility
311335

312336
Each service supports extensibility through the following parameters:

0 commit comments

Comments
 (0)