diff --git a/build-parent/pom.xml b/build-parent/pom.xml index 5cfcb162945a8..7df7aac42f40b 100644 --- a/build-parent/pom.xml +++ b/build-parent/pom.xml @@ -76,8 +76,10 @@ 4.9.2 - 7.10.0 - docker.elastic.co/elasticsearch/elasticsearch-oss:${elasticsearch-server.version} + 7.16.3 + docker.io/elastic/elasticsearch:${elasticsearch-server.version} + docker.io/elastic/logstash:${elasticsearch-server.version} + docker.io/elastic/kibana:${elasticsearch-server.version} http 1.2.3 docker.io/opensearchproject/opensearch:${opensearch-server.version} diff --git a/docs/pom.xml b/docs/pom.xml index 5af2c1b1781fe..17918bc247446 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -2824,6 +2824,9 @@ ${rest-assured.version} ${proposed-maven-version} ${gradle-wrapper.version} + ${elasticsearch.image} + ${logstash.image} + ${kibana.image} ${keycloak.docker.image} ${jandex-maven-plugin.version} diff --git a/docs/src/main/asciidoc/centralized-log-management.adoc b/docs/src/main/asciidoc/centralized-log-management.adoc index a4d6e259e24b0..24d8ff3e65738 100644 --- a/docs/src/main/asciidoc/centralized-log-management.adoc +++ b/docs/src/main/asciidoc/centralized-log-management.adoc @@ -6,7 +6,6 @@ https://github.com/quarkusio/quarkus/tree/main/docs/src/main/asciidoc = Centralized log management (Graylog, Logstash, Fluentd) include::./attributes.adoc[] -:es-version: 6.8.2 This guide explains how you can send your logs to a centralized log management system like Graylog, Logstash (inside the Elastic Stack or ELK - Elasticsearch, Logstash, Kibana) or Fluentd (inside EFK - Elasticsearch, Fluentd, Kibana). @@ -103,11 +102,12 @@ version: '3.2' services: elasticsearch: - image: docker.elastic.co/elasticsearch/elasticsearch-oss:{es-version} + image: {elasticsearch-image} ports: - "9200:9200" environment: ES_JAVA_OPTS: "-Xms512m -Xmx512m" + discovery.type: "single-node" networks: - graylog @@ -117,13 +117,17 @@ services: - graylog graylog: - image: graylog/graylog:3.1 + image: graylog/graylog:4.3.0 ports: - "9000:9000" - "12201:12201/udp" - "1514:1514" environment: GRAYLOG_HTTP_EXTERNAL_URI: "http://127.0.0.1:9000/" + # CHANGE ME (must be at least 16 characters)! + GRAYLOG_PASSWORD_SECRET: "forpasswordencryption" + # Password: admin + GRAYLOG_ROOT_PASSWORD_SHA2: "8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918" networks: - graylog depends_on: @@ -185,17 +189,18 @@ version: '3.2' services: elasticsearch: - image: docker.elastic.co/elasticsearch/elasticsearch-oss:{es-version} + image: {elasticsearch-image} ports: - "9200:9200" - "9300:9300" environment: ES_JAVA_OPTS: "-Xms512m -Xmx512m" + discovery.type: "single-node" networks: - elk logstash: - image: docker.elastic.co/logstash/logstash-oss:{es-version} + image: {logstash-image} volumes: - source: $HOME/pipelines target: /usr/share/logstash/pipeline @@ -210,7 +215,7 @@ services: - elasticsearch kibana: - image: docker.elastic.co/kibana/kibana-oss:{es-version} + image: {kibana-image} ports: - "5601:5601" networks: @@ -273,12 +278,13 @@ version: '3.2' services: elasticsearch: - image: docker.elastic.co/elasticsearch/elasticsearch-oss:{es-version} + image: {elasticsearch-image} ports: - "9200:9200" - "9300:9300" environment: ES_JAVA_OPTS: "-Xms512m -Xmx512m" + discovery.type: "single-node" networks: - efk @@ -296,7 +302,7 @@ services: - elasticsearch kibana: - image: docker.elastic.co/kibana/kibana-oss:{es-version} + image: {kibana-image} ports: - "5601:5601" networks: @@ -359,7 +365,7 @@ version: '3.2' services: elasticsearch: - image: docker.elastic.co/elasticsearch/elasticsearch-oss:{es-version} + image: {elasticsearch-image} ports: - "9200:9200" - "9300:9300" @@ -382,7 +388,7 @@ services: - elasticsearch kibana: - image: docker.elastic.co/kibana/kibana-oss:{es-version} + image: {kibana-image} ports: - "5601:5601" networks: diff --git a/docs/src/main/asciidoc/elasticsearch-dev-services.adoc b/docs/src/main/asciidoc/elasticsearch-dev-services.adoc index 065767d675e41..bd1241d0a88a7 100644 --- a/docs/src/main/asciidoc/elasticsearch-dev-services.adoc +++ b/docs/src/main/asciidoc/elasticsearch-dev-services.adoc @@ -50,10 +50,10 @@ Note that the Elasticsearch hosts property is automatically configured with the Dev Services for Elasticsearch only support Elasticsearch based images, Opensearch is not supported at the moment. -If you need to use a different image than the default one you can configure it via +If you need to use a different image than the default one you can configure it via: [source, properties] ---- -quarkus.elasticsearch.devservices.image-name=docker.elastic.co/elasticsearch/elasticsearch:7.17.0 +quarkus.elasticsearch.devservices.image-name={elasticsearch-image} ---- == Current limitations diff --git a/docs/src/main/asciidoc/elasticsearch.adoc b/docs/src/main/asciidoc/elasticsearch.adoc index a000b66045a38..cd1b247453fa3 100644 --- a/docs/src/main/asciidoc/elasticsearch.adoc +++ b/docs/src/main/asciidoc/elasticsearch.adoc @@ -337,7 +337,7 @@ If you want to use Docker to run an Elasticsearch instance, you can use the foll [source,bash,subs=attributes+] ---- docker run --name elasticsearch -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms512m -Xmx512m"\ - --rm -p 9200:9200 docker.elastic.co/elasticsearch/elasticsearch-oss:{elasticsearch-version} + --rm -p 9200:9200 {elasticsearch-image} ---- == Running the application diff --git a/extensions/hibernate-search-orm-coordination-outbox-polling/deployment/pom.xml b/extensions/hibernate-search-orm-coordination-outbox-polling/deployment/pom.xml index e7ed07cc2deb9..c3b7c32009ca8 100644 --- a/extensions/hibernate-search-orm-coordination-outbox-polling/deployment/pom.xml +++ b/extensions/hibernate-search-orm-coordination-outbox-polling/deployment/pom.xml @@ -120,6 +120,8 @@ single-node + false + -Xms512m -Xmx512m 9200:9200 diff --git a/extensions/hibernate-search-orm-elasticsearch/deployment/pom.xml b/extensions/hibernate-search-orm-elasticsearch/deployment/pom.xml index f6cac53c1de58..99adfce13398c 100644 --- a/extensions/hibernate-search-orm-elasticsearch/deployment/pom.xml +++ b/extensions/hibernate-search-orm-elasticsearch/deployment/pom.xml @@ -121,6 +121,8 @@ single-node + false + -Xms512m -Xmx512m 9200:9200 diff --git a/integration-tests/elasticsearch-rest-client/pom.xml b/integration-tests/elasticsearch-rest-client/pom.xml index 050b29a192539..2bca0cf269bb1 100644 --- a/integration-tests/elasticsearch-rest-client/pom.xml +++ b/integration-tests/elasticsearch-rest-client/pom.xml @@ -165,6 +165,8 @@ single-node + false + -Xms512m -Xmx512m 9200:9200 diff --git a/integration-tests/elasticsearch-rest-high-level-client/pom.xml b/integration-tests/elasticsearch-rest-high-level-client/pom.xml index 735e1b0571bed..4129203dc5348 100644 --- a/integration-tests/elasticsearch-rest-high-level-client/pom.xml +++ b/integration-tests/elasticsearch-rest-high-level-client/pom.xml @@ -166,6 +166,8 @@ single-node + false + -Xms512m -Xmx512m 9200:9200 diff --git a/integration-tests/hibernate-search-orm-elasticsearch-coordination-outbox-polling/pom.xml b/integration-tests/hibernate-search-orm-elasticsearch-coordination-outbox-polling/pom.xml index 28054aa8b4f01..550941075da12 100644 --- a/integration-tests/hibernate-search-orm-elasticsearch-coordination-outbox-polling/pom.xml +++ b/integration-tests/hibernate-search-orm-elasticsearch-coordination-outbox-polling/pom.xml @@ -206,6 +206,8 @@ single-node + false + -Xms512m -Xmx512m 9200:9200 diff --git a/integration-tests/hibernate-search-orm-elasticsearch-tenancy/pom.xml b/integration-tests/hibernate-search-orm-elasticsearch-tenancy/pom.xml index 99bcc0ddef2b3..3c237ca5eb1ad 100644 --- a/integration-tests/hibernate-search-orm-elasticsearch-tenancy/pom.xml +++ b/integration-tests/hibernate-search-orm-elasticsearch-tenancy/pom.xml @@ -222,6 +222,8 @@ single-node + false + -Xms512m -Xmx512m 9200:9200 diff --git a/integration-tests/hibernate-search-orm-elasticsearch/pom.xml b/integration-tests/hibernate-search-orm-elasticsearch/pom.xml index 9bc04cfc8dfda..b888e85055237 100644 --- a/integration-tests/hibernate-search-orm-elasticsearch/pom.xml +++ b/integration-tests/hibernate-search-orm-elasticsearch/pom.xml @@ -184,6 +184,8 @@ single-node + false + -Xms512m -Xmx512m 9200:9200 diff --git a/integration-tests/logging-gelf/README.md b/integration-tests/logging-gelf/README.md index e90c5fac187b5..1f782bf617025 100644 --- a/integration-tests/logging-gelf/README.md +++ b/integration-tests/logging-gelf/README.md @@ -29,7 +29,7 @@ mvn clean test -Dtest-gelf Additionally, you can generate a native image and run the tests for this native image by adding `-Dnative`: ``` -mvn clean integration-test -Dtest-gelf -Dnative +mvn clean integration-test -Dtest-containers -Dnative ``` ## Testing with ELK (Elasticsearch, Logstash, Kibana) aka the Elastic Stack @@ -61,7 +61,7 @@ Then you can use the following commands to run an ELK cluster using the provided docker-compose -f src/test/resources/docker-compose-elk.yml up ``` -Finally, run the test via `mvn clean install -Dtest-gelf -Dmaven.test.failure.ignore` and manually verify that the log +Finally, run the test via `mvn clean install -Dtest-containers -Dmaven.test.failure.ignore` and manually verify that the log events has been pushed to ELK. You can use Kibana on http://localhost:5601/ to access those logs. @@ -99,5 +99,5 @@ Then you can use the following commands to run an EFK cluster using the provided docker-compose -f src/test/resources/docker-compose-efk.yml up ``` -Finally, run the test via `mvn clean install -Dtest-gelf -Dmaven.test.failure.ignore` and manually verify that the log +Finally, run the test via `mvn clean install -Dtest-containers -Dmaven.test.failure.ignore` and manually verify that the log events has been pushed to EFK. You can use Kibana on http://localhost:5601/ to access those logs. \ No newline at end of file diff --git a/integration-tests/logging-gelf/pom.xml b/integration-tests/logging-gelf/pom.xml index 64acc3b92cc91..b84d0b6626d72 100644 --- a/integration-tests/logging-gelf/pom.xml +++ b/integration-tests/logging-gelf/pom.xml @@ -142,7 +142,7 @@ true - docker.elastic.co/elasticsearch/elasticsearch-oss:7.9.3 + ${elasticsearch.image} elasticsearch @@ -157,6 +157,8 @@ single-node + false + -Xms512m -Xmx512m Elasticsearch: @@ -174,7 +176,7 @@ - docker.elastic.co/logstash/logstash-oss:7.9.3 + ${logstash.image} logstash @@ -196,7 +198,7 @@ - ${project.basedir}/src/test/resources/pipeline:/usr/share/logstash/pipeline + ${project.basedir}/src/test/resources/pipeline:/usr/share/logstash/pipeline:Z diff --git a/integration-tests/logging-gelf/src/test/java/io/quarkus/logging/gelf/it/GelfLogHandlerTest.java b/integration-tests/logging-gelf/src/test/java/io/quarkus/logging/gelf/it/GelfLogHandlerTest.java index b4c271deda068..e466d8a589d80 100644 --- a/integration-tests/logging-gelf/src/test/java/io/quarkus/logging/gelf/it/GelfLogHandlerTest.java +++ b/integration-tests/logging-gelf/src/test/java/io/quarkus/logging/gelf/it/GelfLogHandlerTest.java @@ -28,7 +28,7 @@ public void test() { //we need to await for a certain time as logstash needs to create the index template, // then elasticsearch create the index // then some logs being indexed. - await().atMost(10, TimeUnit.SECONDS) + await().atMost(20, TimeUnit.SECONDS) .untilAsserted( () -> { RestAssured.given().when().get("/gelf-log-handler").then().statusCode(204); diff --git a/integration-tests/logging-gelf/src/test/resources/docker-compose-efk.yml b/integration-tests/logging-gelf/src/test/resources/docker-compose-efk.yml index 41fee79d29392..d1b13ca0b7289 100644 --- a/integration-tests/logging-gelf/src/test/resources/docker-compose-efk.yml +++ b/integration-tests/logging-gelf/src/test/resources/docker-compose-efk.yml @@ -2,9 +2,11 @@ version: '3.2' services: elasticsearch: - image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.8.2 + image: docker.io/elastic/elasticsearch:7.16.3 environment: ES_JAVA_OPTS: "-Xms512m -Xmx512m" + discovery.type: "single-node" + xpack.security.enabled: "false" networks: - efk @@ -22,7 +24,7 @@ services: - elasticsearch kibana: - image: docker.elastic.co/kibana/kibana-oss:6.8.2 + image: docker.io/elastic/kibana:7.16.3 ports: - "5601:5601" networks: diff --git a/integration-tests/logging-gelf/src/test/resources/docker-compose-elk.yml b/integration-tests/logging-gelf/src/test/resources/docker-compose-elk.yml index 2cf361edaa15d..ef3ac1c81d05e 100644 --- a/integration-tests/logging-gelf/src/test/resources/docker-compose-elk.yml +++ b/integration-tests/logging-gelf/src/test/resources/docker-compose-elk.yml @@ -2,15 +2,16 @@ version: '3.2' services: elasticsearch: - image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.9.3 + image: docker.io/elastic/elasticsearch:7.16.3 environment: - - ES_JAVA_OPTS=-Xms512m -Xmx512m - - "discovery.type=single-node" + ES_JAVA_OPTS: "-Xms512m -Xmx512m" + discovery.type: "single-node" + xpack.security.enabled: "false" networks: - elk logstash: - image: docker.elastic.co/logstash/logstash-oss:7.9.3 + image: docker.io/elastic/logstash:7.16.3 volumes: - source: $HOME/pipelines target: /usr/share/logstash/pipeline @@ -25,7 +26,7 @@ services: - elasticsearch kibana: - image: docker.elastic.co/kibana/kibana-oss:7.9.3 + image: docker.io/elastic/kibana:7.16.3 ports: - "5601:5601" networks: diff --git a/integration-tests/logging-gelf/src/test/resources/docker-compose-graylog.yml b/integration-tests/logging-gelf/src/test/resources/docker-compose-graylog.yml index 9531222e6b428..2b113d640780e 100644 --- a/integration-tests/logging-gelf/src/test/resources/docker-compose-graylog.yml +++ b/integration-tests/logging-gelf/src/test/resources/docker-compose-graylog.yml @@ -2,10 +2,11 @@ version: '3.2' services: elasticsearch: - # Graylog 3 only works with Elasticsearch 6 - image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.8.9 + image: docker.io/elastic/elasticsearch:7.16.3 environment: ES_JAVA_OPTS: "-Xms512m -Xmx512m" + discovery.type: "single-node" + xpack.security.enabled: "false" networks: - graylog @@ -15,13 +16,16 @@ services: - graylog graylog: - image: graylog/graylog:3.3.8 + image: graylog/graylog:4.3.0 ports: - "9000:9000" - "12201:12201/udp" - "1514:1514" environment: - GRAYLOG_HTTP_EXTERNAL_URI: "http://127.0.0.1:9000/" + # CHANGE ME (must be at least 16 characters)! + GRAYLOG_PASSWORD_SECRET: "forpasswordencryptionEXAMPLE" + # Password: admin + GRAYLOG_ROOT_PASSWORD_SHA2: "8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918" networks: - graylog depends_on: