From f00e430124b1e8bb43f234fcc7e756461a107786 Mon Sep 17 00:00:00 2001 From: Maximilian Pohle Date: Wed, 14 May 2025 12:58:47 +0200 Subject: [PATCH] add support for `IS_READY_IMAGE_REF_OVERRIDE` --- docs/howto/custom_images.md | 1 + internal/install/application_configuration.go | 5 +++++ internal/stack/_static/docker-compose-stack.yml.tmpl | 12 ++++++------ 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/docs/howto/custom_images.md b/docs/howto/custom_images.md index 209689c9d..d0048d9ab 100644 --- a/docs/howto/custom_images.md +++ b/docs/howto/custom_images.md @@ -21,6 +21,7 @@ The current images that could be overwritten are: | Kibana | KIBANA_IMAGE_REF_OVERRIDE | kibana | | Elastic Agent | ELASTIC_AGENT_IMAGE_REF_OVERRIDE | elastic-agent | | Logstash | LOGSTASH_IMAGE_REF_OVERRIDE | logstash | +| is_ready | IS_READY_IMAGE_REF_OVERRIDE | is_ready | For the following two examples, it will be used as example overwriting elastic-agent image. diff --git a/internal/install/application_configuration.go b/internal/install/application_configuration.go index 075761ab9..5ac2c023b 100644 --- a/internal/install/application_configuration.go +++ b/internal/install/application_configuration.go @@ -37,6 +37,7 @@ const ( elasticsearchImageName = "docker.elastic.co/elasticsearch/elasticsearch" kibanaImageName = "docker.elastic.co/kibana/kibana" logstashImageName = "docker.elastic.co/logstash/logstash" + isreadyImageName = "tianon/true:multiarch" applicationConfigurationYmlFile = "config.yml" ) @@ -101,6 +102,7 @@ func (s stack) ImageRefOverridesForVersion(version string) ImageRefs { Elasticsearch: checkImageRefOverride("ELASTICSEARCH_IMAGE_REF_OVERRIDE", stringOrDefault(appConfigImageRefs.Elasticsearch, "")), Kibana: checkImageRefOverride("KIBANA_IMAGE_REF_OVERRIDE", stringOrDefault(appConfigImageRefs.Kibana, "")), Logstash: checkImageRefOverride("LOGSTASH_IMAGE_REF_OVERRIDE", stringOrDefault(appConfigImageRefs.Logstash, "")), + is_ready: checkImageRefOverride("IS_READY_IMAGE_REF_OVERRIDE", stringOrDefault(appConfigImageRefs.is_ready, "")), } } @@ -110,6 +112,7 @@ type ImageRefs struct { Elasticsearch string `yaml:"elasticsearch"` Kibana string `yaml:"kibana"` Logstash string `yaml:"logstash"` + is_ready string `yaml:"is_ready"` } // AsEnv method returns key=value representation of image refs. @@ -119,6 +122,7 @@ func (ir ImageRefs) AsEnv() []string { vars = append(vars, "ELASTICSEARCH_IMAGE_REF="+ir.Elasticsearch) vars = append(vars, "KIBANA_IMAGE_REF="+ir.Kibana) vars = append(vars, "LOGSTASH_IMAGE_REF="+ir.Logstash) + vars = append(vars, "IS_READY_IMAGE_REF="+ir.is_ready) return vars } @@ -129,6 +133,7 @@ func (ac *ApplicationConfiguration) StackImageRefs() ImageRefs { refs.Elasticsearch = stringOrDefault(refs.Elasticsearch, fmt.Sprintf("%s:%s", elasticsearchImageName, ac.stackVersion)) refs.Kibana = stringOrDefault(refs.Kibana, fmt.Sprintf("%s:%s", kibanaImageName, ac.stackVersion)) refs.Logstash = stringOrDefault(refs.Logstash, fmt.Sprintf("%s:%s", logstashImageName, ac.stackVersion)) + refs.is_ready = stringOrDefault(refs.is_ready, isreadyImageName) return refs } diff --git a/internal/stack/_static/docker-compose-stack.yml.tmpl b/internal/stack/_static/docker-compose-stack.yml.tmpl index f07bcad9c..ec039164a 100644 --- a/internal/stack/_static/docker-compose-stack.yml.tmpl +++ b/internal/stack/_static/docker-compose-stack.yml.tmpl @@ -28,7 +28,7 @@ services: - "127.0.0.1:9200:9200" elasticsearch_is_ready: - image: tianon/true:multiarch + image: "${IS_READY_IMAGE_REF}" depends_on: elasticsearch: condition: service_healthy @@ -57,7 +57,7 @@ services: - "127.0.0.1:5601:5601" kibana_is_ready: - image: tianon/true:multiarch + image: "${IS_READY_IMAGE_REF}" depends_on: kibana: condition: service_healthy @@ -89,7 +89,7 @@ services: - "127.0.0.1:9000:9000" package-registry_is_ready: - image: tianon/true:multiarch + image: "${IS_READY_IMAGE_REF}" depends_on: package-registry: condition: service_healthy @@ -130,7 +130,7 @@ services: {{ end }} fleet-server_is_ready: - image: tianon/true:multiarch + image: "${IS_READY_IMAGE_REF}" depends_on: fleet-server: condition: service_healthy @@ -162,7 +162,7 @@ services: target: /run/service_logs/ elastic-agent_is_ready: - image: tianon/true:multiarch + image: "${IS_READY_IMAGE_REF}" depends_on: elastic-agent: condition: service_healthy @@ -195,7 +195,7 @@ services: - ELASTIC_HOSTS=https://127.0.0.1:9200 logstash_is_ready: - image: tianon/true:multiarch + image: "${IS_READY_IMAGE_REF}" depends_on: logstash: condition: service_healthy