Issue #8722 : Docker options to install marketplace plugins - #8723
mattcasters wants to merge 3 commits into
Conversation
|
Example: build the client, then: and: You should see the plugin get installed from the specified Nexus and run the PyHop server. |
|
@mattcasters, thanks for picking this up. Installing marketplace plugins in a container is a real gap, and following the I spent some time testing this end to end, and I think it needs another round before it's ready, mostly in the Docker integration rather than the CLI. Could we move it to draft while that's sorted out? Details below. What I tested: I used the PR's marketplace jar in a client build and ran the
Blockers
Should fix
The new |
|
Thanks for helping out @bamaer. I'll pick up these suggestions this weekend. The ultimate goal is to avoid an (organisationally) expensive pass around SECOPS, Jenkins, permissions to deploy a custom docker container, running said custom container on k8s/OpenShift, the whole 9 yards with audit trails on top of all of them. |
… repo passwords on the command line.
Description
Closes #8722.
This PR adds Docker container environment variables to automatically download and install marketplace plugins before Apache Hop starts, following the precedent established for JDBC drivers (
HOP_DRIVERS_DOWNLOAD).Key Changes
install_marketplace_plugins()todocker/resources/load-and-execute.shanddocker/resources/run-web.sh.HOP_PLUGINS_DOWNLOAD: comma-separated plugin coordinates (short-name,artifactId,artifactId:version, orgroupId:artifactId:version).HOP_PLUGINS_MAVEN_REPO: base URL of the corporate Artifactory or custom Maven/Nexus repository.HOP_PLUGINS_REPO_USERNAME/HOP_PLUGINS_REPO_PASSWORD: credentials for authenticated repositories.HOP_PLUGINS_REPO_AUTH_TYPE:auto(default),none,basic, ortoken.HOP_PLUGINS_ENV_FILE: optional path/URL to declarativehop-env.yaml/hop-marketplace-repo.yamlfile.hop marketplace install):--repo-url <url>option to allow downloading directly from custom repositories without prior manual registration inhop-config.json.--username,--password, and--auth-typeoptions toInstallCommand.--repo.Downloading Marketplace pluginssection indocker-container.adoc.InstallCommandParsingTest.java.installCommandWithRepoUrlInstallsFromAdHocRepositoryinPluginInstallerTest.java.