Marketplace dei plug-in nell'agente SRE di Azure

Il marketplace dei plug-in in Azure SRE Agent consente di installare le funzionalità dell'agente e le integrazioni MCP da repository selezionati ospitati su GitHub. Supporta repo pubblici e privati, tra cui GitHub Enterprise. Ogni installazione viene aggiunta a un commit Git specifico, quindi gli aggiornamenti sono sempre espliciti.

Perché le organizzazioni usano il marketplace dei plug-in

I team SRE e della piattaforma creano competenze operative per i propri servizi: runbook di indagine, controlli di conformità, playbook di analisi dei costi, procedure di verifica della distribuzione. Queste competenze sono preziose al di là del team che li ha scritti. Altri team che eseguono un'infrastruttura simile traggono vantaggio dalla stessa automazione.

La condivisione delle competenze in un'organizzazione richiede un modo coerente per creare pacchetti, distribuirli, controllare chi può accedervi e gestire le versioni tra più agenti. Un team della piattaforma che mantiene le competenze per 10 team di servizio deve pubblicare una sola volta e consentire a ogni team di installarlo in base alla propria pianificazione, senza che le modifiche vengano propagate in modo imprevisto.

Il Marketplace dei plug-in fornisce questo modello di distribuzione per Azure agente SRE.

Che cos'è un plug-in in Azure SRE Agent?

Un plug-in è un pacchetto portatile e installabile di funzionalità dell'agente archiviate in un repository GitHub. Un plug-in può contenere:

Componente Cosa aggiunge al tuo agente
Abilità Runbook di analisi, playbook di risoluzione dei problemi, procedure operative
Server MCP Integrazioni degli strumenti che consentono di configurare come connettori con endpoint precompilati e autenticazione

Un marketplace è un repository GitHub che raggruppa più plug-in in un unico manifesto marketplace.json. Teams pubblica un marketplace e altri team esplorano e installano da esso. Ogni plug-in viene installato in modo indipendente, ognuno aggiunto a una versione specifica.

Cosa fa il marketplace dei plug-in

Scopri e installa plugin dai repository GitHub. Registra un marketplace indicando un repository GitHub. È possibile registrare due marketplace pubblici noti:

Per iniziare, aggiungi un URL del marketplace in Builder > Plugin > Aggiungi marketplace. Il repository viene clonato in background. Un banner di stato nella pagina dei plugin mostra l'avanzamento della clonazione e una notifica di completamento viene visualizzata quando i plugin sono pronti per essere esplorati.

Repository privati e GitHub Enterprise. I marketplace possono essere ospitati in repository privati GitHub, tra cui GitHub Enterprise. L'autenticazione viene gestita per marketplace usando gli stessi metodi del connettore GitHub Connector. L'autenticazione viene configurata una volta per marketplace e tutti i plug-in all'interno ereditano le credenziali.

Limite delle credenziali condivise per i marketplace privati

Avvertimento

Le credenziali fornite durante la registrazione di un marketplace privato (token OAuth, PAT o app GitHub) vengono archiviate a livello di Marketplace e condivise in tutte le installazioni:

  • Tutti i plug-in ereditano le credenziali del Marketplace. Ogni installazione da tale marketplace clona il repository usando le credenziali archiviate, non l'identità GitHub personale dell'utente.
  • GitHub controlla le credenziali archiviate, non ogni utente. GitHub convalida che le credenziali possano leggere il repository. L'agente SRE non controlla nuovamente le autorizzazioni di GitHub dei singoli utenti in fase di installazione.
  • Il controllo degli accessi in base ai ruoli per l'Agent SRE determina chi può eseguire l'installazione. Qualsiasi utente con il ruolo Autore o Amministratore nell'agente può esplorare e installare da qualsiasi marketplace registrato.

Esempio: L'utente A registra un marketplace privato con il proprio pat. L'utente B ha il ruolo Autore nell'agente, ma non ha accesso personale a tale repository GitHub. L'utente B può comunque installare i plug-in da esso perché l'installazione usa il pat archiviato dell'utente A. Per evitare questo problema, rimuovere il ruolo Autore dell'utente B nell'agente.

Blocco delle versioni. Ogni installazione del plug-in è associata all’esatto commit Git al momento dell’installazione. Le modifiche apportate al repository di origine dopo l'installazione non hanno alcun effetto fino a quando non si aggiorna in modo esplicito. Ciò consente la stabilità di produzione (le unioni upstream non modificano il comportamento dell'agente), le implementazioni a fasi (aggiornare prima lo sviluppo, quindi la produzione) e la diversità delle versioni (diversi agenti possono eseguire versioni diverse dello stesso plug-in).

Installa da URL. È anche possibile installare un plug-in direttamente da un URL del repository GitHub senza registrare un marketplace. È utile per plug-in occasionali o per test rapidi. Il plug-in viene installato come componente autonomo con lo stesso supporto per il blocco della versione e per l'autenticazione.

I connettori MCP vengono configurati separatamente dall'installazione. L'installazione di un plug-in registra i requisiti del server MCP, ma non effettua il provisioning del connettore. La pagina dei dettagli del plug-in visualizza un banner non bloccante Configurazione del connettore richiesta quando un server richiesto non ha ancora un connettore corrispondente. L’associazione è flessibile: un connettore è associato a un plug-in tramite URL o comando (o, per le voci legacy, per nome), quindi rinominare un connettore non interrompe il collegamento finché l’endpoint resta invariato.

Creare un marketplace

Per creare il tuo marketplace, organizza il tuo repository GitHub con un file manifest in una di queste posizioni:

Percorso del file
marketplace.json (radice)
.plugin/marketplace.json
.github/plugin/marketplace.json
.claude-plugin/marketplace.json

Per i repository con plug-in singolo, un plugin.json file funziona negli stessi percorsi (.plugin/plugin.json, plugin.json alla radice, .github/plugin/plugin.jsono .claude-plugin/plugin.json).

Configurazioni del server MCP per i plug-in

Se il plug-in si integra con un server di strumenti esterno (ad esempio Datadog, Dynatrace o Elasticsearch), includere un .mcp.json file che descrive il server. L'agente registra questi requisiti in fase di installazione e li espone nella pagina dei dettagli del plug-in, in modo da poter configurare i connettori corrispondenti. I plug-in che contengono solo competenze non necessitano di questo file.

.mcp.json viene risolto dagli stessi percorsi convenzionali del file manifest:

Percorso del file
.mcp.json (radice)
.plugin/.mcp.json
.github/plugin/.mcp.json
.claude-plugin/.mcp.json

Sono supportati due formati: annidato e flat. Il portale rileva entrambi automaticamente.

Prima e dopo

La tabella seguente confronta il flusso di lavoro manuale con l'esperienza del marketplace.

Prima Dopo
Individuazione Esplorare manualmente i repository GitHub Cercare cataloghi curati con filtri
Installazione delle competenze Copiare il contenuto di SKILL.md, creare manualmente la skill Selezionare le competenze, selezionare Importa selezionate
Configurazione mcp Trovare e analizzare .mcp.json, configurare a mano il connettore Aggiungere come connettore con impostazioni precompilate
Aggiornare la consapevolezza Controllare manualmente i repository di origine per verificare la presenza di modifiche Verifica con selezione singola dell'aggiornamento tramite confronto hash SHA-256
Provenienza Nessun tracciamento una volta creata la skill Origine, versione e hash del contenuto registrati
Tempo per competenza Da 10 a 15 minuti ~30 secondi

Formati del Marketplace

Il repository del marketplace necessita di un file manifesto in una di due posizioni supportate.

Formato Percorso del file
GitHub Copilot .github/plugin/marketplace.json
Altri formati .claude-plugin/marketplace.json

I file autonomi plugin.json (nella radice del repository, .github/plugin/o .claude-plugin/) funzionano anche per i repository con plug-in singolo.

Formati di configurazione MCP

I plug-in possono includere configurazioni del server MCP in .mcp.json. Il portale supporta due formati.

Formato annidato (standard)

Il formato annidato esegue il wrapping delle definizioni del server all'interno di un mcpServers oggetto .

{
  "mcpServers": {
    "my-server": {
      "command": "node",
      "args": ["server.js"],
      "env": { "API_KEY": "${API_KEY}" }
    }
  }
}

Formato flat:

{
  "my-server": {
    "command": "node",
    "args": ["server.js"],
    "env": { "API_KEY": "${API_KEY}" }
  }
}

Note

I env valori in .mcp.json sono riferimenti segnaposto. Gli utenti configurano segreti effettivi durante la configurazione del connettore. Non eseguire mai il commit di chiavi API o segreti reali nei repository del Marketplace.

I server MCP vengono classificati come:

  • Supportato: include un comando (stdio) o un URL con intestazioni di autenticazione
  • Non supportato: qualsiasi altra cosa (nessun comando e nessuna combinazione di URL e intestazioni)