7.4. Exemple de plugin dynamique


Avant de suivre l'exemple, vérifiez que le plugin fonctionne en suivant les étapes du développement dynamique du plugin

7.4.1. Ajout d'un onglet à la page des pods

Il existe différentes personnalisations que vous pouvez apporter à la console web d'OpenShift Container Platform. La procédure suivante ajoute un onglet à la page Pod details en tant qu'exemple d'extension de votre plugin.

Note

La console web d'OpenShift Container Platform s'exécute dans un conteneur connecté au cluster auquel vous vous êtes connecté. Voir "Dynamic plugin development" pour des informations permettant de tester le plugin avant de créer le vôtre.

Procédure

  1. Visitez le dépôt console-plugin-template qui contient un modèle pour créer des plugins dans un nouvel onglet.

    Important

    Le code des plugins personnalisés n'est pas pris en charge par Red Hat. Seul le support de la communauté Cooperative est disponible pour votre plugin.

  2. Sélectionnez le bouton déroulant Use this template et sélectionnez Create new repository dans la liste déroulante pour créer un dépôt GitHub.
  3. Renommez le nouveau dépôt avec le nom de votre plugin.
  4. Clonez votre dépôt copié sur votre machine locale afin de pouvoir éditer le code.
  5. Modifiez les métadonnées du plugin dans la déclaration consolePlugin de package.json.

    "consolePlugin": {
      "name": "my-plugin", 1
      "version": "0.0.1", 2
      "displayName": "My Plugin", 3
      "description": "Enjoy this shiny, new console plugin!", 4
      "exposedModules": {
        "ExamplePage": "./components/ExamplePage"
      },
      "dependencies": {
        "@console/pluginAPI": "/*"
      }
    }
    1
    Mettez à jour le nom de votre plugin.
    2
    Mettre à jour la version.
    3
    Mettez à jour le nom d'affichage de votre plugin.
    4
    Mettez à jour la description avec un résumé de votre plugin.
  6. Ajoutez ce qui suit au fichier console-extensions.json:

    {
      "type": "console.tab/horizontalNav",
      "properties": {
        "page": {
          "name": "Example Tab",
          "href": "example"
        },
        "model": {
          "group": "core",
          "version": "v1",
          "kind": "Pod"
        },
        "component": { "$codeRef": "ExampleTab" }
      }
    }
  7. Modifiez le fichier package.json pour y inclure les changements suivants :

            "exposedModules": {
                "ExamplePage": "./components/ExamplePage",
                "ExampleTab": "./components/ExampleTab"
            }
  8. Écrivez un message à afficher dans un nouvel onglet personnalisé sur la page Pods en créant un nouveau fichier src/components/ExampleTab.tsx et en y ajoutant le script suivant :

    import * as React from 'react';
    
    export default function ExampleTab() {
        return (
            <p>This is a custom tab added to a resource using a dynamic plugin.</p>
        );
    }

Vérification

  • Visitez une page Pod pour voir l'onglet ajouté.
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.