• Русский
  • Расширение ACP CLI с помощью плагинов

    Вы можете писать и устанавливать плагины для расширения стандартных команд ac, что позволит выполнять новые и более сложные задачи с помощью ACP CLI и интеграции с платформой ACP.

    Написание плагинов для CLI

    Вы можете написать плагин для ACP CLI (ac) на любом языке программирования или скрипте, который позволяет создавать команды командной строки. Обратите внимание, что плагин не может перезаписывать существующую команду ac.

    Создание простого плагина

    В этой процедуре создаётся простой Bash-плагин, который выводит сообщение в терминал при выполнении команды ac foo.

    Процедура

    1. Создайте файл с именем ac-foo. При выборе имени файла плагина учитывайте следующее:

      • Файл должен начинаться с ac- или kubectl-, чтобы распознаваться как плагин
      • Имя файла определяет команду, вызывающую плагин. Например, плагин с именем файла ac-foo-bar вызывается командой ac foo bar
      • Вы также можете использовать подчеркивания, если хотите, чтобы команда содержала дефисы. Например, плагин с именем файла ac-foo_bar вызывается командой ac foo-bar
    2. Добавьте в файл следующий код:

      #!/bin/bash
      
      # Обработка необязательных аргументов
      if [[ "$1" == "version" ]]; then
          echo "1.0.0"
          exit 0
      fi
      
      # Обработка необязательных аргументов
      if [[ "$1" == "config" ]]; then
          echo $KUBECONFIG
          exit 0
      fi
      
      echo "I am a plugin named ac-foo"

      После установки этого плагина для ACP CLI его можно вызвать с помощью команды ac foo.

    Требования к разработке плагинов

    • Язык программирования: Используйте любой язык программирования или скрипт, поддерживающий интерфейс командной строки
    • Правила именования: Файлы плагинов должны соответствовать шаблону ac-<plugin-name> или kubectl-<plugin-name>
    • Исполняемый файл: Файлы плагинов должны иметь права на выполнение
    • Перезапись команд: Плагины не могут перезаписывать существующие команды ACP CLI
    • Обработка аргументов: Плагины должны корректно обрабатывать стандартные аргументы и флаги командной строки

    Дополнительные ресурсы

    • Ознакомьтесь с руководствами по разработке плагинов kubectl для шаблонов реализации и лучших практик
    • Используйте утилиты CLI runtime для разработки плагинов на Go
    • Учитывайте интеграцию с платформой ACP при проектировании плагинов, взаимодействующих с ресурсами кластера

    Установка и использование плагинов CLI

    После написания пользовательского плагина для ACP CLI необходимо установить плагин перед использованием.

    Предварительные требования

    • Установлен ACP CLI (ac)
    • Имеется файл плагина CLI, начинающийся с ac- или kubectl-

    Процедура установки

    1. При необходимости сделайте файл плагина исполняемым:

      chmod +x <plugin_file>
    2. Поместите файл в любую директорию из вашего PATH, например, /usr/local/bin/:

      sudo mv <plugin_file> /usr/local/bin/
    3. Выполните команду ac plugin list, чтобы убедиться, что плагин отображается в списке:

      ac plugin list

      Пример вывода

      The following compatible plugins are available:
      
      /usr/local/bin/<plugin_file>

      Если ваш плагин не отображается, проверьте, что имя файла начинается с ac- или kubectl-, файл исполняемый и находится в PATH.

    4. Вызовите новую команду или опцию, добавленную плагином.

      Например, если вы создали и установили плагин ac-ns, вы можете использовать следующую команду для просмотра текущего namespace:

      ac ns

      Обратите внимание, что команда для вызова плагина зависит от имени файла плагина. Например, плагин с именем файла ac-foo-bar вызывается командой ac foo bar.