Uploaded image for project: 'Network Edge'
  1. Network Edge
  2. NE-2449

Implement get_coredns_config MCP Tool

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • None
    • None
    • NI&D Sprint 283, NI&D Sprint 284

      Description

      Implement the foundational set of read-only NIDS diagnostic tools using native Go libraries (client-go). These tools provide safe, non-mutating inspection of Ingress and DNS resources on a live cluster. This execution replaces the previous CLI-wrapper approach with a robust, product-ready Go implementation.

      Goals

      1. Create, or adopt, a Go-based MCP server skeleton.
      2. Implement inspection tools for Route, Service, Endpoints, and CoreDNS.
      3. Ensure strict read-only execution.

      Tool Definitions

      1. get_coredns_config

      • Description: Retrieve the CoreDNS ConfigMap to inspect the Corefile.
      • Input Schema:
        {
          "type": "object",
          "properties": {
            "namespace": { "type": "string", "description": "Namespace (default: openshift-dns)" },
            "configmap": { "type": "string", "description": "ConfigMap name (default: dns-default)" }
          },
          "required": ["namespace"]
        }
        
      • Output Schema:
        {
          "configmap": { /* standard ConfigMap object */ },
          "corefile": "string (extracted corefile content)"
        }
        

      Implementation Steps

      1. If not adopting an existing MCP server project, initialize Go Project:
        • Set up a new Go module/package for the NIDS tools.
        • Import net/http (for MCP), k8s.io/client-go, and controller-runtime (optional, for client convenience).
      2. Implement get_coredns_config:
        • Logic: Fetch the ConfigMap and return the Corefile.
      3. Constraint Checklist:
        • No usage of exec.Command("oc", ...) or exec.Command("dig", ...).
        • Must use structured error handling.

      Acceptance Criteria

      • MCP tool get_coredns_config matches schema.
      • All implementation is native Go (no shell-outs).

              btofelrh Brett Tofel
              btofelrh Brett Tofel
              None
              None
              None
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: