Commit Graph

71 Commits

Author SHA1 Message Date
Alexander Reelsen 215a554555 Tests: Fixing more tests in Watcher after query refactoring
Original commit: elastic/x-pack-elasticsearch@1a0b654c56
2015-10-16 15:04:05 +02:00
Colin Goodheart-Smithe 4f1f535937 [TEST] fix template comparisons in watcher tests
Original commit: elastic/x-pack-elasticsearch@8edc47089b
2015-10-16 13:29:58 +01:00
Colin Goodheart-Smithe acec3c9216 [TEST] Fixes to failing watcher tests
Original commit: elastic/x-pack-elasticsearch@4d592b9c92
2015-10-16 10:09:13 +01:00
Colin Goodheart-Smithe 7a5fe13c34 Fixes to ensure the watcher context is added to templates
Original commit: elastic/x-pack-elasticsearch@a1dfecdd6b
2015-10-16 09:35:14 +01:00
Colin Goodheart-Smithe 4cd02142a2 fixes for compile errors due to search request refactoring in core
Original commit: elastic/x-pack-elasticsearch@8808789912
2015-10-16 08:18:20 +01:00
Areek Zillur ae552efc3c [license] simplify Licensee interface
Currently, Licensee#onChange is called with a license and its status, It would be
cleaner if it accepted the license's operationMode and status as parameters instead.
This hides the license responsible for the notification from the consumer plugins and only
provides the license information used by the commercial plugins to turn features on via
operationMode and status to act on whether the current license is enabled, in
grace_period or disabled.

Original commit: elastic/x-pack-elasticsearch@b0ea7ec32b
2015-10-15 17:57:54 -04:00
Jason Tedor a0b9d424e6 Reflect upstream changes to o.e.c.m.IndexMetaData
This commit reflects some upstream method removals from
o.e.c.m.IndexMetaData.

Original commit: elastic/x-pack-elasticsearch@74b25628dc
2015-10-14 21:05:35 -04:00
Alexander Reelsen b927fd08bc Watcher: Adhere to new licensing requirements
* Basic license equlas disabling
* trial/gold/platinum: everything is allowed
* On expiry: actions of watches do not execute, PUT/GET on watches is disabled

Closes elastic/elasticsearch#688

Original commit: elastic/x-pack-elasticsearch@7017c62136
2015-10-14 17:59:09 +02:00
Jason Tedor b468c74401 Remove Guava as a dependency
This commit removes Guava as a dependency. Note that Guava will remain
as a test-only dependency (transitively through Elasticsearch through
Jimfs).

Relates elastic/elasticsearchelastic/elasticsearch#13224

Original commit: elastic/x-pack-elasticsearch@fe23d5f25f
2015-10-09 14:56:03 -04:00
Nik Everett f18b66fdc4 Handle missing actions when parsing WatchStatus
Original commit: elastic/x-pack-elasticsearch@b868aa1a62
2015-10-09 12:27:01 -04:00
Nik Everett 2bde3de3f0 Merge branch 'master' into immutable_map_be_gone
Original commit: elastic/x-pack-elasticsearch@62358ec345
2015-10-09 12:25:28 -04:00
Areek Zillur daf4a9765c [License] Feature agnostic licensing model
This commit changes the license plugin to work with license that are not tied to any specific feature in a bwc way. It refactors the license plugin api into a lighter weight API, enabling the license plugin to manage license expiration and acknowledgment triggers.

closes elastic/elasticsearch#683, elastic/elasticsearch#686, elastic/elasticsearch#687, elastic/elasticsearch#691

Original commit: elastic/x-pack-elasticsearch@537cd3933a
2015-10-09 00:32:15 -04:00
Martijn van Groningen 56981b5fff watcher: removed calibrating with round clock in ticker trigger engine
Closes elastic/elasticsearch#749

Original commit: elastic/x-pack-elasticsearch@f9f2db50d5
2015-10-07 18:12:20 +02:00
Nik Everett 0ff0cb7cd5 Merge branch 'master' into immutable_map_be_gone
Original commit: elastic/x-pack-elasticsearch@9eb0fb4bd7
2015-10-06 09:41:00 -04:00
Adrien Grand fec6ab7c22 Fix compile due to upstream elasticsearch changes.
Original commit: elastic/x-pack-elasticsearch@18033465c9
2015-10-06 14:00:50 +02:00
Martijn van Groningen 686c92312f Prevent Watcher to start if `action.auto_create_index` setting is too restrictive.
Closes elastic/elasticsearch#649

