mirror of
https://github.com/elastic/logstash.git
synced 2025-04-23 14:17:58 -04:00
This new command replace the old workflow of `pack`, `unpack` and the `install --local`, and wrap all the logic into one uniform way of installing plugins. The work is based on the flow developed for installing an x-pack inside Logstash, when you call prepare-offline-pack, the specified plugins and their dependencies will be packaged in a zip. And this zip can be installed with the same flow as the pack. Definition: Source Logstash: Where you run the prepare-offline-pack. Target Logstash: Where you install the offline package. PROS: - If you install a .gem in the source logstash, the .gem and his dependencies will be bundled. - The install flow doesn't need to have access to the internet. - Nothing special need to be setup in the target logstash environment. CONS: - The is one minor drawback, the plugins need to have their JARS bundled with them for this flow to work, this is currently the case for all the official plugins. - The source Logstash need to have access to the internet when you install plugins before packaging them. Usage examples: bin/logstash-plugin prepare-offline-pack logstash-input-beats bin/logstash-plugin prepare-offline-pack logstash-filter-jdbc logstash-input-beats bin/logstash-plugin prepare-offline-pack logstash-filter-* bin/logstash-plugin prepare-offline-pack logstash-filter-* logstash-input-beats How to install: bin/logstash-plugin install file:///tmp/logstash-offline-plugins-XXXX.zip Fixes #6404
28 lines
1,011 B
Ruby
28 lines
1,011 B
Ruby
# coding: utf-8
|
|
lib = File.expand_path('../lib', __FILE__)
|
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
require 'paquet/version'
|
|
|
|
Gem::Specification.new do |spec|
|
|
spec.name = "paquet"
|
|
spec.version = Paquet::VERSION
|
|
spec.authors = ["Elastic"]
|
|
spec.email = ["info@elastic.co"]
|
|
spec.license = "Apache License (2.0)"
|
|
|
|
spec.summary = %q{Rake helpers to create a uber gem}
|
|
spec.description = %q{This gem add a few rake tasks to create a uber gems that will be shipped as a zip}
|
|
spec.homepage = "https://github.com/elastic/logstash"
|
|
|
|
|
|
spec.files = Dir.glob(File.join(File.dirname(__FILE__), "lib", "**", "*.rb"))
|
|
|
|
spec.bindir = "exe"
|
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
spec.require_paths = ["lib"]
|
|
|
|
spec.add_development_dependency "rspec"
|
|
spec.add_development_dependency "pry"
|
|
spec.add_development_dependency "webmock", "~> 2.2.0"
|
|
spec.add_development_dependency "stud"
|
|
end
|