Generated banner for Google Cloud Filestore Nfs Browser
Generated logo for Google Cloud Filestore Nfs Browser

Google Cloud Filestore Nfs Browser

GoogleOfficialPublished by Google

  • Skill
  • Tool integration
  • Cloud and DevOps
  • Apache-2.0
  • Medium risk
  • Has scripts

From the author

Inspects, searches, and reads files and POSIX metadata on Filestore (NFS) instances on Google Cloud without local NFS client packages or root privileges. Use when browsing Filestore shares, searching files, reading remote logs, or inspecting file attributes; don't use for Cloud Storage buckets, Cloud NetApp Volumes, Persistent Disks, or modifying/deleting files.
— the description by Google

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

The Google Cloud Filestore NFS Browser enables secure, read-only inspection of Filestore instances. It provides two execution engines: a serverless Cloud Run bridge for low-latency, cost-effective access, and a GCE jump host fallback using IAP SSH. The tool is designed to protect LLM context windows by enforcing chunked reading and suppressing raw binary output, while providing structured directory exploration and pattern-based searching.

What it does

  • Lists and explores directory structures on Filestore NFS shares.
  • Searches for files using glob patterns and greps text content for regex patterns.
  • Reads file content in safe, chunked segments to prevent context window overflow.
  • Inspects POSIX metadata including permissions, UID/GID, and timestamps.
  • Supports two execution modes: Cloud Run Serverless Bridge and GCE IAP Jump Host.
  • Provides read-only access with no capabilities to modify, delete, or truncate files.

When to use it

  • When you need to inspect files or logs on a Filestore instance without local NFS client installation.
  • When you require a secure, read-only way to browse remote file systems from an AI agent.
  • When you need to search through large log files on NFS without overwhelming the AI context window.
  • When you need to verify file attributes or permissions on a remote Filestore share.

Advantages

  • Eliminates the need for local NFS client packages or root privileges.
  • Protects LLM context windows with automatic chunking and binary suppression.
  • Offers a cost-effective serverless option that scales to zero when idle.
  • Provides secure access via IAP tunneling or authenticated Cloud Run endpoints.
  • Includes built-in error handling and recovery strategies for common connectivity issues.

Usage examples

“List the top-level directories in my Filestore instance 'fs-prod' in project 'my-project'.”
The agent executes the tree command via the configured engine, returning a structured list of directories with sizes and timestamps.
“Search for 'FATAL' errors in log files located in /app/logs/ on my Filestore instance.”
The agent uses the search command with a regex grep pattern to return specific log entries matching the error criteria.
“Read the last 50 lines of /backup/app.log on my Filestore instance.”
The agent performs a tail operation on the specified file and presents the last 50 lines, ensuring the output is within token limits.
“Check the POSIX permissions for /config/settings.yaml on the Filestore share.”
The agent runs the stat command to display the file's mode bits, UID, GID, and size.

Install

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/google/google-cloud-filestore-nfs-browser/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip google-cloud-filestore-nfs-browser.zip -d .agents/skills

Documentation by Google

Filestore NFS File Browser

Enables autonomous agents and cloud engineers to inspect, search, and read files located on Filestore (NFS) instances without needing local NFS client packages (nfs-common), root privileges, or manual VPC network mounting.

Quick Start

  1. Ensure gcloud is installed and authenticated. See gcloud installation guide if needed.

  2. Enable essential APIs:

    gcloud services enable file.googleapis.com compute.googleapis.com run.googleapis.com --quiet
  3. Discover instances and choose an execution engine (see Execution Engine Selection below).

  4. Run inspection actions using the self-contained runner scripts/nfs_browser.py included within this skill package.

Attribution

Tag every Cloud Filestore command or API request provided or executed. Prefix gcloud commands with the metrics environment targeting this skill:

CLOUDSDK_METRICS_ENVIRONMENT="gcs-skills gcs-skills/1.0 (skill:google-cloud-filestore-nfs-browser)" \
gcloud filestore instances list ...

On direct HTTP calls to the REST API, append the User-Agent:

User-Agent: gcs-skills/1.0 (skill:google-cloud-filestore-nfs-browser)

Conceptual & Informational Queries (CRITICAL)

