Commit graph

56 commits

Author SHA1 Message Date
kaisecheng
0f8695593e
buildkite serverless test (#15150)
This commit adds a Buildkite pipeline to test against serverless endpoint daily

Tests cover 
- es-output
- es-input
- es-filter
- central pipeline management
- legacy monitoring
- dlq
- integration-filter
- kibana API
- metricbeat stack monitoring

Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
Co-authored-by: João Duarte <jsvduarte@gmail.com>
2023-07-19 17:21:53 +01:00
kaisecheng
dfb109843d
Support ironbank docker build (#14298)
This commit adds a rake task `rake artifact:dockerfile_ironbank` to generate ironbank docker build context for automatic release.
The output can be found in build/logstash-ironbank-$VERSION-docker-build-context.tar.gz

Co-authored-by: Rob Bavey <rob.bavey@elastic.co>
2022-06-28 10:29:55 +01:00
Andrea Selva
a0774c4e76
Explicitate the type of log format in appender's names (#12964)
Remove an useful dynamic creation of appender's log file which leverages the `log.format` property 
also when it's explicit by the appender itself.

Log4j configuration leverages the placeholder `${sys:ls.log.format}` to compose the name of the log file.
This generates some not evident conflicts in log4j internals, these conflicts became evident when enabling the `pipeline.separate_logs` feature is enabled and the log4j appender definitions contains both json and plain format.
The problem is that under those circumstances the rollover of the log file doesn't happen.

This commit also add a test against the production log4j configuration, to avoid future regressions.
2021-06-15 11:25:08 +02:00
Andrea Selva
446dc7d906
Avoid hard-coded plugin alias definitions (#12841)
Remove hard coded alias definitions in favor of yaml descriptor file.

Introduce a single point of aliases definition (logstash-core/src/main/resources/org/logstash/plugins/AliasRegistry.yml),  checksum and copy it around to be used by Logstash and by Logstash's plugin management tool.

The descriptor yml file contains a checksum to verify it's not changed accidentally in a deployment of Logstash, if the verification phase fail Logstash avoid to start and plugin management tool avoid to operate.
The signing and copying around is managed by a specific Gradle task invoked during the build.

Co-authored-by: Ry Biesemeyer <yaauie@users.noreply.github.com>

Fixes #12831
2021-06-03 12:24:18 +02:00
João Duarte
dc5db673ee
build docker images from logstash repo (#10603)
introduces two rake tasks: `rake artifact:docker_oss` and `rake artifact:docker`, which will create the docker images of the OSS and non OSS packages. These tasks depend on the tar artifacts being built.

Also `rake artifact:all` has been modified to also call these two tasks.

most code was moved from https://github.com/elastic/logstash-docker/
2019-04-04 11:27:06 +01:00
Joao Duarte
cb65e15ed1 manually generate NOTICE.TXT from licenses in dependencies-report
Fixes #9886
2018-08-10 12:38:51 +00:00
Dan Hermann
d6e730f9b6 Unify logging properties across distributions.
Fixes #9006, #8499.

Fixes #9076
2018-03-29 18:55:27 +00:00
Jake Landis
7aa27279a8 Keystore documentation
Fixes #9044
2018-02-06 01:32:55 +00:00
Jake Landis
058c9a6c47 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:22:53 +00:00
Armin
c7b7025cc1 #8216 Use standard name for Gemfile.lock
Fixes #8525
2017-10-26 08:33:03 +00:00
Rob Bavey
2c28fb0196 Update logstash-core-plugin-api to source version from versions.yml
Use same mechanism as logstash and logstash-core to retrieve version
information

Fixes #8418
2017-10-11 17:58:13 +00:00
Guy Boertje
9b09d4c899 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
2017-09-26 15:29:58 +00:00
Armin Braun
5800a0a600 MINOR: Gitignore compiled c code in ITs
Fixes #8200
2017-09-11 14:14:21 +00:00
Armin
d9436dd760 Benchmark Tool
Fixes #7629
2017-07-24 15:46:30 +00:00
Armin
aad8360b7e MINOR: Gitignore out paths coming from Gradle 4.0
Fixes #7673
2017-07-13 10:22:55 +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
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
Armin
18b2c60f38 #7129 Gitignore NOTICE.TXT
Fixes #7307
2017-06-05 09:08:31 +00:00
Andrew Cholakian
9f36ea1620 Ignore java build files in logstash-core
Fixes #7070
2017-05-11 02:38:45 +00:00
Armin
d979c8cf04 gitignore .lock
Fixes #7052
2017-05-10 13:29:07 +00:00
Armin Braun
4bb6d34919 removed .lock gitignore
Fixes #6985
2017-05-02 13:23:34 +00:00
Armin Braun
8e9840f298 ignore .Gemfile.jruby-1.9.lock, .lock and Gemfile
Fixes #6985
2017-05-02 13:23:34 +00:00
Andrew Cholakian
7cc4975f41 Add '.gradle' to .gitignore file
Fixes #6967
2017-04-26 17:18:30 +00:00
Tal Levy
bd8b05d676 unify gradle projects (#6725) 2017-02-27 13:58:01 -08:00
Pier-Hugues Pellerin
12cfa69215 Feature: A way to install/remove a plugin pack
A pack in this context is a *bundle* of plugins that can be distributed outside of rubygems; it is similar to what ES and kibana are doing, and
the user interface is modeled after them. See https://www.elastic.co/downloads/x-pack

**Do not mix it with the `bin/logstash-plugin pack/unpack` command.**

- it contains one or more plugins that need to be installed
- it is self-contains with the gems and the needed jars
- it is distributed as a zip file
- the file structure needs to follow some rules.

- As a reserved name name on elastic.co download http server
    - `bin/plugin install logstash-mypack` will check on the download server if a pack for the current specific logstash version exist and it will be downloaded, if it doesn't exist we fallback on rubygems.
    - The file on the server will follow this convention `logstash-mypack-{LOGSTASH_VERSION}.zip`

- As a fully qualified url
    - `bin/plugin install http://test.abc/logstash-mypack.zip`, if it exists it will be downloaded and installed if it does not we raise an error.

- As a local file
    - `bin/plugin install file:///tmp/logstash-mypack.zip`, if it exists it will be installed

Fixes #6168
2016-11-17 14:00:02 -05:00
Suyog Rao
37800fc653 Use randomized ports
Fixes #6031
2016-10-14 18:27:44 -04:00
Tal Levy
79e7daf746 add logging api endpoint
PUT /_nodes/logging -- sets log levels
GET /_nodes/logging -- retrieves log levels of existing loggers

Fixes #5871
2016-09-13 03:46:28 -04:00
Pere Urbon-Bayes
32e2cae8a0 cleanup .rspec from gitignore file for qa directory
Fixes #5566
2016-08-23 11:45:45 -04:00
Guy Boertje
1002d50524 Implementation - Java Event type casting conversion optimization (#4999)
* add RubyJavaObject and Valuefier classes and use, junit and rspec pass

* add benchmark

* update benchmark
Deep fetch      6.015M (± 4.4%) i/s -     60.086M

* change warmup to 30 seconds

* support for rubyValue = RubyNil, shortcut null when asking for javaValue

* prevent Lists and Maps from being converted to RubyJavaValue too

* camel case: is_ruby_nil

* rename method, use renamed method, make serializable and add junit test

* encapsulate refs to RubyJavaObject to setableValue, use StringBuilder

* remove unused newObj

* some fixes after PR review

* wip

* ruby and java tests pass with BiValues.

* Benchmarks are still good

* Fixes for spec failures in normal event specs

* integrate JavaProxy support into BiValues

* edit a TODO

* rebase master and updates from PR review.

* revert the use of JavaUtil.convertJavaToUsableRubyObject

* allow initTimestamp to handle NullBiValue

* remove TimeBiValue, convert Joda DateTime and Ruby Time to Timestamp beforehand
2016-07-20 20:03:03 +01:00
Pere Urbon-Bayes
6c4a09c631 first iteration of a QA acceptance and integration test framework, this initial run include only very basic infraestructure and is for sure going to evolve as necessary to make it a reality.
Fixes #5350
2016-06-02 14:37:14 +00:00
Suyog Rao
9477db2768 Cleanup docs directory
Remove old, unused markdown docs
Bring dir structure to mirror logstash-docs repo
2015-12-21 08:36:02 +05:30
Pier-Hugues Pellerin
a30b9a905e Add the possibility to run local integration test
Fixes #4166
2015-11-13 17:16:49 +00:00
Richard Pijnenburg
1a7520d5d0 Update package acceptance tests
- Use environment var LS_BRANCH to select which packages to use from which branch.

Fixes #2501
2015-02-03 14:09:18 +00:00
Colin Surprenant
b23ede9260 do not ignore .lock files
Fixes #2203
2014-12-10 23:48:17 +00:00
Pier-Hugues Pellerin
00899fc411 Adding bootstrap gem to the gem home
Fixes #2203
2014-12-10 23:48:16 +00:00
Richard Pijnenburg
17e282c3a7 Update gitignore file
Fixes #1758
2014-09-30 16:06:47 +00:00
Suyog Rao
589cc29141 Ignore RubyMine/IntelliJ dirs 2014-07-15 13:18:56 -07:00
Pieter Lexis
8236a71499 Ignore the .VERSION.mk file 2013-11-19 08:35:11 +01:00
Nick Ethier
7145647cd2 improve coverage reporting [ci skip] 2013-09-25 16:11:16 -06:00
Jordan Sissel
25938f3bc1 Merge branch 'master' of https://github.com/mrjcleaver/logstash into mrjcleaver-master
Conflicts:
	.gitignore
2013-09-03 11:44:21 -07:00
Jordan Sissel
3ec9f53e88 Merge pull request #558 from shuge/master
implemented script to auto generate shipper configuration file for PHP-FPM/MySQL/Redis
2013-08-16 15:27:49 -07:00
Tray Torrance
8925b68082 Various fixes to generated .deb packages
This resolves a few inconsistencies and issues in the generated packages
for Debian/Ubuntu:

  * Creates /etc/logstash/conf.d
  * Installs a basic defaults file in /etc/default/logstash (which also sets HOME)
  * Stops creating /var/run/logstash (unused)
  * Uses /var/lib/logstash as the home directory of the logstash user instead of /home/logstash
  * Defaults package files to be owned by root, fixes ownership in post-install script
  * Properly stops service when removing the package on Debian

The end result is that after installing, LogStash will pretty much "just
work" with only 2 changes:

1) Enable START=yes in /etc/default/logstash
2) Provide a config for the LogStash agent
2013-08-14 16:03:19 -07:00
Shuge Lee
70a42ddb5b implemented script to auto generate shipper configuration for PHP-FPM/MySQL/Redis 2013-07-25 15:35:07 +08:00
Martin Cleaver
de4e90c6d7 almost ready to try 2013-06-29 21:00:04 -04:00
Jordan Sissel
01053acb2f - ignore rbx stuff 2013-06-03 14:56:32 -06:00
Jordan Sissel
027a4238f2 .rbx 2013-05-28 15:53:34 -07:00
Sébastien Masset
eed27d1481 Added Eclipse project files to .gitignore 2012-11-20 16:28:53 +01:00
Jordan Sissel
22046a0887 - Purge the Gemfile.lock virus 2012-11-14 09:48:12 -08:00
Jeff Forcier
9e395e6c53 gitignore a few things 2011-12-19 14:47:04 -08:00
Pete Fritchman
50b4e417f2 ignore build directories 2011-05-21 15:54:12 -07:00