Как использовать скрытые пароли с Marklogic Datahub Framework

Я стараюсь избегать использования паролей в виде простого текста в файлах конфигурации сервера. В таком случае я хочу использовать учетные данные gradle (https://github.com/etiennestuder/gradle-credentials-plugin), чтобы скрыть их значение.

Я уже импортировал необходимые зависимости и теперь могу создать файл "gradle.encrypted.properties" с зашифрованными паролями. Моя текущая проблема заключается в том, что когда я пытаюсь запустить команды оболочки gradle и применить подключаемый модуль com.marklogic.ml-data-hub, DHF подключается к серверу приложений и выходит из строя, прежде чем я смогу использовать зашифрованные учетные данные.

Я думаю, что мне не хватает некоторых деталей, потому что в документации Marklogic указано, что мы можем удалить свойство пароля из файла gradle.properties.

Мой файл build.gradle содержит следующее:

buildscript {
  dependencies {
    classpath fileTree(dir: "ml-gradle-dependencies", include: "*.jar")
  }
}

apply plugin: "com.marklogic.ml-data-hub"
apply plugin: "nu.studer.credentials" 
apply plugin: "net.saliman.properties"
apply plugin: "java"
apply plugin: "idea"
apply plugin: "eclipse"

repositories {
    mavenLocal()
}

ext {
  mlManageConfig.password = credentials.mlPassword
  mlManageConfig.securityPassword = credentials.mlPassword // only needed if setting mlSecurityUsername

  mlAdminConfig.password = credentials.mlPassword

  println mlAdminConfig.password

  mlAppConfig.restAdminPassword = credentials.mlPassword
  mlAppConfig.appServicesPassword = credentials.mlPassword

  // Re-initialize the connections to the Admin and Manage servers
  mlManageClient.manageConfig=mlManageConfig
  mlAdminManager.adminConfig=mlAdminConfig
}

dependencies {
    // this allows you to write custom java code that depends
    // on the Data Hub Framework library

    compile 'com.marklogic:marklogic-data-hub:4.1.1'
    compile 'com.marklogic:marklogic-xcc:9.0.7'
}

И после того, как я удалю mlPassword из файла gradle.properties, я получаю следующую ошибку

Где: Файл сборки 'C: \ workspaces \ CAPL \ tmp \ marklogic \ dhf \ build.gradle', строка: 7

Что пошло не так: возникла проблема при оценке корневого проекта "dhf".

Не удалось применить плагин [id 'com.marklogic.ml-data-hub'] Пароль не указан


person capl    schedule 18.06.2019    source источник


Ответы (1)


Об этом есть страница в вики по marklogic-gradle:

https://github.com/marklogic-community/ml-gradle/wiki/Encrypting-passwords

Короткий ответ заключается в том, что в экосистеме gradle есть плагины для управления паролями, и marklogic-gradle также работает с ними.

person Damon Feldman    schedule 18.06.2019
comment
Привет! Да, я использую плагин, упомянутый на указанной вами странице. Моя проблема в том, что когда я применяю это решение и удаляю mlPassword из файла gradle.properties, я получаю ошибку «Нет пароля» (даже после того, как я добавил блок ext в свой скрипт build.gradle) - person capl; 20.06.2019