mirror of
https://github.com/Graylog2/graylog2-server.git
synced 2026-03-13 09:32:21 +08:00
1047 lines
46 KiB
XML
1047 lines
46 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
|
|
Copyright (C) 2020 Graylog, Inc.
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the Server Side Public License, version 1,
|
|
as published by MongoDB, Inc.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
Server Side Public License for more details.
|
|
|
|
You should have received a copy of the Server Side Public License
|
|
along with this program. If not, see
|
|
<http://www.mongodb.com/licensing/server-side-public-license>.
|
|
|
|
-->
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<parent>
|
|
<groupId>org.graylog</groupId>
|
|
<artifactId>graylog-project-parent</artifactId>
|
|
<version>7.0.0-beta.4</version>
|
|
<relativePath>../graylog-project-parent</relativePath>
|
|
</parent>
|
|
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<groupId>org.graylog2</groupId>
|
|
<artifactId>data-node</artifactId>
|
|
<packaging>jar</packaging>
|
|
|
|
<name>DataNode</name>
|
|
<description>Graylog management tool for Opensearch</description>
|
|
|
|
<inceptionYear>2023</inceptionYear>
|
|
|
|
<properties>
|
|
<mainClass>org.graylog.datanode.bootstrap.Main</mainClass>
|
|
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<opensearch.version>2.19.3</opensearch.version>
|
|
<opensearch.mac.jdk.version>21.0.7</opensearch.mac.jdk.version>
|
|
<opensearch.mac.jdk.build>6</opensearch.mac.jdk.build>
|
|
|
|
<!--
|
|
We don't need to sign anything in this module. This fixes a release build error related to setting
|
|
the <outputDirectory> to a different path: https://issues.apache.org/jira/browse/MGPG-44
|
|
-->
|
|
<gpg.skip>true</gpg.skip>
|
|
<maven.source.skip>true</maven.source.skip>
|
|
<maven.javadoc.skip>true</maven.javadoc.skip>
|
|
<maven.deploy.skip>true</maven.deploy.skip>
|
|
<maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.graylog2</groupId>
|
|
<artifactId>graylog2-server</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.graylog</groupId>
|
|
<artifactId>graylog-storage-opensearch2</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.github.rvesse</groupId>
|
|
<artifactId>airline</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.auto.value</groupId>
|
|
<artifactId>auto-value-annotations</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.inject</groupId>
|
|
<artifactId>guice</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.inject.extensions</groupId>
|
|
<artifactId>guice-assistedinject</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>jakarta.inject</groupId>
|
|
<artifactId>jakarta.inject-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.graylog</groupId>
|
|
<artifactId>jadconfig</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.github.zafarkhaja</groupId>
|
|
<artifactId>java-semver</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.graylog.repackaged</groupId>
|
|
<artifactId>semver4j</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mongodb</groupId>
|
|
<artifactId>mongodb-driver-sync</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mongodb</groupId>
|
|
<artifactId>mongodb-driver-legacy</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mongojack</groupId>
|
|
<artifactId>mongojack</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.graylog.repackaged</groupId>
|
|
<artifactId>os-platform-finder</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.dropwizard.metrics</groupId>
|
|
<artifactId>metrics-annotation</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.dropwizard.metrics</groupId>
|
|
<artifactId>metrics-core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.dropwizard.metrics</groupId>
|
|
<artifactId>metrics-log4j2</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.dropwizard.metrics</groupId>
|
|
<artifactId>metrics-jvm</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.dropwizard.metrics</groupId>
|
|
<artifactId>metrics-jmx</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.dropwizard.metrics</groupId>
|
|
<artifactId>metrics-json</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.bouncycastle</groupId>
|
|
<artifactId>bcpkix-jdk18on</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.bouncycastle</groupId>
|
|
<artifactId>bcprov-jdk18on</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-common</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-buffer</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-handler</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-codec</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-codec-dns</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-codec-http</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-resolver-dns</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-transport-native-epoll</artifactId>
|
|
<classifier>linux-x86_64</classifier>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-transport-native-epoll</artifactId>
|
|
<classifier>linux-aarch_64</classifier>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-transport-native-kqueue</artifactId>
|
|
<classifier>osx-x86_64</classifier>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-transport-native-kqueue</artifactId>
|
|
<classifier>osx-aarch_64</classifier>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-tcnative-boringssl-static</artifactId>
|
|
<classifier>osx-x86_64</classifier>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-tcnative-boringssl-static</artifactId>
|
|
<classifier>osx-aarch_64</classifier>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-tcnative-boringssl-static</artifactId>
|
|
<classifier>linux-x86_64</classifier>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-tcnative-boringssl-static</artifactId>
|
|
<classifier>linux-aarch_64</classifier>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.jsonwebtoken</groupId>
|
|
<artifactId>jjwt-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.jsonwebtoken</groupId>
|
|
<artifactId>jjwt-impl</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.jsonwebtoken</groupId>
|
|
<artifactId>jjwt-jackson</artifactId>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.lucene</groupId>
|
|
<artifactId>lucene-backward-codecs</artifactId>
|
|
<version>${lucene.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.glassfish.jersey.inject</groupId>
|
|
<artifactId>jersey-hk2</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.glassfish.jersey.ext</groupId>
|
|
<artifactId>jersey-bean-validation</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.glassfish.jersey.media</groupId>
|
|
<artifactId>jersey-media-multipart</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.glassfish.jersey.containers</groupId>
|
|
<artifactId>jersey-container-grizzly2-http</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.glassfish.hk2</groupId>
|
|
<artifactId>guice-bridge</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.glassfish.hk2</groupId>
|
|
<artifactId>hk2-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.glassfish.hk2</groupId>
|
|
<artifactId>hk2-locator</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>jakarta.ws.rs</groupId>
|
|
<artifactId>jakarta.ws.rs-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>javax.xml.bind</groupId>
|
|
<artifactId>jaxb-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.logging.log4j</groupId>
|
|
<artifactId>log4j-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.logging.log4j</groupId>
|
|
<artifactId>log4j-core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.logging.log4j</groupId>
|
|
<artifactId>log4j-slf4j2-impl</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>jcl-over-slf4j</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>log4j-over-slf4j</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.logging.log4j</groupId>
|
|
<artifactId>log4j-jul</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.core</groupId>
|
|
<artifactId>jackson-core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.core</groupId>
|
|
<artifactId>jackson-databind</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.core</groupId>
|
|
<artifactId>jackson-annotations</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.datatype</groupId>
|
|
<artifactId>jackson-datatype-guava</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.datatype</groupId>
|
|
<artifactId>jackson-datatype-jdk8</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.datatype</groupId>
|
|
<artifactId>jackson-datatype-jsr310</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.datatype</groupId>
|
|
<artifactId>jackson-datatype-joda</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.module</groupId>
|
|
<artifactId>jackson-module-jsonSchema-jakarta</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.jakarta.rs</groupId>
|
|
<artifactId>jackson-jakarta-rs-json-provider</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.dataformat</groupId>
|
|
<artifactId>jackson-dataformat-yaml</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.dataformat</groupId>
|
|
<artifactId>jackson-dataformat-csv</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.reflections</groupId>
|
|
<artifactId>reflections</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.github.rholder</groupId>
|
|
<artifactId>guava-retrying</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>commons-io</groupId>
|
|
<artifactId>commons-io</artifactId>
|
|
<version>${commons-io.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>joda-time</groupId>
|
|
<artifactId>joda-time</artifactId>
|
|
<version>${joda-time.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.cryptomator</groupId>
|
|
<artifactId>siv-mode</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.shiro</groupId>
|
|
<artifactId>shiro-core</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.graylog.shaded</groupId>
|
|
<artifactId>opensearch2-rest-high-level-client</artifactId>
|
|
<version>${opensearch.shaded.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>commons-logging</groupId>
|
|
<artifactId>commons-logging</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.graylog.shaded</groupId>
|
|
<artifactId>opensearch2-rest-client-sniffer</artifactId>
|
|
<version>${opensearch.shaded.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>commons-logging</groupId>
|
|
<artifactId>commons-logging</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
|
|
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-collections4</artifactId>
|
|
<version>4.5.0</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-exec</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.github.stateless4j</groupId>
|
|
<artifactId>stateless4j</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.dataformat</groupId>
|
|
<artifactId>jackson-dataformat-smile</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter-engine</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.assertj</groupId>
|
|
<artifactId>assertj-core</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>testcontainers</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.rest-assured</groupId>
|
|
<artifactId>rest-assured</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-junit-jupiter</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.graylog2</groupId>
|
|
<artifactId>graylog2-server</artifactId>
|
|
<version>${project.version}</version>
|
|
<type>test-jar</type>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
|
|
</dependencies>
|
|
|
|
<build>
|
|
<finalName>datanode</finalName>
|
|
|
|
<resources>
|
|
<resource>
|
|
<directory>src/main/resources</directory>
|
|
<excludes>
|
|
<exclude>**/*.properties</exclude>
|
|
</excludes>
|
|
</resource>
|
|
<resource>
|
|
<directory>src/main/resources</directory>
|
|
<filtering>true</filtering>
|
|
<includes>
|
|
<include>**/*.properties</include>
|
|
</includes>
|
|
</resource>
|
|
</resources>
|
|
|
|
<testResources>
|
|
<testResource>
|
|
<directory>src/test/resources</directory>
|
|
<filtering>true</filtering>
|
|
<excludes>
|
|
<exclude>indices/**</exclude>
|
|
</excludes>
|
|
</testResource>
|
|
<testResource>
|
|
<directory>src/test/resources/indices</directory>
|
|
<targetPath>${project.build.testOutputDirectory}/indices</targetPath>
|
|
<filtering>false</filtering>
|
|
</testResource>
|
|
</testResources>
|
|
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>test-jar</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>build-helper-maven-plugin</artifactId>
|
|
<version>3.6.1</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>buildnumber-maven-plugin</artifactId>
|
|
<version>3.2.1</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>exec-maven-plugin</artifactId>
|
|
<version>3.6.1</version>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.graylog.repackaged</groupId>
|
|
<artifactId>download-maven-plugin</artifactId>
|
|
<version>${download-maven-plugin.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>unpack-opensearch-tar-linux-x64</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>wget</goal>
|
|
</goals>
|
|
<configuration>
|
|
<url>
|
|
https://artifacts.opensearch.org/releases/bundle/opensearch/${opensearch.version}/opensearch-${opensearch.version}-linux-x64.tar.gz
|
|
</url>
|
|
<sha512>
|
|
13c1df3bf6e8a46bff1e43d6ac664b82c3e839283b9a10c9fd549d1b44f9f039e24de91f51063d7d0a9945d6d6136e9d8a47588a7d9867405501274d4c943df3
|
|
</sha512>
|
|
<outputFileName>opensearch-${opensearch.version}-linux-x64.tar.gz</outputFileName>
|
|
<outputDirectory>${project.build.directory}/opensearch</outputDirectory>
|
|
<unpack>true</unpack>
|
|
<fileMappers>
|
|
<org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
|
|
<pattern>^(opensearch-\d+\.\d+\.\d+)/</pattern>
|
|
<replacement>$1-linux-x64/</replacement>
|
|
</org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
|
|
</fileMappers>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>unpack-opensearch-tar-linux-aarch64</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>wget</goal>
|
|
</goals>
|
|
<configuration>
|
|
<url>
|
|
https://artifacts.opensearch.org/releases/bundle/opensearch/${opensearch.version}/opensearch-${opensearch.version}-linux-arm64.tar.gz
|
|
</url>
|
|
<sha512>
|
|
64929d121359ca8fc4291a3398914b6212998f1be678a516056b72b614656c604e50ded47273d5f376265d15c43b2d0b1883e40faeebb84b04205d623c065a6b
|
|
</sha512>
|
|
<outputFileName>opensearch-${opensearch.version}-linux-aarch64.tar.gz</outputFileName>
|
|
<outputDirectory>${project.build.directory}/opensearch</outputDirectory>
|
|
<unpack>true</unpack>
|
|
<fileMappers>
|
|
<org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
|
|
<pattern>^(opensearch-\d+\.\d+\.\d+)/</pattern>
|
|
<replacement>$1-linux-aarch64/</replacement>
|
|
</org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
|
|
</fileMappers>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>download-repository-s3-plugin</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>wget</goal>
|
|
</goals>
|
|
<configuration>
|
|
<url>
|
|
https://artifacts.opensearch.org/releases/plugins/repository-s3/${opensearch.version}/repository-s3-${opensearch.version}.zip
|
|
</url>
|
|
<outputFileName>repository-s3-${opensearch.version}.zip</outputFileName>
|
|
<outputDirectory>${project.build.directory}/opensearch-plugins</outputDirectory>
|
|
<sha512>
|
|
098a94a0a959caa70ed286d232f8d4d9a064aa70f85c6a1198f1fd030196721c232b9084efcad9aa27188ad10827b7f6a8f89f54573ad12098dc7053e965990d
|
|
</sha512>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>download-repository-gcs-plugin</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>wget</goal>
|
|
</goals>
|
|
<configuration>
|
|
<url>
|
|
https://artifacts.opensearch.org/releases/plugins/repository-gcs/${opensearch.version}/repository-gcs-${opensearch.version}.zip
|
|
</url>
|
|
<outputFileName>repository-gcs-${opensearch.version}.zip</outputFileName>
|
|
<outputDirectory>${project.build.directory}/opensearch-plugins</outputDirectory>
|
|
<sha512>
|
|
70a574d41f0269f7e91e1558960270a7dc98cc233653babd454d66f990ec4d8ee49f6fb6860a61c6760118c1ddc821c8f64ecb42b016ab4d57e89af7f6df00e1
|
|
</sha512>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>download-repository-hdfs-plugin</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>wget</goal>
|
|
</goals>
|
|
<configuration>
|
|
<url>
|
|
https://artifacts.opensearch.org/releases/plugins/repository-hdfs/${opensearch.version}/repository-hdfs-${opensearch.version}.zip
|
|
</url>
|
|
<outputFileName>repository-hdfs-${opensearch.version}.zip</outputFileName>
|
|
<outputDirectory>${project.build.directory}/opensearch-plugins</outputDirectory>
|
|
<sha512>
|
|
29167547c1d89ae5df44f9880f9fe8aa405d2518d1c7b4f29822b96ed18a0d6c4914b8c251a6b27553a6ccf43db3920addec23ee57e39a8345ce99f5748ca139
|
|
</sha512>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>fix-opensearch-config-permissions</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
<configuration>
|
|
<target>
|
|
<!-- Some config files in opensearch-*/config/ use 660 permissions. That's a problem
|
|
when running OpenSearch under a different user account than the owner of the
|
|
OpenSearch config files. (OS packages or container image)
|
|
-->
|
|
<chmod dir="${project.build.directory}/opensearch"
|
|
includes="opensearch-*/config/**"
|
|
perm="ugo+r"/>
|
|
</target>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>exec-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>remove-unused-opensearch-plugins-x64</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>java</goal>
|
|
</goals>
|
|
<configuration>
|
|
<mainClass>org.graylog.datanode.build.RemoveOpensearchPlugins</mainClass>
|
|
<arguments>
|
|
<argument>${project.build.directory}/opensearch/opensearch-${opensearch.version}-linux-x64</argument>
|
|
<!--caution, the plugin order is relevant. Plugins have dependencies on other plugins
|
|
and need to be removed in correct order-->
|
|
<argument>opensearch-security-analytics</argument>
|
|
<argument>opensearch-alerting</argument>
|
|
<argument>opensearch-custom-codecs</argument>
|
|
<argument>opensearch-geospatial</argument>
|
|
<argument>opensearch-neural-search</argument>
|
|
<argument>opensearch-knn</argument>
|
|
<argument>opensearch-notifications</argument>
|
|
<argument>opensearch-notifications-core</argument>
|
|
<argument>opensearch-performance-analyzer</argument>
|
|
<argument>opensearch-reports-scheduler</argument>
|
|
<argument>opensearch-sql</argument>
|
|
<argument>opensearch-observability</argument>
|
|
<argument>query-insights</argument>
|
|
</arguments>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>remove-unused-opensearch-plugins-aarch64</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>java</goal>
|
|
</goals>
|
|
<configuration>
|
|
<mainClass>org.graylog.datanode.build.RemoveOpensearchPlugins</mainClass>
|
|
<arguments>
|
|
<argument>${project.build.directory}/opensearch/opensearch-${opensearch.version}-linux-aarch64</argument>
|
|
<!--caution, the plugin order is relevant. Plugins have dependencies on other plugins
|
|
and need to be removed in correct order-->
|
|
<argument>opensearch-security-analytics</argument>
|
|
<argument>opensearch-alerting</argument>
|
|
<argument>opensearch-custom-codecs</argument>
|
|
<argument>opensearch-geospatial</argument>
|
|
<argument>opensearch-neural-search</argument>
|
|
<argument>opensearch-knn</argument>
|
|
<argument>opensearch-notifications</argument>
|
|
<argument>opensearch-notifications-core</argument>
|
|
<argument>opensearch-performance-analyzer</argument>
|
|
<argument>opensearch-reports-scheduler</argument>
|
|
<argument>opensearch-sql</argument>
|
|
<argument>opensearch-observability</argument>
|
|
<argument>query-insights</argument>
|
|
</arguments>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>install-required-opensearch-plugins-x64</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>java</goal>
|
|
</goals>
|
|
<configuration>
|
|
<mainClass>org.graylog.datanode.build.InstallOpensearchPlugins</mainClass>
|
|
<arguments>
|
|
<argument>${project.build.directory}/opensearch/opensearch-${opensearch.version}-linux-x64</argument>
|
|
<argument>${project.build.directory}/opensearch-plugins/repository-s3-${opensearch.version}.zip</argument>
|
|
<argument>${project.build.directory}/opensearch-plugins/repository-gcs-${opensearch.version}.zip</argument>
|
|
<argument>${project.build.directory}/opensearch-plugins/repository-hdfs-${opensearch.version}.zip</argument>
|
|
</arguments>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>install-required-opensearch-plugins-aarch64</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>java</goal>
|
|
</goals>
|
|
<configuration>
|
|
<mainClass>org.graylog.datanode.build.InstallOpensearchPlugins</mainClass>
|
|
<arguments>
|
|
<argument>${project.build.directory}/opensearch/opensearch-${opensearch.version}-linux-aarch64</argument>
|
|
<argument>${project.build.directory}/opensearch-plugins/repository-s3-${opensearch.version}.zip</argument>
|
|
<argument>${project.build.directory}/opensearch-plugins/repository-gcs-${opensearch.version}.zip</argument>
|
|
<argument>${project.build.directory}/opensearch-plugins/repository-hdfs-${opensearch.version}.zip</argument>
|
|
</arguments>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>generate-csv-docs</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>java</goal>
|
|
</goals>
|
|
<configuration>
|
|
<mainClass>org.graylog.datanode.docs.ConfigurationDocsGenerator</mainClass>
|
|
<arguments>
|
|
<argument>csv</argument>
|
|
<argument>${project.build.directory}/datanode-conf-docs.csv</argument>
|
|
</arguments>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>generate-conf-example</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>java</goal>
|
|
</goals>
|
|
<configuration>
|
|
<mainClass>org.graylog.datanode.docs.ConfigurationDocsGenerator</mainClass>
|
|
<arguments>
|
|
<argument>conf</argument>
|
|
<argument>${project.build.directory}/datanode.conf.generated</argument>
|
|
<!-- use the following line if you want to distribute the generated version instead of manually created -->
|
|
<!-- <argument>${project.build.directory}/datanode.conf.example</argument> -->
|
|
</arguments>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>copy-dependencies</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>copy-dependencies</goal>
|
|
</goals>
|
|
<configuration>
|
|
<includeScope>runtime</includeScope>
|
|
<outputDirectory>${project.build.directory}/lib</outputDirectory>
|
|
<overWriteReleases>false</overWriteReleases>
|
|
<overWriteSnapshots>false</overWriteSnapshots>
|
|
<overWriteIfNewer>true</overWriteIfNewer>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<configuration>
|
|
<finalName>graylog-datanode-${project.version}</finalName>
|
|
<archive>
|
|
<manifest>
|
|
<addClasspath>true</addClasspath>
|
|
<classpathPrefix>lib/</classpathPrefix>
|
|
<mainClass>${mainClass}</mainClass>
|
|
</manifest>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.cyclonedx</groupId>
|
|
<artifactId>cyclonedx-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>makeAggregateBom</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<projectType>application</projectType>
|
|
<includeBomSerialNumber>true</includeBomSerialNumber>
|
|
<includeCompileScope>true</includeCompileScope>
|
|
<includeProvidedScope>true</includeProvidedScope>
|
|
<includeRuntimeScope>true</includeRuntimeScope>
|
|
<includeSystemScope>true</includeSystemScope>
|
|
<includeTestScope>false</includeTestScope>
|
|
<includeLicenseText>false</includeLicenseText>
|
|
<outputReactorProjects>true</outputReactorProjects>
|
|
<outputFormat>all</outputFormat>
|
|
<outputName>graylog-data-node-${project.version}-sbom</outputName>
|
|
<outputDirectory>${project.build.directory}/sbom</outputDirectory>
|
|
<skipNotDeployed>false</skipNotDeployed>
|
|
<verbose>true</verbose>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>generate-data-node-artifact</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<attach>true</attach>
|
|
<appendAssemblyId>true</appendAssemblyId>
|
|
<descriptors>
|
|
<descriptor>src/main/assembly/datanode.xml</descriptor>
|
|
</descriptors>
|
|
<!-- to make it easier to collect assemblies, we put them into the _parent's_ build directory -->
|
|
<outputDirectory>${project.basedir}/../target/assembly</outputDirectory>
|
|
<finalName>datanode-${project.version}-${maven.build.timestamp}</finalName>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>build-helper-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>parse-version</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>parse-version</goal>
|
|
</goals>
|
|
<configuration>
|
|
<propertyPrefix>maven</propertyPrefix>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>buildnumber-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<phase>validate</phase>
|
|
<goals>
|
|
<goal>create</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.mycila</groupId>
|
|
<artifactId>license-maven-plugin</artifactId>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<configuration>
|
|
<rules>
|
|
<RestrictImports>
|
|
<groups>
|
|
<group>
|
|
<reason>Data Node packages must be allowed for the data-node/ module.</reason>
|
|
<allowedImports>
|
|
<allowedImport>org.graylog.datanode.**</allowedImport>
|
|
</allowedImports>
|
|
</group>
|
|
</groups>
|
|
</RestrictImports>
|
|
</rules>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>release</id>
|
|
<build>
|
|
<finalName>datanode-${project.version}</finalName>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-source-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>attach-sources</id>
|
|
<goals>
|
|
<goal>jar-no-fork</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<configuration>
|
|
<quiet>true</quiet>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>attach-javadocs</id>
|
|
<goals>
|
|
<goal>jar</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>run-on-mac</id>
|
|
<activation>
|
|
<os>
|
|
<family>mac</family>
|
|
</os>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.graylog.repackaged</groupId>
|
|
<artifactId>download-maven-plugin</artifactId>
|
|
<version>${download-maven-plugin.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>fix-mac-jdk-for-os-x64</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>wget</goal>
|
|
</goals>
|
|
<configuration>
|
|
<url>
|
|
https://github.com/adoptium/temurin21-binaries/releases/download/jdk-${opensearch.mac.jdk.version}%2B${opensearch.mac.jdk.build}/OpenJDK21U-jdk_x64_mac_hotspot_${opensearch.mac.jdk.version}_${opensearch.mac.jdk.build}.tar.gz
|
|
</url>
|
|
<sha512>
|
|
981de4ed6629975b84f2604dd2c601e66633691b1da835e0b8741c4712d5b24b51e757686624dc1b2492e61a9e9a27c8ac73bfc9e571d6e8c1c5db8ec6a4189c
|
|
</sha512>
|
|
<outputDirectory>
|
|
${project.build.directory}/opensearch/opensearch-${opensearch.version}-linux-x64/jdk-mac
|
|
</outputDirectory>
|
|
<fileMappers>
|
|
<org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
|
|
<pattern>^(jdk-.*/Contents/Home)/(.*)</pattern>
|
|
<replacement>$2</replacement>
|
|
</org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
|
|
</fileMappers>
|
|
<unpack>true</unpack>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>fix-mac-jdk-for-os-aarch</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>wget</goal>
|
|
</goals>
|
|
<configuration>
|
|
<url>
|
|
https://github.com/adoptium/temurin21-binaries/releases/download/jdk-${opensearch.mac.jdk.version}%2B${opensearch.mac.jdk.build}/OpenJDK21U-jdk_aarch64_mac_hotspot_${opensearch.mac.jdk.version}_${opensearch.mac.jdk.build}.tar.gz
|
|
</url>
|
|
<sha512>
|
|
5bd61c1634daa5b6e0c473de6c0883ac2d29c0daa7101dd852113a5197b6cd60f790c0f7f53a64b2dbbb45f030ee4481c9d38745615a1a39b8efbef41e4b8115
|
|
</sha512>
|
|
<outputDirectory>
|
|
${project.build.directory}/opensearch/opensearch-${opensearch.version}-linux-aarch64/jdk-mac
|
|
</outputDirectory>
|
|
<fileMappers>
|
|
<org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
|
|
<pattern>^(jdk-.*/Contents/Home)/(.*)</pattern>
|
|
<replacement>$2</replacement>
|
|
</org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
|
|
</fileMappers>
|
|
<unpack>true</unpack>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
|
|
</project>
|