diff --git a/aws-alb-master/.DS_Store b/aws-alb-master/.DS_Store deleted file mode 100644 index 0928b91..0000000 Binary files a/aws-alb-master/.DS_Store and /dev/null differ diff --git a/aws-eks-addons/main.tf b/aws-eks-addons/main.tf index 0a570a5..08424c1 100644 --- a/aws-eks-addons/main.tf +++ b/aws-eks-addons/main.tf @@ -909,7 +909,7 @@ resource "kubectl_manifest" "karpenter_stateless_windows2022_provisioner" { key = "kubernetes.io/os" operator = "In" values = [ - "windows", + "windows" ] }, ] @@ -989,3 +989,93 @@ resource "kubectl_manifest" "karpenter_windows2022_node_template" { helm_release.karpenter[0] ] } + + +resource "kubectl_manifest" "deploy_adot_collector_service_account" { + count = var.deploy_adot_collector ? 1 : 0 + yaml_body = <<-YAML + apiVersion: v1 + kind: ServiceAccount + metadata: + annotations: + eks.amazonaws.com/role-arn: ${var.adot_collector_role} + name: ${var.adot_collector_service_account} + namespace: ${var.adot_collector_namespace} + YAML +} + +resource "kubectl_manifest" "deploy_adot_collector" { + count = var.deploy_adot_collector ? 1 : 0 + yaml_body = <<-YAML + apiVersion: opentelemetry.io/v1alpha1 + kind: OpenTelemetryCollector + metadata: + name: adot + namespace: ${var.adot_collector_namespace} + spec: + mode: deployment + serviceAccount: ${var.adot_collector_service_account} + managementState: managed + podDisruptionBudget: + maxUnavailable: 1 + replicas: 2 + targetAllocator: + prometheusCR: + scrapeInterval: 30s + upgradeStrategy: automatic + config: | + receivers: + awsxray: + transport: udp + otlp: + protocols: + grpc: + endpoint: 0.0.0.0:4317 + http: + endpoint: 0.0.0.0:4318 + processors: + + exporters: + awsxray: + region: ${var.cluster_region} + service: + pipelines: + traces: + receivers: [awsxray, otlp] + processors: [] + exporters: [awsxray] + YAML +} + +resource "kubectl_manifest" "deploy_adot_collector_ingress" { + count = var.deploy_adot_collector ? 1 : 0 + yaml_body = <<-YAML + apiVersion: networking.k8s.io/v1 + kind: Ingress + metadata: + annotations: + nginx.ingress.kubernetes.io/configuration-snippet: | + more_set_headers "Access-Control-Allow-Origin: $http_origin"; + nginx.ingress.kubernetes.io/cors-allow-credentials: "true" + nginx.ingress.kubernetes.io/cors-allow-headers: Content-Type, authorization, x-ms-request-id, + x-ms-request-root-id, x-originating-page + nginx.ingress.kubernetes.io/cors-allow-methods: PUT, GET, POST, OPTIONS, DELETE + nginx.ingress.kubernetes.io/cors-allow-origin: "*" + nginx.ingress.kubernetes.io/enable-cors: "true" + name: adot-collector + namespace: ${var.adot_collector_namespace} + spec: + ingressClassName: nginx + rules: + - host: ${var.adot_collector_hostname} + http: + paths: + - backend: + service: + name: adot-collector + port: + number: 4318 + path: / + pathType: Prefix + YAML +} diff --git a/aws-eks-addons/variables.tf b/aws-eks-addons/variables.tf index 14c1d77..01baaa4 100644 --- a/aws-eks-addons/variables.tf +++ b/aws-eks-addons/variables.tf @@ -435,3 +435,32 @@ variable "waf_acl_arn" { default = "" type = string } + +variable "deploy_adot_collector" { + default = false + description = "enable the ADOT collector" +} + +variable "adot_collector_role" { + description = "ADOT collector IAM role ARN" + default = "arn:aws:iam::123456789012:role/adot-role" + type = string +} + +variable "adot_collector_namespace" { + description = "ADOT collector namespace name" + default = "opentelemetry-operator-system" + type = string +} + +variable "adot_collector_service_account" { + description = "ADOT collector service account name" + default = "opentelemetry-operator-system" + type = string +} + +variable "adot_collector_hostname" { + description = "ADOT collector IAM role ARN" + default = "trace.example.com" + type = string +} \ No newline at end of file diff --git a/aws-msk-apache-kafka-cluster-master/.DS_Store b/aws-msk-apache-kafka-cluster-master/.DS_Store deleted file mode 100644 index 32344b0..0000000 Binary files a/aws-msk-apache-kafka-cluster-master/.DS_Store and /dev/null differ