Original commit: elastic/x-pack-elasticsearch@afe05332ce
2015-10-06 11:22:06 +02:00
Martijn van Groningen 2cdd8c068f fixed compile error due to upstream change
Original commit: elastic/x-pack-elasticsearch@7c745ab463
2015-10-06 11:19:10 +02:00
Nik Everett dab504f6ba Remove ImmutableMap$Builder
Original commit: elastic/x-pack-elasticsearch@f0d3f71887
2015-10-05 17:11:33 -04:00
Nik Everett 1d61278b2d More ImmutableMap banning
Original commit: elastic/x-pack-elasticsearch@59fee6e288
2015-10-05 13:35:31 -04:00
Nik Everett c6e7c9c1d6 Merge branch 'master' into immutable_set_be_gone
Original commit: elastic/x-pack-elasticsearch@faa212ffbd
2015-09-25 10:47:16 -04:00
Martijn van Groningen e16894fb9d Removed dynamic index names in favour for ES' date math index names.
Original commit: elastic/x-pack-elasticsearch@267084f163
2015-09-25 15:55:22 +02:00
Nik Everett 7fe90ba03c Switch from Set to String comparison
Original commit: elastic/x-pack-elasticsearch@385ae531ee
2015-09-25 09:00:26 -04:00
Martijn van Groningen 1ce6f9ddba http input: The http input should only url encode once
Java's URI class already does url encoding, so we don't need to do this on out side.

Closes elastic/elasticsearch#699

Original commit: elastic/x-pack-elasticsearch@612dc99945
2015-09-25 12:20:58 +02:00
Nik Everett e3b3ef3ef2 Remove ImmutableSet
Yet another step in the de-guava-ification process.

Original commit: elastic/x-pack-elasticsearch@d8c597c7ba
2015-09-24 16:51:45 -04:00
Nik Everett f5398a739a Stop using ImmutableMap#entrySet
This is the first in a series of changes that will support banning Guava's
ImmutableSet.

