From 5b5d5e7dd17a83d36e2a857da5feda77a8b95776 Mon Sep 17 00:00:00 2001 From: Rodrigue Koffi Date: Tue, 9 Aug 2022 12:35:14 +0200 Subject: [PATCH] Split core and workloads modules --- examples/eks/main.tf | 24 ----- .../main.tf | 92 +++++++++++++++++++ .../outputs.tf | 0 .../variables.tf | 0 examples/main.tf | 47 ---------- examples/vpc/vpc.tf | 35 ------- examples/workloads.tf | 56 ----------- main.tf | 56 ++++++----- .../opentelemetry-operator/README.md | 0 .../opentelemetry-operator/locals.tf | 0 .../{core => }/opentelemetry-operator/main.tf | 0 .../opentelemetry-operator/outputs.tf | 0 .../opentelemetry-operator/variables.tf | 0 .../opentelemetry-operator/versions.tf | 0 .../workloads => workloads}/haproxy/main.tf | 0 .../infra}/README.md | 0 .../infra}/dashboards.tf | 0 .../infra}/dashboards/alertmanager.json | 0 .../infra}/dashboards/apiserver.json | 0 .../infra}/dashboards/cluster-networking.json | 0 .../infra}/dashboards/cluster.json | 0 .../infra}/dashboards/controller.json | 0 .../infra}/dashboards/coredns.json | 0 .../infra}/dashboards/etcd.json | 0 .../infra}/dashboards/grafana.json | 0 .../infra}/dashboards/kubelet.json | 0 .../infra}/dashboards/macos.json | 0 .../dashboards/namespace-networking.json | 0 .../dashboards/namespace-nw-workloads.json | 0 .../infra}/dashboards/namespace-pods.json | 0 .../dashboards/namespace-workloads.json | 0 .../dashboards/networking-workloads.json | 0 .../infra}/dashboards/nodeexporter-nodes.json | 0 .../dashboards/nodeexporter-use-node.json | 0 .../dashboards/nodeexpoter-use-cluster.json | 0 .../infra}/dashboards/nodes.json | 0 .../infra}/dashboards/pesistentvolumes.json | 0 .../infra}/dashboards/pods-networking.json | 0 .../infra}/dashboards/pods.json | 0 .../infra}/dashboards/prometheus.json | 0 .../infra}/dashboards/proxy.json | 0 .../infra}/dashboards/scheduler.json | 0 .../infra}/dashboards/workloads.json | 0 .../infra}/main.tf | 0 .../infra}/otel-config/Chart.yaml | 0 .../otel-config/templates/clusterrole.yaml | 0 .../templates/clusterrolebinding.yaml | 0 .../templates/opentelemetrycollector.yaml | 0 .../infra}/otel-config/values.yaml | 0 .../infra}/outputs.tf | 0 .../infra}/variables.tf | 0 .../java/dashboards/default.json | 0 {modules/workloads => workloads}/java/main.tf | 0 .../java}/otel-config/Chart.yaml | 0 .../otel-config/templates/clusterrole.yaml | 0 .../templates/clusterrolebinding.yaml | 0 .../templates/opentelemetrycollector.yaml | 0 .../java}/otel-config/values.yaml | 0 .../workloads => workloads}/java/variables.tf | 0 59 files changed, 119 insertions(+), 191 deletions(-) delete mode 100644 examples/eks/main.tf create mode 100644 examples/existing-cluster-with-base-and-infra/main.tf rename examples/{ => existing-cluster-with-base-and-infra}/outputs.tf (100%) rename examples/{ => existing-cluster-with-base-and-infra}/variables.tf (100%) delete mode 100644 examples/main.tf delete mode 100644 examples/vpc/vpc.tf delete mode 100644 examples/workloads.tf rename modules/{core => }/opentelemetry-operator/README.md (100%) rename modules/{core => }/opentelemetry-operator/locals.tf (100%) rename modules/{core => }/opentelemetry-operator/main.tf (100%) rename modules/{core => }/opentelemetry-operator/outputs.tf (100%) rename modules/{core => }/opentelemetry-operator/variables.tf (100%) rename modules/{core => }/opentelemetry-operator/versions.tf (100%) rename {modules/workloads => workloads}/haproxy/main.tf (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/README.md (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards.tf (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/alertmanager.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/apiserver.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/cluster-networking.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/cluster.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/controller.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/coredns.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/etcd.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/grafana.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/kubelet.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/macos.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/namespace-networking.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/namespace-nw-workloads.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/namespace-pods.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/namespace-workloads.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/networking-workloads.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/nodeexporter-nodes.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/nodeexporter-use-node.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/nodeexpoter-use-cluster.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/nodes.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/pesistentvolumes.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/pods-networking.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/pods.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/prometheus.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/proxy.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/scheduler.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/dashboards/workloads.json (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/main.tf (100%) rename {modules/workloads/java => workloads/infra}/otel-config/Chart.yaml (100%) rename {modules/workloads/java => workloads/infra}/otel-config/templates/clusterrole.yaml (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/otel-config/templates/clusterrolebinding.yaml (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/otel-config/templates/opentelemetrycollector.yaml (100%) rename {modules/workloads/java => workloads/infra}/otel-config/values.yaml (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/outputs.tf (100%) rename {modules/workloads/kube-prometheus => workloads/infra}/variables.tf (100%) rename {modules/workloads => workloads}/java/dashboards/default.json (100%) rename {modules/workloads => workloads}/java/main.tf (100%) rename {modules/workloads/kube-prometheus => workloads/java}/otel-config/Chart.yaml (100%) rename {modules/workloads/kube-prometheus => workloads/java}/otel-config/templates/clusterrole.yaml (100%) rename {modules/workloads => workloads}/java/otel-config/templates/clusterrolebinding.yaml (100%) rename {modules/workloads => workloads}/java/otel-config/templates/opentelemetrycollector.yaml (100%) rename {modules/workloads/kube-prometheus => workloads/java}/otel-config/values.yaml (100%) rename {modules/workloads => workloads}/java/variables.tf (100%) diff --git a/examples/eks/main.tf b/examples/eks/main.tf deleted file mode 100644 index c9ab19b..0000000 --- a/examples/eks/main.tf +++ /dev/null @@ -1,24 +0,0 @@ -#--------------------------------------------------------------- -# EKS Blueprints -#--------------------------------------------------------------- - -module "eks_blueprints" { - source = "../../.." - - cluster_name = local.name - cluster_version = "1.22" - - vpc_id = module.vpc.vpc_id - private_subnet_ids = module.vpc.private_subnets - - managed_node_groups = { - t3_l = { - node_group_name = "managed-ondemand" - instance_types = ["t3.large"] - min_size = 2 - subnet_ids = module.vpc.private_subnets - } - } - - tags = local.tags -} diff --git a/examples/existing-cluster-with-base-and-infra/main.tf b/examples/existing-cluster-with-base-and-infra/main.tf new file mode 100644 index 0000000..6e0d237 --- /dev/null +++ b/examples/existing-cluster-with-base-and-infra/main.tf @@ -0,0 +1,92 @@ +provider "aws" { + region = local.region +} + +data "aws_eks_cluster_auth" "this" { + name = var.eks_cluster_id +} + +data "aws_eks_cluster" "this" { + name = var.eks_cluster_id +} + +provider "kubernetes" { + host = local.eks_cluster_endpoint + cluster_ca_certificate = base64decode(data.aws_eks_cluster.this.certificate_authority[0].data) + token = data.aws_eks_cluster_auth.this.token +} + +provider "helm" { + kubernetes { + host = local.eks_cluster_endpoint + cluster_ca_certificate = base64decode(data.aws_eks_cluster.this.certificate_authority[0].data) + token = data.aws_eks_cluster_auth.this.token + } +} + +terraform { + required_providers { + grafana = { + source = "grafana/grafana" + version = "1.24.0" + } + } +} + +locals { + name = basename(path.cwd) + region = var.aws_region + + eks_oidc_issuer_url = replace(data.aws_eks_cluster.this.identity[0].oidc[0].issuer, "https://", "") + eks_cluster_endpoint = data.aws_eks_cluster.this.endpoint + eks_cluster_version = data.aws_eks_cluster.this.version + + tags = { + Source = "github.com/aws-ia/terraform-aws-observability-accelerator" + } +} + +# deploys the base module +module "eks_observability_accelerator" { + # source = "aws-ia/terrarom-aws-observability-accelerator?ref=dev" + source = "../../" + + aws_region = var.aws_region + eks_cluster_id = var.eks_cluster_id + + # deploys AWS Distro for OpenTelemetry operator into the cluster + enable_amazon_eks_adot = true + + # reusing existing certificate manager? defaults to true + enable_cert_manager = true + + # # -- or enable opentelemetry operator + enable_opentelemetry_operator = false + #open_telemetry_operator_config = map() // custom config + + # creates a new AMP workspace, defaults to true + enable_managed_prometheus = false + + # reusing existing AMP -- needs data source for alerting rules + managed_prometheus_id = var.managed_prometheus_workspace_id + managed_prometheus_region = null # defaults to the current region, useful for cross region scenarios (same account) + + # sets up the AMP alert manager at the workspace level + enable_alertmanager = true + + # create a new Grafana workspace - TODO review design + enable_managed_grafana = false + managed_grafana_workspace_id = var.managed_grafana_workspace_id + grafana_api_key = var.grafana_api_key + + tags = local.tags +} + +module "workloads_infra" { + source = "../../workloads/infra" + # source = "aws-ia/terrarom-aws-observability-accelerator/workloads/infra?ref=dev" + + + enable_infra_metrics = true + # infra_metrics_config = {} +} diff --git a/examples/outputs.tf b/examples/existing-cluster-with-base-and-infra/outputs.tf similarity index 100% rename from examples/outputs.tf rename to examples/existing-cluster-with-base-and-infra/outputs.tf diff --git a/examples/variables.tf b/examples/existing-cluster-with-base-and-infra/variables.tf similarity index 100% rename from examples/variables.tf rename to examples/existing-cluster-with-base-and-infra/variables.tf diff --git a/examples/main.tf b/examples/main.tf deleted file mode 100644 index 8936626..0000000 --- a/examples/main.tf +++ /dev/null @@ -1,47 +0,0 @@ -provider "aws" { - region = local.region -} - -data "aws_eks_cluster_auth" "this" { - name = var.eks_cluster_id -} - -data "aws_eks_cluster" "this" { - name = var.eks_cluster_id -} - -provider "kubernetes" { - host = local.eks_cluster_endpoint - cluster_ca_certificate = base64decode(data.aws_eks_cluster.this.certificate_authority[0].data) - token = data.aws_eks_cluster_auth.this.token -} - -provider "helm" { - kubernetes { - host = local.eks_cluster_endpoint - cluster_ca_certificate = base64decode(data.aws_eks_cluster.this.certificate_authority[0].data) - token = data.aws_eks_cluster_auth.this.token - } -} - -terraform { - required_providers { - grafana = { - source = "grafana/grafana" - version = "1.24.0" - } - } -} - -locals { - name = basename(path.cwd) - region = var.aws_region - - eks_oidc_issuer_url = replace(data.aws_eks_cluster.this.identity[0].oidc[0].issuer, "https://", "") - eks_cluster_endpoint = data.aws_eks_cluster.this.endpoint - eks_cluster_version = data.aws_eks_cluster.this.version - - tags = { - Source = "github.com/aws-ia/terraform-aws-observability-accelerator" - } -} diff --git a/examples/vpc/vpc.tf b/examples/vpc/vpc.tf deleted file mode 100644 index f4dded9..0000000 --- a/examples/vpc/vpc.tf +++ /dev/null @@ -1,35 +0,0 @@ -module "vpc" { - source = "terraform-aws-modules/vpc/aws" - version = "~> 3.0" - - name = local.name - cidr = local.vpc_cidr - - azs = local.azs - public_subnets = [for k, v in local.azs : cidrsubnet(local.vpc_cidr, 8, k)] - private_subnets = [for k, v in local.azs : cidrsubnet(local.vpc_cidr, 8, k + 10)] - - enable_nat_gateway = true - single_nat_gateway = true - enable_dns_hostnames = true - - # Manage so we can name - manage_default_network_acl = true - default_network_acl_tags = { Name = "${local.name}-default" } - manage_default_route_table = true - default_route_table_tags = { Name = "${local.name}-default" } - manage_default_security_group = true - default_security_group_tags = { Name = "${local.name}-default" } - - public_subnet_tags = { - "kubernetes.io/cluster/${local.name}" = "shared" - "kubernetes.io/role/elb" = 1 - } - - private_subnet_tags = { - "kubernetes.io/cluster/${local.name}" = "shared" - "kubernetes.io/role/internal-elb" = 1 - } - - tags = local.tags -} \ No newline at end of file diff --git a/examples/workloads.tf b/examples/workloads.tf deleted file mode 100644 index ca11f89..0000000 --- a/examples/workloads.tf +++ /dev/null @@ -1,56 +0,0 @@ - - -module "eks_observability_accelerator" { - #source = "aws-ia/terrarom-aws-observability-accelerator" - source = "../" - - aws_region = var.aws_region - eks_cluster_id = var.eks_cluster_id - - # deploys AWS Distro for OpenTelemetry operator into the cluster - enable_amazon_eks_adot = true - - # reusing existing certificate manager? defaults to true - enable_cert_manager = true - - # # -- or enable opentelemetry operator - enable_opentelemetry_operator = false - #open_telemetry_operator_config = map() // custom config - - # creates a new AMP workspace, defaults to true - enable_managed_prometheus = false - - # reusing existing AMP -- needs data source for alerting rules - managed_prometheus_id = var.managed_prometheus_workspace_id - managed_prometheus_region = null # defaults to the current region, useful for cross region scenarios (same account) - - # sets up the AMP alert manager at the workspace level - enable_alertmanager = true - - # create a new Grafana workspace - TODO review design - enable_managed_grafana = false - managed_grafana_workspace_id = var.managed_grafana_workspace_id - grafana_api_key = var.grafana_api_key - - # enable workload-specific collector, metrics, alerts and dashboards - enable_java = false - enable_java_recording_rules = false - - # enable_haproxy = true - # haproxy_config = { - # amp_endpoint = module / amp.endpoint - # grafana_endpoint = module.grafana.endpoint - # } - - enable_infra_metrics = true - # infra_metrics_config = {} - - tags = local.tags -} -# module "amp" { - -# } - -# module "grafana" { - -# } diff --git a/main.tf b/main.tf index 1dbbf5c..095e3ce 100644 --- a/main.tf +++ b/main.tf @@ -1,5 +1,5 @@ module "operator" { - source = "./modules/core/opentelemetry-operator" + source = "./modules/opentelemetry-operator" enable_cert_manager = var.enable_cert_manager @@ -17,7 +17,6 @@ resource "aws_prometheus_workspace" "this" { tags = var.tags } - resource "aws_prometheus_alert_manager_definition" "this" { count = var.enable_alertmanager ? 1 : 0 @@ -65,46 +64,45 @@ resource "grafana_data_source" "amp" { } } - # dashboards resource "grafana_folder" "this" { title = "Observability Accelerator Dashboards" } -module "java" { - count = var.enable_java ? 1 : 0 - source = "./modules/workloads/java" +# module "java" { +# count = var.enable_java ? 1 : 0 +# source = "./modules/workloads/java" - addon_context = local.context +# addon_context = local.context - amp_endpoint = local.amp_ws_endpoint - amp_id = local.amp_ws_id - amp_region = local.amp_ws_region +# amp_endpoint = local.amp_ws_endpoint +# amp_id = local.amp_ws_id +# amp_region = local.amp_ws_region - enable_recording_rules = var.enable_java_recording_rules +# enable_recording_rules = var.enable_java_recording_rules - dashboards_folder_id = grafana_folder.this.id +# dashboards_folder_id = grafana_folder.this.id - depends_on = [ - module.operator - ] -} +# depends_on = [ +# module.operator +# ] +# } -module "infra" { - count = var.enable_infra_metrics ? 1 : 0 - source = "./modules/workloads/kube-prometheus" +# module "infra" { +# count = var.enable_infra_metrics ? 1 : 0 +# source = "./modules/workloads/kube-prometheus" - addon_context = local.context +# addon_context = local.context - amp_endpoint = local.amp_ws_endpoint - amp_id = local.amp_ws_id - amp_region = local.amp_ws_region - config = var.infra_metrics_config +# amp_endpoint = local.amp_ws_endpoint +# amp_id = local.amp_ws_id +# amp_region = local.amp_ws_region +# config = var.infra_metrics_config - dashboards_folder_id = grafana_folder.this.id +# dashboards_folder_id = grafana_folder.this.id - depends_on = [ - module.operator - ] +# depends_on = [ +# module.operator +# ] -} +# } diff --git a/modules/core/opentelemetry-operator/README.md b/modules/opentelemetry-operator/README.md similarity index 100% rename from modules/core/opentelemetry-operator/README.md rename to modules/opentelemetry-operator/README.md diff --git a/modules/core/opentelemetry-operator/locals.tf b/modules/opentelemetry-operator/locals.tf similarity index 100% rename from modules/core/opentelemetry-operator/locals.tf rename to modules/opentelemetry-operator/locals.tf diff --git a/modules/core/opentelemetry-operator/main.tf b/modules/opentelemetry-operator/main.tf similarity index 100% rename from modules/core/opentelemetry-operator/main.tf rename to modules/opentelemetry-operator/main.tf diff --git a/modules/core/opentelemetry-operator/outputs.tf b/modules/opentelemetry-operator/outputs.tf similarity index 100% rename from modules/core/opentelemetry-operator/outputs.tf rename to modules/opentelemetry-operator/outputs.tf diff --git a/modules/core/opentelemetry-operator/variables.tf b/modules/opentelemetry-operator/variables.tf similarity index 100% rename from modules/core/opentelemetry-operator/variables.tf rename to modules/opentelemetry-operator/variables.tf diff --git a/modules/core/opentelemetry-operator/versions.tf b/modules/opentelemetry-operator/versions.tf similarity index 100% rename from modules/core/opentelemetry-operator/versions.tf rename to modules/opentelemetry-operator/versions.tf diff --git a/modules/workloads/haproxy/main.tf b/workloads/haproxy/main.tf similarity index 100% rename from modules/workloads/haproxy/main.tf rename to workloads/haproxy/main.tf diff --git a/modules/workloads/kube-prometheus/README.md b/workloads/infra/README.md similarity index 100% rename from modules/workloads/kube-prometheus/README.md rename to workloads/infra/README.md diff --git a/modules/workloads/kube-prometheus/dashboards.tf b/workloads/infra/dashboards.tf similarity index 100% rename from modules/workloads/kube-prometheus/dashboards.tf rename to workloads/infra/dashboards.tf diff --git a/modules/workloads/kube-prometheus/dashboards/alertmanager.json b/workloads/infra/dashboards/alertmanager.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/alertmanager.json rename to workloads/infra/dashboards/alertmanager.json diff --git a/modules/workloads/kube-prometheus/dashboards/apiserver.json b/workloads/infra/dashboards/apiserver.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/apiserver.json rename to workloads/infra/dashboards/apiserver.json diff --git a/modules/workloads/kube-prometheus/dashboards/cluster-networking.json b/workloads/infra/dashboards/cluster-networking.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/cluster-networking.json rename to workloads/infra/dashboards/cluster-networking.json diff --git a/modules/workloads/kube-prometheus/dashboards/cluster.json b/workloads/infra/dashboards/cluster.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/cluster.json rename to workloads/infra/dashboards/cluster.json diff --git a/modules/workloads/kube-prometheus/dashboards/controller.json b/workloads/infra/dashboards/controller.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/controller.json rename to workloads/infra/dashboards/controller.json diff --git a/modules/workloads/kube-prometheus/dashboards/coredns.json b/workloads/infra/dashboards/coredns.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/coredns.json rename to workloads/infra/dashboards/coredns.json diff --git a/modules/workloads/kube-prometheus/dashboards/etcd.json b/workloads/infra/dashboards/etcd.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/etcd.json rename to workloads/infra/dashboards/etcd.json diff --git a/modules/workloads/kube-prometheus/dashboards/grafana.json b/workloads/infra/dashboards/grafana.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/grafana.json rename to workloads/infra/dashboards/grafana.json diff --git a/modules/workloads/kube-prometheus/dashboards/kubelet.json b/workloads/infra/dashboards/kubelet.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/kubelet.json rename to workloads/infra/dashboards/kubelet.json diff --git a/modules/workloads/kube-prometheus/dashboards/macos.json b/workloads/infra/dashboards/macos.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/macos.json rename to workloads/infra/dashboards/macos.json diff --git a/modules/workloads/kube-prometheus/dashboards/namespace-networking.json b/workloads/infra/dashboards/namespace-networking.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/namespace-networking.json rename to workloads/infra/dashboards/namespace-networking.json diff --git a/modules/workloads/kube-prometheus/dashboards/namespace-nw-workloads.json b/workloads/infra/dashboards/namespace-nw-workloads.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/namespace-nw-workloads.json rename to workloads/infra/dashboards/namespace-nw-workloads.json diff --git a/modules/workloads/kube-prometheus/dashboards/namespace-pods.json b/workloads/infra/dashboards/namespace-pods.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/namespace-pods.json rename to workloads/infra/dashboards/namespace-pods.json diff --git a/modules/workloads/kube-prometheus/dashboards/namespace-workloads.json b/workloads/infra/dashboards/namespace-workloads.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/namespace-workloads.json rename to workloads/infra/dashboards/namespace-workloads.json diff --git a/modules/workloads/kube-prometheus/dashboards/networking-workloads.json b/workloads/infra/dashboards/networking-workloads.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/networking-workloads.json rename to workloads/infra/dashboards/networking-workloads.json diff --git a/modules/workloads/kube-prometheus/dashboards/nodeexporter-nodes.json b/workloads/infra/dashboards/nodeexporter-nodes.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/nodeexporter-nodes.json rename to workloads/infra/dashboards/nodeexporter-nodes.json diff --git a/modules/workloads/kube-prometheus/dashboards/nodeexporter-use-node.json b/workloads/infra/dashboards/nodeexporter-use-node.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/nodeexporter-use-node.json rename to workloads/infra/dashboards/nodeexporter-use-node.json diff --git a/modules/workloads/kube-prometheus/dashboards/nodeexpoter-use-cluster.json b/workloads/infra/dashboards/nodeexpoter-use-cluster.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/nodeexpoter-use-cluster.json rename to workloads/infra/dashboards/nodeexpoter-use-cluster.json diff --git a/modules/workloads/kube-prometheus/dashboards/nodes.json b/workloads/infra/dashboards/nodes.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/nodes.json rename to workloads/infra/dashboards/nodes.json diff --git a/modules/workloads/kube-prometheus/dashboards/pesistentvolumes.json b/workloads/infra/dashboards/pesistentvolumes.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/pesistentvolumes.json rename to workloads/infra/dashboards/pesistentvolumes.json diff --git a/modules/workloads/kube-prometheus/dashboards/pods-networking.json b/workloads/infra/dashboards/pods-networking.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/pods-networking.json rename to workloads/infra/dashboards/pods-networking.json diff --git a/modules/workloads/kube-prometheus/dashboards/pods.json b/workloads/infra/dashboards/pods.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/pods.json rename to workloads/infra/dashboards/pods.json diff --git a/modules/workloads/kube-prometheus/dashboards/prometheus.json b/workloads/infra/dashboards/prometheus.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/prometheus.json rename to workloads/infra/dashboards/prometheus.json diff --git a/modules/workloads/kube-prometheus/dashboards/proxy.json b/workloads/infra/dashboards/proxy.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/proxy.json rename to workloads/infra/dashboards/proxy.json diff --git a/modules/workloads/kube-prometheus/dashboards/scheduler.json b/workloads/infra/dashboards/scheduler.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/scheduler.json rename to workloads/infra/dashboards/scheduler.json diff --git a/modules/workloads/kube-prometheus/dashboards/workloads.json b/workloads/infra/dashboards/workloads.json similarity index 100% rename from modules/workloads/kube-prometheus/dashboards/workloads.json rename to workloads/infra/dashboards/workloads.json diff --git a/modules/workloads/kube-prometheus/main.tf b/workloads/infra/main.tf similarity index 100% rename from modules/workloads/kube-prometheus/main.tf rename to workloads/infra/main.tf diff --git a/modules/workloads/java/otel-config/Chart.yaml b/workloads/infra/otel-config/Chart.yaml similarity index 100% rename from modules/workloads/java/otel-config/Chart.yaml rename to workloads/infra/otel-config/Chart.yaml diff --git a/modules/workloads/java/otel-config/templates/clusterrole.yaml b/workloads/infra/otel-config/templates/clusterrole.yaml similarity index 100% rename from modules/workloads/java/otel-config/templates/clusterrole.yaml rename to workloads/infra/otel-config/templates/clusterrole.yaml diff --git a/modules/workloads/kube-prometheus/otel-config/templates/clusterrolebinding.yaml b/workloads/infra/otel-config/templates/clusterrolebinding.yaml similarity index 100% rename from modules/workloads/kube-prometheus/otel-config/templates/clusterrolebinding.yaml rename to workloads/infra/otel-config/templates/clusterrolebinding.yaml diff --git a/modules/workloads/kube-prometheus/otel-config/templates/opentelemetrycollector.yaml b/workloads/infra/otel-config/templates/opentelemetrycollector.yaml similarity index 100% rename from modules/workloads/kube-prometheus/otel-config/templates/opentelemetrycollector.yaml rename to workloads/infra/otel-config/templates/opentelemetrycollector.yaml diff --git a/modules/workloads/java/otel-config/values.yaml b/workloads/infra/otel-config/values.yaml similarity index 100% rename from modules/workloads/java/otel-config/values.yaml rename to workloads/infra/otel-config/values.yaml diff --git a/modules/workloads/kube-prometheus/outputs.tf b/workloads/infra/outputs.tf similarity index 100% rename from modules/workloads/kube-prometheus/outputs.tf rename to workloads/infra/outputs.tf diff --git a/modules/workloads/kube-prometheus/variables.tf b/workloads/infra/variables.tf similarity index 100% rename from modules/workloads/kube-prometheus/variables.tf rename to workloads/infra/variables.tf diff --git a/modules/workloads/java/dashboards/default.json b/workloads/java/dashboards/default.json similarity index 100% rename from modules/workloads/java/dashboards/default.json rename to workloads/java/dashboards/default.json diff --git a/modules/workloads/java/main.tf b/workloads/java/main.tf similarity index 100% rename from modules/workloads/java/main.tf rename to workloads/java/main.tf diff --git a/modules/workloads/kube-prometheus/otel-config/Chart.yaml b/workloads/java/otel-config/Chart.yaml similarity index 100% rename from modules/workloads/kube-prometheus/otel-config/Chart.yaml rename to workloads/java/otel-config/Chart.yaml diff --git a/modules/workloads/kube-prometheus/otel-config/templates/clusterrole.yaml b/workloads/java/otel-config/templates/clusterrole.yaml similarity index 100% rename from modules/workloads/kube-prometheus/otel-config/templates/clusterrole.yaml rename to workloads/java/otel-config/templates/clusterrole.yaml diff --git a/modules/workloads/java/otel-config/templates/clusterrolebinding.yaml b/workloads/java/otel-config/templates/clusterrolebinding.yaml similarity index 100% rename from modules/workloads/java/otel-config/templates/clusterrolebinding.yaml rename to workloads/java/otel-config/templates/clusterrolebinding.yaml diff --git a/modules/workloads/java/otel-config/templates/opentelemetrycollector.yaml b/workloads/java/otel-config/templates/opentelemetrycollector.yaml similarity index 100% rename from modules/workloads/java/otel-config/templates/opentelemetrycollector.yaml rename to workloads/java/otel-config/templates/opentelemetrycollector.yaml diff --git a/modules/workloads/kube-prometheus/otel-config/values.yaml b/workloads/java/otel-config/values.yaml similarity index 100% rename from modules/workloads/kube-prometheus/otel-config/values.yaml rename to workloads/java/otel-config/values.yaml diff --git a/modules/workloads/java/variables.tf b/workloads/java/variables.tf similarity index 100% rename from modules/workloads/java/variables.tf rename to workloads/java/variables.tf