This repository has been archived on 2026-03-13. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
greywall/docs/recipes/npm-install.md

738 B

Recipe: npm install

Goal: allow npm to fetch packages, but block unexpected egress.

Start restrictive

{
  "network": {
    "allowedDomains": ["registry.npmjs.org", "*.npmjs.org"]
  },
  "filesystem": {
    "allowWrite": [".", "node_modules", "/tmp"]
  }
}

Run:

fence --settings ./fence.json npm install

Iterate with monitor mode

If installs fail, run:

fence -m --settings ./fence.json npm install

Then add the minimum extra domains required for your workflow (private registries, GitHub tarballs, etc.).

Notes:

  • If your dependencies fetch binaries during install, you may need to allow additional domains.
  • Keep allowlists narrow; prefer specific hostnames over broad wildcards.