elastic / logstash

Logstash - transport and process your logs, events, or other data
https://www.elastic.co/products/logstash
Other
14.18k stars 3.5k forks source link

using `--local` with `bin/logstash-plugin install` should be deprecated #6539

Open ph opened 7 years ago

ph commented 7 years ago

With the addition of the prepare-offline-pack subcommand we should display a deprecation warning when a user is trying to use the bin/logstash-plugin install with --local since this flag is only needed for the pack/unpack flow.

gdalessandro2 commented 7 years ago

How does this impact the useage of --local in version 5.1.2? I am currently trying to install a local protobuf plugin from the GEM file that i got off of rubygems.org and each time i run the logstash-plugin install --local command i get the following output:

[logadm@stash01aplqa bin]$ sudo -u logstash ./logstash-plugin install --no-verify --local /app/etc/logstash/logstash-codec-protobuf-1.0.0.gem [sudo] password for logadm: ERROR: Something went wrong when installing /app/etc/logstash/logstash-codec-protobuf-1.0.0.gem, message: Connection reset by peer

ph commented 7 years ago

@gdalessandro2 We have created a new workflow that will be released in 5.2 called "prepare-offline-pack" see the doc in the master branch https://github.com/elastic/logstash/blob/master/docs/static/offline-plugins.asciidoc#offline-plugin-management

gdalessandro2 commented 7 years ago

My issue is the same with the regular ./logstash-plugin install. I believe it is being caused by a security issue on my end. I will update this thread with my findings once i am able to test it out.

ph commented 7 years ago

message: Connection reset by peer

I believe your environment is air gap? It doesn't have direct access to the internet?

gdalessandro2 commented 7 years ago

it is locked down pretty tightly. I understood that i needed to poke some holes in order to get to ruby-gems but there was no document or easy way to find out exactly what needed to be opened. I think it would be nice to have a specific list of endpoints that are required for the plugin installer to work properly. I had to start peeling through .rb files and firewall logs in order to find my answer. Again, once i have it working i will update the thread.

mellieA commented 7 years ago

+1, the usage example for install also should be updated to reflect that the option is deprecated:


Usage:
    bin/logstash-plugin install [OPTIONS] [PLUGIN] ...

Parameters:
    [PLUGIN] ...                  plugin name(s) or file

Options:
    --version VERSION             version of the plugin to install
    --[no-]verify                 verify plugin validity before installation (default: true)
    --preserve                    preserve current gem options (default: false)
    --development                 install all development dependencies of currently installed plugins (default: false)
    --local                       force local-only plugin installation. see bin/logstash-plugin package|unpack (default: false)
    -h, --help                    print help```