Почему Gerrit не может загрузить файл secure.config, созданный процессом init? - PullRequest
1 голос
/ 13 апреля 2020

Я пытаюсь запустить Gerrit в контейнере Docker вместе с Postgres и Apache, следуя инструкциям в https://medium.com/@joonasvenlinen / gerrit-with-http-authentication-1e7ae5fb7359 . Я могу запустить postgres и apache без проблем, но Gerrit завершается ошибкой со следующей ошибкой:

gerrit_1    | [2020-04-13 19:45:22,460] [main] ERROR com.google.gerrit.pgm.Daemon : Unable to start daemon
gerrit_1    | com.google.inject.ProvisionException: Unable to provision, see the following errors:
gerrit_1    |
gerrit_1    | 1) Error injecting constructor, java.lang.RuntimeException: Cannot load secure.config
gerrit_1    |   at com.google.gerrit.server.securestore.DefaultSecureStore.<init>(DefaultSecureStore.java:41)
gerrit_1    |   at com.google.gerrit.server.securestore.DefaultSecureStore.class(DefaultSecureStore.java:41)
gerrit_1    |   while locating com.google.gerrit.server.securestore.DefaultSecureStore
gerrit_1    |   while locating com.google.gerrit.server.securestore.SecureStoreProvider
gerrit_1    |   at com.google.gerrit.server.config.GerritServerConfigModule.configure(GerritServerConfigModule.java:80)
gerrit_1    |   while locating com.google.gerrit.server.securestore.SecureStore
gerrit_1    |     for the 2nd parameter of com.google.gerrit.server.config.GerritServerConfigProvider.<init>(GerritServerConfigProvider.java:55)
gerrit_1    |   at com.google.gerrit.server.config.GerritServerConfigProvider.class(GerritServerConfigProvider.java:43)
gerrit_1    |   while locating com.google.gerrit.server.config.GerritServerConfigProvider
gerrit_1    |   while locating org.eclipse.jgit.lib.Config annotated with @com.google.gerrit.server.config.GerritServerConfig()
gerrit_1    |     for the 1st parameter of com.google.gerrit.server.config.RepositoryConfig.<init>(RepositoryConfig.java:44)
gerrit_1    |   at com.google.gerrit.server.config.RepositoryConfig.class(RepositoryConfig.java:39)
gerrit_1    |   while locating com.google.gerrit.server.config.RepositoryConfig
gerrit_1    |     for the 1st parameter of com.google.gerrit.server.git.GitRepositoryManagerModule.<init>(GitRepositoryManagerModule.java:26)
gerrit_1    |   while locating com.google.gerrit.server.git.GitRepositoryManagerModule

Мой файл gerrit.config выглядит следующим образом:

[gerrit]
        basePath = git
        canonicalWebUrl = http://<server-name>:8080/
[database]
        type = postgresql
        hostname = localhost
        database = reviewdb
        username = gerrit2
[index]
        type = LUCENE
[auth]
        type = HTTP
        logoutUrl = http://aa:aa@<server-name>:8080/logout
        httpHeader =
[sendemail]
        smtpServer = localhost
        smtpUser = gerrit2
[plugins]
        allowRemoteAdmin = true
[container]
        javaOptions = "-Dflogger.backend_factory=com.google.common.flogger.backend.log4j.Log4jBackendFactory#getInstance"
        javaOptions = "-Dflogger.logging_context=com.google.gerrit.server.logging.LoggingContext#getInstance"
        user = gerrit2
        javaHome = /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre
        javaOptions = -Djava.security.egd=file:/dev/./urandom
        javaOptions = -Djava.security.egd=file:/dev/./urandom
        javaOptions = -Djava.security.egd=file:/dev/./urandom
        javaOptions = -Djava.security.egd=file:/dev/./urandom
[receive]
        enableSignedPush = false
[httpd]
        listenUrl = http://*:8080/
[cache]
        directory = cache
[sshd]
        listenAddress = *:29418
[user]
        name = gerrit2
        email = gerrit2@whoi.edu

Обновление: изменение прав доступа к файлу secure.config, которое, как представляется, является рекомендуемым действием, вызывает другую ошибку, требующую перестройки файла gerrit.war. Это приводит к ошибке secure.config, поэтому кажется, что я зацикливаюсь на двух разных исключениях.

Любые указатели приветствуются. Спасибо!

...