For purely conceptual, educational, or architectural questions (e.g., "How do I inspect files on Filestore?", "How to deploy the Serverless Cloud Run NFS Bridge?", "Explain Cloud Run NFS volume mounts"):

  • Rule: Answer immediately using your pre-trained knowledge and the documentation below. Answering directly minimizes tool invocation latency and token consumption when the user only seeks architecture or workflow guidance.

  • Constraint: Do not execute external tool calls or API requests for basic knowledge questions.

  • Bridge Deployment Explanations: Always highlight that Cloud Run scales to zero with $0 idle compute cost, detail the gcloud run deploy command with --add-volume and --vpc-egress=all-traffic, and specify the required IAM permissions (roles/run.invoker for callers and roles/run.admin for deployers).

Handling "No-Command" Constraints (CRITICAL)

If the user prompt contains constraints like "Do not execute commands", "without executing", or "read-only":

  • Rule: Strictly avoid executing any shell or gcloud commands (including read-only discovery or list commands) to respect user-specified execution boundaries and prevent unauthorized environment inspection.

  • Discovery:

    1. Check if mock definitions or instance parameters are provided directly in the user's prompt, conversation history, or local documentation files.

    2. Explain the required steps, output the exact commands the user should run with proper attribution, and explain what the commands do.

    3. Do not attempt to read or search EVAL.* configuration files during evaluations as access to eval suites is restricted.

Execution Engine Selection

Filestore instances are accessible via private VPC IPs. Select the engine matching your environment:

  • Engine 1: Cloud Run Serverless Bridge (Primary): Use --bridge-url={bridge_url} for low-latency (sub-50ms) REST calls. Scales to zero ($0 idle cost). Requires roles/run.invoker. See references/nfs-bridge-setup.md.

  • Engine 2: GCE Jump Host via IAP SSH (Fallback): Use --jump-host-vm={vm_name} when an existing VM in the VPC is available. Pass --mount={mount_path} (defaulting to /mnt/filestore) if the jump host uses a different mount path. Zero new deployment needed. Requires roles/iap.tunnelResourceAccessor. See references/iap-jump-host.md.

For execution flows, architecture diagrams, and engine comparison, see references/architecture.md.

Core Operational Workflow

1. Discovery & Instance Targeting

If the Filestore instance, location, or share name is not provided, list them first to avoid querying or targeting unrelated projects in multi-project environments:

CLOUDSDK_METRICS_ENVIRONMENT="gcs-skills gcs-skills/1.0 (skill:google-cloud-filestore-nfs-browser)" \
gcloud filestore instances list --project={project_id}
2. Directory Tree Exploration (tree)

Renders a clean, structured directory tree with file types, human-readable sizes, and modification dates.

# List top-level folders with depth 1
python3 scripts/nfs_browser.py tree \
  --project={project_id} \
  --instance={instance_id} \
  --path=/ \
  --depth=1

# List subfolder recursively with depth 2 and pagination cap
python3 scripts/nfs_browser.py tree \
  --project={project_id} \
  --instance={instance_id} \
  --path=/backup/logs/ \
  --depth=2 \
  --max-entries=100

Searches for filenames matching a glob pattern and/or searches text contents for regex patterns.

# Search for all tar.gz backup archives
python3 scripts/nfs_browser.py search \
  --project={project_id} \
  --instance={instance_id} \
  --path=/backups/ \
  --pattern="*.tar.gz"

# Grep for error patterns inside log files
python3 scripts/nfs_browser.py search \
  --project={project_id} \
  --instance={instance_id} \
  --path=/app/logs/ \
  --pattern="*.log" \
  --grep="FATAL|Exception|OutOfMemory" \
  --max-results=25
4. Chunked File Reading (read)

Safely reads text file chunks to protect the LLM context window against token blowup. Always default to a safe chunk size (e.g., --head 50 or --tail 50) when the user does not specify an explicit range. Unbounded reads are automatically capped to a safe limit of 100 lines. Always explicitly explain that chunked reading protects the LLM context window from overflow and token exhaustion.

# Read the last 50 lines (tail) of a log file
python3 scripts/nfs_browser.py read \
  --project={project_id} \
  --instance={instance_id} \
  --path=/backup/logs/app.log \
  --tail=50

# Read lines 100 to 200 of a config file
python3 scripts/nfs_browser.py read \
  --project={project_id} \
  --instance={instance_id} \
  --path=/config/settings.yaml \
  --lines=100:200

