From cf14f66fb5eaa21dc9272137906118a7fdcc58c2 Mon Sep 17 00:00:00 2001 From: Carlos Crespo Date: Wed, 12 Oct 2022 18:19:17 +0200 Subject: [PATCH] Fix docker-compose setup and use Hostname env var on test config --- .../_dev/deploy/docker/config/kibana.yml | 4 +- .../_dev/deploy/docker/docker-compose.yml | 44 ++++++++++--------- .../docker/scripts/generate-audit-logs.sh | 32 +++++++++----- .../_dev/deploy/docker/scripts/setup.sh | 24 +++++++--- .../_dev/test/system/test-default-config.yml | 2 +- .../_dev/test/system/test-default-config.yml | 2 +- .../_dev/test/system/test-default-config.yml | 2 +- .../_dev/test/system/test-default-config.yml | 2 +- .../_dev/test/system/test-default-config.yml | 2 +- .../_dev/test/system/test-default-config.yml | 2 +- 10 files changed, 68 insertions(+), 48 deletions(-) mode change 100644 => 100755 packages/kibana/_dev/deploy/docker/scripts/generate-audit-logs.sh mode change 100644 => 100755 packages/kibana/_dev/deploy/docker/scripts/setup.sh diff --git a/packages/kibana/_dev/deploy/docker/config/kibana.yml b/packages/kibana/_dev/deploy/docker/config/kibana.yml index f62e514e6715..330adc9e97ae 100644 --- a/packages/kibana/_dev/deploy/docker/config/kibana.yml +++ b/packages/kibana/_dev/deploy/docker/config/kibana.yml @@ -8,7 +8,7 @@ elasticsearch.ssl.verificationMode: "none" xpack.security.audit.enabled: true xpack.security.audit.appender: type: rolling-file - fileName: ./logs/audit.log + fileName: /var/log/audit.log policy: type: time-interval interval: 24h @@ -25,6 +25,6 @@ logging: appenders: file: type: file - fileName: ./logs/kibana.log + fileName: /var/log/kibana.log layout: type: json diff --git a/packages/kibana/_dev/deploy/docker/docker-compose.yml b/packages/kibana/_dev/deploy/docker/docker-compose.yml index 173bc6ae230c..3ef5b72a53ad 100644 --- a/packages/kibana/_dev/deploy/docker/docker-compose.yml +++ b/packages/kibana/_dev/deploy/docker/docker-compose.yml @@ -4,47 +4,49 @@ services: image: "docker.elastic.co/elasticsearch/elasticsearch:${ELASTIC_VERSION:-8.5.0-SNAPSHOT}" environment: - "ES_JAVA_OPTS=-Xms1g -Xmx1g" - - "ELASTIC_PASSWORD:changeme" + - "ELASTIC_PASSWORD=changeme" ports: - "127.0.0.1:9201:9200" volumes: - "./config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml" healthcheck: - test: curl -sfo /dev/null -u elastic:changeme localhost:9200 || exit 1 + test: curl -sfo /dev/null -u elastic:changeme http://localhost:9200 || exit 1 retries: 300 interval: 1s setup: image: "alpine/curl:latest" + user: root environment: - "ES_SERVICE_HOST=http://elasticsearch:9200" - - "ELASTIC_PASSWORD:changeme" - - "KIBANA_PASSWORD:changeme" - command: ["/bin/sh", "./setup.sh"] + - "ELASTIC_PASSWORD=changeme" + - "KIBANA_PASSWORD=changeme" + command: /bin/sh ./setup.sh volumes: - - ./scripts/setup.sh:/setup.sh + - "./scripts/setup.sh:/setup.sh" kibana: image: "docker.elastic.co/kibana/kibana:${ELASTIC_VERSION:-8.5.0-SNAPSHOT}" depends_on: elasticsearch: condition: service_healthy volumes: - - ./config/kibana.yml:/usr/share/kibana/config/kibana.yml - - ${SERVICE_LOGS_DIR}:/usr/share/kibana/logs + - "./config/kibana.yml:/usr/share/kibana/config/kibana.yml" + - "${SERVICE_LOGS_DIR}:/var/log" ports: - "127.0.0.1:5602:5601" healthcheck: - test: curl -sfo /dev/null localhost:5601 || exit 1 + test: curl -sfo /dev/null http://localhost:5601 || exit 1 retries: 600 interval: 1s - log_generation: - image: "alpine/curl:latest" - depends_on: - kibana: - condition: service_healthy - environment: - - "KIBANA_SERVICE_HOST=http://kibana:5601" - - "ELASTIC_PASSWORD:changeme" - - "KIBANA_PASSWORD:changeme" - command: ["/bin/sh", "./generate-audit-logs.sh"] - volumes: - - ./scripts/generate-audit-logs.sh:/generate-audit-logs.sh + # logger: + # image: "alpine/curl:latest" + # user: root + # depends_on: + # kibana: + # condition: service_healthy + # environment: + # - "KIBANA_SERVICE_HOST=http://kibana:5601" + # - "ELASTIC_PASSWORD=changeme" + # - "KIBANA_PASSWORD=changeme" + # command: /bin/sh ./generate-audit-logs.sh + # volumes: + # - ./scripts/generate-audit-logs.sh:/generate-audit-logs.sh diff --git a/packages/kibana/_dev/deploy/docker/scripts/generate-audit-logs.sh b/packages/kibana/_dev/deploy/docker/scripts/generate-audit-logs.sh old mode 100644 new mode 100755 index b430c53eb00e..efcdae9ef203 --- a/packages/kibana/_dev/deploy/docker/scripts/generate-audit-logs.sh +++ b/packages/kibana/_dev/deploy/docker/scripts/generate-audit-logs.sh @@ -1,24 +1,32 @@ #!/bin/sh # Makes requests to kibana API so that audit logs can be generated +attempt_counter=0 +max_attempts=6 -set -e +until curl -s --request GET \ + --url $KIBANA_SERVICE_HOST/login \ + --user "elastic:$KIBANA_PASSWORD" \ + --header 'Content-Type: application/json' +do -until curl --request GET \ - --user "elastic:$KIBANA_PASSWORD" \ - --url $KIBANA_SERVICE_HOST/login \ - --header 'Content-Type: application/json' -do sleep 10; -done; + if [ ${attempt_counter} -eq ${max_attempts} ];then + echo "Max attempts reached" + exit 1 + fi + + printf '.' + attempt_counter=$(($attempt_counter+1)) + sleep 10 +done while true do - echo Generating audit logs - - curl --request GET \ + curl -s --request GET \ + --url $KIBANA_SERVICE_HOST/api/features \ --user "elastic:$KIBANA_PASSWORD" \ - --url $KIBANA_SERVICE_HOST/api/features \ --header 'Content-Type: application/json' + echo "Audit log created" sleep 10 -done; \ No newline at end of file +done \ No newline at end of file diff --git a/packages/kibana/_dev/deploy/docker/scripts/setup.sh b/packages/kibana/_dev/deploy/docker/scripts/setup.sh old mode 100644 new mode 100755 index b31353f02fb4..4baa209ded83 --- a/packages/kibana/_dev/deploy/docker/scripts/setup.sh +++ b/packages/kibana/_dev/deploy/docker/scripts/setup.sh @@ -1,12 +1,22 @@ #!/bin/sh #Sets a password for kibana_system user +attempt_counter=0 +max_attempts=6 -set -e - -until curl --request POST $ES_SERVICE_HOST/_security/user/kibana_system/_password \ - --user elastic:$ELASTIC_PASSWORD \ +until curl -s --request POST $ES_SERVICE_HOST/_security/user/kibana_system/_password \ + --user "elastic:$ELASTIC_PASSWORD" \ --header 'Content-Type: application/json' \ - --data "{\"password\":\"$KIBANA_PASSWORD\"}" -do sleep 10; -done; \ No newline at end of file + --data "{\"password\":\"$KIBANA_PASSWORD\"}" +do + if [ ${attempt_counter} -eq ${max_attempts} ];then + echo "Max attempts reached" + exit 1 + fi + + printf '.' + attempt_counter=$(($attempt_counter+1)) + sleep 10 +done + +echo "Setup complete" \ No newline at end of file diff --git a/packages/kibana/data_stream/cluster_actions/_dev/test/system/test-default-config.yml b/packages/kibana/data_stream/cluster_actions/_dev/test/system/test-default-config.yml index 5f630a331812..8cc16415cffd 100644 --- a/packages/kibana/data_stream/cluster_actions/_dev/test/system/test-default-config.yml +++ b/packages/kibana/data_stream/cluster_actions/_dev/test/system/test-default-config.yml @@ -2,7 +2,7 @@ type: kibana/metrics dataset: kibana.stack_monitoring.cluster_actions vars: hosts: - - "http://elastic-package-service-kibana-1:5601" + - "http://{{Hostname}}:5601" username: elastic password: changeme data_stream: ~ diff --git a/packages/kibana/data_stream/cluster_rules/_dev/test/system/test-default-config.yml b/packages/kibana/data_stream/cluster_rules/_dev/test/system/test-default-config.yml index 84af5204837d..7d9b86e3a8eb 100644 --- a/packages/kibana/data_stream/cluster_rules/_dev/test/system/test-default-config.yml +++ b/packages/kibana/data_stream/cluster_rules/_dev/test/system/test-default-config.yml @@ -2,7 +2,7 @@ type: kibana/metrics dataset: kibana.stack_monitoring.cluster_rules vars: hosts: - - "http://elastic-package-service-kibana-1:5601" + - "http://{{Hostname}}:5601" username: elastic password: changeme data_stream: ~ diff --git a/packages/kibana/data_stream/node_actions/_dev/test/system/test-default-config.yml b/packages/kibana/data_stream/node_actions/_dev/test/system/test-default-config.yml index f9201288c5cb..700d74b87255 100644 --- a/packages/kibana/data_stream/node_actions/_dev/test/system/test-default-config.yml +++ b/packages/kibana/data_stream/node_actions/_dev/test/system/test-default-config.yml @@ -2,7 +2,7 @@ type: kibana/metrics dataset: kibana.stack_monitoring.node_actions vars: hosts: - - "http://elastic-package-service-kibana-1:5601" + - "http://{{Hostname}}:5601" username: elastic password: changeme data_stream: ~ diff --git a/packages/kibana/data_stream/node_rules/_dev/test/system/test-default-config.yml b/packages/kibana/data_stream/node_rules/_dev/test/system/test-default-config.yml index 48f32038956c..60965f2c208f 100644 --- a/packages/kibana/data_stream/node_rules/_dev/test/system/test-default-config.yml +++ b/packages/kibana/data_stream/node_rules/_dev/test/system/test-default-config.yml @@ -2,7 +2,7 @@ type: kibana/metrics dataset: kibana.stack_monitoring.node_rules vars: hosts: - - "http://elastic-package-service-kibana-1:5601" + - "http://{{Hostname}}:5601" username: elastic password: changeme data_stream: ~ diff --git a/packages/kibana/data_stream/stats/_dev/test/system/test-default-config.yml b/packages/kibana/data_stream/stats/_dev/test/system/test-default-config.yml index 108c7cb06764..6aea2138e2d4 100644 --- a/packages/kibana/data_stream/stats/_dev/test/system/test-default-config.yml +++ b/packages/kibana/data_stream/stats/_dev/test/system/test-default-config.yml @@ -2,7 +2,7 @@ type: kibana/metrics dataset: kibana.stack_monitoring.stats vars: hosts: - - "http://elastic-package-service-kibana-1:5601" + - "http://{{Hostname}}:5601" username: elastic password: changeme data_stream: ~ diff --git a/packages/kibana/data_stream/status/_dev/test/system/test-default-config.yml b/packages/kibana/data_stream/status/_dev/test/system/test-default-config.yml index 2a5e2a86df6f..187c4494d095 100644 --- a/packages/kibana/data_stream/status/_dev/test/system/test-default-config.yml +++ b/packages/kibana/data_stream/status/_dev/test/system/test-default-config.yml @@ -2,7 +2,7 @@ type: kibana/metrics dataset: kibana.stack_monitoring.status vars: hosts: - - "http://elastic-package-service-kibana-1:5601" + - "http://{{Hostname}}:5601" username: elastic password: changeme data_stream: ~