Использование Git Connector в Tekton Task

Использование Git Connector в Tekton Tasks позволяет централизованно управлять информацией об интеграции инструментов и обеспечивать безопасный доступ к Git-репозиториям во время выполнения Tekton Task. В настоящее время Git Connector поддерживает только метод аутентификации BasicAuth и не поддерживает аутентификацию по SSH.

Содержание

Требования к Tekton Task

Не все Tekton Tasks могут использовать Git Connector.

Git Connector по сути внедряет временные Git-учётные данные через CSI Driver. Он предоставляет конфигурацию с именем gitconfig, которая генерирует файл .gitconfig с временными настройками аутентификации и переписывания URL. Например:

[http]
    extraHeader = Authorization: Basic OmV5Smhixxxxxxxxx==
[url "http://c-git-connector.git-connector-demo.svc]
    insteadOf = https://github.com

Поэтому Tekton Tasks должны соответствовать следующему требованию для использования Git Connector:

Поддержка монтирования файла .gitconfig через Workspace, при этом Workspace должен поддерживать предоставление только файла .gitconfig

Инструкция по использованию

После того как вы убедились, что ваш Tekton Task может использовать Git Connector, вы можете добавить конфигурацию Git Connector в YAML-файл TaskRun:

Например:

apiVersion: tekton.dev/v1
kind: TaskRun
metadata:
  name: git-clone-demo
spec:
  # .  . .
  workspaces:
  - name: basic-auth
    csi:
      driver: connectors-csi
      readOnly: true
      volumeAttributes:
        connector.name: github
        connector.namespace: ""
        configuration.names: "gitconfig"

Описание параметров:

  • name: Имя Workspace, определённое в Task
  • csi:
    • driver: Фиксированное значение connectors-csi
    • readOnly: Фиксированное значение true
    • volumeAttributes: Атрибуты CSI Volume
      • connector.name: Имя Git Connector
      • connector.namespace: Namespace Git Connector; если не указано, используется namespace TaskRun
      • configuration.names: Имя конфигурации, фиксированное как gitconfig, которая сгенерирует файл .gitconfig в директории $(workspaces.basic-auth.path)

Для получения дополнительной информации, пожалуйста, обратитесь к Connectors CSI Configuration.

Дополнительные материалы