Plugin installation in docker container

I’m running opensearch 2.9.0 in a docker swarm environment, running a 3 node cluster.

The cluster itself is running fine and behaving as it should, however i’m wanting to add some visualizations to the list. More in specific : Releases · lguillaud/osd_transform_vis · GitHub and GitHub - fbaligand/kibana-enhanced-table: Kibana visualization like a Data Table, but with enhanced features like computed columns, filter bar, and “Split Cols” bucket

I succeed in installing both the plugins from file (verified with ./bin/opensearch-dashboards-plugin list)

however afterwards the documentation specifies: restart opensearch…

Which is where i run into problems:

  • restarting the entire stack in portainer => no more plugins installed
  • on the host where the dashboard is running restart the docker container => no more plugins installed.

So i’m not sure how to continue, it’s probably something stupid, but still no clue.

Thanks in advance!

Build a customer docker container based on the main opensearch image as such:

ARG osversion
FROM opensearchproject/opensearch:${osversion}

RUN /usr/share/opensearch/bin/opensearch-plugin install --batch repository-s3

Or if you’re on Kubernetes you could do it using init containers, but if the repo is down cluster won’t boot: not the ideal solution.

Not really at home in the entire dockerbuild world :slight_smile:

Using portainer to create the following new image:


FROM opensearchproject/opensearch-dashboards:2.9.0
ENV http_proxy=proxy_url
ENV https_proxy=proxy_url

RUN ./bin/opensearch-dashboards-plugin install https://github.com/fbaligand/kibana-enhanced-table/releases/download/v1.13.3/enhanced-table-1.13.3_osd-2.9.0.zip
RUN ./bin/opensearch-dashboards-plugin install https://github.com/lguillaud/osd_transform_vis/releases/download/2.9.0/transformVis-2.9.0.zip

That gives me an error code 70 (non-zero code). Plugin installation was unsuccessfull due to error (no valid url specified).:

Attempting to transfer from https://github.com/lguillaud/osd_transform_vis/releases/download/2.9.0/transformVis-2.9.0.zip
Picked up proxy proxy_url from environment variable.
Attempting to transfer from https://ci.opensearch.org/ci/dbc/distribution-build-opensearch-dashboards/2.9.0/latest/linux/x64/tar/builds/opensearch-dashboards/plugins/https://github.com/lguillaud/osd_transform_vis/releases/download/2.9.0/transformVis-2.9.0.zip-2.9.0.zip
Plugin installation was unsuccessful due to error "No valid url specified."

something seems wrong with the url, not sure how to resolve that?

Hm, you need the --batch at least and you’re installing a plugin for 1.13 as well.

I’m installing version 1.13 of the enhanced plugin for OSD 2.9.0

When i’m using the --batch command portainer complains about “unknown option --batch”

FROM opensearchproject/opensearch-dashboards:2.9.0
ENV http_proxy=proxy_url
ENV https_proxy=proxy_url

RUN ./bin/opensearch-dashboards-plugin install --batch https://github.com/fbaligand/kibana-enhanced-table/releases/download/v1.13.3/enhanced-table-1.13.3_osd-2.9.0.zip
RUN ./bin/opensearch-dashboards-plugin install --batch https://github.com/lguillaud/osd_transform_vis/releases/download/2.9.0/transformVis-2.9.0.zip

Ah this is for dashboards, never did install plugins for that sorry :slight_smile:

Hello,
Please find below an extract of the dockerfile I am using for the plugins you mention:

...
ARG VERSION 
...
# Transform viz settings
RUN echo "csp.strict: false" >> /usr/share/opensearch-dashboards/config/opensearch_dashboards.yml
RUN echo "csp.warnLegacyBrowsers: false" >> /usr/share/opensearch-dashboards/config/opensearch_dashboards.yml
RUN echo "csp.rules:" >> /usr/share/opensearch-dashboards/config/opensearch_dashboards.yml
RUN echo "  - \"script-src 'unsafe-eval' 'unsafe-inline' 'self'  http://localhost/ https://www.gstatic.com/ https://d3js.org/ https://cdn.jsdelivr.net/ https://cdnjs.cloudflare.com/ https://cdn.datatables.net/ 'self'\"" >> /usr/share/opensearch-dashboards/config/opensearch_dashboards.yml
RUN echo "  - \"worker-src blob: *\"" >> /usr/share/opensearch-dashboards/config/opensearch_dashboards.yml
RUN echo "  - \"child-src data: * blob: *\"" >> /usr/share/opensearch-dashboards/config/opensearch_dashboards.yml

# transform_viz
RUN /usr/share/opensearch-dashboards/bin/opensearch-dashboards-plugin install https://github.com/lguillaud/osd_transform_vis/releases/download/$VERSION/transformVis-$VERSION.zip

# Enhanced table plugin
RUN cd /tmp && wget https://github.com/fbaligand/kibana-enhanced-table/releases/download/v1.13.3/enhanced-table-1.13.3_osd-$VERSION.zip
RUN /usr/share/opensearch-dashboards/bin/opensearch-dashboards-plugin install file:///tmp/enhanced-table-1.13.3_osd-$VERSION.zip

This might require wget, zip and unzip packages in your container.
in that case:

# install required packages to install Kibana & custom plugins
USER root
RUN yum -y update 
RUN yum -y install wget
RUN yum -y install zip
RUN yum -y install unzip
USER opensearch-dashboards

Hope it helps.