diff --git a/nemoclaw-blueprint/policies/presets/local-inference.yaml b/nemoclaw-blueprint/policies/presets/local-inference.yaml new file mode 100644 index 000000000..c692cdce2 --- /dev/null +++ b/nemoclaw-blueprint/policies/presets/local-inference.yaml @@ -0,0 +1,28 @@ +# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +preset: + name: local-inference + description: "Local inference access (Ollama, vLLM) via host gateway" + +network_policies: + local_inference: + name: local_inference + endpoints: + - host: host.openshell.internal + port: 11434 + protocol: rest + enforcement: enforce + rules: + - allow: { method: GET, path: "/**" } + - allow: { method: POST, path: "/**" } + - host: host.openshell.internal + port: 8000 + protocol: rest + enforcement: enforce + rules: + - allow: { method: GET, path: "/**" } + - allow: { method: POST, path: "/**" } + binaries: + - { path: /usr/local/bin/openclaw } + - { path: /usr/local/bin/claude } diff --git a/test/policies.test.js b/test/policies.test.js index 27c9b6d57..28803b604 100644 --- a/test/policies.test.js +++ b/test/policies.test.js @@ -93,9 +93,9 @@ selectFromList(items, options) describe("policies", () => { describe("listPresets", () => { - it("returns all 11 presets", () => { + it("returns all 12 presets", () => { const presets = policies.listPresets(); - expect(presets.length).toBe(11); + expect(presets.length).toBe(12); }); it("each preset has name and description", () => { @@ -117,6 +117,7 @@ describe("policies", () => { "docker", "huggingface", "jira", + "local-inference", "npm", "outlook", "pypi",