diff --git a/CHANGELOG.md b/CHANGELOG.md index cdfb2b7..dac8528 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,10 +3,15 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). + +## [4.5.0] - 2024-04-25 +### Added +- Added optional `extended_server_config`. For instance to configure Waggle Dance Rate limiting configuration. + ## [4.4.0] - 2024-04-18 ### Added - Add new variable `cpu_limit` and `memory_limit` to support set pod resource guaranteed. - + ## [4.3.2] - 2024-03-26 ### Updated - Removed the datadog explicit provider configuration as suggested here: https://developer.hashicorp.com/terraform/language/modules/develop/providers#legacy-shared-modules-with-provider-configurations diff --git a/README.md b/README.md index 57004ed..026f03c 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,9 @@ For more information please refer to the main [Apiary](https://github.com/Expedi | datadog_agent_version | Version of the Datadog Agent running in the ECS cluster. | string | `7.46.0-jmx` | no | | include_datadog_agent | Whether to include the datadog-agent container alongside Waggledance. | string | bool | no | | metrics_port | The port on which the WaggleDance application initiates. Additionally, it serves as the port from which we parse metrics. | string | `18000` | yes | +| extended_server_config | Extended waggle-dance-server.yml configuration for Waggle Dance (see [Waggle Dance README](https://github.com/ExpediaGroup/waggle-dance/blob/main/README.md) for all options). String will be [yamlencoded](https://developer.hashicorp.com/terraform/language/functions/yamlencode). | string | | no | + + ## Usage diff --git a/templates.tf b/templates.tf index fee7052..7cae0d3 100644 --- a/templates.tf +++ b/templates.tf @@ -35,6 +35,7 @@ data "template_file" "server_yaml" { enable_query_functions_across_all_metastores = var.enable_query_functions_across_all_metastores graphite = join("", data.template_file.graphite_server_yaml.*.rendered) exposed_endpoints = data.template_file.endpoints_server_yaml.rendered + extended_server_config = var.extended_server_config } } diff --git a/templates/waggle-dance-server.yml.tmpl b/templates/waggle-dance-server.yml.tmpl index d0bc7d4..5433340 100644 --- a/templates/waggle-dance-server.yml.tmpl +++ b/templates/waggle-dance-server.yml.tmpl @@ -5,3 +5,4 @@ yaml-storage: overwrite-config-on-shutdown: false ${graphite} ${exposed_endpoints} +${extended_server_config} diff --git a/variables.tf b/variables.tf index 3e0bb3f..7ff552e 100644 --- a/variables.tf +++ b/variables.tf @@ -430,3 +430,28 @@ variable "include_datadog_agent" { default = false } +/* +Example: +extended_server_config = <" + nodeAddresses: + - "rediss://localhost1:62493" + - "rediss://localhost2:62493" +EOT +*/ +variable "extended_server_config" { + description = "Extended waggle-dance-server.yml configuration for Waggle Dance. This is a YAML string." + type = string + default = "" +}