From 03f92487cc6eea46894280517aa7bcea4617f1e7 Mon Sep 17 00:00:00 2001 From: Francesco Latini Date: Tue, 16 Jul 2024 15:18:45 +0200 Subject: [PATCH 1/2] Refactoring statefulset variables --- README.md | 13 ++++++++++-- statefulset.tf | 23 +++++++++------------ variables.tf | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index eeb34b2..ff5e922 100644 --- a/README.md +++ b/README.md @@ -42,8 +42,17 @@ module "as_demo" { | [cluster\_name](#input\_cluster\_name) | Axon Server cluster name. | `string` | `""` | yes | | [nodes\_number](#input\_nodes\_number) | The number of nodes deployed inside the cluster. | `number` | `1` | yes | | [public\_domain](#input\_public\_domain) | The domain that is added to the hostname when returning hostnames to client applications. | `string` | `""` | yes | -| [axonserver\_license\_path](#input\_axonserver\_license\_path) | The path to the Axon Server license | `string` | `""` | yes | -| [console\_authentication](#input\_console\_authentication) | Console authentication token license | `string` | `""` | no | +| [axonserver\_license\_path](#input\_axonserver\_license\_path) | The path to the Axon Server license | `string` | `""` | yes | +| [console\_authentication](#input\_console\_authentication) | Console authentication token | `string` | `""` | no | +| [java\_version](#input\_java\_version) | Java runtime | `number` | `"11"` | no | +| [resources\_limits\_cpu](#input\_resources\_limits\_cpu) | spec.container.resources.limits.cpu | `number` | `"1"` | no | +| [resources\_limits\_memory](#input\_resources\_limits\_memory) | spec.container.resources.limits.memory | `string` | `"1Gi"` | no | +| [resources\requests\_cpu](#input\_resources\_requests\_cpu) | spec.container.resources.requests.cpu | `number` | `"1"` | no | +| [resources\_limits\_memory](#input\_resources\_limits\_memory) | spec.container.resources.limits.memory | `string` | `"1Gi"` | no | +| [events\_storage](#input\_events\_storage) | Events PVC storage | `string` | `"5Gi"` | no | +| [log\_storage](#input\_log\_storage) | Log PVC storage | `string` | `"2Gi"` | no | +| [data\_storage](#input\_data\_storage) | Data PVC storage | `string` | `"10Gi"` | no | +| [plugins\_storage](#input\_plugins\_storage) | Plugins PVC storage | `string` | `"1Gi"` | no | ## Outputs diff --git a/statefulset.tf b/statefulset.tf index 09dd4c1..dce81db 100755 --- a/statefulset.tf +++ b/statefulset.tf @@ -31,26 +31,21 @@ resource "kubernetes_stateful_set" "axonserver" { } spec { - #security_context { - # run_as_user = 1001 - # fs_group = 1001 - #} - termination_grace_period_seconds = 120 container { name = "${var.cluster_name}-${count.index + 1}" - image = "axoniq/axonserver:${var.axonserver_release}-jdk-11" + image = "axoniq/axonserver:${var.axonserver_release}-jdk-${var.java_version}" image_pull_policy = "IfNotPresent" resources { limits = { - cpu = "1" - memory = "1Gi" + cpu = var.resources_limits_cpu + memory = var.resources_limits_memory } requests = { - cpu = "1" - memory = "1Gi" + cpu = var.resources_requests_cpu + memory = var.resources_requests_memory } } @@ -211,7 +206,7 @@ resource "kubernetes_stateful_set" "axonserver" { resources { requests = { - storage = "5Gi" + storage = var.events_storage } } } @@ -227,7 +222,7 @@ resource "kubernetes_stateful_set" "axonserver" { resources { requests = { - storage = "2Gi" + storage = var.log_storage } } } @@ -243,7 +238,7 @@ resource "kubernetes_stateful_set" "axonserver" { resources { requests = { - storage = "10Gi" + storage = var.data_storage } } } @@ -259,7 +254,7 @@ resource "kubernetes_stateful_set" "axonserver" { resources { requests = { - storage = "1Gi" + storage = var.plugins_storage } } } diff --git a/variables.tf b/variables.tf index ea93f95..78d1411 100755 --- a/variables.tf +++ b/variables.tf @@ -39,3 +39,57 @@ variable "console_authentication" { type = string default = "" } + +variable "java_version" { + description = "Java runtime" + type = number + default = 11 +} + +variable "resources_limits_cpu" { + description = "spec.container.resources.limits.cpu" + type = number + default = 1 +} + +variable "resources_limits_memory" { + description = "spec.container.resources.limits.memory" + type = string + default = "1Gi" +} + +variable "resources_requests_cpu" { + description = "spec.container.resources.requests.cpu" + type = number + default = 1 +} + +variable "resources_requests_memory" { + description = "spec.container.resources.requests.memory" + type = string + default = "1Gi" +} + +variable "events_storage" { + description = "Events PVC storage" + type = string + default = "5Gi" +} + +variable "log_storage" { + description = "Log PVC storage" + type = string + default = "2Gi" +} + +variable "data_storage" { + description = "Data PVC storage" + type = string + default = "10Gi" +} + +variable "plugins_storage" { + description = "Plugins PVC storage" + type = string + default = "1Gi" +} \ No newline at end of file From db9ee7b36bb96950308315c3de6ebab78568790c Mon Sep 17 00:00:00 2001 From: Francesco Latini Date: Tue, 16 Jul 2024 15:20:12 +0200 Subject: [PATCH 2/2] Changed the example --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ff5e922..e704ff5 100644 --- a/README.md +++ b/README.md @@ -19,9 +19,10 @@ ```terraform module "as_demo" { - source = "git@github.com:AxonIQ/terraform-axonserver-k8s.git?ref=v1.6" + source = "git@github.com:AxonIQ/terraform-axonserver-k8s.git?ref=v1.7" axonserver_release = "2024.0.4" + java_version = "11" nodes_number = 3 cluster_name = "axonserver" @@ -37,7 +38,7 @@ module "as_demo" { | Name | Description | Type | Default | Required | |-------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|----------------------------------|:--------:| -| [axonserver\_release](#input\_axonserver\_release) | Axon Server Release namespace. | `string` | `"2024.0.4"` | yes | +| [axonserver\_release](#input\_axonserver\_release) | Axon Server Release namespace. | `string` | `"2024.0.4"` | no | | [namespace](#input\_namespace) | Kubernetes cluster namespace. | `string` | `"axonserver"` | yes | | [cluster\_name](#input\_cluster\_name) | Axon Server cluster name. | `string` | `""` | yes | | [nodes\_number](#input\_nodes\_number) | The number of nodes deployed inside the cluster. | `number` | `1` | yes |