Я просмотрел код для ряда серверов конфигурации Spring Cloud в репозитории github, и ниже приведены 2 значения, которые предоставляются как часть файла свойств. Я считаю, что для подключения к конечной точке https github также необходимы идентификатор пользователя и пароль. Могут ли они быть частью переменных среды?
server.port=7070
spring.cloud.config.server.git.uri=https://
Обновлено:
Ниже приведен пример, который я видел на весеннем сайте. Однако во всех репозиториях github на моем предприятии я не вижу, чтобы идентификатор пользователя и пароль устанавливались, поскольку они являются конфиденциальной информацией. Как это можно было установить или настроить URL-адрес доступа к серверу github, если uid / pwd не указан в файле свойств?
spring:
cloud:
config:
server:
git:
uri: https://github.com/spring-cloud-samples/config-repo
username: trolley
password: strongpassword




Итак, например, что, если я установил свойство использовать командную строку напрямую (которая имеет наивысший приоритет), например:
java -jar config-server.jar --spring.cloud.config.server.git.username=xxx --spring.cloud.config.server.git.password=xxx
которые содержат все параметры в инструментах CI или что-то еще, управляемое кем-то, вы не увидите этого в исходном коде.
Спасибо, это помогает
Легкий совет -
Перейдите на github.com -> Настройки разработчика -> Создать токен доступа, затем создайте токен доступа только с правом чтения репо. таким образом частный репозиторий может быть открыт без указания пароля в виде обычного текста!
Что-то вроде этого -
spring.cloud.config.server.git.password = 0371abshak3048sa8d81828488483sd302
OP спрашивает, как защитить сервер конфигурации, а не как безопасно получить доступ к git
используйте трюк с уменьшенной видимостью сети для защиты сервера конфигурации и добавьте свойства начальной загрузки, чтобы использовать псевдоним, например - spring.cloud.config.uri = config
работать на меня. Благодарность
Да, просто используйте такие переменные:
spring.cloud.config.server.git.uri=${GIT_REPO_URL}
spring.cloud.config.server.git.username=${GIT_USERNAME}
spring.cloud.config.server.git.password=${GIT_TOKEN}
И установите эти env vars на любом CI. Например, в качестве секретов в Действиях GitHub:
- name: Build config-service
env:
GIT_REPO_URL: ${{ secrets.GIT_REPO_URL }}
GIT_USERNAME: ${{ secrets.GIT_USERNAME }}
GIT_TOKEN: ${{ secrets.GIT_TOKEN }}
И похоже, что вы больше не можете использовать пароль для доступа к GitHub, вам нужен токен GitHub верхнего уровня здесь spring.cloud.config.server.git.password
через переменные среды?