Перейти к содержанию

Конфигурация Go

Миграция прокси для Go

Сценарий использования: миграция Go для использования OSA Proxy вместо прямого доступа или внешних публичных прокси.

Следующая таблица содержит сводку по перенаправлению URL для прокси Go. Параметры аутентификации и другие настройки (если применимы, например, для частных репозиториев, требующих специфических учетных данных) должны быть настроены отдельно в соответствии с вашими корпоративными политиками (например, через .netrc или SSH-ключи).

Источник модулей / Репозиторий GOPROXY до миграции GOPROXY после миграции
Nexus https://nexus.host.ru/repository/go-remote https://{osa-proxy-url}/nexus-go
Artifactor https://jfrog.host.ru/artifactory/api/go/go-virt https://{osa-proxy-url}/arti-go
Официальный прокси Go https://proxy.golang.org https://{osa-proxy-url}/inet-go

Checksum Database (sum.golang.org)

Checksum DB не является отдельным GOPROXY-эндпоинтом. Вместо этого он настраивается через переменную GOSUMDB. Подробнее — в разделе ниже.

Детали миграции прокси Go

Настройка окружения до миграции

До миграции ваш GOPROXY мог быть установлен на публичный прокси Go (https://proxy.golang.org) или не задан вовсе, что приводило к использованию proxy.golang.org по умолчанию. Следующее определение репозитория необходимо добавить в YAML-конфигурацию сервиса (файл application.yml) в секцию go. Для применения изменений требуется перезапуск сервиса.

Конфигурация в файле application.yml

go:
  enabled: true
  repository:
    - name: inet-go
      scan-package: true
      scan-manifest: true
      registry: https://proxy.golang.org
      sumdb-registry: https://sum.golang.org

Пример текущей конфигурации переменных окружения (например, в файле .bashrc, .zshrc или в CI/CD пайплайне):

export GOPROXY=https://{osa-proxy-url}/inet-go

Настройка Checksum Database

Для проксирования запросов к sum.golang.org через OSA Proxy используется переменная GOSUMDB. Её значение задаётся в формате <имя-базы> <url-прокси>, где URL строится как {osa-proxy-url}/{repo-name}/sumdb/sum.golang.org:

export GOSUMDB="sum.golang.org https://{osa-proxy-url}/inet-go/sumdb/sum.golang.org"

Полный пример запуска:

GOPROXY="https://{osa-proxy-url}/inet-go" \
GOSUMDB="sum.golang.org https://{osa-proxy-url}/inet-go/sumdb/sum.golang.org" \
go get github.com/example/module@v1.0.0
Страница была полезна?