Невозможно установить прокси в SonarQube, работающем в OpenShift(OKD)
Я управляю сборкой sonarqube sonarqube-openshift-docker. Мне нужно настроить прокси, который использует Sonar, чтобы он мог добраться до Marketplace и развернуть профиль Java.
Я попытался установить развертывание пары имя / значение конфигурации env: JAVA_TOOLS_OPTIONS = "-Dhttp.proxyHost= -Dhttp.proxyPort= -Dhttps.proxyHost= -Dhttps.proxyPort="
Я также попытался установить пары имя / значение HTTP_PROXY_HOST, HTTP_PROXY_PORT, HTTPS_PROXY_HOST, HTTPS_PROXY_PORT.
Все это доходит до среды на стороне контейнера, но Сонар не использует их.
Изменение файла sonar.properties в контейнере не работает, так как он не является постоянным и запускается при перезапуске.
Я также попытался добавить это здесь, но это не сработало.
template:
metadata:
annotations:
openshift.io/container.sonarqube.image.entrypoint: '["./bin/run.sh -Dhttp.proxyHost=<myProxy:port>"]'
Я предполагаю, что мне нужно передать его где-нибудь в файле YAML, но я не могу понять, где.
2 ответа
AFAIK, вы должны предоставить хост и порт в отдельных свойствах:
http.proxyHost=
http.proxyPort=
Взгляните на файл sonar.properties здесь.
Запустив SonarQube в OpenShift, я использую шаблон, который удаляет конфигурацию HTTP-прокси с настройками ConfigMap.
apiVersion: v1
kind: Template
metadata:
name: sonarqube-template
objects:
[...]
- apiVersion: v1
kind: ConfigMap
metadata:
name: ${APPLICATION_NAME}-conf
data:
sonar.properties: |-
http.nonProxyHosts=${PROXY_EXCLUDE}
http.proxyHost=${PROXY_HOST}
http.proxyPort=${PROXY_PORT}
https.proxyHost=${PROXY_HOST}
https.proxyPort=${PROXY_PORT}
wrapper.conf: |-
wrapper.java.command=java
wrapper.java.additional.1=-Dsonar.wrapped=true
wrapper.java.additional.2=-Djava.awt.headless=true
[...]
- apiVersion: v1
kind: DeploymentConfig
[...]
volumeMounts:
- mountPath: /opt/sonarqube/conf
name: ${APPLICATION_NAME}-conf
[....]
volumes:
- configMap:
defaultMode: 420
name: ${APPLICATION_NAME}-conf
[...]
parameters:
- name: APPLICATION_NAME
value: sonarqube
- name: PROXY_HOST
value: proxy.example.com
- name: PROXY_PORT
value: "3128"
- name: PROXY_EXCLUDE
value: "*.internal.domain.example.com"