Commit graph

249 commits

Author SHA1 Message Date
Shaunak Kashyap
7570c9f34e Update version in OSS-only artifacts as well
Updates README artifact links regex to update version in OSS-only artifact links as well

Fixes #9425
2018-04-30 19:07:56 +00:00
Jenkins CI
6e049269a9 Migrate x-pack-logstash source to logstash 2018-04-24 10:45:08 -05:00
Dan Hermann
495cad811d Unify logging properties across distributions.
Fixes #9006, #8499.

Fixes #9076
2018-03-29 18:55:27 +00:00
Andrew Cholakian
3f58730507 Add OSS variants of artifact rake tasks
These will omit the x-pack folder once it is merged in

Fixes #9223
2018-03-09 18:36:31 +00:00
Jake Landis
00b8a4ab29 Add pipelines.yml to RPM/DEB configured files to avoid overwrite on updrade.
Fixes #9129

Fixes #9130
2018-02-09 21:58:50 +00:00
Armin
57c46c2e6c BUILD: Remove invocations in rake tasks
Fixes #9032
2018-01-26 21:11:12 +00:00
Guy Boertje
63fb6c25f6 add jdbc_static (#8933)
* add jdbc_static

* sort logstash-* gems and add jdbc_static to plugins-metadata.json
2018-01-16 18:54:28 +00:00
Jake Landis
233b805a82 Secret Store: Ability to set and use secret data from an encrypted data store.
Fixes #8657

Part 1: API and JavaKeyStore implementation (#8657)

Introduces the API to read/write/delete sensitive data from a secure store and includes a Java KeyStore implementation. Note - this commit does NOT integrate with the Logstash configuration or settings.

Part 2: Secret Store: SecretStoreFactory, SecureConfig, Obfuscation and X-JVM support (#8659)

*  Secret Store: SecretStoreFactory, SecureConfig, Obfuscation and X-JVM support

* Introduce a SecretStoreFactory to allow runtime definition of SecretStore implementation.
* Introduce a SecureConfig to allow simple configuration of different SecretStore implementaiton.
* Introduce random default password plus obfuscation. Best attempt at security through obscurity.
* Corrections / better support for x-JVM modification.

Part 3: Secret Store: SecretStore, SecretStoreFactory, JavaKeystore - refacactor (#8745)

* Adds more CRUD like operations for SecretStore API
* SecretStoreFactory Mirror API's CRUD operations
* Adds 'exists' to API to allow command line warning 'Overwrite ?'
* Minor readabiliy

Part 4: Integrate secret store with Logstash core (#8905)

This change introduces the command line tooling and hooks needed to allow Logstash to use the secret store. This change hooks into the same logic that the does the environment variable substitution. The commnad line mirrors the Elasticsearch command line, and is implemented primarily in Java.

Part 5: Hardening and test fixes (this PR)

Fixes #8935
2018-01-13 01:24:33 +00:00
Jordan Sissel
dc75e5dfc8 Use multiple pipelines feature by default in RPM and Debian packages.
This change keeps the previous behavior but implements it using multiple
pipelines (pipelines.yml) instead of with `path.config`.

* The default pipeline name is still "main"
* Default config path is still /etc/logstash/conf.d/*.conf

Other small changes included:
* Specify fpm workdir. Otherwise rpmbuild is given an empty value for
  its temporary directory. It's unclear if this is a bug in fpm or in my
  environment, but I like the change anyway to put fpm's build activity
  in the build directory.
* DRY's up the common files going in /etc/logstash for both rpm and deb
  packages.

For #8893

Fixes #8894
2018-01-10 19:04:38 +00:00
Armin
dff953d881 JAVA EntryPoint
* Created `org.logstash.Logstash` as entrypoint
* Safely handle `Ruby` runtime (which sadly is still a singleton, moving away from that will require a few iterations on top of this)
* Adjusted `bat` and `sh` entry point wrappers
* Verified manually that performance is unchanged (i.e. all Java opts are still loaded properly)
* Flattened `.jar` path to make it a little less bothersome to build the `-cp` string
* Retained ability to load jars from Ruby via the global `$LS_JARS_LOADED` variable hack, to keep plugin specs that load LS as a `.gem` functional (like e.g. the ITs in LS itself)
* No need for the gem jars magic anymore, the downloading and moving into place of jars is now all handled by Gradle

Fixes #8161
2018-01-03 19:13:28 +00:00
Armin
5b60153264 fix z_rubycheck.rb
Fixes #8896
2017-12-29 18:21:38 +00:00
Andrew Cholakian
c22f060732 Bump minitar version for security fix even though we aren't vulnerable
Fixes #8714
2017-11-22 20:22:38 +00:00
Rob Bavey
9191f61d2d Split shared doc version update into separate rake task
The stack version constant in index-shared1.asciidoc should not be
updated during a version bump, as this impacts the current version
of the doc on elastic.co. Instead, create a separate rake task
to bump the version.

See #8637 for details of this happening

Fixes #8648
2017-11-14 14:10:21 +00:00
Armin
8b8d5ec9ca TESTS: Improve Gradle Test Configuration
* `clean` actually cleans all dynamically created files, in particular it now properly cleans the generated Gemfile so
that changes to the Gemfile.template reflect in a rerun of `bundler`
* `rubyTests` and `test` are now one-off and will automatically bootstrap JRuby and Gems required by the tests if necessary
* Fixed Readme to document the now much simpler test targets
* All rake tasks remain unchanged and still work exactly as they did before

Fixes #8583
2017-11-06 18:34:47 +00:00
infcurious@gmail.com
f03f1b7775 Update set_plugic_api task to use latest update_version_file
Fixes #8496
2017-11-01 13:23:20 +00:00
infcurious@gmail.com
359f69ea67 Use old_version & new_version naming for readability
Fixes #8496
2017-11-01 13:23:20 +00:00
infcurious@gmail.com
c785daf697 Expand rake version:set to update README & index-shared1.asciidoc
Fixes #8496
2017-11-01 13:23:20 +00:00
Armin
835826085b BUILD: Execute RSPEC from JUnit
Fixes #8517
2017-10-26 19:57:54 +00:00
Armin
1dad58c2b5 #8280 remove simplecov
Fixes #8536
2017-10-26 12:15:12 +00:00
Armin
cd3b91dc5c #8216 Use standard name for Gemfile.lock
Fixes #8525
2017-10-26 08:33:03 +00:00
Armin
2037f5b031 MINOR: Removed dead RBX reference
Fixes #8526
2017-10-25 10:51:14 +00:00
Colin Surprenant
12acb39056 fix the test:plugins execution 2017-10-12 15:06:12 -04:00
Rob Bavey
7049e61c26 Fixup rake:version task
Remove no longer nececessary sync task
Simplify other tasks to reflect this removal
Change update_version_file to keep comments in yaml file after task run

Fixes #8410
2017-09-29 20:48:04 +00:00
Pier-Hugues Pellerin
3a08171c3a Add debug message when a plugin is not found when generating the NOTICE File
Fixes #8404
2017-09-27 13:34:19 +00:00
Guy Boertje
5a9e670c4b bump JrJackson/Jackson versions, source all version refs from versions.yml
final (I hope) fixes for consolidated versioning.

After testing with rake artifact:zip, need to try both files.
Add desc to rake test:install-* tasks, tired of
  not seeing them in rake -vT

changes requested via review

Fixes #8373

Fixes #8388
2017-09-26 17:47:39 +00:00
Jordan Sissel
43b6fb891a Add commercially supported plugins to be default
Our intent is to ship all commercially supported[1] plugins with
Logstash. By some mistakes, we have omitted a few plugins, and this
commit resolves those omissions.

Fixes #8287

Fixes #8318
2017-09-22 19:50:59 +00:00
Pier-Hugues Pellerin
9184e360d2 remove vendor plugin
Fixes #8281
2017-09-18 18:57:50 +00:00
Pier-Hugues Pellerin
0468a07082 remove all trace of install all plugins in the code and in the build scripts
Fixes #8281
2017-09-18 18:57:49 +00:00
Pier-Hugues Pellerin
4ac9b97617 Remove uneeded task to install all the possible plugins from the logstash-plugin organization
This command was error prone, some plugins on the logstash-plugin
organization are currently broken.

Fixes #8281
2017-09-18 18:57:49 +00:00
Pier-Hugues Pellerin
7b09be4ead Bootstrap JRuby using gradle
Instead of using rake to bootstrap we are slowly moving part of our
infra to gradle this is the first step taken, I didn't change the calls,
I just made the `rake bootstrap` call the `gradle bootstrap`

Closes: #8234

Fixes #8238
2017-09-18 14:32:10 +00:00
Jake Landis
1340f2eee0 Introduce docker for CI builds.
This commit includes:
* A base Dockerfile and script to push to a Docker repo
* A per-build Dockerfile (derived from the base)
* Updates to the test scripts to allow for more parallel builds
* Docker wrappers for the tests scripts
* Update for the integration test readme to manually run the tests
* Clean up the output of the Java tests
* Remove offline tag for tests (no longer needed that we don't use docker dependent services)

This commit does NOT include:
* Changes needed for the CI system to use Docker

Fixes #8223
2017-09-14 18:55:41 +00:00
Rob Bavey
2d6eef7f5e Remove CHANGELOG.md from list of packaged files
CHANGELOG.md has been removed, so it should no longer be packaged

Fixes #8255

Fixes #8256
2017-09-14 17:46:57 +00:00
Colin Surprenant
192e857c81 remove unsued windows code 2017-09-14 10:53:02 -04:00
Colin Surprenant
5d8c79ad4f add jruby-runtime-override in versions.yml, update jruby version to 9.1.13.0, relax jruby-ssl version to >= 0.9.20
add option for different jruby runtime version

relax jruby-ssl version to >= 0.9.20

rename jruby-runtime to jruby-runtime-override and add sha1 IGNORE option

use JRuby released version of 9.1.13.0
2017-09-07 12:17:32 -04:00
Guy Boertje
e2b2e7d979 Modules cloud id auth (#8059)
* add newlines to generated json

* Implement cloud.id and cloud.auth settings merge to module settings

* Fixes from review plus convert to using Password for any Module Setting

* Review changes

* update modules.asciidoc to include a section on Cloud

* Capitalize Id

* remove unnecessesary require lines
2017-08-28 08:51:21 -07:00
Suyog Rao
c0a224798b remove rake benchmark target
Fixes #7831
2017-07-27 19:40:41 +00:00
Armin
10a72ce015 #7700 ignore ENV JAVA_OPTS in rake tasks
Fixes #7785
2017-07-24 15:44:52 +00:00
Suyog Rao
23b8d4d948 Add translate filter to default filter list (#7713) 2017-07-17 10:43:24 -07:00
Magnus Bäck
ca1962f697 rakelib: List log4j2.properties as a config file in RPM/Deb (#7688)
When a file is listed as a configuration file the package manager
will ask the user about what to do about local modifications when
the package is upgraded and the file has changed upstream. If not
listed as a configuration file any local modifications will silently
be lost.
2017-07-14 13:33:33 -05:00
Suyog Rao
33d1164901 Update default plugins list (#7669)
Based on google analytics from docs pageviews, we are updating the bundled
plugins to remove plugins which doesn't have to be in the default package.

They can still be installed via bin/logstash-plugin
2017-07-12 21:43:07 +02:00
Pier-Hugues Pellerin
39630a986f Simplier algorithm to retrieve the installable plugins
Using a recursive algorithm was causing issue with SSL connection to
rubygems when we were manually settings variable to NIL.

This commit uses a simple loop and will try to install the plugins in
sequence and it will give a bit more information at the STDOUT level.

Fixes #7562
2017-06-28 23:17:28 +00:00
Pier-Hugues Pellerin
461d2058a9 Fix an OOM issue when generating the plugins dependence json
Make sure the unused variables are freed in the recursive method call.

Fixes #7544
2017-06-26 21:16:26 +00:00
Jordan Sissel
a355d9f09d Use plugin name instead of metadata because sometimes Bundler-provided Gem::Specifications have nil metadata.
Fixes #7530
2017-06-23 20:09:24 +00:00
Jordan Sissel
70fa6f2d57 Only include Logstash plugins in list of plugins
When generating list of compatible plugins for documentation, we
previously were accidentally include all gems, not just logstash
plugins.

Fixes #7521
2017-06-22 22:24:47 +00:00
Pier-Hugues Pellerin
0332ee5087 update the set strategy
Make sure when you set a logstash version that we are not wiping
the content of the versions file but instead merge it so we preserve
jruby information.

Fixes #7434
2017-06-13 15:44:32 +00:00
Pier-Hugues Pellerin
6a4766a01f Centralize the JRuby version
We have multiple places to declare the jruby version, this commit
centralize everything into the `version.yml` file. This is now used by
the ruby part and the gradle build file to correctly fetch the jruby
library.

Fixes #7434
2017-06-13 15:44:31 +00:00
Pier-Hugues Pellerin
7dcf9ad763 Update to JRuby 9.1.10.0
Update from 9.1.9.0 to 9.1.10.0

Fixes #7425
2017-06-13 12:44:00 +00:00
Pier-Hugues Pellerin
76286b4f0e use jruby 9.1.9.0
Work done by @guyboertje and @ph

Since JRuby 1.7.25 is now EOL we are migrating Logstash to use JRuby 9k and JDK8 only,
Not much needed updating to make this work, its was mostly a drop in replacement from the previous version.

The major point was the change in the implementation of Time in JRuby, JRuby now use `java.time`
instead of joda time, this allow JRuby to have nanoseconds precision on time object.
2017-06-12 12:35:10 -04:00
Armin
9b922e7e9b #7375 plugin install rake task should depend on bootstrap task
Fixes #7415
2017-06-12 11:06:45 +00:00
Pier-Hugues Pellerin
42e9c0d758 Extraction of the document from ruby to actual asciidoc file
This PR is based on the proposal from #6846, it does the following

- Change the format of the plugin help page
- Create an external file for each plugin type that will get included by the plugin
- Add a script to generate the PR on each plugin repo with the static doc
- Add a script `ci/ci_docs.sh` that will be used to generate the list of plugins that can be installed in logstash from all the available plugins from the community organization

This PR is the building block for change in https://github.com/elastic/docs-tools/issues/3

Fixes #6941
2017-06-08 20:14:36 +00:00