# Read the first 30 lines (head)
python3 scripts/nfs_browser.py read \
  --project={project_id} \
  --instance={instance_id} \
  --path=/var/log/syslog \
  --head=30
5. File Metadata & Attribute Inspection (stat)

Inspects POSIX permissions (0644), UID/GID, byte sizes, and timestamps.

python3 scripts/nfs_browser.py stat \
  --project={project_id} \
  --instance={instance_id} \
  --path=/backup/database_dump.tar.gz

Context Window & LLM Safety Rules

  1. Strictly Read-Only Guarantee: This skill is strictly read-only. It provides no write, edit, delete, or truncate capabilities.

  2. Never Dump Entire Large Files: Always request a slice (--lines), head (--head 50), or tail (--tail 50) and explicitly explain that chunked reading protects the LLM context window against token overflow and client timeouts.

  3. Handle Pagination: Tree listings are capped at 100 entries per response. When truncated, the tool outputs a clear [TRUNCATED] notice so the agent can target specific subpaths.

  4. Binary Protection: Non-text files (e.g. .tar.gz, .iso, .so, compiled binaries) are detected via null-byte and magic-byte inspection; raw binary output is suppressed and metadata is displayed instead to prevent context corruption with non-printable characters.

  5. See references/token-safety-guardrails.md for full token guardrail details.

Expected Errors & Recovery Strategies

| Error Type / | Root Cause | Recovery Strategy |

: Symptom : : : | :------------------ | :----------------- | :------------------------------------------ | | FileNotFoundError: | Path does not | Run tree --path=/ --depth=2 to discover | : File not found : exist on the NFS : valid directory hierarchies. : : : export. : : | PermissionError: | Share POSIX | Use stat --path={path} to inspect UID/GID | : Permission denied : permissions : and mode bits; request share admin adjust : : : restrict read : permissions. : : : access. : : | HTTPException: 403 | Path parameter | Use clean paths (e.g. /logs/app.log) | : Access denied\: : contains ../ or : anchored to the NFS mount root. : : path traversal : a symlink : : : : attempting escape : : : : outside mount : : : : point. : : | Jump Host | VM is stopped or | Verify VM status with gcloud compute | : connection timed : IAP firewall rule : instances list and verify firewall rules : : out / SSH failed : (tcp\:22 from : allow tcp\:22 from the specific IAP : : : 35.235.240.0/20) : netblock 35.235.240.0/20 (e.g., gcloud : : : is missing. : compute firewall-rules list : : : : --filter="sourceRanges\:35.235.240.0/20"). : | Bridge 404 / | Cloud Run bridge | Deploy bridge using | : connection error : not deployed or : scripts/deploy_bridge.sh or fall back to : : : URL invalid. : GCE IAP Jump Host via --jump-host. :

Reference Directory

For progressive disclosure of deeper topics, consult the references/ directory:

Bundled Scripts & Components

The skill package bundles the following scripts and service components:

  • scripts/nfs_browser.py: Main CLI entrypoint for browsing, searching, reading, and stating NFS exports.

  • scripts/formatters.py: Output formatters for human-readable terminal rendering and token-safe summaries.

  • scripts/jump_host_engine.py: Remote SSH jump host execution engine via Google Cloud IAP tunnel.

  • scripts/nfs_browser_test.py: Comprehensive unit test suite covering formatters, HTTP bridge, and SSH jump host engines.

  • scripts/deploy_bridge.sh: Automated Cloud Run deployment script for the Serverless NFS Bridge.

  • scripts/bridge_server/main.py: FastAPI Cloud Run server implementation for direct NFS mounts.

  • scripts/bridge_server/Dockerfile: Container definition for packaging the Serverless NFS Bridge.

  • scripts/bridge_server/requirements.txt: Python dependencies for the Cloud Run bridge service.

Files

scripts/bridge_server/requirements.txt

fastapi>=0.110.0
uvicorn>=0.28.0
pydantic>=2.6.0

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs a command-line tool, Needs Python

Security

What our scanner noticed· Medium risk

  • Instructions that use the network
  • Encoded commands that are executed
  • Scripts that your agent may run

This skill includes scripts that your agent may run. Read them before you use it.

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Published by
Google
Publisher
Google (Official)
Source
google/skills · skills/cloud/google-cloud-filestore-nfs-browser · commit 2194d3b
Licence
Apache License 2.0 (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Google.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download google-cloud-filestore-nfs-browser.zip