• Русский
  • Understanding Tekton Hub

    Tekton Hub — это веб-графический интерфейс, который служит централизованным репозиторием и платформой для поиска ресурсов Tekton. Он предоставляет удобный способ доступа, поиска и обмена повторно используемыми компонентами Tekton из Tekton Catalog, позволяя разработчикам быстро находить и интегрировать готовые блоки CI/CD в свои пайплайны.

    Terminology

    TermDescription
    CatalogКоллекция ресурсов Tekton, организованная согласно структуре Tekton Catalog Organization TEP
    ResourceКомпонент Tekton, такой как Task, Pipeline или другие строительные блоки, хранящиеся в каталоге
    RatingОценка, предоставленная пользователями для ресурсов в Tekton Hub
    CategoryКлассификация ресурсов по их назначению или функциональности
    API ServiceБэкенд-сервис, обеспечивающий доступ к данным и управление Tekton Hub
    UIВеб-интерфейс для взаимодействия пользователей с Tekton Hub

    Why Tekton Hub is Needed

    The Challenge of Resource Discovery and Reuse

    В традиционных CI/CD средах команды часто сталкиваются с проблемой поиска и обмена повторно используемыми компонентами. Без централизованного репозитория разработчики часто:

    • Изобретают велосипед, создавая похожие компоненты пайплайнов с нуля
    • Испытывают трудности с поиском качественных, протестированных компонентов для типовых задач
    • Не имеют видимости существующих компонентов внутри своей организации или сообщества
    • Трудно определить, какие компоненты хорошо поддерживаются и надежны

    Это приводит к неэффективности, несогласованности и дублированию усилий между командами и проектами.

    Tekton Hub's Solution

    Tekton Hub решает эти задачи, предоставляя централизованную платформу, которая:

    • Агрегирует ресурсы Tekton из нескольких каталогов в поисковый репозиторий
    • Позволяет пользователям находить, оценивать и использовать готовые компоненты
    • Обеспечивает систему рейтингов для выявления качественных ресурсов
    • Предоставляет подробную информацию о каждом ресурсе, включая версии, документацию и примеры
    • Упрощает процесс интеграции этих ресурсов в пайплайны

    Централизуя поиск и управление ресурсами, Tekton Hub способствует повторному использованию, стандартизации и сотрудничеству в экосистеме Tekton.

    Advantages

    • Упрощённый поиск: удобный веб-интерфейс для нахождения ресурсов Tekton
    • Повышенная повторная используемость: способствует обмену и повторному использованию хорошо протестированных компонентов
    • Гарантия качества: система рейтингов помогает пользователям выявлять надежные ресурсы
    • Управление версиями: отслеживает несколько версий ресурсов для совместимости
    • Категоризация: организует ресурсы по типу и назначению для удобной навигации
    • Аутентификация: поддерживает несколько методов аутентификации (GitHub, GitLab, BitBucket)
    • Доступ к API: предоставляет как версионированные, так и внутренние API для интеграции

    Scenarios

    Scenario 1: Developer Seeking CI Components

    Разработчику нужно настроить CI-пайплайн для нового проекта. Вместо того чтобы создавать все необходимые задачи с нуля, он посещает Tekton Hub для поиска готовых компонентов. Он находит задачи для запуска тестов, сборки контейнеров и сканирования на уязвимости. Несколькими кликами он может просмотреть документацию, проверить рейтинги и установить эти компоненты в свой Kubernetes кластер.

    Scenario 2: Platform Team Managing Custom Catalogs

    Команда платформенных инженеров хочет создавать и распространять стандартизированные CI/CD компоненты по всей организации. Они создают собственный каталог в соответствии со структурой Tekton Catalog, добавляют его в развертывание Tekton Hub и делают доступным для всех разработчиков организации. Это обеспечивает согласованность и лучшие практики между командами.

    Scenario 3: Contributing to the Community

    Разработчик создает полезный Task для конкретного инструмента и хочет поделиться им с сообществом. После тестирования и документирования Task он вносит его в публичный каталог. После одобрения он становится доступен через Tekton Hub для других пользователей.

    Constraints and Limitations

    • Требуется Kubernetes кластер для развертывания
    • Каталоги должны соответствовать структуре, определённой в Tekton Catalog Organization TEP
    • Для некоторых операций, таких как оценка ресурсов, требуется аутентификация
    • Пользовательские каталоги необходимо добавлять вручную в конфигурацию
    • Ресурсы ограничены теми, что доступны в настроенных каталогах

    Principles

    Architecture

    Tekton Hub состоит из трёх основных компонентов:

    1. Database: база данных PostgreSQL, которая хранит информацию о каталогах, ресурсах и пользователях
    2. API Service: бэкенд-сервис, обеспечивающий доступ к данным и управление ими

    API Service взаимодействует с базой данных для сохранения и извлечения информации о ресурсах и каталогах. Он периодически обновляет данные каталогов, чтобы обеспечить доступ к последним ресурсам.

    Resource Management Workflow

    1. Catalog Registration: каталоги регистрируются в конфигурации Tekton Hub
    2. Catalog Refresh: система периодически сканирует каталоги на предмет новых или обновленных ресурсов
    3. Resource Indexing: ресурсы индексируются с метаданными для эффективного поиска
    4. Resource Discovery: пользователи ищут и просматривают ресурсы через UI
    5. Resource Installation: пользователи могут устанавливать ресурсы напрямую в свои Kubernetes кластеры

    References