From a5ffe7e8c3fda6133de823170049169c2b435f1e Mon Sep 17 00:00:00 2001 From: Tasha Snow Date: Fri, 14 Aug 2026 00:16:19 -0600 Subject: [PATCH 1/7] Add opencode configuration to prod.values.yaml Added opencode configuration with model details and options. --- config/clusters/nasa-cryo/prod.values.yaml | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/config/clusters/nasa-cryo/prod.values.yaml b/config/clusters/nasa-cryo/prod.values.yaml index 483eb7cc1e..32c31d248c 100644 --- a/config/clusters/nasa-cryo/prod.values.yaml +++ b/config/clusters/nasa-cryo/prod.values.yaml @@ -8,6 +8,50 @@ basehub: SCRATCH_BUCKET: s3://nasa-cryo-scratch/$(JUPYTERHUB_USER) PANGEO_SCRATCH: s3://nasa-cryo-scratch/$(JUPYTERHUB_USER) PERSISTENT_BUCKET: s3://nasa-cryo-persistent/$(JUPYTERHUB_USER) + extraFiles: + opencode: + mountPath: /etc/opencode-default/opencode.json + data: + $schema: "https://opencode.ai/config.json" + model: nrp/kimi + disabled_providers: + - opencode + provider: + nrp: + npm: "@ai-sdk/openai-compatible" + name: NRP + options: + baseURL: "https://ellm.nrp-nautilus.io/v1" + apiKey: "{env:OPENAI_API_KEY}" + models: + kimi: + name: kimi + limit: + "context": 262144 + "output": 32768 + options: + chat_template_kwargs: + "thinking": true + "preserve_thinking": true + variants: + instruct: + chat_template_kwargs: + thinking: false + preserve_thinking: false + qwen3: + name: qwen3 + qwen3-small: + name: qwen3-small + gpt-oss: + name: gpt-oss + gemma: + name: gemma + gemma-small: + name: gemma-small + glm-5: + name: glm-5 + minimax-m2: + name: minimax-m2 jupyterhub-home-nfs: eks: volumeId: vol-00b9cf4a258bce8ef From 64f40d323bd4bc8f685ecb28c04fdf46184b88c0 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 14 Aug 2026 06:17:28 +0000 Subject: [PATCH 2/7] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- config/clusters/nasa-cryo/prod.values.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/config/clusters/nasa-cryo/prod.values.yaml b/config/clusters/nasa-cryo/prod.values.yaml index 32c31d248c..cc722c6e7d 100644 --- a/config/clusters/nasa-cryo/prod.values.yaml +++ b/config/clusters/nasa-cryo/prod.values.yaml @@ -12,27 +12,27 @@ basehub: opencode: mountPath: /etc/opencode-default/opencode.json data: - $schema: "https://opencode.ai/config.json" + $schema: https://opencode.ai/config.json model: nrp/kimi disabled_providers: - - opencode + - opencode provider: nrp: - npm: "@ai-sdk/openai-compatible" + npm: '@ai-sdk/openai-compatible' name: NRP options: - baseURL: "https://ellm.nrp-nautilus.io/v1" - apiKey: "{env:OPENAI_API_KEY}" + baseURL: https://ellm.nrp-nautilus.io/v1 + apiKey: '{env:OPENAI_API_KEY}' models: kimi: name: kimi limit: - "context": 262144 - "output": 32768 + context: 262144 + output: 32768 options: chat_template_kwargs: - "thinking": true - "preserve_thinking": true + thinking: true + preserve_thinking: true variants: instruct: chat_template_kwargs: From c7253fc1ec33c731bd643d2d20a76458f907595b Mon Sep 17 00:00:00 2001 From: Tasha Snow Date: Fri, 14 Aug 2026 00:43:58 -0600 Subject: [PATCH 3/7] Add OPENCODE_CONFIG and update Claude settings Added OPENCODE_CONFIG environment variable and updated claude-code-managed-settings with additional model configurations. --- config/clusters/nasa-cryo/prod.values.yaml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/config/clusters/nasa-cryo/prod.values.yaml b/config/clusters/nasa-cryo/prod.values.yaml index cc722c6e7d..e97ada81dd 100644 --- a/config/clusters/nasa-cryo/prod.values.yaml +++ b/config/clusters/nasa-cryo/prod.values.yaml @@ -8,6 +8,7 @@ basehub: SCRATCH_BUCKET: s3://nasa-cryo-scratch/$(JUPYTERHUB_USER) PANGEO_SCRATCH: s3://nasa-cryo-scratch/$(JUPYTERHUB_USER) PERSISTENT_BUCKET: s3://nasa-cryo-persistent/$(JUPYTERHUB_USER) + OPENCODE_CONFIG: /etc/opencode-default/opencode.json extraFiles: opencode: mountPath: /etc/opencode-default/opencode.json @@ -52,6 +53,23 @@ basehub: name: glm-5 minimax-m2: name: minimax-m2 + claude-code-managed-settings: + mountPath: /etc/claude-code/managed-settings.json + data: + env: + ANTHROPIC_BASE_URL: https://cloudbank-litellm.westus2.cloudapp.azure.com + ANTHROPIC_DEFAULT_HAIKU_MODEL: claude-haiku-4-5 + ANTHROPIC_DEFAULT_SONNET_MODEL: claude-sonnet-5 + ANTHROPIC_DEFAULT_OPUS_MODEL: claude-opus-5 + ANTHROPIC_MODEL: haiku + # ANTHROPIC_API_KEY intentionally omitted — + # each user supplies their own personal token (see below) + availableModels: + - haiku + - sonnet + - opus + enforceAvailableModels: true + theme: auto jupyterhub-home-nfs: eks: volumeId: vol-00b9cf4a258bce8ef From 24d9fe38f2c820a94014a0a9e8ff2df734a91bf8 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 14 Aug 2026 06:44:16 +0000 Subject: [PATCH 4/7] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- config/clusters/nasa-cryo/prod.values.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/clusters/nasa-cryo/prod.values.yaml b/config/clusters/nasa-cryo/prod.values.yaml index e97ada81dd..25d1593540 100644 --- a/config/clusters/nasa-cryo/prod.values.yaml +++ b/config/clusters/nasa-cryo/prod.values.yaml @@ -65,9 +65,9 @@ basehub: # ANTHROPIC_API_KEY intentionally omitted — # each user supplies their own personal token (see below) availableModels: - - haiku - - sonnet - - opus + - haiku + - sonnet + - opus enforceAvailableModels: true theme: auto jupyterhub-home-nfs: From b332163fd39e8617c049e9e7738ff9b9355d9dc9 Mon Sep 17 00:00:00 2001 From: Tasha Snow Date: Wed, 19 Aug 2026 12:47:16 -0600 Subject: [PATCH 5/7] Delete claude setting from prod.values.yaml Removed claude-code-managed-settings configuration in lieu of doing this manually for now. Less to deal with on short notice. --- config/clusters/nasa-cryo/prod.values.yaml | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/config/clusters/nasa-cryo/prod.values.yaml b/config/clusters/nasa-cryo/prod.values.yaml index 25d1593540..09d15acd7b 100644 --- a/config/clusters/nasa-cryo/prod.values.yaml +++ b/config/clusters/nasa-cryo/prod.values.yaml @@ -53,23 +53,6 @@ basehub: name: glm-5 minimax-m2: name: minimax-m2 - claude-code-managed-settings: - mountPath: /etc/claude-code/managed-settings.json - data: - env: - ANTHROPIC_BASE_URL: https://cloudbank-litellm.westus2.cloudapp.azure.com - ANTHROPIC_DEFAULT_HAIKU_MODEL: claude-haiku-4-5 - ANTHROPIC_DEFAULT_SONNET_MODEL: claude-sonnet-5 - ANTHROPIC_DEFAULT_OPUS_MODEL: claude-opus-5 - ANTHROPIC_MODEL: haiku - # ANTHROPIC_API_KEY intentionally omitted — - # each user supplies their own personal token (see below) - availableModels: - - haiku - - sonnet - - opus - enforceAvailableModels: true - theme: auto jupyterhub-home-nfs: eks: volumeId: vol-00b9cf4a258bce8ef From 1d4683f59a63ed1e1dc60eddef948f65524e8368 Mon Sep 17 00:00:00 2001 From: choldgraf Date: Wed, 19 Aug 2026 15:32:09 -0700 Subject: [PATCH 6/7] Add encrypted key for cryocloud openai --- .../nasa-cryo/enc-prod.secret.values.yaml | 15 +++++++++------ config/clusters/nasa-cryo/prod.values.yaml | 3 +++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/config/clusters/nasa-cryo/enc-prod.secret.values.yaml b/config/clusters/nasa-cryo/enc-prod.secret.values.yaml index 1c55290ba5..11c45001fa 100644 --- a/config/clusters/nasa-cryo/enc-prod.secret.values.yaml +++ b/config/clusters/nasa-cryo/enc-prod.secret.values.yaml @@ -9,12 +9,15 @@ basehub: GitHubOAuthenticator: client_id: ENC[AES256_GCM,data:ilEVTmjN83Y3YnOlBKjA9EOfUuM=,iv:C8143cwC6pB0sFueQq7T1XbbmABAHu6kiLnxbZy9hVc=,tag:Jc34Po9xZZShfq5l/2CEbQ==,type:str] client_secret: ENC[AES256_GCM,data:cSq7uA39SxQ9wIXAWp2FkEkGuzPXHCixp6iwRnkya9YngnUhufpIYg==,iv:dSXXOKhEt/ipOD1bWhcghks+Mjpn2oUexzJhjwEt6ek=,tag:8woToirTzLvX1WqHjbLpGw==,type:str] + singleuser: + extraEnv: + OPENAI_API_KEY: ENC[AES256_GCM,data:ulPwQMrB/YKEuQXBtUqkP+jV2sLZekcL6+FqcfJELclaOhs=,iv:LYLQe7s7d+1Kk8qL33KelhHQeegkDJgpQ0fohDmPVCU=,tag:7d6ytBPtAjhBjOnxoEjSHg==,type:str] sops: gcp_kms: - - resource_id: projects/two-eye-two-see/locations/global/keyRings/sops-keys/cryptoKeys/similar-hubs - created_at: '2022-10-19T12:21:15Z' - enc: CiQA4OM7eHhdeYFpxkSDTcwgJSCnGcXyuW+RXURXZyqVtBExJLgSSQDuy/p8cJdVxnALmGegCdGggKwgIqy27Dtr97EyJnjFxmQMGDQsWh3vL/2xXyL4Gw8E1cYoxh7r+ecwI4YmBOO+q6rBIM2fS4I= - lastmodified: '2026-03-31T14:55:21Z' - mac: ENC[AES256_GCM,data:wwlczyiNjirxU0QTDLo5qrcxjdRJPqyvzL0FW62iL2bSIMTB0vR8fAeo9aLfEIG6jA1Z7cgG49qJ/78vN5rhZc4H3rpHlWo8UlY4dbekGTJEw8U2bG8mH8flG/5tLovFXtdjowk+VlN9iMQaserHBiOA7LOkqp/Zz5CLdnOXjzY=,iv:/koEBxl1OdlmEupIvbvXjWrzXmwwQ33R+dfLOOeLWJ0=,tag:wfTHzQZq2zyDeMmx8m6YrA==,type:str] + - created_at: "2022-10-19T12:21:15Z" + enc: CiQA4OM7eHhdeYFpxkSDTcwgJSCnGcXyuW+RXURXZyqVtBExJLgSSQDuy/p8cJdVxnALmGegCdGggKwgIqy27Dtr97EyJnjFxmQMGDQsWh3vL/2xXyL4Gw8E1cYoxh7r+ecwI4YmBOO+q6rBIM2fS4I= + resource_id: projects/two-eye-two-see/locations/global/keyRings/sops-keys/cryptoKeys/similar-hubs + lastmodified: "2026-08-19T22:17:09Z" + mac: ENC[AES256_GCM,data:PPNMIh49USEArsmFKPifQDLSIA5UBD3cmFQ0GSuJgD6SFIrLe+zyrwBq/3BP/89hAKAL8r0NxYL3bWKtN+NB0lvO4JSQhkbuwafYSHfhT6KZRz+3hugUryTA5GonFDfJkAsZy5X1Ho7Oki5eUAFL4USYm8y/fhj6QVbtretYeX8=,iv:vOh/v4CUGbh3DRaEf6rUUC1iPt7pppQrQ72dhHmQ2yc=,tag:I6zmo5y6wfeK3jiEJtiZEQ==,type:str] unencrypted_suffix: _unencrypted - version: 3.11.0 + version: 3.13.3 diff --git a/config/clusters/nasa-cryo/prod.values.yaml b/config/clusters/nasa-cryo/prod.values.yaml index 09d15acd7b..9c8a7fc1ae 100644 --- a/config/clusters/nasa-cryo/prod.values.yaml +++ b/config/clusters/nasa-cryo/prod.values.yaml @@ -10,6 +10,9 @@ basehub: PERSISTENT_BUCKET: s3://nasa-cryo-persistent/$(JUPYTERHUB_USER) OPENCODE_CONFIG: /etc/opencode-default/opencode.json extraFiles: + # Opencode config for the NRP model provider. + # opencode itself is installed by the CryoCloud AI image, I think that's here: + # https://github.com/CryoInTheCloud/image-cryo-python-AI/blob/e80c8f17fbfcac53ddf1cd1c51f515915b31441c/appendix#L26-L29 opencode: mountPath: /etc/opencode-default/opencode.json data: From 61e30a7fd2a226d78d5c0da38575f67751c82c0c Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 19 Aug 2026 22:32:33 +0000 Subject: [PATCH 7/7] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- config/clusters/nasa-cryo/enc-prod.secret.values.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config/clusters/nasa-cryo/enc-prod.secret.values.yaml b/config/clusters/nasa-cryo/enc-prod.secret.values.yaml index 11c45001fa..6a44e2f1fe 100644 --- a/config/clusters/nasa-cryo/enc-prod.secret.values.yaml +++ b/config/clusters/nasa-cryo/enc-prod.secret.values.yaml @@ -14,10 +14,10 @@ basehub: OPENAI_API_KEY: ENC[AES256_GCM,data:ulPwQMrB/YKEuQXBtUqkP+jV2sLZekcL6+FqcfJELclaOhs=,iv:LYLQe7s7d+1Kk8qL33KelhHQeegkDJgpQ0fohDmPVCU=,tag:7d6ytBPtAjhBjOnxoEjSHg==,type:str] sops: gcp_kms: - - created_at: "2022-10-19T12:21:15Z" - enc: CiQA4OM7eHhdeYFpxkSDTcwgJSCnGcXyuW+RXURXZyqVtBExJLgSSQDuy/p8cJdVxnALmGegCdGggKwgIqy27Dtr97EyJnjFxmQMGDQsWh3vL/2xXyL4Gw8E1cYoxh7r+ecwI4YmBOO+q6rBIM2fS4I= - resource_id: projects/two-eye-two-see/locations/global/keyRings/sops-keys/cryptoKeys/similar-hubs - lastmodified: "2026-08-19T22:17:09Z" + - created_at: '2022-10-19T12:21:15Z' + enc: CiQA4OM7eHhdeYFpxkSDTcwgJSCnGcXyuW+RXURXZyqVtBExJLgSSQDuy/p8cJdVxnALmGegCdGggKwgIqy27Dtr97EyJnjFxmQMGDQsWh3vL/2xXyL4Gw8E1cYoxh7r+ecwI4YmBOO+q6rBIM2fS4I= + resource_id: projects/two-eye-two-see/locations/global/keyRings/sops-keys/cryptoKeys/similar-hubs + lastmodified: '2026-08-19T22:17:09Z' mac: ENC[AES256_GCM,data:PPNMIh49USEArsmFKPifQDLSIA5UBD3cmFQ0GSuJgD6SFIrLe+zyrwBq/3BP/89hAKAL8r0NxYL3bWKtN+NB0lvO4JSQhkbuwafYSHfhT6KZRz+3hugUryTA5GonFDfJkAsZy5X1Ho7Oki5eUAFL4USYm8y/fhj6QVbtretYeX8=,iv:vOh/v4CUGbh3DRaEf6rUUC1iPt7pppQrQ72dhHmQ2yc=,tag:I6zmo5y6wfeK3jiEJtiZEQ==,type:str] unencrypted_suffix: _unencrypted version: 3.13.3