diff --git a/deploy/advanced/live/preprod/eu-west-1/application_acct/dev/k8s_addons/aws-for-fluent-bit-values.yaml b/deploy/advanced/live/preprod/eu-west-1/application_acct/dev/k8s_addons/aws-for-fluent-bit-values.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c4d58a6c4ef846edd0725d3928cd98c27506afaa --- /dev/null +++ b/deploy/advanced/live/preprod/eu-west-1/application_acct/dev/k8s_addons/aws-for-fluent-bit-values.yaml @@ -0,0 +1,140 @@ +global: + ## Override the deployment namespace + namespaceOverride: logging + +image: + repository: amazon/aws-for-fluent-bit + tag: 2.1.0 + pullPolicy: IfNotPresent + +imagePullSecrets: [] +nameOverride: "" +fullnameOverride: "" + +service: + parsersFiles: + - /fluent-bit/parsers/parsers.conf + # extraParsers: | + # [PARSER] + # Name logfmt + # Format logfmt + +input: + tag: "kube.*" + path: "/var/log/containers/*.log" + db: "/var/log/flb_kube.db" + parser: docker + dockerMode: "On" + memBufLimit: 5MB + skipLongLines: "On" + refreshInterval: 10 + +# extraInputs: | +# [INPUT] +# Name winlog +# Channels Setup,Windows PowerShell +# Interval_Sec 1 +# DB winlog.sqlite + + +filter: + match: "kube.*" + kubeURL: "https://kubernetes.default.svc.cluster.local:443" + mergeLog: "On" + mergeLogKey: "data" + keepLog: "On" + k8sLoggingParser: "On" + k8sLoggingExclude: "On" + +# extraFilters: | +# [FILTER] +# Name grep +# Match * +# Exclude log lvl=debug* + +cloudWatch: + enabled: true + match: "*" + region: ${region} + logGroupName: ${aws_for_fluent_bit_cw_log_group} + logStreamName: + logStreamPrefix: "fluentbit-" + logKey: + logFormat: + roleArn: + autoCreateGroup: true + endpoint: + credentialsEndpoint: {} + +firehose: + enabled: false + match: "*" + region: ${region} + deliveryStream: "my-stream" + dataKeys: + roleArn: + endpoint: + timeKey: + +kinesis: + enabled: false + match: "*" + region: ${region} + stream: "my-kinesis-stream-name" + partitionKey: "container_id" + appendNewline: + dataKeys: + roleArn: + timeKey: + timeKeyFormat: + +# extraOutputs: | +# [OUTPUT] +# Name file +# Format template +# Template {time} used={Mem.used} free={Mem.free} total={Mem.total} + +serviceAccount: + create: true + annotations: {} + name: + +resources: + limits: + memory: 500Mi + requests: + cpu: 500m + memory: 500Mi + +## Assign a PriorityClassName to pods if set +# priorityClassName: system-node-critical + +updateStrategy: + type: RollingUpdate + +nodeSelector: + kubernetes.io/os: linux + +tolerations: [] + +affinity: {} + +annotations: {} +# iam.amazonaws.com/role: arn:aws:iam::123456789012:role/role-for-fluent-bit + +env: [] + +volumes: + - name: varlog + hostPath: + path: /var/log + - name: varlibdockercontainers + hostPath: + path: /var/lib/docker/containers + +volumeMounts: + - name: varlog + mountPath: /var/log + - name: varlibdockercontainers + mountPath: /var/lib/docker/containers + readOnly: true diff --git a/deploy/advanced/live/preprod/eu-west-1/application_acct/dev/main.tf b/deploy/advanced/live/preprod/eu-west-1/application_acct/dev/main.tf index f11baca2117beeb4eb9aa5672be4d4005d3c7059..e2347d35909a8a765b52cd49b081ffbc3b8f2725 100644 --- a/deploy/advanced/live/preprod/eu-west-1/application_acct/dev/main.tf +++ b/deploy/advanced/live/preprod/eu-west-1/application_acct/dev/main.tf @@ -100,7 +100,7 @@ module "aws-eks-accelerator-for-terraform" { # 3. Security Group for Node group (Optional) # 4. Launch Templates for Node group (Optional) #---------------------------------------------------------# - enable_managed_nodegroups = false + enable_managed_nodegroups = true managed_node_groups = { #---------------------------------------------------------# # ON-DEMAND Worker Group - Worker Group - 1 @@ -128,7 +128,7 @@ module "aws-eks-accelerator-for-terraform" { disk_size = 50 # 4> Node Group network configuration - subnet_ids = [] # Define your private/public subnets list with comma seprated subnet_ids = ['subnet1','subnet2','subnet3'] + subnet_ids = module.aws_vpc.private_subnets # Define your private/public subnets list with comma seprated subnet_ids = ['subnet1','subnet2','subnet3'] k8s_taints = [] @@ -545,4 +545,28 @@ module "aws-eks-accelerator-for-terraform" { })] } + + #--------------------------------------- + # AWS-FOR-FLUENTBIT HELM ADDON + #--------------------------------------- + + aws_for_fluent_bit_enable = true + aws_for_fluent_bit_cw_log_group = "/aws/eks/${module.aws-eks-accelerator-for-terraform.cluster_name}/fluentbit-cloudwatch-logs" + # Optional Map value + aws_for_fluent_bit_helm_chart = { + name = "aws-for-fluent-bit" # (Required) Release name. + repository = "https://aws.github.io/eks-charts" # (Optional) Repository URL where to locate the requested chart. + chart = "aws-for-fluent-bit" # (Required) Chart name to be installed. + version = "0.1.0" # (Optional) Specify the exact chart version to install. If this is not specified, the latest version is installed. + namespace = "logging" # (Optional) The namespace to install the release into. Defaults to default + timeout = "1200" # (Optional) + lint = "true" # (Optional) + + # (Optional) Example to show how to pass metrics-server-values.yaml + values = [templatefile("${path.module}/k8s_addons/aws-for-fluent-bit-values.yaml", { + operating_system = "linux", + region = data.aws_region.current.name, + aws_for_fluent_bit_cw_log_group = "/aws/eks/${module.aws-eks-accelerator-for-terraform.cluster_name}/fluentbit-cloudwatch-logs" + })] + } } diff --git a/deploy/advanced/live/preprod/eu-west-1/application_acct/dev/outputs.tf b/deploy/advanced/live/preprod/eu-west-1/application_acct/dev/outputs.tf new file mode 100644 index 0000000000000000000000000000000000000000..5bfae436af40d2e0f266817e3b43cbc33d7fce7d --- /dev/null +++ b/deploy/advanced/live/preprod/eu-west-1/application_acct/dev/outputs.tf @@ -0,0 +1,4 @@ +output "configure_kubectl" { + description = "Configure kubectl: make sure you're logged in with the correct AWS profile and run the following command to update your kubeconfig" + value = "aws eks --region ${data.aws_region.current.id} update-kubeconfig --name ${module.aws-eks-accelerator-for-terraform.cluster_name}" +} diff --git a/deploy/eks-cluster-with-new-vpc/outputs.tf b/deploy/eks-cluster-with-new-vpc/outputs.tf new file mode 100644 index 0000000000000000000000000000000000000000..5bfae436af40d2e0f266817e3b43cbc33d7fce7d --- /dev/null +++ b/deploy/eks-cluster-with-new-vpc/outputs.tf @@ -0,0 +1,4 @@ +output "configure_kubectl" { + description = "Configure kubectl: make sure you're logged in with the correct AWS profile and run the following command to update your kubeconfig" + value = "aws eks --region ${data.aws_region.current.id} update-kubeconfig --name ${module.aws-eks-accelerator-for-terraform.cluster_name}" +} diff --git a/kubernetes-addons.tf b/kubernetes-addons.tf index 3686ca9b5fe2bce291903869e9e097eb31b7d469..94b6373966315dccfcb7287abb218ea003e301a2 100644 --- a/kubernetes-addons.tf +++ b/kubernetes-addons.tf @@ -81,18 +81,13 @@ module "nginx_ingress" { depends_on = [module.aws_eks] } -# TODO Upgrade + module "aws-for-fluent-bit" { - count = var.create_eks && var.aws_for_fluent_bit_enable ? 1 : 0 - source = "./kubernetes-addons/aws-for-fluent-bit" - - private_container_repo_url = var.private_container_repo_url - cluster_id = module.aws_eks.cluster_id - ekslog_retention_in_days = var.ekslog_retention_in_days - public_docker_repo = var.public_docker_repo - aws_for_fluent_bit_image_tag = var.aws_for_fluent_bit_image_tag - aws_for_fluent_bit_helm_chart_version = var.aws_for_fluent_bit_helm_chart_version - aws_for_fluent_bit_image_repo_name = var.aws_for_fluent_bit_image_repo_name + count = var.create_eks && var.aws_for_fluent_bit_enable ? 1 : 0 + source = "./kubernetes-addons/aws-for-fluent-bit" + aws_for_fluent_bit_cw_log_retention_in_days = var.aws_for_fluent_bit_cw_log_retention_in_days + aws_for_fluent_bit_cw_log_group = var.aws_for_fluent_bit_cw_log_group + aws_for_fluent_bit_helm_chart = var.aws_for_fluent_bit_helm_chart depends_on = [module.aws_eks] } diff --git a/kubernetes-addons/aws-for-fluent-bit/README.md b/kubernetes-addons/aws-for-fluent-bit/README.md index c25aab30b4fa7f256a3d4b9f218fee31f5dd51b4..0e43d12bf3c4a4df8158b784595029c65c2be411 100644 --- a/kubernetes-addons/aws-for-fluent-bit/README.md +++ b/kubernetes-addons/aws-for-fluent-bit/README.md @@ -1,42 +1,4 @@ # aws-for-fluent-bit Helm Chart - -###### Instructions to upload aws-for-fluent-bit Docker image to AWS ECR - -Step1: Get the latest docker image from this link - - https://github.com/aws/aws-for-fluent-bit - -Step2: Download the docker image to your local Mac/Laptop - - $ docker pull amazon/aws-for-fluent-bit:2.13.0 - -Step3: Retrieve an authentication token and authenticate your Docker client to your registry. Use the AWS CLI: - - $ aws ecr get-login-password --region eu-west-1 | docker login --username AWS --password-stdin <account id>.dkr.ecr.eu-west-1.amazonaws.com - -Step4: Create an ECR repo for Metrics Server if you don't have one - - $ aws ecr create-repository --repository-name amazon/aws-for-fluent-bit --image-scanning-configuration scanOnPush=true - -Step5: After the build completes, tag your image so, you can push the image to this repository: - - $ docker tag amazon/aws-for-fluent-bit:2.13.0 <accountid>.dkr.ecr.eu-west-1.amazonaws.com/amazon/aws-for-fluent-bit:2.13.0 - -Step6: Run the following command to push this image to your newly created AWS repository: - - $ docker push <accountid>.dkr.ecr.eu-west-1.amazonaws.com/amazon/aws-for-fluent-bit:2.13.0 - -### Instructions to download Helm Charts - -#### Helm Chart - - https://artifacthub.io/packages/helm/aws/aws-for-fluent-bit - -Helm Repo Maintainers - - https://github.com/aws/eks-charts - - <!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK --> Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: MIT-0 @@ -64,7 +26,6 @@ No requirements. |------|---------| | <a name="provider_aws"></a> [aws](#provider\_aws) | n/a | | <a name="provider_helm"></a> [helm](#provider\_helm) | n/a | -| <a name="provider_kubernetes"></a> [kubernetes](#provider\_kubernetes) | n/a | ## Modules @@ -75,23 +36,16 @@ No modules. | Name | Type | |------|------| | [aws_cloudwatch_log_group.eks_worker_logs](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_log_group) | resource | -| [helm_release.aws-for-fluent-bit](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource | -| [kubernetes_namespace.logging](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/namespace) | resource | +| [helm_release.aws_for_fluent_bit](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource | | [aws_region.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/region) | data source | ## Inputs | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| -| <a name="input_aws_for_fluent_bit_helm_chart_name"></a> [aws\_for\_fluent\_bit\_helm\_chart\_name](#input\_aws\_for\_fluent\_bit\_helm\_chart\_name) | n/a | `string` | `"aws-for-fluent-bit"` | no | -| <a name="input_aws_for_fluent_bit_helm_chart_url"></a> [aws\_for\_fluent\_bit\_helm\_chart\_url](#input\_aws\_for\_fluent\_bit\_helm\_chart\_url) | n/a | `string` | `"https://aws.github.io/eks-charts"` | no | -| <a name="input_aws_for_fluent_bit_helm_chart_version"></a> [aws\_for\_fluent\_bit\_helm\_chart\_version](#input\_aws\_for\_fluent\_bit\_helm\_chart\_version) | n/a | `string` | `"0.1.11"` | no | -| <a name="input_aws_for_fluent_bit_image_repo_name"></a> [aws\_for\_fluent\_bit\_image\_repo\_name](#input\_aws\_for\_fluent\_bit\_image\_repo\_name) | n/a | `string` | `"amazon/aws-for-fluent-bit"` | no | -| <a name="input_aws_for_fluent_bit_image_tag"></a> [aws\_for\_fluent\_bit\_image\_tag](#input\_aws\_for\_fluent\_bit\_image\_tag) | n/a | `string` | `"2.13.0"` | no | -| <a name="input_cluster_id"></a> [cluster\_id](#input\_cluster\_id) | n/a | `string` | n/a | yes | -| <a name="input_ekslog_retention_in_days"></a> [ekslog\_retention\_in\_days](#input\_ekslog\_retention\_in\_days) | n/a | `number` | n/a | yes | -| <a name="input_private_container_repo_url"></a> [private\_container\_repo\_url](#input\_private\_container\_repo\_url) | n/a | `string` | n/a | yes | -| <a name="input_public_docker_repo"></a> [public\_docker\_repo](#input\_public\_docker\_repo) | n/a | `string` | n/a | yes | +| <a name="input_aws_for_fluent_bit_cw_log_group"></a> [aws\_for\_fluent\_bit\_cw\_log\_group](#input\_aws\_for\_fluent\_bit\_cw\_log\_group) | Log group name in Cloudwatch for streaming logs from worker nodes. | `string` | n/a | yes | +| <a name="input_aws_for_fluent_bit_cw_log_retention_in_days"></a> [aws\_for\_fluent\_bit\_cw\_log\_retention\_in\_days](#input\_aws\_for\_fluent\_bit\_cw\_log\_retention\_in\_days) | Number of days to retain log events. Default retention - 90 days. | `number` | n/a | yes | +| <a name="input_aws_for_fluent_bit_helm_chart"></a> [aws\_for\_fluent\_bit\_helm\_chart](#input\_aws\_for\_fluent\_bit\_helm\_chart) | Helm chart definition for aws\_for\_fluent\_bit. | `any` | n/a | yes | ## Outputs diff --git a/kubernetes-addons/aws-for-fluent-bit/locals.tf b/kubernetes-addons/aws-for-fluent-bit/locals.tf new file mode 100644 index 0000000000000000000000000000000000000000..85253fd3f2a104d393afd2e1f714eb196fa8f12c --- /dev/null +++ b/kubernetes-addons/aws-for-fluent-bit/locals.tf @@ -0,0 +1,53 @@ + +locals { + default_aws_for_fluent_bit_helm_app = { + name = "aws-for-fluent-bit" + chart = "aws-for-fluent-bit" + repository = "https://aws.github.io/eks-charts" + version = "0.1.0" + namespace = "logging" + timeout = "1200" + create_namespace = true + values = [templatefile("${path.module}/templates/aws-for-fluent-bit-values.yaml", { + region = data.aws_region.current.name, + aws_for_fluent_bit_cw_log_group = var.aws_for_fluent_bit_cw_log_group + })] + set = [ + { + name = "nodeSelector.kubernetes\\.io/os" + value = "linux" + } + ] + set_sensitive = null + lint = true + wait = true + wait_for_jobs = false + description = "aws-for-fluent-bit helm Chart deployment configuration" + verify = false + keyring = "" + repository_key_file = "" + repository_cert_file = "" + repository_ca_file = "" + repository_username = "" + repository_password = "" + disable_webhooks = false + reuse_values = false + reset_values = false + force_update = false + recreate_pods = false + cleanup_on_fail = false + max_history = 0 + atomic = false + skip_crds = false + render_subchart_notes = true + disable_openapi_validation = false + dependency_update = false + replace = false + postrender = "" + + + } + aws_for_fluent_bit_helm_app = merge( + local.default_aws_for_fluent_bit_helm_app, + var.aws_for_fluent_bit_helm_chart) +} diff --git a/kubernetes-addons/aws-for-fluent-bit/main.tf b/kubernetes-addons/aws-for-fluent-bit/main.tf index d6550cfbf7c82d53556956faaa392fc35fe3772f..4566aa208694bac5c5e24c6dba69b7e373e787b6 100644 --- a/kubernetes-addons/aws-for-fluent-bit/main.tf +++ b/kubernetes-addons/aws-for-fluent-bit/main.tf @@ -18,32 +18,67 @@ data "aws_region" "current" {} -locals { - image_url = var.public_docker_repo ? var.aws_for_fluent_bit_image_repo_name : "${var.private_container_repo_url}/${var.aws_for_fluent_bit_image_repo_name}" -} - resource "aws_cloudwatch_log_group" "eks_worker_logs" { - name = "/aws/eks/${var.cluster_id}/fluentbit-cloudwatch-logs" - retention_in_days = var.ekslog_retention_in_days + name = var.aws_for_fluent_bit_cw_log_group + retention_in_days = var.aws_for_fluent_bit_cw_log_retention_in_days } -resource "kubernetes_namespace" "logging" { - metadata { - name = "logging" +resource "helm_release" "aws_for_fluent_bit" { + name = local.aws_for_fluent_bit_helm_app["name"] + repository = local.aws_for_fluent_bit_helm_app["repository"] + chart = local.aws_for_fluent_bit_helm_app["chart"] + version = local.aws_for_fluent_bit_helm_app["version"] + namespace = local.aws_for_fluent_bit_helm_app["namespace"] + timeout = local.aws_for_fluent_bit_helm_app["timeout"] + values = local.aws_for_fluent_bit_helm_app["values"] + create_namespace = local.aws_for_fluent_bit_helm_app["create_namespace"] + lint = local.aws_for_fluent_bit_helm_app["lint"] + description = local.aws_for_fluent_bit_helm_app["description"] + repository_key_file = local.aws_for_fluent_bit_helm_app["repository_key_file"] + repository_cert_file = local.aws_for_fluent_bit_helm_app["repository_cert_file"] + repository_ca_file = local.aws_for_fluent_bit_helm_app["repository_ca_file"] + repository_username = local.aws_for_fluent_bit_helm_app["repository_username"] + repository_password = local.aws_for_fluent_bit_helm_app["repository_password"] + verify = local.aws_for_fluent_bit_helm_app["verify"] + keyring = local.aws_for_fluent_bit_helm_app["keyring"] + disable_webhooks = local.aws_for_fluent_bit_helm_app["disable_webhooks"] + reuse_values = local.aws_for_fluent_bit_helm_app["reuse_values"] + reset_values = local.aws_for_fluent_bit_helm_app["reset_values"] + force_update = local.aws_for_fluent_bit_helm_app["force_update"] + recreate_pods = local.aws_for_fluent_bit_helm_app["recreate_pods"] + cleanup_on_fail = local.aws_for_fluent_bit_helm_app["cleanup_on_fail"] + max_history = local.aws_for_fluent_bit_helm_app["max_history"] + atomic = local.aws_for_fluent_bit_helm_app["atomic"] + skip_crds = local.aws_for_fluent_bit_helm_app["skip_crds"] + render_subchart_notes = local.aws_for_fluent_bit_helm_app["render_subchart_notes"] + disable_openapi_validation = local.aws_for_fluent_bit_helm_app["disable_openapi_validation"] + wait = local.aws_for_fluent_bit_helm_app["wait"] + wait_for_jobs = local.aws_for_fluent_bit_helm_app["wait_for_jobs"] + dependency_update = local.aws_for_fluent_bit_helm_app["dependency_update"] + replace = local.aws_for_fluent_bit_helm_app["replace"] + + postrender { + binary_path = local.aws_for_fluent_bit_helm_app["postrender"] + } + + dynamic "set" { + iterator = each_item + for_each = local.aws_for_fluent_bit_helm_app["set"] == null ? [] : local.aws_for_fluent_bit_helm_app["set"] + + content { + name = each_item.value.name + value = each_item.value.value + } + } + + dynamic "set_sensitive" { + iterator = each_item + for_each = local.aws_for_fluent_bit_helm_app["set_sensitive"] == null ? [] : local.aws_for_fluent_bit_helm_app["set_sensitive"] + + content { + name = each_item.value.name + value = each_item.value.value + } } -} -resource "helm_release" "aws-for-fluent-bit" { - name = var.aws_for_fluent_bit_helm_chart_name - repository = var.aws_for_fluent_bit_helm_chart_url - chart = var.aws_for_fluent_bit_helm_chart_name - version = var.aws_for_fluent_bit_helm_chart_version - namespace = kubernetes_namespace.logging.id - timeout = "1200" - values = [templatefile("${path.module}/templates/aws-for-fluent-bit-values.yaml", { - image = local.image_url - tag = var.aws_for_fluent_bit_image_tag - cw_worker_loggroup = aws_cloudwatch_log_group.eks_worker_logs.name - region = data.aws_region.current.name - })] } diff --git a/kubernetes-addons/aws-for-fluent-bit/templates/aws-for-fluent-bit-values.yaml b/kubernetes-addons/aws-for-fluent-bit/templates/aws-for-fluent-bit-values.yaml index 2e2ce53f57e308c87a52d58b628b36e549375a9d..c4d58a6c4ef846edd0725d3928cd98c27506afaa 100644 --- a/kubernetes-addons/aws-for-fluent-bit/templates/aws-for-fluent-bit-values.yaml +++ b/kubernetes-addons/aws-for-fluent-bit/templates/aws-for-fluent-bit-values.yaml @@ -1,10 +1,10 @@ global: -## Override the deployment namespace + ## Override the deployment namespace namespaceOverride: logging image: - repository: ${image} - tag: ${tag} + repository: amazon/aws-for-fluent-bit + tag: 2.1.0 pullPolicy: IfNotPresent imagePullSecrets: [] @@ -56,7 +56,7 @@ cloudWatch: enabled: true match: "*" region: ${region} - logGroupName: ${cw_worker_loggroup} + logGroupName: ${aws_for_fluent_bit_cw_log_group} logStreamName: logStreamPrefix: "fluentbit-" logKey: @@ -120,7 +120,7 @@ tolerations: [] affinity: {} annotations: {} - # iam.amazonaws.com/role: arn:aws:iam::123456789012:role/role-for-fluent-bit +# iam.amazonaws.com/role: arn:aws:iam::123456789012:role/role-for-fluent-bit env: [] diff --git a/kubernetes-addons/aws-for-fluent-bit/variables.tf b/kubernetes-addons/aws-for-fluent-bit/variables.tf index 070621ba756bba363b4e52606c38671e256f997b..720f38e9c5631fcacad3eeac12128bbc9bb07a4f 100644 --- a/kubernetes-addons/aws-for-fluent-bit/variables.tf +++ b/kubernetes-addons/aws-for-fluent-bit/variables.tf @@ -16,43 +16,18 @@ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -variable "private_container_repo_url" { - type = string +variable "aws_for_fluent_bit_cw_log_retention_in_days" { + type = number + description = "Number of days to retain log events. Default retention - 90 days." } +variable "aws_for_fluent_bit_cw_log_group" { + type = string + description = "Log group name in Cloudwatch for streaming logs from worker nodes." -variable "cluster_id" { - type = string } -variable "ekslog_retention_in_days" { - type = number -} - -variable "public_docker_repo" { - type = string -} - -variable "aws_for_fluent_bit_helm_chart_url" { - type = string - default = "https://aws.github.io/eks-charts" -} - -variable "aws_for_fluent_bit_helm_chart_name" { - type = string - default = "aws-for-fluent-bit" -} - -variable "aws_for_fluent_bit_helm_chart_version" { - type = string - default = "0.1.11" -} - -variable "aws_for_fluent_bit_image_repo_name" { - type = string - default = "amazon/aws-for-fluent-bit" -} +variable "aws_for_fluent_bit_helm_chart" { + type = any + description = "Helm chart definition for aws_for_fluent_bit." -variable "aws_for_fluent_bit_image_tag" { - type = string - default = "2.13.0" } diff --git a/variables.tf b/variables.tf index 387e7c3034e74ffe162ab58b48348a68d8daa460..407034a4fa90e885fb04267ca0174516bd052926 100644 --- a/variables.tf +++ b/variables.tf @@ -286,19 +286,13 @@ variable "traefik_helm_chart" { variable "private_container_repo_url" { type = string default = "" - description = "Privtae container image repo url (e.g, artifactory url or ECR url)" + description = "Private container image repo url (e.g, artifactory url or ECR url)" } variable "public_docker_repo" { type = bool default = true description = "public docker repo access" } -#-----------FARGATE FLUENT BIT------------- -variable "aws_for_fluent_bit_enable" { - type = bool - default = false - description = "Enabling aws_fluent_bit module on eks cluster" -} #-----------AGONES------------- variable "agones_enable" { type = bool @@ -351,44 +345,40 @@ variable "nginx_helm_chart" { default = {} } #-----------AWS FOR FLUENT BIT------------- -variable "fargate_fluentbit_enable" { + +variable "aws_for_fluent_bit_enable" { type = bool default = false - description = "Enabling fargate_fluent_bit module on eks cluster" + description = "Enabling aws_for_fluent_bit on eks cluster" } -variable "fargate_fluentbit_config" { +variable "aws_for_fluent_bit_cw_log_group" { + type = string + description = "Log group name in Cloudwatch for streaming logs from worker nodes" + default = "/aws/eks/eks-cluster/fluentbit-cloudwatch-log" +} + +variable "aws_for_fluent_bit_helm_chart" { type = any - description = "Fargate fluentbit configuration " + description = "Helm chart definition for aws_for_fluent_bit" default = {} } -variable "ekslog_retention_in_days" { +variable "aws_for_fluent_bit_cw_log_retention_in_days" { default = 90 description = "Number of days to retain log events. Default retention - 90 days." type = number } -variable "aws_for_fluent_bit_image_repo_name" { - type = string - default = "amazon/aws-for-fluent-bit" -} -variable "aws_for_fluent_bit_helm_chart_url" { - type = string - default = "https://aws.github.io/eks-charts" -} -variable "aws_for_fluent_bit_helm_chart_name" { - type = string - default = "aws-for-fluent-bit" -} -variable "aws_for_fluent_bit_image_tag" { - type = string - default = "2.13.0" - description = "Docker image tag for aws_for_fluent_bit" +#-----------FARGATE FLUENT BIT------------- +variable "fargate_fluentbit_enable" { + type = bool + default = false + description = "Enabling fargate_fluent_bit module on eks cluster" } -variable "aws_for_fluent_bit_helm_chart_version" { - type = string - default = "0.1.11" - description = "Helm chart version for aws_for_fluent_bit" +variable "fargate_fluentbit_config" { + type = any + description = "Fargate fluentbit configuration " + default = {} } #-----------CERT MANAGER------------- variable "cert_manager_enable" {