diff --git a/modules/eks/metrics-server/README.md b/modules/eks/metrics-server/README.md
index 9c66f80c5..90c4d4f31 100644
--- a/modules/eks/metrics-server/README.md
+++ b/modules/eks/metrics-server/README.md
@@ -62,14 +62,13 @@ components:
|------|--------|---------|
| [eks](#module\_eks) | cloudposse/stack-config/yaml//modules/remote-state | 1.5.0 |
| [iam\_roles](#module\_iam\_roles) | ../../account-map/modules/iam-roles | n/a |
-| [metrics\_server](#module\_metrics\_server) | cloudposse/helm-release/aws | 0.10.0 |
+| [metrics\_server](#module\_metrics\_server) | cloudposse/helm-release/aws | 0.10.1 |
| [this](#module\_this) | cloudposse/label/null | 0.25.0 |
## Resources
| Name | Type |
|------|------|
-| [kubernetes_namespace.default](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/namespace) | resource |
| [aws_eks_cluster_auth.eks](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/eks_cluster_auth) | data source |
## Inputs
@@ -86,7 +85,7 @@ components:
| [chart\_version](#input\_chart\_version) | Specify the exact chart version to install. If this is not specified, the latest version is installed. | `string` | `"6.2.6"` | no |
| [cleanup\_on\_fail](#input\_cleanup\_on\_fail) | Allow deletion of new resources created in this upgrade when upgrade fails. | `bool` | `true` | no |
| [context](#input\_context) | Single object for setting entire context at once.
See description of individual variables for details.
Leave string and numeric variables as `null` to use default value.
Individual variable settings (non-null) override settings in context object,
except for attributes, tags, and additional\_tag\_map, which are merged. | `any` |
{
"additional_tag_map": {},
"attributes": [],
"delimiter": null,
"descriptor_formats": {},
"enabled": true,
"environment": null,
"id_length_limit": null,
"label_key_case": null,
"label_order": [],
"label_value_case": null,
"labels_as_tags": [
"unset"
],
"name": null,
"namespace": null,
"regex_replace_chars": null,
"stage": null,
"tags": {},
"tenant": null
}
| no |
-| [create\_namespace](#input\_create\_namespace) | Create the namespace if it does not yet exist. Defaults to `false`. | `bool` | `true` | no |
+| [create\_namespace](#input\_create\_namespace) | Create the namespace if it does not yet exist. Defaults to `true`. | `bool` | `true` | no |
| [delimiter](#input\_delimiter) | Delimiter to be used between ID elements.
Defaults to `-` (hyphen). Set to `""` to use no delimiter at all. | `string` | `null` | no |
| [descriptor\_formats](#input\_descriptor\_formats) | Describe additional descriptors to be output in the `descriptors` output map.
Map of maps. Keys are names of descriptors. Values are maps of the form
`{
format = string
labels = list(string)
}`
(Type is `any` so the map values can later be enhanced to provide additional options.)
`format` is a Terraform format string to be passed to the `format()` function.
`labels` is a list of labels, in order, to pass to `format()` function.
Label values will be normalized before being passed to `format()` so they will be
identical to how they appear in `id`.
Default is `{}` (`descriptors` output will be empty). | `any` | `{}` | no |
| [eks\_component\_name](#input\_eks\_component\_name) | The name of the eks component | `string` | `"eks/cluster"` | no |
diff --git a/modules/eks/metrics-server/main.tf b/modules/eks/metrics-server/main.tf
index e6ac57be8..49c0e0279 100644
--- a/modules/eks/metrics-server/main.tf
+++ b/modules/eks/metrics-server/main.tf
@@ -2,31 +2,27 @@ locals {
enabled = module.this.enabled
}
-resource "kubernetes_namespace" "default" {
- count = local.enabled && var.create_namespace ? 1 : 0
-
- metadata {
- name = var.kubernetes_namespace
-
- labels = module.this.tags
- }
+moved {
+ from = kubernetes_namespace.default
+ to = module.metrics_server.kubernetes_namespace.default
}
module "metrics_server" {
source = "cloudposse/helm-release/aws"
- version = "0.10.0"
+ version = "0.10.1"
+
+ name = "" # avoids hitting length restrictions on IAM Role names
+ chart = var.chart
+ repository = var.chart_repository
+ description = var.chart_description
+ chart_version = var.chart_version
+ wait = var.wait
+ atomic = var.atomic
+ cleanup_on_fail = var.cleanup_on_fail
+ timeout = var.timeout
- name = "" # avoids hitting length restrictions on IAM Role names
- chart = var.chart
- repository = var.chart_repository
- description = var.chart_description
- chart_version = var.chart_version
- kubernetes_namespace = join("", kubernetes_namespace.default.*.id)
- create_namespace = false
- wait = var.wait
- atomic = var.atomic
- cleanup_on_fail = var.cleanup_on_fail
- timeout = var.timeout
+ kubernetes_namespace = var.kubernetes_namespace
+ create_namespace_with_kubernetes = var.create_namespace
eks_cluster_oidc_issuer_url = replace(module.eks.outputs.eks_cluster_identity_oidc_issuer, "https://", "")
@@ -47,7 +43,9 @@ module "metrics_server" {
# metrics-server-specific values
yamlencode({
podLabels = merge({
- chart = var.chart
+ chart = var.chart
+ # TODO: These should be configurable
+ # Chart should default to https://kubernetes-sigs.github.io/metrics-server/
repo = "bitnami"
component = "hpa"
namespace = var.kubernetes_namespace
diff --git a/modules/eks/metrics-server/variables.tf b/modules/eks/metrics-server/variables.tf
index ef1678456..eb563b1ee 100644
--- a/modules/eks/metrics-server/variables.tf
+++ b/modules/eks/metrics-server/variables.tf
@@ -18,7 +18,8 @@ variable "chart" {
variable "chart_repository" {
type = string
description = "Repository URL where to locate the requested chart."
- default = "https://charts.bitnami.com/bitnami"
+ # TODO: Chart should default to https://kubernetes-sigs.github.io/metrics-server/
+ default = "https://charts.bitnami.com/bitnami"
}
variable "chart_version" {
@@ -53,7 +54,7 @@ variable "resources" {
variable "create_namespace" {
type = bool
- description = "Create the namespace if it does not yet exist. Defaults to `false`."
+ description = "Create the namespace if it does not yet exist. Defaults to `true`."
default = true
}