Original commit: elastic/x-pack-elasticsearch@7f95900186
2015-09-22 16:49:10 -04:00
jaymode 138582db2a fix compilation error due to changed XContentParser interface
Original commit: elastic/x-pack-elasticsearch@386c8d357c
2015-09-22 07:29:45 -04:00
Robert Muir f610a347f0 Fix all doclint errors and warnings (so compile does not break with https://github.com/elastic/elasticsearch/pull/13702)
Original commit: elastic/x-pack-elasticsearch@6a05dcd6a2
2015-09-22 00:09:11 -04:00
uboness 006364279e Fixed bad defaults for html sanitization
- Corrected the `_tables` element list. now it contains the following elements: `<table>`, `<th>`, `<tr>`, `<td>`, `<caption>`, `<col>`, `<colgroup>`, `<thead>`, `<tbody>`, `<tfoot>`

- Added support for empty `<span>` elements

Closes elastic/elasticsearch#660

Original commit: elastic/x-pack-elasticsearch@ce5e57c4aa
2015-09-18 17:39:25 +02:00
Jason Tedor 1a14f7f1a3 Reflect migration of method in core
Original commit: elastic/x-pack-elasticsearch@0039f35646
2015-09-18 08:55:08 -04:00
Jason Tedor 517b9eaa91 Remove use of com.google.common.primitives.Ints
This commit removes all uses of com.google.common.primitives.Ints
across the codebase.

Relates elastic/elasticsearchelastic/elasticsearch#13224

Original commit: elastic/x-pack-elasticsearch@9500282387
2015-09-18 08:55:08 -04:00
Jason Tedor f650e18045 Remove use of com.google.common.base.Joiner
This commit removes all uses of com.google.common.base.Joiner across
the codebase.

Relates elastic/elasticsearchelastic/elasticsearch#13224

Original commit: elastic/x-pack-elasticsearch@f69b2addca
2015-09-15 09:44:41 -04:00
Jason Tedor 08de4a4ab1 Remove use of com.google.common.collect.Iterables
This commit removes all uses of com.google.common.collect.Iterables
across the codebase.

Relates elastic/elasticsearchelastic/elasticsearch#13224

Original commit: elastic/x-pack-elasticsearch@ca517de412
2015-09-14 13:26:04 -04:00
Simon Willnauer 2032c93da1 Catch up with core changes
This commit cuts over to StandardCharset vs. guavas Charsets, removes
obsolete uses of Collections2 / Function and replaces all LoadingCaches
with simple CHM#loadIfAbsent

Original commit: elastic/x-pack-elasticsearch@7d1d607e9e
2015-09-14 13:48:50 +02:00
Simon Willnauer 6fb4f7817c Use method references rather than Class instances to register transport handler.
This is caused by upstream changes in core.

Original commit: elastic/x-pack-elasticsearch@67f602abd1
2015-09-14 10:07:35 +02:00
Robert Muir 53cd14deda Remove remaining uses of setAccessible
This corresponds with https://github.com/elastic/elasticsearch/pull/13539

Original commit: elastic/x-pack-elasticsearch@29d235b8ed
2015-09-12 21:11:10 -04:00
Robert Muir 61c47634bd Fix wrong access modifiers for injected ctors, setAccessible is no longer used.
See https://github.com/elastic/elasticsearch/pull/13531

Original commit: elastic/x-pack-elasticsearch@658672b5fb
2015-09-12 03:30:33 -04:00
Martijn van Groningen 16ad2edc33 fixed forbidden usage of Guava's MoreExecutors in Watcher
Original commit: elastic/x-pack-elasticsearch@5b977f9ff3
2015-09-11 23:17:31 +02:00
jaymode ae66d4794a fix compile errors caused by cleanups in core
Original commit: elastic/x-pack-elasticsearch@a28d4b5ba0
2015-09-11 14:44:30 -04:00
Ryan Ernst fbbd3f6c2d Add warning suppressions
I fixed a couple more warnings and added suppressions, so that when
 elastic/elasticsearchelastic/elasticsearch#13410 lands, x-plugins will not break.

Original commit: elastic/x-pack-elasticsearch@8a19b2b71b
2015-09-09 12:45:20 -07:00
jaymode 154b10e901 add the ability to run as another user
This change adds a new permission that allows authorized users to execute a request as
another user. The flow is as follows:

1. The user making the request is authenticated
2. The user that is being impersonated is looked up
3. The requesting user is authorized for the privilege to run as the specified user
4. The impersonated user is then authorized for the given request

Additionally, the auditing has been updated to support this capability and indicates when a
user has been granted the ability to run as another user and then also indicates both the user
who is being impersonated and the requesting user when actions are granted/denied.

Closes elastic/elasticsearch#17

Original commit: elastic/x-pack-elasticsearch@00e5a6169b
2015-09-09 11:25:02 -04:00
Ryan Ernst 5dd5f525b5 Remove some warnings caught by -Xlint
Original commit: elastic/x-pack-elasticsearch@50bea927cf
2015-09-09 00:16:13 -07:00
Adrien Grand 06ec935a08 Fix x-plugins following count/scan removal from elasticsearch-core.
Original commit: elastic/x-pack-elasticsearch@ee43991a0a
2015-09-07 17:44:01 +02:00
uboness e6dfa215b6 Introducing Watch De/activateion
Today, once you add a watch to watcher, it's always active. Being "active" means that the watch is registered with the trigger engine (scheduled) and will be executed when its trigger is triggered.

Quite often, ppl want to have an option to deactivate/disable a registered watch. Such that while the watch definition still exists in watcher, it is "inactive" and is never triggered. The only way to do this today is using a "hack" where you can change the watch schedule to a cron expression targeting a really far date in the future (say somewhere around 2050). Again.. this is very hackish and it requires changing the actual definition of the watch (you loose its original trigger).

 This commit introduces the notion of an active/inactive watch.. here are the differences between the two states:

 - active: the watch is registered with watcher and with the trigger engine and will be executed when its trigger is fired by the engine
 - inactive: the watch is registered with watcher, but is not registered with the trigger engine. An inactive watch will never be fired, regardless of its trigger.

 This commit also adds two new APIs:

  - `_watcher/watch/{id}/_activate`
  - `_watcher/watch/{id}/_deactivate`

 to activate and deactivate existing watches.

 In addition, the Put Watch API now accepts an `active` parameter that indicates the initial state of the put watch (by default set to  `true`, i.e. "active").

 Closes elastic/elasticsearch#90

Original commit: elastic/x-pack-elasticsearch@37b9ab4d54
2015-09-04 21:38:34 +02:00
Jason Tedor 77e74a9319 Add compare condition to handle arrays
This commit adds a new compare condition called “array_compare”. This
condition enables comparing a single resolved value to an array of
resolved values. The value can be compared for equality, non-equality,
and strict and non-strict ordering; the array compare condition will
evaluate to true if the value compares to true with respect to the
specified operator against all (“all”) or at least one (“some”) of the
values in the array specified by “array_path”. Each value in the array
can be resolved to a value using “path” (e.g., “array_path”:
“cx.payload.aggregations.some_field.buckets” and “path”: “doc_count”
would resolve each value in the buckets array to its “doc_count”).

Closes elastic/elasticsearch#345

Original commit: elastic/x-pack-elasticsearch@0d74b4dc11
2015-09-03 09:46:23 -04:00
uboness e4ffceb9ba Introducing Slack Action
- This action enables sending notifications to slack channels/users
- Utilizes the incoming webhook API of slack
- Similar to the `email` and `hipchat` actions, multiple slack accounts can be configured, each with its own URL and message defaults
- Slack actions are associated with an account, or if not, they'll be sent via the default account.
- The message itself is very flexible and enables defining simple messages to one or more users and/or one or more channels. For complex message structures, one can use `attachments` as described by the slack API.

 Closes elastic/elasticsearch#491

Original commit: elastic/x-pack-elasticsearch@9ecc69c17c
2015-09-02 19:45:54 +02:00
jaymode 22d0ba4cf9 add shield integration to the ScriptServiceProxy
This change adds support for to put the watcher user in the context that is passed to the
ScriptService when Shield is installed and watcher integration with Shield is enabled.

Original commit: elastic/x-pack-elasticsearch@7e9983df0e
2015-09-02 11:32:57 -04:00
uboness 109c7f8ca3 removed ImmutableList usage in watcher
relates to elastic/elasticsearch#554

Original commit: elastic/x-pack-elasticsearch@31dfeb09db
2015-08-31 22:41:21 +02:00
uboness 5b363f1041 [watcher] Rename `Template` to `TextTemplate`
We have different types of templates in watcher - http request template, email template, hipchat message template, and simple text template... to avoid confusion, and clean up the codebase, this commit renames the `Template` class to `TextTemplate` to better convey what this template is about.

Original commit: elastic/x-pack-elasticsearch@8e5202019c
2015-08-25 16:19:50 +02:00
uboness 0731a98e97 Introducing HipChat Action
An action capable of sending notifications to rooms and users on hipchat. This actions support three types of HipChat APIs:

- `v1` - The (now deprecated) legacy API where a token can be registered at the group level, and the `v1` version of the API can be used. This API only supports room notification (users cannot be notified). multi-room notification is supported.

- `integration` - The basic integration that one can create in HipChat (it is using the `v2` API version), where notifications can be sent to a single room. User notification is unsupported by this API

- `user` - this API uses an API token of a specific user. An admin user can create an API token and configure it to have access to room notification and user private messaging. This API supports multi-room and multi-user notifications.

The settings for `hipchat` are very similar to the `email` infrastructure in nature. It is possible to configure multiple/different hipchat account, each is associated with the api type (a.k.a profile) - can be `v1`, `integration` or `user`, and the respective `auth_token`. When configuring the action in the watch, one can specify what hipchat account they would like to use (when not specifying an account, the `default_account` will be used). Each account can also specify its own unique `host`/`port` for the hipchat server - for full flexibility.

Closes elastic/elasticsearch#462

Original commit: elastic/x-pack-elasticsearch@9d9ee13542
2015-08-25 14:05:49 +02:00
Areek Zillur ef7d4e2579 stub out acknowledge callbacks for commercial plugins
Original commit: elastic/x-pack-elasticsearch@d16f9dc1df
2015-08-24 18:25:40 -04:00