summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Elastic/Role/HasClient.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Bugzilla/Elastic/Role/HasClient.pm')
-rw-r--r--Bugzilla/Elastic/Role/HasClient.pm25
1 files changed, 25 insertions, 0 deletions
diff --git a/Bugzilla/Elastic/Role/HasClient.pm b/Bugzilla/Elastic/Role/HasClient.pm
new file mode 100644
index 000000000..3d52d513a
--- /dev/null
+++ b/Bugzilla/Elastic/Role/HasClient.pm
@@ -0,0 +1,25 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
+package Bugzilla::Elastic::Role::HasClient;
+
+use 5.10.1;
+use Moo::Role;
+use Search::Elasticsearch;
+
+
+has 'client' => (is => 'lazy');
+
+sub _build_client {
+ my ($self) = @_;
+
+ return Search::Elasticsearch->new(
+ nodes => Bugzilla->params->{elasticsearch_nodes},
+ cxn_pool => 'Sniff',
+ );
+}
+
+1;