πŸ“Š Provisioning Job Status

Environment: Web Universe Main Dev on web-03

❌ Failed

⏱️ Timing Summary

πŸ•
Requested 2026-02-05 03:40:12 2 days ago
▢️
Started 2026-02-05 03:40:13 2 days ago
🏁
Finished 2026-02-05 03:50:09 2 days ago
⏲️
Total Duration 9 minutes

πŸ“‹ Job Details

Job ID: 9d2febd9-91a6-4b35-bfa3-b058b10dcb65
Action: SETUP
Status: ❌ FAILED
Environment: web-universe-main-dev
Resource: web-03 (Provider)
Requested By: admin
Parameters:
"{\"env\": \"dev\", \"zone\": \"universe\", \"branch\": \"main\", \"db_app\": \"postgresql\", \"service\": \"web\", \"db_enabled\": true, \"pg_standby\": 0, \"pg_workers\": 1, \"description\": \"\", \"iam_enabled\": false, \"worker_1_ip\": \"\", \"eventbus_app\": \"kafka\", \"worker_1_fqdn\": \"db-web-universe-main-dev-postgresql-worker-01.fastorder.com\", \"search_enabled\": false, \"eventbus_enabled\": true, \"postgresql_enabled\": true, \"postgresql_run_verification\": true}"
❌ Error: One or more steps failed. Check run logs for details.
⚠️ Job Failed

This job encountered an error. You can restart from the failed step.

πŸ“’ Viewing Old Job Attempt

This job has been restarted. You are viewing an older attempt. The logs and status shown below are from the latest retry.

πŸ”„ Resume & Restart Options

This job failed at one of the steps below. You can resume from where it failed to save time and avoid re-running successful steps.

πŸ’‘
4 steps completed, 1 step failed
Completed steps will be skipped when you resume.

πŸ“ Execution Steps (9)

4/9 completed 1 failed
44% (4/9 steps)
1
00-preflight-checks local
βœ… SUCCEEDED
⏰ Started: 2026-02-05 03:40:13
🏁 Finished: 2026-02-05 03:40:13
⏱️ Duration: 0 seconds
πŸ“„ View Logs (2266 chars)

════════════════════════════════════════════════════════════════
  FastOrder Pre-Flight Validation Checks
════════════════════════════════════════════════════════════════

[INFO] Checking SSH connectivity to target host...
[βœ“] Target is localhost, skipping SSH check

[INFO] Checking available disk space...
[INFO] Checking /data disk (mounted separately for data storage)
[βœ“] Disk space sufficient: 293GB available (required: 50GB)

[INFO] Checking available memory...
[⚠] Memory limited: 15GB (recommended: 16GB)
  β†’ Consider reducing Elasticsearch nodes or PostgreSQL workers

[INFO] Checking critical port availability...
[βœ“] Port 5432 in use on specific IP (10.100.1.189:5432) - OK, can use different IP
[βœ“] Port 9200 in use on specific IP ([::ffff:10.100.1.179]) - OK, can use different IP
[βœ“] Port 9300 in use on specific IP ([::ffff:10.100.1.186]) - OK, can use different IP
[βœ“] Port 9092 in use on specific IP ([::ffff:10.100.1.213]) - OK, can use different IP
[βœ“] Port 2181 available (Zookeeper)

[INFO] Checking DNS resolution...
[βœ“] DNS resolution working: google.com
[βœ“] DNS resolution working: github.com
[βœ“] DNS resolution working: archive.ubuntu.com

[INFO] Checking required system commands...
[βœ“] Command available: curl
[βœ“] Command available: wget
[βœ“] Command available: git
[βœ“] Command available: sudo
[βœ“] Command available: systemctl
[βœ“] Command available: apt-get

[INFO] Checking current system load...
[⚠] System load elevated: 4.20 (4 CPUs)
  β†’ Provisioning may be slower than expected

[INFO] Checking for existing environment conflicts...
[βœ“] No conflicting services found for: web-uae-main-dev

════════════════════════════════════════════════════════════════
  Pre-Flight Check Summary
════════════════════════════════════════════════════════════════
[⚠] 2 warning(s) detected

⚠️  Environment can proceed with caution
   Review warnings above and consider remediation
2
00-terraform-provision local
βœ… SUCCEEDED
⏰ Started: 2026-02-05 03:40:13
🏁 Finished: 2026-02-05 03:40:29
⏱️ Duration: 16 seconds
πŸ“„ View Logs (32157 chars)
[INFO] Using web-provided environment: web-universe-main-dev
[INFO] Auto-creating state directory for web-universe-main-dev...
[ OK ] Created topology.json for web-universe-main-dev
[INFO] Loaded environment: web-universe-main-dev (svc=web zone=universe env=dev ip=10.100.1.51)
[2026-02-05_03:40:13] Starting Terraform provisioning step
[2026-02-05_03:40:13] Service: web
[2026-02-05_03:40:13] Zone: universe
[2026-02-05_03:40:13] Environment: dev
[2026-02-05_03:40:13] Resource: web-03
[2026-02-05_03:40:13] Terraform binary: /home/ab/bin/terraform
[2026-02-05_03:40:13] HOME: /home/www-data
[2026-02-05_03:40:13] AWS Config: /home/ab/.aws/config
[2026-02-05_03:40:13] AWS Credentials: /home/ab/.aws/credentials
[2026-02-05_03:40:13] Terraform directory: /opt/fastorder/cli/terraform/examples/citus-production
[2026-02-05_03:40:13] Running terraform init...

Initializing the backend...
Upgrading modules...
- citus_cluster in ../../modules/citus_cluster

Initializing provider plugins...
- Finding hashicorp/aws versions matching "~> 5.0"...
- Using previously-installed hashicorp/aws v5.100.0

Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.

If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.
[2026-02-05_03:40:19] βœ“ Terraform init succeeded
[2026-02-05_03:40:19] Running terraform validate...
Success! The configuration is valid.

[2026-02-05_03:40:22] βœ“ Terraform validate succeeded
[2026-02-05_03:40:22] Running terraform plan...
module.citus_cluster.data.aws_caller_identity.current: Reading...
module.citus_cluster.data.aws_caller_identity.current: Read complete after 0s [id=464621692046]

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # module.citus_cluster.aws_iam_instance_profile.citus will be created
  + resource "aws_iam_instance_profile" "citus" {
      + arn         = (known after apply)
      + create_date = (known after apply)
      + id          = (known after apply)
      + name        = (known after apply)
      + name_prefix = "citus-prod-"
      + path        = "/"
      + role        = (known after apply)
      + tags        = {
          + "Backup"      = "Required"
          + "CostCenter"  = "Platform"
          + "Environment" = "prod"
          + "Name"        = "citus-prod"
        }
      + tags_all    = {
          + "Backup"      = "Required"
          + "CostCenter"  = "Platform"
          + "Environment" = "prod"
          + "ManagedBy"   = "Terraform"
          + "Name"        = "citus-prod"
          + "Owner"       = "Platform Team"
          + "Project"     = "FastOrder"
        }
      + unique_id   = (known after apply)
    }

  # module.citus_cluster.aws_iam_role.citus will be created
  + resource "aws_iam_role" "citus" {
      + arn                   = (known after apply)
      + assume_role_policy    = jsonencode(
            {
              + Statement = [
                  + {
                      + Action    = "sts:AssumeRole"
                      + Effect    = "Allow"
                      + Principal = {
                          + Service = "ec2.amazonaws.com"
                        }
                    },
                ]
              + Version   = "2012-10-17"
            }
        )
      + create_date           = (known after apply)
      + force_detach_policies = false
      + id                    = (known after apply)
      + managed_policy_arns   = (known after apply)
      + max_session_duration  = 3600
      + name                  = (known after apply)
      + name_prefix           = "citus-prod-"
      + path                  = "/"
      + tags                  = {
          + "Backup"      = "Required"
          + "CostCenter"  = "Platform"
          + "Environment" = "prod"
          + "Name"        = "citus-prod"
        }
      + tags_all              = {
          + "Backup"      = "Required"
          + "CostCenter"  = "Platform"
          + "Environment" = "prod"
          + "ManagedBy"   = "Terraform"
          + "Name"        = "citus-prod"
          + "Owner"       = "Platform Team"
          + "Project"     = "FastOrder"
        }
      + unique_id             = (known after apply)
    }

  # module.citus_cluster.aws_iam_role_policy.secrets_manager[0] will be created
  + resource "aws_iam_role_policy" "secrets_manager" {
      + id          = (known after apply)
      + name        = (known after apply)
      + name_prefix = "secrets-access-"
      + policy      = jsonencode(
            {
              + Statement = [
                  + {
                      + Action   = [
                          + "secretsmanager:GetSecretValue",
                          + "secretsmanager:DescribeSecret",
                        ]
                      + Effect   = "Allow"
                      + Resource = "arn:aws:secretsmanager:me-central-1:464621692046:secret:fastorder/db/web/ksa/main/dev/postgresqladmin/ksa/prod*"
                    },
                ]
              + Version   = "2012-10-17"
            }
        )
      + role        = (known after apply)
    }

  # module.citus_cluster.aws_iam_role_policy_attachment.cloudwatch will be created
  + resource "aws_iam_role_policy_attachment" "cloudwatch" {
      + id         = (known after apply)
      + policy_arn = "arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy"
      + role       = (known after apply)
    }

  # module.citus_cluster.aws_iam_role_policy_attachment.ssm will be created
  + resource "aws_iam_role_policy_attachment" "ssm" {
      + id         = (known after apply)
      + policy_arn = "arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore"
      + role       = (known after apply)
    }

  # module.citus_cluster.aws_instance.coordinator will be created
  + resource "aws_instance" "coordinator" {
      + ami                                  = "ami-0b2aae5f4283c0df2"
      + arn                                  = (known after apply)
      + associate_public_ip_address          = (known after apply)
      + availability_zone                    = (known after apply)
      + cpu_core_count                       = (known after apply)
      + cpu_threads_per_core                 = (known after apply)
      + disable_api_stop                     = (known after apply)
      + disable_api_termination              = (known after apply)
      + ebs_optimized                        = (known after apply)
      + enable_primary_ipv6                  = (known after apply)
      + get_password_data                    = false
      + host_id                              = (known after apply)
      + host_resource_group_arn              = (known after apply)
      + iam_instance_profile                 = (known after apply)
      + id                                   = (known after apply)
      + instance_initiated_shutdown_behavior = (known after apply)
      + instance_lifecycle                   = (known after apply)
      + instance_state                       = (known after apply)
      + instance_type                        = "r6i.2xlarge"
      + ipv6_address_count                   = (known after apply)
      + ipv6_addresses                       = (known after apply)
      + key_name                             = (known after apply)
      + monitoring                           = (known after apply)
      + outpost_arn                          = (known after apply)
      + password_data                        = (known after apply)
      + placement_group                      = (known after apply)
      + placement_partition_number           = (known after apply)
      + primary_network_interface_id         = (known after apply)
      + private_dns                          = (known after apply)
      + private_ip                           = (known after apply)
      + public_dns                           = (known after apply)
      + public_ip                            = (known after apply)
      + secondary_private_ips                = (known after apply)
      + security_groups                      = (known after apply)
      + source_dest_check                    = true
      + spot_instance_request_id             = (known after apply)
      + subnet_id                            = "subnet-0a1f5a9a74ed030cf"
      + tags                                 = {
          + "Backup"      = "Required"
          + "CostCenter"  = "Platform"
          + "Environment" = "prod"
          + "Name"        = "citus-coordinator-prod"
          + "Role"        = "coordinator"
          + "Service"     = "citus"
        }
      + tags_all                             = {
          + "Backup"      = "Required"
          + "CostCenter"  = "Platform"
          + "Environment" = "prod"
          + "ManagedBy"   = "Terraform"
          + "Name"        = "citus-coordinator-prod"
          + "Owner"       = "Platform Team"
          + "Project"     = "FastOrder"
          + "Role"        = "coordinator"
          + "Service"     = "citus"
        }
      + tenancy                              = (known after apply)
      + user_data                            = "2a9e41ea765dcf3b3046ee10d2f458c18f00e430"
      + user_data_base64                     = (known after apply)
      + user_data_replace_on_change          = false
      + vpc_security_group_ids               = (known after apply)

      + ebs_block_device {
          + delete_on_termination = false
          + device_name           = "/dev/sdf"
          + encrypted             = true
          + iops                  = 3000
          + kms_key_id            = (known after apply)
          + snapshot_id           = (known after apply)
          + tags                  = {
              + "Backup"      = "Required"
              + "CostCenter"  = "Platform"
              + "Environment" = "prod"
              + "Name"        = "citus-coordinator-prod-data"
            }
          + tags_all              = (known after apply)
          + throughput            = 125
          + volume_id             = (known after apply)
          + volume_size           = 500
          + volume_type           = "gp3"
        }

      + root_block_device {
          + delete_on_termination = false
          + device_name           = (known after apply)
          + encrypted             = true
          + iops                  = (known after apply)
          + kms_key_id            = (known after apply)
          + tags                  = {
              + "Backup"      = "Required"
              + "CostCenter"  = "Platform"
              + "Environment" = "prod"
              + "Name"        = "citus-coordinator-prod-root"
            }
          + tags_all              = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 100
          + volume_type           = "gp3"
        }
    }

  # module.citus_cluster.aws_instance.workers[0] will be created
  + resource "aws_instance" "workers" {
      + ami                                  = "ami-0b2aae5f4283c0df2"
      + arn                                  = (known after apply)
      + associate_public_ip_address          = (known after apply)
      + availability_zone                    = (known after apply)
      + cpu_core_count                       = (known after apply)
      + cpu_threads_per_core                 = (known after apply)
      + disable_api_stop                     = (known after apply)
      + disable_api_termination              = (known after apply)
      + ebs_optimized                        = (known after apply)
      + enable_primary_ipv6                  = (known after apply)
      + get_password_data                    = false
      + host_id                              = (known after apply)
      + host_resource_group_arn              = (known after apply)
      + iam_instance_profile                 = (known after apply)
      + id                                   = (known after apply)
      + instance_initiated_shutdown_behavior = (known after apply)
      + instance_lifecycle                   = (known after apply)
      + instance_state                       = (known after apply)
      + instance_type                        = "r6i.2xlarge"
      + ipv6_address_count                   = (known after apply)
      + ipv6_addresses                       = (known after apply)
      + key_name                             = (known after apply)
      + monitoring                           = (known after apply)
      + outpost_arn                          = (known after apply)
      + password_data                        = (known after apply)
      + placement_group                      = (known after apply)
      + placement_partition_number           = (known after apply)
      + primary_network_interface_id         = (known after apply)
      + private_dns                          = (known after apply)
      + private_ip                           = (known after apply)
      + public_dns                           = (known after apply)
      + public_ip                            = (known after apply)
      + secondary_private_ips                = (known after apply)
      + security_groups                      = (known after apply)
      + source_dest_check                    = true
      + spot_instance_request_id             = (known after apply)
      + subnet_id                            = "subnet-0a1f5a9a74ed030cf"
      + tags                                 = {
          + "Backup"      = "Required"
          + "CostCenter"  = "Platform"
          + "Environment" = "prod"
          + "Name"        = "citus-worker-0-prod"
          + "Role"        = "worker"
          + "Service"     = "citus"
          + "WorkerIndex" = "0"
        }
      + tags_all                             = {
          + "Backup"      = "Required"
          + "CostCenter"  = "Platform"
          + "Environment" = "prod"
          + "ManagedBy"   = "Terraform"
          + "Name"        = "citus-worker-0-prod"
          + "Owner"       = "Platform Team"
          + "Project"     = "FastOrder"
          + "Role"        = "worker"
          + "Service"     = "citus"
          + "WorkerIndex" = "0"
        }
      + tenancy                              = (known after apply)
      + user_data                            = "7b4bd87c9982aab7fa463c8d12e99399661f8bde"
      + user_data_base64                     = (known after apply)
      + user_data_replace_on_change          = false
      + vpc_security_group_ids               = (known after apply)

      + ebs_block_device {
          + delete_on_termination = false
          + device_name           = "/dev/sdf"
          + encrypted             = true
          + iops                  = 3000
          + kms_key_id            = (known after apply)
          + snapshot_id           = (known after apply)
          + tags                  = {
              + "Backup"      = "Required"
              + "CostCenter"  = "Platform"
              + "Environment" = "prod"
              + "Name"        = "citus-worker-0-prod-data"
            }
          + tags_all              = (known after apply)
          + throughput            = 125
          + volume_id             = (known after apply)
          + volume_size           = 500
          + volume_type           = "gp3"
        }

      + root_block_device {
          + delete_on_termination = false
          + device_name           = (known after apply)
          + encrypted             = true
          + iops                  = (known after apply)
          + kms_key_id            = (known after apply)
          + tags                  = {
              + "Backup"      = "Required"
              + "CostCenter"  = "Platform"
              + "Environment" = "prod"
              + "Name"        = "citus-worker-0-prod-root"
            }
          + tags_all              = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 100
          + volume_type           = "gp3"
        }
    }

  # module.citus_cluster.aws_instance.workers[1] will be created
  + resource "aws_instance" "workers" {
      + ami                                  = "ami-0b2aae5f4283c0df2"
      + arn                                  = (known after apply)
      + associate_public_ip_address          = (known after apply)
      + availability_zone                    = (known after apply)
      + cpu_core_count                       = (known after apply)
      + cpu_threads_per_core                 = (known after apply)
      + disable_api_stop                     = (known after apply)
      + disable_api_termination              = (known after apply)
      + ebs_optimized                        = (known after apply)
      + enable_primary_ipv6                  = (known after apply)
      + get_password_data                    = false
      + host_id                              = (known after apply)
      + host_resource_group_arn              = (known after apply)
      + iam_instance_profile                 = (known after apply)
      + id                                   = (known after apply)
      + instance_initiated_shutdown_behavior = (known after apply)
      + instance_lifecycle                   = (known after apply)
      + instance_state                       = (known after apply)
      + instance_type                        = "r6i.2xlarge"
      + ipv6_address_count                   = (known after apply)
      + ipv6_addresses                       = (known after apply)
      + key_name                             = (known after apply)
      + monitoring                           = (known after apply)
      + outpost_arn                          = (known after apply)
      + password_data                        = (known after apply)
      + placement_group                      = (known after apply)
      + placement_partition_number           = (known after apply)
      + primary_network_interface_id         = (known after apply)
      + private_dns                          = (known after apply)
      + private_ip                           = (known after apply)
      + public_dns                           = (known after apply)
      + public_ip                            = (known after apply)
      + secondary_private_ips                = (known after apply)
      + security_groups                      = (known after apply)
      + source_dest_check                    = true
      + spot_instance_request_id             = (known after apply)
      + subnet_id                            = "subnet-02c930351cde1e9c3"
      + tags                                 = {
          + "Backup"      = "Required"
          + "CostCenter"  = "Platform"
          + "Environment" = "prod"
          + "Name"        = "citus-worker-1-prod"
          + "Role"        = "worker"
          + "Service"     = "citus"
          + "WorkerIndex" = "1"
        }
      + tags_all                             = {
          + "Backup"      = "Required"
          + "CostCenter"  = "Platform"
          + "Environment" = "prod"
          + "ManagedBy"   = "Terraform"
          + "Name"        = "citus-worker-1-prod"
          + "Owner"       = "Platform Team"
          + "Project"     = "FastOrder"
          + "Role"        = "worker"
          + "Service"     = "citus"
          + "WorkerIndex" = "1"
        }
      + tenancy                              = (known after apply)
      + user_data                            = "7b4bd87c9982aab7fa463c8d12e99399661f8bde"
      + user_data_base64                     = (known after apply)
      + user_data_replace_on_change          = false
      + vpc_security_group_ids               = (known after apply)

      + ebs_block_device {
          + delete_on_termination = false
          + device_name           = "/dev/sdf"
          + encrypted             = true
          + iops                  = 3000
          + kms_key_id            = (known after apply)
          + snapshot_id           = (known after apply)
          + tags                  = {
              + "Backup"      = "Required"
              + "CostCenter"  = "Platform"
              + "Environment" = "prod"
              + "Name"        = "citus-worker-1-prod-data"
            }
          + tags_all              = (known after apply)
          + throughput            = 125
          + volume_id             = (known after apply)
          + volume_size           = 500
          + volume_type           = "gp3"
        }

      + root_block_device {
          + delete_on_termination = false
          + device_name           = (known after apply)
          + encrypted             = true
          + iops                  = (known after apply)
          + kms_key_id            = (known after apply)
          + tags                  = {
              + "Backup"      = "Required"
              + "CostCenter"  = "Platform"
              + "Environment" = "prod"
              + "Name"        = "citus-worker-1-prod-root"
            }
          + tags_all              = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 100
          + volume_type           = "gp3"
        }
    }

  # module.citus_cluster.aws_security_group.citus will be created
  + resource "aws_security_group" "citus" {
      + arn                    = (known after apply)
      + description            = "Security group for Citus cluster"
      + egress                 = [
          + {
              + cidr_blocks      = [
                  + "0.0.0.0/0",
                ]
              + description      = "Allow all outbound"
              + from_port        = 0
              + ipv6_cidr_blocks = []
              + prefix_list_ids  = []
              + protocol         = "-1"
              + security_groups  = []
              + self             = false
              + to_port          = 0
            },
        ]
      + id                     = (known after apply)
      + ingress                = [
          + {
              + cidr_blocks      = [
                  + "10.0.0.0/8",
                ]
              + description      = "PgBouncer access"
              + from_port        = 6432
              + ipv6_cidr_blocks = []
              + prefix_list_ids  = []
              + protocol         = "tcp"
              + security_groups  = []
              + self             = false
              + to_port          = 6432
            },
          + {
              + cidr_blocks      = [
                  + "10.0.0.0/8",
                ]
              + description      = "PostgreSQL access"
              + from_port        = 5432
              + ipv6_cidr_blocks = []
              + prefix_list_ids  = []
              + protocol         = "tcp"
              + security_groups  = []
              + self             = false
              + to_port          = 5432
            },
          + {
              + cidr_blocks      = [
                  + "10.0.0.0/8",
                ]
              + description      = "SSH access"
              + from_port        = 22
              + ipv6_cidr_blocks = []
              + prefix_list_ids  = []
              + protocol         = "tcp"
              + security_groups  = []
              + self             = false
              + to_port          = 22
            },
          + {
              + cidr_blocks      = []
              + description      = "Internal cluster communication"
              + from_port        = 0
              + ipv6_cidr_blocks = []
              + prefix_list_ids  = []
              + protocol         = "tcp"
              + security_groups  = []
              + self             = true
              + to_port          = 65535
            },
        ]
      + name                   = (known after apply)
      + name_prefix            = "citus-prod-"
      + owner_id               = (known after apply)
      + revoke_rules_on_delete = false
      + tags                   = {
          + "Backup"      = "Required"
          + "CostCenter"  = "Platform"
          + "Environment" = "prod"
          + "Name"        = "citus-prod"
          + "Service"     = "citus"
        }
      + tags_all               = {
          + "Backup"      = "Required"
          + "CostCenter"  = "Platform"
          + "Environment" = "prod"
          + "ManagedBy"   = "Terraform"
          + "Name"        = "citus-prod"
          + "Owner"       = "Platform Team"
          + "Project"     = "FastOrder"
          + "Service"     = "citus"
        }
      + vpc_id                 = "vpc-0af7da1e7d94d62bd"
    }

Plan: 9 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  + connection_string = (sensitive value)
  + coordinator_ip    = (known after apply)
  + worker_ips        = [
      + (known after apply),
      + (known after apply),
    ]

─────────────────────────────────────────────────────────────────────────────

Saved the plan to: tfplan

To perform exactly these actions, run the following command to apply:
    terraform apply "tfplan"
[2026-02-05_03:40:26] βœ“ Terraform plan succeeded
[2026-02-05_03:40:26] Generating plan JSON...
[2026-02-05_03:40:29] βœ“ Terraform provisioning step completed successfully

Next step: Review the plan and apply with 'terraform apply tfplan'

3
01-prepare-environment local
βœ… SUCCEEDED
⏰ Started: 2026-02-05 03:40:29
🏁 Finished: 2026-02-05 03:40:32
⏱️ Duration: 3 seconds
πŸ“‹ Sub-steps (1): 0% complete
❓ 99-create-topology-from-form
πŸ“„ View Logs (3360 chars)
[INFO] FastOrder Environment Preparation
[INFO] Service: web
[INFO] Zone: universe
[INFO] Environment: dev
[INFO] Branch: main
[INFO] State Directory: /opt/fastorder/bash/scripts/env_app_setup/state
[INFO] Library: /opt/fastorder/bash/scripts/env_app_setup/lib/env-orchestrator
[INFO] IP: 142.93.238.16 (specified)

[INFO] Creating environment using fo-env...
[INFO] Creating new FastOrder environment (v1 topology)
[INFO] Generated environment ID: web-universe-main-dev
[INFO] Using provided IP: 142.93.238.16
[INFO] Allocated interface: eth0:16
[INFO] Configuring network interface for VM IP: 142.93.238.16
[INFO] VM IP 142.93.238.16 is already configured on eth0:16
[CONFIG] No web configuration found for environment: web-universe-main-dev
[CONFIG] Using defaults: ES_NODES=3, PG_WORKERS=1
[INFO] Service enabled flags: db=yes, eventbus=yes, search=no
[ OK ] Created topology.json at /opt/fastorder/bash/scripts/env_app_setup/state/web-universe-main-dev/topology.json
[ OK ] Generated overlay configurations in /opt/fastorder/bash/scripts/env_app_setup/state/web-universe-main-dev/generated/
[ OK ] Updated environments.json
[ OK ] Updated setup.json
[ OK ] Environment created successfully!
[INFO] 
[INFO] Environment Details:
[INFO]   ID: web-universe-main-dev
[INFO]   Service: web
[INFO]   zone: universe
[INFO]   Environment: dev
[INFO]   Branch: main
[INFO]   IP: 142.93.238.16
[INFO]   Interface: eth0:16
[INFO] 
[INFO] Configuration files:
[INFO]   Topology: /opt/fastorder/bash/scripts/env_app_setup/state/web-universe-main-dev/topology.json
[INFO]   Generated: /opt/fastorder/bash/scripts/env_app_setup/state/web-universe-main-dev/generated/*.env
[INFO]   Overrides: /opt/fastorder/bash/scripts/env_app_setup/state/web-universe-main-dev/overrides/*.env
[INFO] 
[INFO] To use this environment:
[INFO]   export ENV_ID="web-universe-main-dev"
[INFO]   source /opt/fastorder/bash/scripts/env_app_setup/lib/env-orchestrator/lib/config_management.sh
[INFO]   init_environment
[ OK ] Environment preparation completed successfully!
[INFO] Creating topology from web form submission...
[INFO] Using environment from web interface: web-universe-main-dev
[2026-02-05 03:40:32] Using web-provided environment: web-universe-main-dev
[2026-02-05 03:40:32] Service: web, Zone: universe, Branch: main, Env: dev
[ OK ] Environment initialized successfully (mode: general)
[INFO] Creating topology.json from web form submission...
[INFO] DEBUG: Service enabled flags...
[INFO]   DB_ENABLED=yes
[INFO]   EVENTBUS_ENABLED=yes
[INFO]   SEARCH_ENABLED=no
[INFO] DEBUG: Checking for form submission variables...
[INFO]   service_es_ip=NOT SET
[INFO]   service_es_fqdn=NOT SET
[INFO]   service_pg_coordinator_ip=NOT SET
[INFO] Skipping Elasticsearch/Search - SEARCH_ENABLED=no
[ OK ] Topology created from form data
[INFO] Applications registered:
[ OK ] Topology created from form data

[INFO] Next steps:
[INFO] 1. Review the generated topology.json and configurations
[INFO] 2. Customize overrides/*.env files if needed
[INFO] 3. Run subsequent installation steps (02-install-postgresql, etc.)

[INFO] To use this environment in other scripts:
[INFO]   export ENV_ID="$(fo-env list | tail -n1 | awk '{print $1}')"
[INFO]   source /opt/fastorder/bash/scripts/env_app_setup/lib/env-orchestrator/lib/config_management.sh
[INFO]   init_environment
4
02-iam local
⏸️ PENDING

⏳ This step is pending and will execute after the previous steps complete successfully.

πŸ“„ View Logs (0 chars)
Loading logs...
5
02-observability-cell local
βœ… SUCCEEDED
⏰ Started: 2026-02-05 03:40:32
🏁 Finished: 2026-02-05 03:43:13
⏱️ Duration: 2 minutes
πŸ“‹ Sub-steps (4): 0% complete
❓ steps/01-create-secrets
❓ steps/02-generate-mtls-certs
❓ steps/09-configure-firewall
❓ steps/10-apply-audit-schema
πŸ“„ View Logs (152982 chars)

[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] πŸš€ OBSERVABILITY CELL PROVISIONING STARTED
[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] Script: 02-observability-cell/run.sh
[INFO] Timestamp: 2026-02-05 03:40:32 UTC
[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[INFO] Ensuring correct permissions for observability deployment...
[2026-02-05 03:40:32 UTC] USER=www-data EUID=0 PID=3556003 ACTION=fsop ARGS=chmod 775 /var/log/fastorder
[2026-02-05 03:40:32 UTC] USER=www-data EUID=0 PID=3556014 ACTION=fsop ARGS=chown www-data:www-data /var/log/fastorder
[2026-02-05 03:40:32 UTC] USER=www-data EUID=0 PID=3556040 ACTION=fsop ARGS=touch /var/log/fastorder/provisioning-elevated.log
[2026-02-05 03:40:32 UTC] USER=www-data EUID=0 PID=3556051 ACTION=fsop ARGS=chmod 666 /var/log/fastorder/provisioning-elevated.log
[2026-02-05 03:40:32 UTC] USER=www-data EUID=0 PID=3556062 ACTION=fsop ARGS=chown www-data:www-data /var/log/fastorder/provisioning-elevated.log
[OK]   Log directory: /var/log/fastorder (775)
[OK]   Log file: provisioning-elevated.log (666)
[2026-02-05 03:40:32 UTC] USER=www-data EUID=0 PID=3556071 ACTION=fsop ARGS=chmod 775 /opt/fastorder/bash/scripts/env_app_setup/state
[OK]   State directory: 775
[2026-02-05 03:40:32 UTC] USER=www-data EUID=0 PID=3556080 ACTION=fsop ARGS=mkdir -p /etc/fastorder/observability/certs
[2026-02-05 03:40:32 UTC] USER=www-data EUID=0 PID=3556089 ACTION=fsop ARGS=chmod 750 /etc/fastorder/observability/certs
[OK]   Cert directory: /etc/fastorder/observability/certs (750 - secure)
[OK]   Lib scripts: executable (755)
[OK]   All deployment scripts: executable (755)
[OK]   All directories: accessible (755)
[OK]   βœ… All permissions verified and fixed
[CREDS] Using AWS credentials from: /var/www/.aws/credentials
[CREDS] Credential management library loaded (region: me-central-1)
[INFO] Using web-provided environment: web-universe-main-dev
[INFO] Loaded environment: web-universe-main-dev (svc=web zone=universe env=dev ip=142.93.238.16)
═══════════════════════════════════════════════════════════════════════════════
OBSERVABILITY CELL PROVISIONING
═══════════════════════════════════════════════════════════════════════════════
[INFO] Application Cell: web-universe-main-dev
[INFO] Observability Cell: obs-web-universe-main-dev
[INFO] Service: web | Zone: universe | Env: dev

[INFO] Step 1/10: Provisioning network infrastructure...
[INFO]   Allocated new IP for obs: 10.100.1.235
[2026-02-05 03:40:33 UTC] USER=www-data EUID=0 PID=3556635 ACTION=fsop ARGS=cp /tmp/tmp.uplutFE9eF /opt/fastorder/bash/scripts/env_app_setup/state/web-universe-main-dev/topology.json
[INFO]   Allocated new IP for metrics: 10.100.1.236
[2026-02-05 03:40:34 UTC] USER=www-data EUID=0 PID=3556662 ACTION=fsop ARGS=cp /tmp/tmp.hqoIAmmSfz /opt/fastorder/bash/scripts/env_app_setup/state/web-universe-main-dev/topology.json
[INFO]   Allocated new IP for dashboards: 10.100.1.237
[2026-02-05 03:40:34 UTC] USER=www-data EUID=0 PID=3556679 ACTION=fsop ARGS=cp /tmp/tmp.0rg8t7cVQv /opt/fastorder/bash/scripts/env_app_setup/state/web-universe-main-dev/topology.json
[INFO]   Allocated new IP for logstore: 10.100.1.238
[2026-02-05 03:40:34 UTC] USER=www-data EUID=0 PID=3556696 ACTION=fsop ARGS=cp /tmp/tmp.rH0m2Plfcg /opt/fastorder/bash/scripts/env_app_setup/state/web-universe-main-dev/topology.json
[INFO]   Allocated new IP for traces: 10.100.1.239
[2026-02-05 03:40:34 UTC] USER=www-data EUID=0 PID=3556713 ACTION=fsop ARGS=cp /tmp/tmp.U67boxqEW7 /opt/fastorder/bash/scripts/env_app_setup/state/web-universe-main-dev/topology.json
[INFO]   Allocated new IP for alerts: 10.100.1.240
[2026-02-05 03:40:34 UTC] USER=www-data EUID=0 PID=3556730 ACTION=fsop ARGS=cp /tmp/tmp.LJ9LcKDh1a /opt/fastorder/bash/scripts/env_app_setup/state/web-universe-main-dev/topology.json
[INFO]   Allocated new IP for telemetry: 10.100.1.241
[2026-02-05 03:40:34 UTC] USER=www-data EUID=0 PID=3556747 ACTION=fsop ARGS=cp /tmp/tmp.fU9WJ3iUpF /opt/fastorder/bash/scripts/env_app_setup/state/web-universe-main-dev/topology.json
[INFO]   Allocated observability IPs:
[INFO]     metrics: 10.100.1.236
[INFO]     alerts: 10.100.1.240
[INFO]     dashboards: 10.100.1.237
[INFO]     traces: 10.100.1.239
[INFO]     telemetry: 10.100.1.241
[INFO]     logstore: 10.100.1.238
[INFO]     proxy: 10.100.1.235
[INFO]     obs: 10.100.1.235
[ OK ] Network infrastructure allocated
[INFO] Cleaning up ports from previous environments...
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Checking and cleaning ports for observability cell: obs-web-universe-main-dev
[INFO] IP Address: 10.100.1.235
[INFO] ═══════════════════════════════════════════════════════════════

[INFO] Checking for conflicting observability services...
[INFO] Service clickhouse-server-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-metrics-iam-identity-universe-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-metrics-identity-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-metrics-identity-universe-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-metrics-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-metrics-user-universe-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service prometheus-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service grafana-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service tempo-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service alertmanager-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Found 11 observability service(s) (all belong to current cell)
[INFO] Checking for remaining processes on IP 10.100.1.235...

[INFO] Scanning 15 ports...


[OK]   βœ… All 15 ports are FREE - ready for installation

[OK]   Port cleanup completed successfully
[INFO] Configuring IP aliases on network interface...
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] CONFIGURING NETWORK IP ALIASES
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Interface: lo
[INFO] IP Count: 8

[INFO] Configuring: metrics β†’ 10.100.1.236
[INFO]   Configuring IP alias: 10.100.1.236/32 on lo
[OK]     βœ… IP 10.100.1.236 configured successfully on lo
[OK]     βœ… IP 10.100.1.236 verified on network interface
[INFO] Configuring: alerts β†’ 10.100.1.240
[INFO]   Configuring IP alias: 10.100.1.240/32 on lo
[OK]     βœ… IP 10.100.1.240 configured successfully on lo
[OK]     βœ… IP 10.100.1.240 verified on network interface
[INFO] Configuring: dashboards β†’ 10.100.1.237
[INFO]   Configuring IP alias: 10.100.1.237/32 on lo
[OK]     βœ… IP 10.100.1.237 configured successfully on lo
[OK]     βœ… IP 10.100.1.237 verified on network interface
[INFO] Configuring: traces β†’ 10.100.1.239
[INFO]   Configuring IP alias: 10.100.1.239/32 on lo
[OK]     βœ… IP 10.100.1.239 configured successfully on lo
[OK]     βœ… IP 10.100.1.239 verified on network interface
[INFO] Configuring: telemetry β†’ 10.100.1.241
[INFO]   Configuring IP alias: 10.100.1.241/32 on lo
[OK]     βœ… IP 10.100.1.241 configured successfully on lo
[OK]     βœ… IP 10.100.1.241 verified on network interface
[INFO] Configuring: logstore β†’ 10.100.1.238
[INFO]   IP 10.100.1.238 already configured on network interface
[INFO] Configuring: proxy β†’ 10.100.1.235
[INFO]   Configuring IP alias: 10.100.1.235/32 on lo
[OK]     βœ… IP 10.100.1.235 configured successfully on lo
[OK]     βœ… IP 10.100.1.235 verified on network interface
[INFO] Configuring: obs β†’ 10.100.1.235
[INFO]   IP 10.100.1.235 already configured on network interface

[OK]   ═══════════════════════════════════════════════════════════════
[OK]   βœ… All IP aliases configured successfully
[OK]   ═══════════════════════════════════════════════════════════════
[INFO] Current IP configuration on lo:
      inet 127.0.0.1/8 scope host lo
      inet 10.100.1.186/32 scope global lo:186
      inet 10.100.1.192/32 scope global lo:pgbouncer
      inet 10.100.1.184/32 scope global lo:pgbouncer
      inet 10.100.1.204/32 scope global lo:pgbouncer
      inet 10.100.60.2/32 scope global lo
      inet 10.100.1.236/32 scope global lo
      inet 10.100.1.240/32 scope global lo
      inet 10.100.1.237/32 scope global lo
      inet 10.100.1.239/32 scope global lo
      inet 10.100.1.241/32 scope global lo
      inet 10.100.1.235/32 scope global lo

[OK]   IP aliases configured on network interface
[INFO] Step 2/10: Creating DNS entries...
[INFO] Configuring DNS entries in /etc/hosts...
[INFO]   Added: metrics-web-universe-main-dev-prometheus.fastorder.com β†’ 10.100.1.236
[INFO]   Added: alerts-web-universe-main-dev-alertmanager.fastorder.com β†’ 10.100.1.240
[INFO]   Added: dashboards-web-universe-main-dev-grafana.fastorder.com β†’ 10.100.1.237
[INFO]   Added: traces-web-universe-main-dev-tempo.fastorder.com β†’ 10.100.1.239
[INFO]   Added: telemetry-web-universe-main-dev-opentelemetry.fastorder.com β†’ 10.100.1.241
[INFO]   Added: logstore-web-universe-main-dev-clickhouse.fastorder.com β†’ 10.100.1.238
[INFO]   Added: observe-web-universe-main-dev.fastorder.com β†’ 10.100.1.235
[INFO] Adding observability integration aliases...
[INFO]   Added alias: metrics-web-universe-main-dev.fastorder.com β†’ 10.100.1.236
[INFO]   Added alias: alerts-web-universe-main-dev.fastorder.com β†’ 10.100.1.240
[INFO]   Added alias: dashboards-web-universe-main-dev.fastorder.com β†’ 10.100.1.237
[INFO]   Added alias: traces-web-universe-main-dev.fastorder.com β†’ 10.100.1.239
[INFO]   Added alias: telemetry-web-universe-main-dev.fastorder.com β†’ 10.100.1.241
[INFO]   Added alias: logstore-web-universe-main-dev.fastorder.com β†’ 10.100.1.238
[2026-02-05 03:40:35 UTC] USER=www-data EUID=0 PID=3557169 ACTION=fsop ARGS=sed -i /observe-web-universe-main-dev.fastorder.com/d /etc/hosts
[INFO]   Added alias: observe-web-universe-main-dev.fastorder.com β†’ 10.100.1.235
[OK]   DNS entries created
[INFO] Step 3/10: Creating AWS Secrets Manager structure...
[INFO] Creating AWS Secrets Manager structure
[INFO]   Base path: fastorder/observability/web/universe/dev
[INFO]   Observability Cell: obs-web-universe-main-dev
[INFO]   Application Cell: web-universe-main-dev
[INFO]   Creating: fastorder/observability/web/universe/dev/metrics
[INFO]   Creating: fastorder/observability/web/universe/dev/dashboards
[INFO]   Creating: fastorder/observability/web/universe/dev/logstore
[INFO]   Creating: fastorder/observability/web/universe/dev/traces
[INFO]   Creating: fastorder/observability/web/universe/dev/telemetry
[INFO]   Creating: fastorder/observability/web/universe/dev/alerts
[INFO] Secrets structure created successfully
[OK]   Secrets structure created
[INFO] Step 4/10: Generating mTLS certificates...
[INFO] Generating mTLS certificates for observability cell
[INFO]   Observability Cell: obs-web-universe-main-dev
[INFO]   Components: prometheus,grafana,loki,tempo,otlp_collector,clickhouse,alertmanager
[INFO]   Creating certificate directory: /etc/fastorder/observability/certs/obs-web-universe-main-dev
[2026-02-05 03:40:56 UTC] USER=www-data EUID=0 PID=3557796 ACTION=fsop ARGS=mkdir -p /etc/fastorder/observability/certs/obs-web-universe-main-dev
[2026-02-05 03:40:56 UTC] USER=www-data EUID=0 PID=3557805 ACTION=fsop ARGS=chmod 751 /etc/fastorder/observability/certs/obs-web-universe-main-dev
[INFO]   Generating CA certificate for obs-web-universe-main-dev
[2026-02-05 03:40:56 UTC] USER=www-data EUID=0 PID=3557814 ACTION=fsop ARGS=openssl genrsa -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-key.pem 4096
[2026-02-05 03:40:58 UTC] USER=www-data EUID=0 PID=3557855 ACTION=fsop ARGS=openssl req -new -x509 -days 3650 -key /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-key.pem -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-cert.pem -subj /C=US/ST=State/L=City/O=FastOrder/OU=Observability/CN=obs-web-universe-main-dev-ca
[2026-02-05 03:40:58 UTC] USER=www-data EUID=0 PID=3557864 ACTION=fsop ARGS=chmod 600 /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-key.pem
[2026-02-05 03:40:58 UTC] USER=www-data EUID=0 PID=3557873 ACTION=fsop ARGS=chmod 644 /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-cert.pem
[INFO]   CA certificate created: /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-cert.pem
[INFO]   Generating certificate for: prometheus
[2026-02-05 03:40:58 UTC] USER=www-data EUID=0 PID=3557882 ACTION=fsop ARGS=openssl genrsa -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/prometheus-key.pem 2048
[2026-02-05 03:40:58 UTC] USER=www-data EUID=0 PID=3557893 ACTION=fsop ARGS=openssl req -new -key /etc/fastorder/observability/certs/obs-web-universe-main-dev/prometheus-key.pem -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/prometheus-csr.pem -subj /C=US/ST=State/L=City/O=FastOrder/OU=Observability/CN=prometheus.obs-web-universe-main-dev
[2026-02-05 03:40:58 UTC] USER=www-data EUID=0 PID=3557902 ACTION=fsop ARGS=openssl x509 -req -in /etc/fastorder/observability/certs/obs-web-universe-main-dev/prometheus-csr.pem -CA /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-cert.pem -CAkey /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-key.pem -CAcreateserial -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/prometheus-cert.pem -days 730
Certificate request self-signature ok
subject=C = US, ST = State, L = City, O = FastOrder, OU = Observability, CN = prometheus.obs-web-universe-main-dev
[2026-02-05 03:40:58 UTC] USER=www-data EUID=0 PID=3557911 ACTION=fsop ARGS=chmod 600 /etc/fastorder/observability/certs/obs-web-universe-main-dev/prometheus-key.pem
[2026-02-05 03:40:58 UTC] USER=www-data EUID=0 PID=3557920 ACTION=fsop ARGS=chmod 644 /etc/fastorder/observability/certs/obs-web-universe-main-dev/prometheus-cert.pem
[2026-02-05 03:40:58 UTC] USER=www-data EUID=0 PID=3557929 ACTION=fsop ARGS=rm -f /etc/fastorder/observability/certs/obs-web-universe-main-dev/prometheus-csr.pem
[INFO]   Certificate created: /etc/fastorder/observability/certs/obs-web-universe-main-dev/prometheus-cert.pem
[INFO]   Generating certificate for: grafana
[2026-02-05 03:40:59 UTC] USER=www-data EUID=0 PID=3557943 ACTION=fsop ARGS=openssl genrsa -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/grafana-key.pem 2048
[2026-02-05 03:40:59 UTC] USER=www-data EUID=0 PID=3557954 ACTION=fsop ARGS=openssl req -new -key /etc/fastorder/observability/certs/obs-web-universe-main-dev/grafana-key.pem -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/grafana-csr.pem -subj /C=US/ST=State/L=City/O=FastOrder/OU=Observability/CN=grafana.obs-web-universe-main-dev
[2026-02-05 03:40:59 UTC] USER=www-data EUID=0 PID=3557963 ACTION=fsop ARGS=openssl x509 -req -in /etc/fastorder/observability/certs/obs-web-universe-main-dev/grafana-csr.pem -CA /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-cert.pem -CAkey /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-key.pem -CAcreateserial -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/grafana-cert.pem -days 730
Certificate request self-signature ok
subject=C = US, ST = State, L = City, O = FastOrder, OU = Observability, CN = grafana.obs-web-universe-main-dev
[2026-02-05 03:40:59 UTC] USER=www-data EUID=0 PID=3557972 ACTION=fsop ARGS=chmod 600 /etc/fastorder/observability/certs/obs-web-universe-main-dev/grafana-key.pem
[2026-02-05 03:40:59 UTC] USER=www-data EUID=0 PID=3557981 ACTION=fsop ARGS=chmod 644 /etc/fastorder/observability/certs/obs-web-universe-main-dev/grafana-cert.pem
[2026-02-05 03:40:59 UTC] USER=www-data EUID=0 PID=3557990 ACTION=fsop ARGS=rm -f /etc/fastorder/observability/certs/obs-web-universe-main-dev/grafana-csr.pem
[INFO]   Certificate created: /etc/fastorder/observability/certs/obs-web-universe-main-dev/grafana-cert.pem
[INFO]   Generating certificate for: loki
[2026-02-05 03:40:59 UTC] USER=www-data EUID=0 PID=3557999 ACTION=fsop ARGS=openssl genrsa -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/loki-key.pem 2048
[2026-02-05 03:40:59 UTC] USER=www-data EUID=0 PID=3558022 ACTION=fsop ARGS=openssl req -new -key /etc/fastorder/observability/certs/obs-web-universe-main-dev/loki-key.pem -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/loki-csr.pem -subj /C=US/ST=State/L=City/O=FastOrder/OU=Observability/CN=loki.obs-web-universe-main-dev
[2026-02-05 03:40:59 UTC] USER=www-data EUID=0 PID=3558043 ACTION=fsop ARGS=openssl x509 -req -in /etc/fastorder/observability/certs/obs-web-universe-main-dev/loki-csr.pem -CA /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-cert.pem -CAkey /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-key.pem -CAcreateserial -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/loki-cert.pem -days 730
Certificate request self-signature ok
subject=C = US, ST = State, L = City, O = FastOrder, OU = Observability, CN = loki.obs-web-universe-main-dev
[2026-02-05 03:40:59 UTC] USER=www-data EUID=0 PID=3558058 ACTION=fsop ARGS=chmod 600 /etc/fastorder/observability/certs/obs-web-universe-main-dev/loki-key.pem
[2026-02-05 03:40:59 UTC] USER=www-data EUID=0 PID=3558067 ACTION=fsop ARGS=chmod 644 /etc/fastorder/observability/certs/obs-web-universe-main-dev/loki-cert.pem
[2026-02-05 03:40:59 UTC] USER=www-data EUID=0 PID=3558076 ACTION=fsop ARGS=rm -f /etc/fastorder/observability/certs/obs-web-universe-main-dev/loki-csr.pem
[INFO]   Certificate created: /etc/fastorder/observability/certs/obs-web-universe-main-dev/loki-cert.pem
[INFO]   Generating certificate for: tempo
[2026-02-05 03:40:59 UTC] USER=www-data EUID=0 PID=3558085 ACTION=fsop ARGS=openssl genrsa -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/tempo-key.pem 2048
[2026-02-05 03:41:00 UTC] USER=www-data EUID=0 PID=3558096 ACTION=fsop ARGS=openssl req -new -key /etc/fastorder/observability/certs/obs-web-universe-main-dev/tempo-key.pem -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/tempo-csr.pem -subj /C=US/ST=State/L=City/O=FastOrder/OU=Observability/CN=tempo.obs-web-universe-main-dev
[2026-02-05 03:41:00 UTC] USER=www-data EUID=0 PID=3558105 ACTION=fsop ARGS=openssl x509 -req -in /etc/fastorder/observability/certs/obs-web-universe-main-dev/tempo-csr.pem -CA /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-cert.pem -CAkey /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-key.pem -CAcreateserial -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/tempo-cert.pem -days 730
Certificate request self-signature ok
subject=C = US, ST = State, L = City, O = FastOrder, OU = Observability, CN = tempo.obs-web-universe-main-dev
[2026-02-05 03:41:00 UTC] USER=www-data EUID=0 PID=3558114 ACTION=fsop ARGS=chmod 600 /etc/fastorder/observability/certs/obs-web-universe-main-dev/tempo-key.pem
[2026-02-05 03:41:00 UTC] USER=www-data EUID=0 PID=3558123 ACTION=fsop ARGS=chmod 644 /etc/fastorder/observability/certs/obs-web-universe-main-dev/tempo-cert.pem
[2026-02-05 03:41:00 UTC] USER=www-data EUID=0 PID=3558132 ACTION=fsop ARGS=rm -f /etc/fastorder/observability/certs/obs-web-universe-main-dev/tempo-csr.pem
[INFO]   Certificate created: /etc/fastorder/observability/certs/obs-web-universe-main-dev/tempo-cert.pem
[INFO]   Generating certificate for: otlp_collector
[2026-02-05 03:41:00 UTC] USER=www-data EUID=0 PID=3558141 ACTION=fsop ARGS=openssl genrsa -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/otlp_collector-key.pem 2048
[2026-02-05 03:41:00 UTC] USER=www-data EUID=0 PID=3558150 ACTION=fsop ARGS=openssl req -new -key /etc/fastorder/observability/certs/obs-web-universe-main-dev/otlp_collector-key.pem -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/otlp_collector-csr.pem -subj /C=US/ST=State/L=City/O=FastOrder/OU=Observability/CN=otlp_collector.obs-web-universe-main-dev
[2026-02-05 03:41:00 UTC] USER=www-data EUID=0 PID=3558159 ACTION=fsop ARGS=openssl x509 -req -in /etc/fastorder/observability/certs/obs-web-universe-main-dev/otlp_collector-csr.pem -CA /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-cert.pem -CAkey /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-key.pem -CAcreateserial -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/otlp_collector-cert.pem -days 730
Certificate request self-signature ok
subject=C = US, ST = State, L = City, O = FastOrder, OU = Observability, CN = otlp_collector.obs-web-universe-main-dev
[2026-02-05 03:41:00 UTC] USER=www-data EUID=0 PID=3558168 ACTION=fsop ARGS=chmod 600 /etc/fastorder/observability/certs/obs-web-universe-main-dev/otlp_collector-key.pem
[2026-02-05 03:41:00 UTC] USER=www-data EUID=0 PID=3558177 ACTION=fsop ARGS=chmod 644 /etc/fastorder/observability/certs/obs-web-universe-main-dev/otlp_collector-cert.pem
[2026-02-05 03:41:00 UTC] USER=www-data EUID=0 PID=3558186 ACTION=fsop ARGS=rm -f /etc/fastorder/observability/certs/obs-web-universe-main-dev/otlp_collector-csr.pem
[INFO]   Certificate created: /etc/fastorder/observability/certs/obs-web-universe-main-dev/otlp_collector-cert.pem
[INFO]   Generating certificate for: clickhouse
[2026-02-05 03:41:00 UTC] USER=www-data EUID=0 PID=3558195 ACTION=fsop ARGS=openssl genrsa -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/clickhouse-key.pem 2048
[2026-02-05 03:41:00 UTC] USER=www-data EUID=0 PID=3558204 ACTION=fsop ARGS=openssl req -new -key /etc/fastorder/observability/certs/obs-web-universe-main-dev/clickhouse-key.pem -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/clickhouse-csr.pem -subj /C=US/ST=State/L=City/O=FastOrder/OU=Observability/CN=clickhouse.obs-web-universe-main-dev
[2026-02-05 03:41:00 UTC] USER=www-data EUID=0 PID=3558213 ACTION=fsop ARGS=openssl x509 -req -in /etc/fastorder/observability/certs/obs-web-universe-main-dev/clickhouse-csr.pem -CA /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-cert.pem -CAkey /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-key.pem -CAcreateserial -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/clickhouse-cert.pem -days 730
Certificate request self-signature ok
subject=C = US, ST = State, L = City, O = FastOrder, OU = Observability, CN = clickhouse.obs-web-universe-main-dev
[2026-02-05 03:41:00 UTC] USER=www-data EUID=0 PID=3558222 ACTION=fsop ARGS=chmod 600 /etc/fastorder/observability/certs/obs-web-universe-main-dev/clickhouse-key.pem
[2026-02-05 03:41:00 UTC] USER=www-data EUID=0 PID=3558231 ACTION=fsop ARGS=chmod 644 /etc/fastorder/observability/certs/obs-web-universe-main-dev/clickhouse-cert.pem
[2026-02-05 03:41:00 UTC] USER=www-data EUID=0 PID=3558240 ACTION=fsop ARGS=rm -f /etc/fastorder/observability/certs/obs-web-universe-main-dev/clickhouse-csr.pem
[INFO]   Certificate created: /etc/fastorder/observability/certs/obs-web-universe-main-dev/clickhouse-cert.pem
[INFO]   Generating certificate for: alertmanager
[2026-02-05 03:41:00 UTC] USER=www-data EUID=0 PID=3558249 ACTION=fsop ARGS=openssl genrsa -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/alertmanager-key.pem 2048
[2026-02-05 03:41:01 UTC] USER=www-data EUID=0 PID=3558288 ACTION=fsop ARGS=openssl req -new -key /etc/fastorder/observability/certs/obs-web-universe-main-dev/alertmanager-key.pem -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/alertmanager-csr.pem -subj /C=US/ST=State/L=City/O=FastOrder/OU=Observability/CN=alertmanager.obs-web-universe-main-dev
[2026-02-05 03:41:01 UTC] USER=www-data EUID=0 PID=3558300 ACTION=fsop ARGS=openssl x509 -req -in /etc/fastorder/observability/certs/obs-web-universe-main-dev/alertmanager-csr.pem -CA /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-cert.pem -CAkey /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-key.pem -CAcreateserial -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/alertmanager-cert.pem -days 730
Certificate request self-signature ok
subject=C = US, ST = State, L = City, O = FastOrder, OU = Observability, CN = alertmanager.obs-web-universe-main-dev
[2026-02-05 03:41:01 UTC] USER=www-data EUID=0 PID=3558325 ACTION=fsop ARGS=chmod 600 /etc/fastorder/observability/certs/obs-web-universe-main-dev/alertmanager-key.pem
[2026-02-05 03:41:01 UTC] USER=www-data EUID=0 PID=3558334 ACTION=fsop ARGS=chmod 644 /etc/fastorder/observability/certs/obs-web-universe-main-dev/alertmanager-cert.pem
[2026-02-05 03:41:01 UTC] USER=www-data EUID=0 PID=3558343 ACTION=fsop ARGS=rm -f /etc/fastorder/observability/certs/obs-web-universe-main-dev/alertmanager-csr.pem
[INFO]   Certificate created: /etc/fastorder/observability/certs/obs-web-universe-main-dev/alertmanager-cert.pem
[INFO]   Generating PHP client certificate for metrics service...
[2026-02-05 03:41:01 UTC] USER=www-data EUID=0 PID=3558352 ACTION=fsop ARGS=openssl genrsa -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/php-client-key.pem 2048
[2026-02-05 03:41:01 UTC] USER=www-data EUID=0 PID=3558389 ACTION=fsop ARGS=openssl req -new -key /etc/fastorder/observability/certs/obs-web-universe-main-dev/php-client-key.pem -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/php-client-csr.pem -subj /C=US/ST=State/L=City/O=FastOrder/OU=Dashboard/CN=php-metrics-client.obs-web-universe-main-dev
[2026-02-05 03:41:01 UTC] USER=www-data EUID=0 PID=3558400 ACTION=fsop ARGS=openssl x509 -req -in /etc/fastorder/observability/certs/obs-web-universe-main-dev/php-client-csr.pem -CA /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-cert.pem -CAkey /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-key.pem -CAcreateserial -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/php-client-cert.pem -days 730
Certificate request self-signature ok
subject=C = US, ST = State, L = City, O = FastOrder, OU = Dashboard, CN = php-metrics-client.obs-web-universe-main-dev
[2026-02-05 03:41:01 UTC] USER=www-data EUID=0 PID=3558409 ACTION=fsop ARGS=chmod 640 /etc/fastorder/observability/certs/obs-web-universe-main-dev/php-client-key.pem
[2026-02-05 03:41:01 UTC] USER=www-data EUID=0 PID=3558418 ACTION=fsop ARGS=chmod 644 /etc/fastorder/observability/certs/obs-web-universe-main-dev/php-client-cert.pem
[2026-02-05 03:41:01 UTC] USER=www-data EUID=0 PID=3558427 ACTION=fsop ARGS=chown root:www-data /etc/fastorder/observability/certs/obs-web-universe-main-dev/php-client-key.pem
[2026-02-05 03:41:01 UTC] USER=www-data EUID=0 PID=3558436 ACTION=fsop ARGS=chown root:www-data /etc/fastorder/observability/certs/obs-web-universe-main-dev/php-client-cert.pem
[2026-02-05 03:41:01 UTC] USER=www-data EUID=0 PID=3558445 ACTION=fsop ARGS=rm -f /etc/fastorder/observability/certs/obs-web-universe-main-dev/php-client-csr.pem
[INFO]   PHP client certificate created: /etc/fastorder/observability/certs/obs-web-universe-main-dev/php-client-cert.pem
[INFO]   Generating Apache client certificate for mTLS reverse proxy...
[2026-02-05 03:41:01 UTC] USER=www-data EUID=0 PID=3558454 ACTION=fsop ARGS=openssl genrsa -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/apache-client-key.pem 2048
[2026-02-05 03:41:02 UTC] USER=www-data EUID=0 PID=3558465 ACTION=fsop ARGS=openssl req -new -key /etc/fastorder/observability/certs/obs-web-universe-main-dev/apache-client-key.pem -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/apache-client-csr.pem -subj /C=US/ST=State/L=City/O=FastOrder/OU=ReverseProxy/CN=apache-proxy.obs-web-universe-main-dev
[2026-02-05 03:41:02 UTC] USER=www-data EUID=0 PID=3558475 ACTION=fsop ARGS=openssl x509 -req -in /etc/fastorder/observability/certs/obs-web-universe-main-dev/apache-client-csr.pem -CA /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-cert.pem -CAkey /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-key.pem -CAcreateserial -out /etc/fastorder/observability/certs/obs-web-universe-main-dev/apache-client-cert.pem -days 730
Certificate request self-signature ok
subject=C = US, ST = State, L = City, O = FastOrder, OU = ReverseProxy, CN = apache-proxy.obs-web-universe-main-dev
[2026-02-05 03:41:02 UTC] USER=www-data EUID=0 PID=3558502 ACTION=fsop ARGS=chmod 640 /etc/fastorder/observability/certs/obs-web-universe-main-dev/apache-client-key.pem
[2026-02-05 03:41:02 UTC] USER=www-data EUID=0 PID=3558512 ACTION=fsop ARGS=chmod 640 /etc/fastorder/observability/certs/obs-web-universe-main-dev/apache-client-combined.pem
[2026-02-05 03:41:02 UTC] USER=www-data EUID=0 PID=3558523 ACTION=fsop ARGS=chmod 644 /etc/fastorder/observability/certs/obs-web-universe-main-dev/apache-client-cert.pem
[2026-02-05 03:41:02 UTC] USER=www-data EUID=0 PID=3558534 ACTION=fsop ARGS=chown root:www-data /etc/fastorder/observability/certs/obs-web-universe-main-dev/apache-client-key.pem
[2026-02-05 03:41:02 UTC] USER=www-data EUID=0 PID=3558543 ACTION=fsop ARGS=chown root:www-data /etc/fastorder/observability/certs/obs-web-universe-main-dev/apache-client-cert.pem
[2026-02-05 03:41:02 UTC] USER=www-data EUID=0 PID=3558552 ACTION=fsop ARGS=chown root:www-data /etc/fastorder/observability/certs/obs-web-universe-main-dev/apache-client-combined.pem
[2026-02-05 03:41:02 UTC] USER=www-data EUID=0 PID=3558561 ACTION=fsop ARGS=rm -f /etc/fastorder/observability/certs/obs-web-universe-main-dev/apache-client-csr.pem
[INFO]   Apache client certificate created: /etc/fastorder/observability/certs/obs-web-universe-main-dev/apache-client-cert.pem
[INFO]   Apache combined cert+key: /etc/fastorder/observability/certs/obs-web-universe-main-dev/apache-client-combined.pem
[INFO]   Storing mTLS certificates in AWS Secrets Manager...
{
    "ARN": "arn:aws:secretsmanager:me-central-1:464621692046:secret:fastorder/observability/web/universe/main/dev/mtls/php-client-7PIDQL",
    "Name": "fastorder/observability/web/universe/main/dev/mtls/php-client",
    "VersionId": "fcad1fd8-a2f3-49b5-bfef-aad737efcc13"
}
[INFO]   mTLS certificates stored in Secrets Manager: fastorder/observability/web/universe/main/dev/mtls/php-client
[INFO] mTLS certificates generated successfully
[INFO]   Certificate directory: /etc/fastorder/observability/certs/obs-web-universe-main-dev
[INFO]   PHP client cert: /etc/fastorder/observability/certs/obs-web-universe-main-dev/php-client-cert.pem
[INFO]   PHP client key: /etc/fastorder/observability/certs/obs-web-universe-main-dev/php-client-key.pem
[INFO]   Apache client cert: /etc/fastorder/observability/certs/obs-web-universe-main-dev/apache-client-cert.pem
[INFO]   Apache combined (for SSLProxyMachineCertificateFile): /etc/fastorder/observability/certs/obs-web-universe-main-dev/apache-client-combined.pem
[OK]   mTLS certificates generated
[INFO] Step 5/10: Deploying log storage backend...
[INFO]   Provider: clickhouse (selected)
[INFO]   Note: Deployed before telemetry (OtelCol depends on log storage)
[INFO]   FQDN: logstore-web-universe-main-dev-clickhouse.fastorder.com
[INFO]   IP: 10.100.1.238
[INFO] Deploying log backend: clickhouse...
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] LOG STORAGE BACKEND DEPLOYMENT
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Provider: clickhouse
[INFO] Observability Cell: obs-web-universe-main-dev
[INFO] FQDN: logstore-web-universe-main-dev-clickhouse.fastorder.com
[INFO] IP: 10.100.1.238
[INFO] S3 Bucket: fastorder-logs-universe-dev
[INFO] Retention: 90 days
[INFO] ═══════════════════════════════════════════════════════════════

[2026-02-05 03:41:04 UTC] USER=unknown EUID=33 PID=3558634 ACTION=fsop ARGS=chmod +x /opt/fastorder/bash/scripts/env_app_setup/setup/02-observability-cell/LogStorageBackend/provider/clickhouse.sh
/bin/chmod: changing permissions of '/opt/fastorder/bash/scripts/env_app_setup/setup/02-observability-cell/LogStorageBackend/provider/clickhouse.sh': Operation not permitted
[INFO] Using provider: clickhouse
[INFO] Provider script: /opt/fastorder/bash/scripts/env_app_setup/setup/02-observability-cell/LogStorageBackend/provider/clickhouse.sh

[INFO] Executing provider deployment script...
[INFO] Parsed: SERVICE=web, ZONE=universe, BRANCH=main, ENV=dev
[INFO] Checking and cleaning ports before installation...
[INFO] Initializing certificate directory for obs-web-universe-main-dev...
[2026-02-05 03:41:04 UTC] USER=www-data EUID=0 PID=3558651 ACTION=passthru ARGS=chmod 755 /etc/fastorder
[2026-02-05 03:41:04 UTC] USER=www-data EUID=0 PID=3558660 ACTION=passthru ARGS=chmod 755 /etc/fastorder/observability
[2026-02-05 03:41:04 UTC] USER=www-data EUID=0 PID=3558669 ACTION=fsop ARGS=chmod 751 /etc/fastorder/observability/certs
[2026-02-05 03:41:04 UTC] USER=www-data EUID=0 PID=3558678 ACTION=fsop ARGS=chmod 751 /etc/fastorder/observability/certs/obs-web-universe-main-dev
[OK]   Certificate directory initialized: /etc/fastorder/observability/certs/obs-web-universe-main-dev
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Checking and cleaning ports for observability cell: obs-web-universe-main-dev
[INFO] IP Address: 10.100.1.238
[INFO] ═══════════════════════════════════════════════════════════════

[INFO] Checking for conflicting observability services...
[INFO] Service clickhouse-server-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-metrics-iam-identity-universe-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-metrics-identity-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-metrics-identity-universe-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-metrics-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-metrics-user-universe-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service prometheus-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service grafana-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service tempo-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service alertmanager-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Found 11 observability service(s) (all belong to current cell)
[INFO] Checking for remaining processes on IP 10.100.1.238...

[INFO] Scanning 15 ports...


[OK]   βœ… All 15 ports are FREE - ready for installation

[OK]   Port cleanup successful on attempt 1
[INFO] Binding ClickHouse to allocated IP: 10.100.1.238
[INFO] Deploying ClickHouse for obs-web-universe-main-dev
[INFO]   FQDN: logstore-web-universe-main-dev-clickhouse.fastorder.com
[INFO]   Allocated IP: 10.100.1.238
[INFO]   VM IP: 10.100.1.238
[INFO]   Ports: HTTP=8123 TCP=9000 Interserver=9009
[INFO]   S3 Bucket: fastorder-logs-universe-dev (region=me-central-1)
[INFO]   Retention: 90 days
[INFO] Checking if ClickHouse is installed...
[OK]   ClickHouse already installed
[2026-02-05 03:41:04 UTC] USER=www-data EUID=0 PID=3558830 ACTION=fsop ARGS=mkdir -p /etc/clickhouse-server-obs-web-universe-main-dev/config.d
[2026-02-05 03:41:04 UTC] USER=www-data EUID=0 PID=3558839 ACTION=fsop ARGS=mkdir -p /etc/clickhouse-server-obs-web-universe-main-dev/users.d
[2026-02-05 03:41:04 UTC] USER=www-data EUID=0 PID=3558848 ACTION=fsop ARGS=mkdir -p /var/lib/clickhouse-obs-web-universe-main-dev
[2026-02-05 03:41:04 UTC] USER=www-data EUID=0 PID=3558857 ACTION=fsop ARGS=mkdir -p /var/log/clickhouse-server-obs-web-universe-main-dev
[2026-02-05 03:41:04 UTC] USER=www-data EUID=0 PID=3558866 ACTION=passthru ARGS=chmod 755 /etc/clickhouse-server-obs-web-universe-main-dev
[2026-02-05 03:41:04 UTC] USER=www-data EUID=0 PID=3558875 ACTION=passthru ARGS=chmod 700 /var/lib/clickhouse-obs-web-universe-main-dev
[2026-02-05 03:41:04 UTC] USER=www-data EUID=0 PID=3558884 ACTION=passthru ARGS=chmod 750 /var/log/clickhouse-server-obs-web-universe-main-dev
[INFO] No existing logs_writer credentials found - generating new ones
[INFO] No existing metrics_reader credentials found - generating new ones
[INFO] TLS configuration exported for clickhouse
[INFO]   Cert: /etc/fastorder/observability/certs/obs-web-universe-main-dev/clickhouse-cert.pem
[INFO]   Key:  /etc/fastorder/observability/certs/obs-web-universe-main-dev/clickhouse-key.pem
[INFO]   CA:   /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-cert.pem
[INFO] Configuring certificate permissions for clickhouse (user: clickhouse)
[INFO] Initializing certificate directory for obs-web-universe-main-dev...
[2026-02-05 03:41:07 UTC] USER=www-data EUID=0 PID=3558976 ACTION=passthru ARGS=chmod 755 /etc/fastorder
[2026-02-05 03:41:07 UTC] USER=www-data EUID=0 PID=3558985 ACTION=passthru ARGS=chmod 755 /etc/fastorder/observability
[2026-02-05 03:41:07 UTC] USER=www-data EUID=0 PID=3558994 ACTION=fsop ARGS=chmod 751 /etc/fastorder/observability/certs
[2026-02-05 03:41:08 UTC] USER=www-data EUID=0 PID=3559003 ACTION=fsop ARGS=chmod 751 /etc/fastorder/observability/certs/obs-web-universe-main-dev
[OK]   Certificate directory initialized: /etc/fastorder/observability/certs/obs-web-universe-main-dev
[INFO]   Setting file permissions...
[2026-02-05 03:41:08 UTC] USER=www-data EUID=0 PID=3559014 ACTION=passthru ARGS=chmod 644 /etc/fastorder/observability/certs/obs-web-universe-main-dev/clickhouse-cert.pem
[2026-02-05 03:41:08 UTC] USER=www-data EUID=0 PID=3559023 ACTION=passthru ARGS=chmod 644 /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-cert.pem
[2026-02-05 03:41:08 UTC] USER=www-data EUID=0 PID=3559033 ACTION=passthru ARGS=chmod 640 /etc/fastorder/observability/certs/obs-web-universe-main-dev/clickhouse-key.pem
[INFO]   Setting file ownership...
[2026-02-05 03:41:08 UTC] USER=www-data EUID=0 PID=3559049 ACTION=passthru ARGS=chown root:clickhouse /etc/fastorder/observability/certs/obs-web-universe-main-dev/clickhouse-key.pem
[2026-02-05 03:41:08 UTC] USER=www-data EUID=0 PID=3559064 ACTION=passthru ARGS=chown root:root /etc/fastorder/observability/certs/obs-web-universe-main-dev/clickhouse-cert.pem /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-cert.pem
[INFO]   Permission configuration completed
[INFO]   (Verification skipped - running via wrapper, trust chmod/chown success)
[OK]   βœ… Certificate permissions configured successfully for clickhouse
[INFO] Creating ClickHouse configuration...
[2026-02-05 03:41:08 UTC] USER=www-data EUID=0 PID=3559138 ACTION=passthru ARGS=chown -R clickhouse:clickhouse /etc/clickhouse-server-obs-web-universe-main-dev
[2026-02-05 03:41:08 UTC] USER=www-data EUID=0 PID=3559147 ACTION=passthru ARGS=bash -c chmod 640 /etc/clickhouse-server-obs-web-universe-main-dev/*.xml
[OK]   ClickHouse configuration created
[INFO] Creating logs table schema...
[2026-02-05 03:41:08 UTC] USER=www-data EUID=0 PID=3559165 ACTION=passthru ARGS=sed -i s/__RETENTION_DAYS__/90/g /etc/clickhouse-server-obs-web-universe-main-dev/logs_schema.sql
[2026-02-05 03:41:08 UTC] USER=www-data EUID=0 PID=3559174 ACTION=passthru ARGS=chmod 644 /etc/clickhouse-server-obs-web-universe-main-dev/logs_schema.sql
[OK]   Logs schema created
[INFO] Creating systemd service...
[2026-02-05 03:41:08 UTC] USER=www-data EUID=0 PID=3559194 ACTION=passthru ARGS=chown -R clickhouse:clickhouse /var/lib/clickhouse-obs-web-universe-main-dev
[2026-02-05 03:41:08 UTC] USER=www-data EUID=0 PID=3559203 ACTION=passthru ARGS=chown -R clickhouse:clickhouse /var/log/clickhouse-server-obs-web-universe-main-dev
[2026-02-05 03:41:08 UTC] USER=www-data EUID=0 PID=3559213 ACTION=passthru ARGS=chmod 700 /var/lib/clickhouse-obs-web-universe-main-dev
[OK]   Systemd service created
[INFO] Starting ClickHouse service...
[2026-02-05 03:41:08 UTC] USER=www-data EUID=0 PID=3559222 ACTION=passthru ARGS=systemctl daemon-reload
[2026-02-05 03:41:09 UTC] USER=www-data EUID=0 PID=3559279 ACTION=passthru ARGS=systemctl enable clickhouse-server-obs-web-universe-main-dev.service
Created symlink /etc/systemd/system/multi-user.target.wants/clickhouse-server-obs-web-universe-main-dev.service β†’ /etc/systemd/system/clickhouse-server-obs-web-universe-main-dev.service.
[INFO] Waiting for ClickHouse to be ready...
[OK]   ClickHouse is ready
[INFO] Initializing database schema...
[OK]   Schema initialized
[INFO] Storing ClickHouse credentials in AWS Secrets Manager...
{
    "ARN": "arn:aws:secretsmanager:me-central-1:464621692046:secret:fastorder/observability/web/universe/main/dev/clickhouse/server/logs_writer-9wVjTM",
    "Name": "fastorder/observability/web/universe/main/dev/clickhouse/server/logs_writer",
    "VersionId": "94b2b174-4315-4b03-8ef2-f13141bcb019"
}
[OK]   logs_writer credentials stored and verified in Secrets Manager
{
    "ARN": "arn:aws:secretsmanager:me-central-1:464621692046:secret:fastorder/observability/web/universe/main/dev/clickhouse/server/metrics_reader-pUbGYZ",
    "Name": "fastorder/observability/web/universe/main/dev/clickhouse/server/metrics_reader",
    "VersionId": "60055e9d-c175-431a-8153-cad3e150b8cd"
}
[OK]   metrics_reader credentials stored and verified in Secrets Manager
[INFO] Validating ClickHouse deployment...
[INFO] ClickHouse version: 25.10.1.3832
[INFO] Tables created: .inner_id.76ca8987-2518-4785-bb2a-80964de2a2ff
.inner_id.e2f024ef-c0bc-4236-84d1-8a7fd3d70fd9
application_logs
error_logs_mv
iam_audit_event
metrics_all
otel_logs
request_logs_mv
security_access
[INFO] Test log inserted. Total logs: 1
[OK]   βœ… ClickHouse deployment validated
[INFO] Setting up clickhouse-backup for backup management...
[OK]   clickhouse-backup already installed
[INFO] Creating clickhouse-backup configuration...
[2026-02-05 03:41:20 UTC] USER=www-data EUID=0 PID=3560423 ACTION=fsop ARGS=mkdir -p /etc/clickhouse-backup
[2026-02-05 03:41:20 UTC] USER=www-data EUID=0 PID=3560433 ACTION=passthru ARGS=chown root:clickhouse /etc/clickhouse-backup
[2026-02-05 03:41:20 UTC] USER=www-data EUID=0 PID=3560442 ACTION=passthru ARGS=chmod 750 /etc/clickhouse-backup
[2026-02-05 03:41:20 UTC] USER=www-data EUID=0 PID=3560510 ACTION=passthru ARGS=systemctl daemon-reload
[2026-02-05 03:41:21 UTC] USER=www-data EUID=0 PID=3560562 ACTION=passthru ARGS=systemctl enable clickhouse-backup-api-obs-web-universe-main-dev.service
Created symlink /etc/systemd/system/multi-user.target.wants/clickhouse-backup-api-obs-web-universe-main-dev.service β†’ /etc/systemd/system/clickhouse-backup-api-obs-web-universe-main-dev.service.
[2026-02-05 03:41:22 UTC] USER=www-data EUID=0 PID=3560673 ACTION=passthru ARGS=systemctl enable clickhouse-backup@obs-web-universe-main-dev.timer
Created symlink /etc/systemd/system/timers.target.wants/clickhouse-backup@obs-web-universe-main-dev.timer β†’ /etc/systemd/system/clickhouse-backup@.timer.
[2026-02-05 03:41:22 UTC] USER=www-data EUID=0 PID=3560734 ACTION=passthru ARGS=systemctl start clickhouse-backup@obs-web-universe-main-dev.timer
[OK]   clickhouse-backup configured and started
[INFO] Setting up ClickHouse exporter for Prometheus...
[OK]   clickhouse_exporter already installed
[2026-02-05 03:41:22 UTC] USER=www-data EUID=0 PID=3560769 ACTION=passthru ARGS=systemctl daemon-reload
[2026-02-05 03:41:23 UTC] USER=www-data EUID=0 PID=3560844 ACTION=passthru ARGS=systemctl enable clickhouse_exporter-obs-web-universe-main-dev.service
Created symlink /etc/systemd/system/multi-user.target.wants/clickhouse_exporter-obs-web-universe-main-dev.service β†’ /etc/systemd/system/clickhouse_exporter-obs-web-universe-main-dev.service.
[2026-02-05 03:41:24 UTC] USER=www-data EUID=0 PID=3560907 ACTION=passthru ARGS=systemctl start clickhouse_exporter-obs-web-universe-main-dev.service
[OK]   clickhouse_exporter configured and started

[INFO] ═══════════════════════════════════════════════════════════════
[OK]   βœ… ClickHouse Deployed Successfully
[INFO] ═══════════════════════════════════════════════════════════════
[INFO]   FQDN: logstore-web-universe-main-dev-clickhouse.fastorder.com
[INFO]   IP: 10.100.1.238
[INFO]   HTTP Port: 8123
[INFO]   Native Port: 9000
[INFO]   Database: logs
[INFO]   Retention: 90 days
[INFO]   Storage: Tiered (Local β†’ S3: fastorder-logs-universe-dev in me-central-1)
[INFO] 
[INFO] Backup & Monitoring:
[INFO]   clickhouse-backup API: http://10.100.1.238:7171
[INFO]   clickhouse_exporter: http://10.100.1.238:9116/metrics
[INFO]   Backup Schedule: Daily at 2:00 AM
[INFO]   Local Backups Retained: 7
[INFO] 
[INFO] Credentials stored in AWS Secrets Manager:
[INFO]   Writers: fastorder/observability/web/universe/main/dev/clickhouse/server/logs_writer
[INFO]   Readers: fastorder/observability/web/universe/main/dev/clickhouse/server/metrics_reader (for PHP metrics service)
[INFO] 
[INFO] Example queries (using credentials from Secrets Manager):
[INFO]   # Write logs:
[INFO]   clickhouse-client --host logstore-web-universe-main-dev-clickhouse.fastorder.com --port 9000 --user logs_writer --password '***' --query 'SELECT 1'
[INFO] 
[INFO]   # Read metrics (PHP metrics service):
[INFO]   clickhouse-client --host logstore-web-universe-main-dev-clickhouse.fastorder.com --port 9000 --user metrics_reader --password '***' --query 'SELECT * FROM system.metrics'
[INFO] 
[INFO] HTTPS Setup (run on web-03/skeleton server):
[INFO]   # Set up HTTPS reverse proxy with Let's Encrypt:
[INFO]   OBS_CELL=obs-web-universe-main-dev BACKEND_IP=10.100.1.238 sudo bash /opt/fastorder/bash/scripts/env_app_setup/setup/02-observability-cell/LogStorageBackend/provider/../https/setup-clickhouse-https.sh
[INFO] 
[INFO]   # Or add --setup-https flag when running this script
[INFO] ═══════════════════════════════════════════════════════════════

[INFO] ═══════════════════════════════════════════════════════════════
[OK]   βœ… Log Storage Backend Deployed Successfully
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Provider: clickhouse
[INFO] FQDN: logstore-web-universe-main-dev-clickhouse.fastorder.com
[INFO] IP: 10.100.1.238
[INFO] Retention: 90 days
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Registering ClickHouse in monitoring dashboard...
[INFO] Detected 4-part identifier format
[INFO] Registering node via API
[INFO]   Application:       ClickHouse
[INFO]   Identifier:        web-universe-main-dev-clickhouse
[INFO]   Identifier Parent: cluster
[INFO]   IP:                10.100.1.238
[INFO]   Port:              8443
[INFO]   FQDN:              logstore-web-universe-main-dev-clickhouse.fastorder.com
[INFO]   Status:            running
[INFO]   Environment:       web-universe-main-dev (service=web, zone=universe, branch=main, env=dev)
[INFO] Calling registration API: https://skeleton.dev.fastorder.com/api/obs/register
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ERROR] ❌ INVALID REQUEST
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ERROR] Response: {"success":false,"error":"Invalid JSON: Control character error, possibly incorrectly encoded"}
[ERROR] 
[ERROR] Request payload:
  {
    "env_id": "web-universe-main-dev",
    "application": "ClickHouse",
    "identifier": "web-universe-main-dev-clickhouse",
    "identifier_parent": "cluster",
    "ip": "10.100.1.238",
    "port": 8443,
    "fqdn": "logstore-web-universe-main-dev-clickhouse.fastorder.com",
    "status": "running",
    "meta": {
      "role": "log_storage",
      "provider": "clickhouse",
      "version": "25.10
  1.3832",
      "http_port": 8123,
      "native_port": 9000,
      "https_port": 8443,
      "protocol": "https",
      "metrics_enabled": true,
      "metrics_port": 8123,
      "metrics_path": "/metrics",
      "health_endpoint": "https://logstore-web-universe-main-dev-clickhouse.fastorder.com/ping",
      "retention_days": 90,
      "s3_bucket": "fastorder-logs-universe-dev"
  }
  }
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[WARN] ⚠️  Failed to register ClickHouse (service is running)
[OK]   clickhouse deployed successfully
[OK]   Log storage backend deployed
[INFO] Step 6/10: Deploying telemetry collector...
[INFO]   Provider: otlp (backend implementation - internal)
[INFO]   Endpoint: telemetry-web-universe-main-dev-opentelemetry.fastorder.com (stable, exposed to clients)
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] TELEMETRY COLLECTOR DEPLOYMENT
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Provider: otlp
[INFO] Observability Cell: obs-web-universe-main-dev
[INFO] FQDN: telemetry-web-universe-main-dev-opentelemetry.fastorder.com
[INFO] IP: 10.100.1.241
[INFO] ═══════════════════════════════════════════════════════════════

[INFO] Using provider: otlp
[INFO] Provider script: /opt/fastorder/bash/scripts/env_app_setup/setup/02-observability-cell/Telemetry/provider/otlp.sh

[INFO] Executing provider deployment script...
[INFO] Parsed: SERVICE=web, ZONE=universe, BRANCH=main, ENV=dev
[INFO] Checking and cleaning ports before installation...
[INFO] Initializing certificate directory for obs-web-universe-main-dev...
[2026-02-05 03:41:24 UTC] USER=www-data EUID=0 PID=3560965 ACTION=passthru ARGS=chmod 755 /etc/fastorder
[2026-02-05 03:41:24 UTC] USER=www-data EUID=0 PID=3560974 ACTION=passthru ARGS=chmod 755 /etc/fastorder/observability
[2026-02-05 03:41:24 UTC] USER=www-data EUID=0 PID=3560983 ACTION=fsop ARGS=chmod 751 /etc/fastorder/observability/certs
[2026-02-05 03:41:24 UTC] USER=www-data EUID=0 PID=3560992 ACTION=fsop ARGS=chmod 751 /etc/fastorder/observability/certs/obs-web-universe-main-dev
[OK]   Certificate directory initialized: /etc/fastorder/observability/certs/obs-web-universe-main-dev
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Checking and cleaning ports for observability cell: obs-web-universe-main-dev
[INFO] IP Address: 10.100.1.241
[INFO] ═══════════════════════════════════════════════════════════════

[INFO] Checking for conflicting observability services...
[INFO] Service clickhouse-server-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service clickhouse-server-obs-web-universe-main-dev.service belongs to current cell (skipping)
[INFO] Service clickhouse-server@obs-web-universe-main-dev.service belongs to current cell (skipping)
[INFO] Service otelcol-metrics-iam-identity-universe-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-metrics-identity-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-metrics-identity-universe-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-metrics-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-metrics-user-universe-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service prometheus-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service grafana-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service tempo-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service alertmanager-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Found 13 observability service(s) (all belong to current cell)
[INFO] Checking for remaining processes on IP 10.100.1.241...

[INFO] Scanning 15 ports...


[OK]   βœ… All 15 ports are FREE - ready for installation

[OK]   Port cleanup successful on attempt 1
[INFO] Binding to allocated IP: 10.100.1.241
[INFO] Deploying OpenTelemetry Collector for observability cell: obs-web-universe-main-dev
[INFO] FQDN:         telemetry-web-universe-main-dev-opentelemetry.fastorder.com
[INFO] Allocated IP: 10.100.1.241
[INFO] VM IP:        10.100.1.241
[INFO] Ports:        gRPC=4317 HTTP=4318 Metrics=8888 Prom=8889
[VERSION] Fetching latest version for otel_collector from GitHub (open-telemetry/opentelemetry-collector-releases)...
[VERSION] Latest otel_collector version: 0.144.0
[INFO] Resolved OpenTelemetry Collector version: 0.144.0
[OK]   User 'otelcol' already exists
[INFO] Checking if OpenTelemetry Collector is installed...
[OK]   OpenTelemetry Collector already installed at /usr/local/bin/otelcol-contrib
[INFO] Creating configuration/data directories...
[2026-02-05 03:41:26 UTC] USER=www-data EUID=0 PID=3561187 ACTION=passthru ARGS=mkdir -p /etc/otelcol/obs-web-universe-main-dev
[2026-02-05 03:41:26 UTC] USER=www-data EUID=0 PID=3561206 ACTION=passthru ARGS=mkdir -p /var/lib/otelcol/obs-web-universe-main-dev
[2026-02-05 03:41:26 UTC] USER=www-data EUID=0 PID=3561215 ACTION=passthru ARGS=chown -R otelcol:otelcol /etc/otelcol/obs-web-universe-main-dev /var/lib/otelcol/obs-web-universe-main-dev
[2026-02-05 03:41:26 UTC] USER=www-data EUID=0 PID=3561224 ACTION=passthru ARGS=chmod 0750 /etc/otelcol/obs-web-universe-main-dev
[2026-02-05 03:41:26 UTC] USER=www-data EUID=0 PID=3561233 ACTION=passthru ARGS=chmod 0750 /var/lib/otelcol/obs-web-universe-main-dev
[INFO] Retrieving ClickHouse credentials from Secrets Manager...
[OK]   Retrieved ClickHouse credentials from Secrets Manager
[INFO] Creating OpenTelemetry Collector configuration...
[INFO] ClickHouse exporter enabled: tcp://logstore-web-universe-main-dev-clickhouse.fastorder.com:9000
[2026-02-05 03:41:28 UTC] USER=www-data EUID=0 PID=3561312 ACTION=passthru ARGS=chown otelcol:otelcol /etc/otelcol/obs-web-universe-main-dev/config.yaml
[2026-02-05 03:41:28 UTC] USER=www-data EUID=0 PID=3561321 ACTION=passthru ARGS=chmod 0640 /etc/otelcol/obs-web-universe-main-dev/config.yaml
[OK]   Configuration created at /etc/otelcol/obs-web-universe-main-dev/config.yaml
[INFO] Setting up TLS certificate permissions...
[INFO] Configuring certificate permissions for otlp_collector (user: otelcol)
[INFO] Initializing certificate directory for obs-web-universe-main-dev...
[2026-02-05 03:41:28 UTC] USER=www-data EUID=0 PID=3561330 ACTION=passthru ARGS=chmod 755 /etc/fastorder
[2026-02-05 03:41:28 UTC] USER=www-data EUID=0 PID=3561348 ACTION=fsop ARGS=chmod 751 /etc/fastorder/observability/certs
[2026-02-05 03:41:28 UTC] USER=www-data EUID=0 PID=3561357 ACTION=fsop ARGS=chmod 751 /etc/fastorder/observability/certs/obs-web-universe-main-dev
[OK]   Certificate directory initialized: /etc/fastorder/observability/certs/obs-web-universe-main-dev
[INFO]   Setting file permissions...
[2026-02-05 03:41:28 UTC] USER=www-data EUID=0 PID=3561367 ACTION=passthru ARGS=chmod 644 /etc/fastorder/observability/certs/obs-web-universe-main-dev/otlp_collector-cert.pem
[2026-02-05 03:41:28 UTC] USER=www-data EUID=0 PID=3561381 ACTION=passthru ARGS=chmod 644 /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-cert.pem
[2026-02-05 03:41:28 UTC] USER=www-data EUID=0 PID=3561403 ACTION=passthru ARGS=chmod 640 /etc/fastorder/observability/certs/obs-web-universe-main-dev/otlp_collector-key.pem
[INFO]   Setting file ownership...
[2026-02-05 03:41:28 UTC] USER=www-data EUID=0 PID=3561420 ACTION=passthru ARGS=chown root:otelcol /etc/fastorder/observability/certs/obs-web-universe-main-dev/otlp_collector-key.pem
[2026-02-05 03:41:28 UTC] USER=www-data EUID=0 PID=3561435 ACTION=passthru ARGS=chown root:root /etc/fastorder/observability/certs/obs-web-universe-main-dev/otlp_collector-cert.pem /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-cert.pem
[INFO]   Permission configuration completed
[INFO]   (Verification skipped - running via wrapper, trust chmod/chown success)
[OK]   βœ… Certificate permissions configured successfully for otlp_collector
[OK]   Certificate permissions configured
[INFO] Creating systemd service: otelcol-obs-web-universe-main-dev
[OK]   Systemd service created at /etc/systemd/system/otelcol-obs-web-universe-main-dev.service
[INFO] Adding /etc/hosts entry for telemetry-web-universe-main-dev-opentelemetry.fastorder.com -> 10.100.1.241
[2026-02-05 03:41:29 UTC] USER=www-data EUID=0 PID=3561459 ACTION=passthru ARGS=sed -i s/^[0-9.]*[[:space:]]*telemetry-web-universe-main-dev-opentelemetry.fastorder.com/10.100.1.241    telemetry-web-universe-main-dev-opentelemetry.fastorder.com/ /etc/hosts
[OK]   Updated /etc/hosts entry to use VM_IP
[INFO] Storing OTLP configuration metadata in AWS Secrets Manager (if aws CLI present)...
{
    "ARN": "arn:aws:secretsmanager:me-central-1:464621692046:secret:fastorder/observability/web/universe/main/dev/otlp/collector-bkOLah",
    "Name": "fastorder/observability/web/universe/main/dev/otlp/collector",
    "VersionId": "5d8817f3-c764-405a-8dd7-7b64eef907f1"
}
[OK]   Configuration metadata stored/updated in AWS Secrets Manager: fastorder/observability/web/universe/main/dev/otlp/collector
[INFO] Enabling and starting OpenTelemetry Collector service...
[2026-02-05 03:41:30 UTC] USER=www-data EUID=0 PID=3561506 ACTION=passthru ARGS=systemctl daemon-reload
[2026-02-05 03:41:31 UTC] USER=www-data EUID=0 PID=3561560 ACTION=passthru ARGS=systemctl enable otelcol-obs-web-universe-main-dev.service
Created symlink /etc/systemd/system/multi-user.target.wants/otelcol-obs-web-universe-main-dev.service β†’ /etc/systemd/system/otelcol-obs-web-universe-main-dev.service.
[2026-02-05 03:41:32 UTC] USER=www-data EUID=0 PID=3561617 ACTION=passthru ARGS=systemctl restart otelcol-obs-web-universe-main-dev.service
[OK]   Service enabled and started
[INFO] Validating deployment...
[2026-02-05 03:41:35 UTC] USER=www-data EUID=0 PID=3561769 ACTION=passthru ARGS=systemctl is-active --quiet otelcol-obs-web-universe-main-dev.service
[OK]   βœ… OpenTelemetry Collector is running
[OK]   βœ… gRPC endpoint listening on port 4317
[OK]   βœ… HTTP endpoint listening on port 4318
[OK]   βœ… Prometheus metrics endpoint listening on port 8889
[INFO] Service logs (last 10 lines):
[2026-02-05 03:41:35 UTC] USER=www-data EUID=0 PID=3561787 ACTION=passthru ARGS=journalctl -u otelcol-obs-web-universe-main-dev.service -n 10 --no-pager
Feb 05 03:41:32 web-03 otelcol-obs-web-universe-main-dev[3561629]: 2026-02-05T03:41:32.648Z        info        internal/resourcedetection.go:125        began detecting resource information        {"kind": "processor", "name": "resourcedetection", "pipeline": "traces"}
Feb 05 03:41:32 web-03 otelcol-obs-web-universe-main-dev[3561629]: 2026-02-05T03:41:32.650Z        info        system/system.go:201        This attribute changed from int to string. Temporarily switch back to int using the feature gate.        {"kind": "processor", "name": "resourcedetection", "pipeline": "traces", "attribute": "host.cpu.family", "feature gate": "processor.resourcedetection.hostCPUModelAndFamilyAsString"}
Feb 05 03:41:32 web-03 otelcol-obs-web-universe-main-dev[3561629]: 2026-02-05T03:41:32.651Z        info        system/system.go:220        This attribute changed from int to string. Temporarily switch back to int using the feature gate.        {"kind": "processor", "name": "resourcedetection", "pipeline": "traces", "attribute": "host.cpu.model.id", "feature gate": "processor.resourcedetection.hostCPUModelAndFamilyAsString"}
Feb 05 03:41:32 web-03 otelcol-obs-web-universe-main-dev[3561629]: 2026-02-05T03:41:32.652Z        info        internal/resourcedetection.go:139        detected resource information        {"kind": "processor", "name": "resourcedetection", "pipeline": "traces", "resource": {"host.name":"web-03","os.type":"linux"}}
Feb 05 03:41:32 web-03 otelcol-obs-web-universe-main-dev[3561629]: 2026-02-05T03:41:32.702Z        info        otlpreceiver@v0.91.0/otlp.go:83        Starting GRPC server        {"kind": "receiver", "name": "otlp", "data_type": "traces", "endpoint": "10.100.1.241:4317"}
Feb 05 03:41:32 web-03 otelcol-obs-web-universe-main-dev[3561629]: 2026-02-05T03:41:32.704Z        info        otlpreceiver@v0.91.0/otlp.go:101        Starting HTTP server        {"kind": "receiver", "name": "otlp", "data_type": "traces", "endpoint": "10.100.1.241:4318"}
Feb 05 03:41:32 web-03 otelcol-obs-web-universe-main-dev[3561629]: 2026-02-05T03:41:32.705Z        info        prometheusreceiver@v0.91.0/metrics_receiver.go:231        Scrape job added        {"kind": "receiver", "name": "prometheus", "data_type": "metrics", "jobName": "otel-collector"}
Feb 05 03:41:32 web-03 otelcol-obs-web-universe-main-dev[3561629]: 2026-02-05T03:41:32.705Z        info        prometheusreceiver@v0.91.0/metrics_receiver.go:240        Starting discovery manager        {"kind": "receiver", "name": "prometheus", "data_type": "metrics"}
Feb 05 03:41:32 web-03 otelcol-obs-web-universe-main-dev[3561629]: 2026-02-05T03:41:32.706Z        info        service@v0.91.0/service.go:171        Everything is ready. Begin running and processing data.
Feb 05 03:41:32 web-03 otelcol-obs-web-universe-main-dev[3561629]: 2026-02-05T03:41:32.706Z        info        prometheusreceiver@v0.91.0/metrics_receiver.go:282        Starting scrape manager        {"kind": "receiver", "name": "prometheus", "data_type": "metrics"}

[INFO] ═══════════════════════════════════════════════════════════════
[OK]   βœ… Telemetry Collector Deployed Successfully
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Provider: otlp
[INFO] FQDN: telemetry-web-universe-main-dev-opentelemetry.fastorder.com
[INFO] IP: 10.100.1.241
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Registering OpenTelemetry Collector in monitoring dashboard...
[INFO] Detected 4-part identifier format
[INFO] Registering node via API
[INFO]   Application:       OpenTelemetry Collector
[INFO]   Identifier:        web-universe-main-dev-opentelemetry
[INFO]   Identifier Parent: cluster
[INFO]   IP:                10.100.1.241
[INFO]   Port:              4317
[INFO]   FQDN:              telemetry-web-universe-main-dev-opentelemetry.fastorder.com
[INFO]   Status:            running
[INFO]   Environment:       web-universe-main-dev (service=web, zone=universe, branch=main, env=dev)
[INFO] Calling registration API: https://skeleton.dev.fastorder.com/api/obs/register
[WARN] Registration API call failed (HTTP 500), retrying (1/3)...
[WARN] Response: {"success":false,"error":"Registration failed: SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation \"obs.application\" does not exist\nLINE 2:                     SELECT uuid FROM obs.application\n                                             ^"}
[WARN] Registration API call failed (HTTP 500), retrying (2/3)...
[WARN] Response: {"success":false,"error":"Registration failed: SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation \"obs.application\" does not exist\nLINE 2:                     SELECT uuid FROM obs.application\n                                             ^"}
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ERROR] ❌ REGISTRATION FAILED AFTER 3 ATTEMPTS
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ERROR] HTTP Status: 500
[ERROR] Response: {"success":false,"error":"Registration failed: SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation \"obs.application\" does not exist\nLINE 2:                     SELECT uuid FROM obs.application\n                                             ^"}
[ERROR] 
[ERROR] API endpoint: https://skeleton.dev.fastorder.com/api/obs/register
[ERROR] 
[ERROR] Troubleshooting:
[ERROR]   1. Check if skeleton.dev.fastorder.com is accessible
[ERROR]   2. Verify web application is running
[ERROR]   3. Check web application logs: /var/www/html/skeleton.dev.fastorder.com/logs/
[ERROR]   4. Test API manually:
[ERROR]      curl -k -X POST 'https://skeleton.dev.fastorder.com/api/obs/register' \
[ERROR]        -H 'Content-Type: application/json' \
[ERROR]        -H 'X-Internal-Token: $OBS_INTERNAL_API_TOKEN' \
[ERROR]        -d '$PAYLOAD'
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[WARN] ⚠️  Failed to register OpenTelemetry Collector (service is running)
[INFO] Setting up OpenTelemetry Collector metrics collection timer...
[2026-02-05 03:41:41 UTC] USER=www-data EUID=0 PID=3561981 ACTION=passthru ARGS=mv /tmp/otelcol-metrics-web-universe-main-dev.service /etc/systemd/system/
[2026-02-05 03:41:41 UTC] USER=www-data EUID=0 PID=3561991 ACTION=passthru ARGS=mv /tmp/otelcol-metrics-web-universe-main-dev.timer /etc/systemd/system/
[2026-02-05 03:41:41 UTC] USER=www-data EUID=0 PID=3562000 ACTION=passthru ARGS=systemctl daemon-reload
[2026-02-05 03:41:41 UTC] USER=www-data EUID=0 PID=3562049 ACTION=passthru ARGS=systemctl enable otelcol-metrics-web-universe-main-dev.timer
Created symlink /etc/systemd/system/timers.target.wants/otelcol-metrics-web-universe-main-dev.timer β†’ /etc/systemd/system/otelcol-metrics-web-universe-main-dev.timer.
[2026-02-05 03:41:42 UTC] USER=www-data EUID=0 PID=3562098 ACTION=passthru ARGS=systemctl start otelcol-metrics-web-universe-main-dev.timer
[OK]   βœ… Metrics collection timer installed and started
[OK]   Telemetry collector (otlp) deployed successfully

[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] Step 7/10: METRICS BACKEND DEPLOYMENT
[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO]   Provider: prometheus
[INFO]   OBS Cell: obs-web-universe-main-dev
[INFO]   FQDN: metrics-web-universe-main-dev-prometheus.fastorder.com
[INFO]   IP: 10.100.1.236
[INFO]   Script: /opt/fastorder/bash/scripts/env_app_setup/setup/02-observability-cell/Metrics/deploy-metrics.sh
[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] πŸ“Š METRICS DEPLOYMENT WRAPPER STARTED
[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] Script: deploy-metrics.sh
[INFO] Timestamp: 2026-02-05 03:41:42 UTC
[INFO] Arguments: --provider prometheus --obs-cell obs-web-universe-main-dev --fqdn metrics-web-universe-main-dev-prometheus.fastorder.com --ip 10.100.1.236

[INFO] ═══════════════════════════════════════════════════════════════
[INFO] METRICS DEPLOYMENT
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Provider: prometheus
[INFO] Observability Cell: obs-web-universe-main-dev
[INFO] FQDN: metrics-web-universe-main-dev-prometheus.fastorder.com
[INFO] IP: 10.100.1.236
[INFO] ═══════════════════════════════════════════════════════════════

[INFO] Using provider: prometheus
[INFO] Provider script: /opt/fastorder/bash/scripts/env_app_setup/setup/02-observability-cell/Metrics/provider/prometheus.sh

[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] Executing provider script: /opt/fastorder/bash/scripts/env_app_setup/setup/02-observability-cell/Metrics/provider/prometheus.sh
[INFO]   OBS_CELL: obs-web-universe-main-dev
[INFO]   FQDN: metrics-web-universe-main-dev-prometheus.fastorder.com
[INFO]   IP: 10.100.1.236
[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[INFO] Parsed: SERVICE=web, ZONE=universe, BRANCH=main, ENV=dev
[INFO] Checking and cleaning ports before installation...
[INFO] Initializing certificate directory for obs-web-universe-main-dev...
[2026-02-05 03:41:42 UTC] USER=www-data EUID=0 PID=3562143 ACTION=passthru ARGS=chmod 755 /etc/fastorder
[2026-02-05 03:41:42 UTC] USER=www-data EUID=0 PID=3562168 ACTION=passthru ARGS=chmod 755 /etc/fastorder/observability
[2026-02-05 03:41:42 UTC] USER=www-data EUID=0 PID=3562198 ACTION=fsop ARGS=chmod 751 /etc/fastorder/observability/certs
[2026-02-05 03:41:42 UTC] USER=www-data EUID=0 PID=3562240 ACTION=fsop ARGS=chmod 751 /etc/fastorder/observability/certs/obs-web-universe-main-dev
[OK]   Certificate directory initialized: /etc/fastorder/observability/certs/obs-web-universe-main-dev
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Checking and cleaning ports for observability cell: obs-web-universe-main-dev
[INFO] IP Address: 10.100.1.236
[INFO] ═══════════════════════════════════════════════════════════════

[INFO] Checking for conflicting observability services...
[INFO] Service clickhouse-server-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service clickhouse-server-obs-web-universe-main-dev.service belongs to current cell (skipping)
[INFO] Service clickhouse-server@obs-web-universe-main-dev.service belongs to current cell (skipping)
[INFO] Service otelcol-metrics-iam-identity-universe-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-metrics-identity-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-metrics-identity-universe-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-metrics-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-metrics-user-universe-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-metrics-web-universe-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-obs-web-universe-main-dev.service belongs to current cell (skipping)
[INFO] Service prometheus-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service grafana-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service tempo-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service alertmanager-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Found 15 observability service(s) (all belong to current cell)
[INFO] Checking for remaining processes on IP 10.100.1.236...

[INFO] Scanning 15 ports...


[OK]   βœ… All 15 ports are FREE - ready for installation

[OK]   Port cleanup successful on attempt 1
[INFO] Deploying Prometheus for observability cell: obs-web-universe-main-dev
[INFO] FQDN: metrics-web-universe-main-dev-prometheus.fastorder.com
[INFO] IP: 10.100.1.236
[INFO] Prometheus Port: 9090
[VERSION] Fetching latest version for prometheus from GitHub (prometheus/prometheus)...
[VERSION] Latest prometheus version: 3.9.1
[INFO] Resolved Prometheus version: 3.9.1
[INFO] Checking if Prometheus is installed...
[OK]   Prometheus already installed at /usr/local/bin/prometheus
[VERSION] Fetching latest version for node_exporter from GitHub (prometheus/node_exporter)...
[VERSION] Latest node_exporter version: 1.10.2
[INFO] Resolved Node Exporter version: 1.10.2
[INFO] Checking if Node Exporter is installed...
[OK]   Node Exporter already installed at /usr/local/bin/node_exporter
[INFO] Creating Node Exporter TLS web config...
[INFO] Creating Node Exporter systemd service with TLS...
[2026-02-05 03:41:44 UTC] USER=www-data EUID=0 PID=3562545 ACTION=passthru ARGS=systemctl daemon-reload
[2026-02-05 03:41:44 UTC] USER=www-data EUID=0 PID=3562611 ACTION=passthru ARGS=systemctl enable node_exporter-obs-web-universe-main-dev.service
Created symlink /etc/systemd/system/multi-user.target.wants/node_exporter-obs-web-universe-main-dev.service β†’ /etc/systemd/system/node_exporter-obs-web-universe-main-dev.service.
[2026-02-05 03:41:45 UTC] USER=www-data EUID=0 PID=3562676 ACTION=passthru ARGS=systemctl restart node_exporter-obs-web-universe-main-dev.service
[OK]   Node Exporter service configured and started
[INFO] Creating configuration directory: /etc/prometheus/obs-web-universe-main-dev
[2026-02-05 03:41:45 UTC] USER=www-data EUID=0 PID=3562690 ACTION=fsop ARGS=mkdir -p /etc/prometheus/obs-web-universe-main-dev
[2026-02-05 03:41:45 UTC] USER=www-data EUID=0 PID=3562699 ACTION=fsop ARGS=mkdir -p /var/lib/prometheus/obs-web-universe-main-dev
[2026-02-05 03:41:45 UTC] USER=www-data EUID=0 PID=3562708 ACTION=fsop ARGS=mkdir -p /etc/prometheus/obs-web-universe-main-dev/rules
[INFO] Creating Prometheus configuration...
[INFO] Generated FQDNs:
[INFO]   Prometheus:   metrics-web-universe-main-dev-prometheus.fastorder.com
[INFO]   Alertmanager: alerts-web-universe-main-dev-alertmanager.fastorder.com
[INFO]   Grafana:      dashboards-web-universe-main-dev-grafana.fastorder.com
[INFO]   Otelcol:      telemetry-web-universe-main-dev-opentelemetry.fastorder.com
[OK]   Configuration created at /etc/prometheus/obs-web-universe-main-dev/prometheus.yml
[INFO] Creating Prometheus web config for HTTPS...
[OK]   Web config created at /etc/prometheus/obs-web-universe-main-dev/web-config.yml
[INFO] Creating basic alerting rules...
[OK]   Alerting rules created
[2026-02-05 03:41:45 UTC] USER=www-data EUID=0 PID=3562745 ACTION=fsop ARGS=mkdir -p /etc/prometheus/obs-web-universe-main-dev/targets
[2026-02-05 03:41:45 UTC] USER=www-data EUID=0 PID=3562756 ACTION=passthru ARGS=bash -c cat > '/etc/prometheus/obs-web-universe-main-dev/targets/.placeholder.yml' << 'EOF'
# Placeholder file to prevent file_sd_configs warning
# Application targets will be added here automatically
[]
EOF
[INFO] Creating systemd service: prometheus-obs-web-universe-main-dev
[INFO] Binding to: 10.100.1.236:9090
[OK]   Systemd service created
[INFO] Configuring certificate permissions...
[INFO] Configuring certificate permissions for prometheus (user: root)
[INFO] Initializing certificate directory for obs-web-universe-main-dev...
[2026-02-05 03:41:45 UTC] USER=www-data EUID=0 PID=3562775 ACTION=passthru ARGS=chmod 755 /etc/fastorder
[2026-02-05 03:41:45 UTC] USER=www-data EUID=0 PID=3562784 ACTION=passthru ARGS=chmod 755 /etc/fastorder/observability
[2026-02-05 03:41:45 UTC] USER=www-data EUID=0 PID=3562793 ACTION=fsop ARGS=chmod 751 /etc/fastorder/observability/certs
[2026-02-05 03:41:45 UTC] USER=www-data EUID=0 PID=3562802 ACTION=fsop ARGS=chmod 751 /etc/fastorder/observability/certs/obs-web-universe-main-dev
[OK]   Certificate directory initialized: /etc/fastorder/observability/certs/obs-web-universe-main-dev
[INFO]   Setting file permissions...
[2026-02-05 03:41:45 UTC] USER=www-data EUID=0 PID=3562812 ACTION=passthru ARGS=chmod 644 /etc/fastorder/observability/certs/obs-web-universe-main-dev/prometheus-cert.pem
[2026-02-05 03:41:45 UTC] USER=www-data EUID=0 PID=3562821 ACTION=passthru ARGS=chmod 644 /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-cert.pem
[2026-02-05 03:41:45 UTC] USER=www-data EUID=0 PID=3562830 ACTION=passthru ARGS=chmod 640 /etc/fastorder/observability/certs/obs-web-universe-main-dev/prometheus-key.pem
[INFO]   Setting file ownership...
[2026-02-05 03:41:45 UTC] USER=www-data EUID=0 PID=3562839 ACTION=passthru ARGS=chown root:root /etc/fastorder/observability/certs/obs-web-universe-main-dev/prometheus-key.pem
[2026-02-05 03:41:45 UTC] USER=www-data EUID=0 PID=3562848 ACTION=passthru ARGS=chown root:root /etc/fastorder/observability/certs/obs-web-universe-main-dev/prometheus-cert.pem /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-cert.pem
[INFO]   Permission configuration completed
[INFO]   (Verification skipped - running via wrapper, trust chmod/chown success)
[OK]   βœ… Certificate permissions configured successfully for prometheus
[OK]   Certificate permissions configured
[INFO] Adding /etc/hosts entry for metrics-web-universe-main-dev-prometheus.fastorder.com -> 10.100.1.236
[2026-02-05 03:41:45 UTC] USER=www-data EUID=0 PID=3562859 ACTION=passthru ARGS=sed -i s/^[0-9.]*[[:space:]]*metrics-web-universe-main-dev-prometheus.fastorder.com/10.100.1.236    metrics-web-universe-main-dev-prometheus.fastorder.com/ /etc/hosts
[OK]   Updated /etc/hosts entry to use VM_IP
[INFO] Validating Prometheus configuration...
Checking /etc/prometheus/obs-web-universe-main-dev/prometheus.yml
  SUCCESS: 1 rule files found
 SUCCESS: /etc/prometheus/obs-web-universe-main-dev/prometheus.yml is valid prometheus config file syntax

Checking /etc/prometheus/obs-web-universe-main-dev/rules/basic_alerts.yml
  SUCCESS: 4 rules found

[OK]   βœ… Configuration is valid
[INFO] Storing Prometheus configuration in AWS Secrets Manager...
{
    "ARN": "arn:aws:secretsmanager:me-central-1:464621692046:secret:fastorder/observability/web/universe/main/dev/prometheus/server-yo3CTX",
    "Name": "fastorder/observability/web/universe/main/dev/prometheus/server",
    "VersionId": "f70bbdb3-dfd9-43cd-940e-d6c023994596"
}
[OK]   Configuration stored in AWS Secrets Manager
[INFO] Enabling and starting Prometheus service...
[2026-02-05 03:41:47 UTC] USER=www-data EUID=0 PID=3562904 ACTION=passthru ARGS=systemctl daemon-reload
[2026-02-05 03:41:47 UTC] USER=www-data EUID=0 PID=3562960 ACTION=passthru ARGS=systemctl enable prometheus-obs-web-universe-main-dev.service
Created symlink /etc/systemd/system/multi-user.target.wants/prometheus-obs-web-universe-main-dev.service β†’ /etc/systemd/system/prometheus-obs-web-universe-main-dev.service.
[2026-02-05 03:41:48 UTC] USER=www-data EUID=0 PID=3563028 ACTION=passthru ARGS=systemctl restart prometheus-obs-web-universe-main-dev.service
[OK]   Service enabled and started
[INFO] Validating deployment...
[2026-02-05 03:41:51 UTC] USER=www-data EUID=0 PID=3563090 ACTION=passthru ARGS=systemctl is-active --quiet prometheus-obs-web-universe-main-dev.service
[OK]   βœ… Prometheus is running
[OK]   βœ… Prometheus web interface listening on port 9090
[OK]   βœ… Prometheus health check passed (HTTPS)
[INFO] ═══════════════════════════════════════════════════════════════
[OK]   Prometheus Web UI: https://metrics-web-universe-main-dev-prometheus.fastorder.com:9090
[OK]   Targets: https://metrics-web-universe-main-dev-prometheus.fastorder.com:9090/targets
[OK]   Alerts: https://metrics-web-universe-main-dev-prometheus.fastorder.com:9090/alerts
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Service logs (last 10 lines):
[2026-02-05 03:41:53 UTC] USER=www-data EUID=0 PID=3563213 ACTION=passthru ARGS=journalctl -u prometheus-obs-web-universe-main-dev.service -n 10 --no-pager
Feb 05 03:41:48 web-03 prometheus-obs-web-universe-main-dev[3563035]: ts=2026-02-05T03:41:48.588Z caller=head.go:722 level=info component=tsdb msg="Replaying WAL, this may take a while"
Feb 05 03:41:48 web-03 prometheus-obs-web-universe-main-dev[3563035]: ts=2026-02-05T03:41:48.590Z caller=head.go:794 level=info component=tsdb msg="WAL segment loaded" segment=0 maxSegment=0
Feb 05 03:41:48 web-03 prometheus-obs-web-universe-main-dev[3563035]: ts=2026-02-05T03:41:48.590Z caller=head.go:831 level=info component=tsdb msg="WAL replay completed" checkpoint_replay_duration=659.34Β΅s wal_replay_duration=1.113485ms wbl_replay_duration=300ns chunk_snapshot_load_duration=0s mmap_chunk_replay_duration=2.695Β΅s total_replay_duration=1.802702ms
Feb 05 03:41:48 web-03 prometheus-obs-web-universe-main-dev[3563035]: ts=2026-02-05T03:41:48.593Z caller=main.go:1218 level=info fs_type=EXT4_SUPER_MAGIC
Feb 05 03:41:48 web-03 prometheus-obs-web-universe-main-dev[3563035]: ts=2026-02-05T03:41:48.593Z caller=main.go:1221 level=info msg="TSDB started"
Feb 05 03:41:48 web-03 prometheus-obs-web-universe-main-dev[3563035]: ts=2026-02-05T03:41:48.593Z caller=main.go:1404 level=info msg="Loading configuration file" filename=/etc/prometheus/obs-web-universe-main-dev/prometheus.yml
Feb 05 03:41:48 web-03 prometheus-obs-web-universe-main-dev[3563035]: ts=2026-02-05T03:41:48.597Z caller=main.go:1441 level=info msg="updated GOGC" old=100 new=75
Feb 05 03:41:48 web-03 prometheus-obs-web-universe-main-dev[3563035]: ts=2026-02-05T03:41:48.597Z caller=main.go:1452 level=info msg="Completed loading of configuration file" filename=/etc/prometheus/obs-web-universe-main-dev/prometheus.yml totalDuration=4.044903ms db_storage=2.194Β΅s remote_storage=2.445Β΅s web_handler=1.022Β΅s query_engine=1.933Β΅s scrape=825.135Β΅s scrape_sd=110.171Β΅s notify=37.541Β΅s notify_sd=7.915Β΅s rules=1.635102ms tracing=10.36Β΅s
Feb 05 03:41:48 web-03 prometheus-obs-web-universe-main-dev[3563035]: ts=2026-02-05T03:41:48.597Z caller=main.go:1182 level=info msg="Server is ready to receive web requests."
Feb 05 03:41:48 web-03 prometheus-obs-web-universe-main-dev[3563035]: ts=2026-02-05T03:41:48.597Z caller=manager.go:164 level=info component="rule manager" msg="Starting rule manager..."
[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] Provider script completed with exit code: 0
[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


[INFO] ═══════════════════════════════════════════════════════════════
[OK]   βœ… Metrics Deployed Successfully
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Provider: prometheus
[INFO] FQDN: metrics-web-universe-main-dev-prometheus.fastorder.com
[INFO] IP: 10.100.1.236
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Registering Prometheus in monitoring dashboard...
[INFO] Detected 4-part identifier format
[INFO] Registering node via API
[INFO]   Application:       Prometheus
[INFO]   Identifier:        web-universe-main-dev-prometheus
[INFO]   Identifier Parent: cluster
[INFO]   IP:                10.100.1.236
[INFO]   Port:              9090
[INFO]   FQDN:              metrics-web-universe-main-dev-prometheus.fastorder.com
[INFO]   Status:            running
[INFO]   Environment:       web-universe-main-dev (service=web, zone=universe, branch=main, env=dev)
[INFO] Calling registration API: https://skeleton.dev.fastorder.com/api/obs/register
[WARN] Registration API call failed (HTTP 500), retrying (1/3)...
[WARN] Response: {"success":false,"error":"Registration failed: SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation \"obs.application\" does not exist\nLINE 2:                     SELECT uuid FROM obs.application\n                                             ^"}
[WARN] Registration API call failed (HTTP 500), retrying (2/3)...
[WARN] Response: {"success":false,"error":"Registration failed: SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation \"obs.application\" does not exist\nLINE 2:                     SELECT uuid FROM obs.application\n                                             ^"}
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ERROR] ❌ REGISTRATION FAILED AFTER 3 ATTEMPTS
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ERROR] HTTP Status: 500
[ERROR] Response: {"success":false,"error":"Registration failed: SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation \"obs.application\" does not exist\nLINE 2:                     SELECT uuid FROM obs.application\n                                             ^"}
[ERROR] 
[ERROR] API endpoint: https://skeleton.dev.fastorder.com/api/obs/register
[ERROR] 
[ERROR] Troubleshooting:
[ERROR]   1. Check if skeleton.dev.fastorder.com is accessible
[ERROR]   2. Verify web application is running
[ERROR]   3. Check web application logs: /var/www/html/skeleton.dev.fastorder.com/logs/
[ERROR]   4. Test API manually:
[ERROR]      curl -k -X POST 'https://skeleton.dev.fastorder.com/api/obs/register' \
[ERROR]        -H 'Content-Type: application/json' \
[ERROR]        -H 'X-Internal-Token: $OBS_INTERNAL_API_TOKEN' \
[ERROR]        -d '$PAYLOAD'
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[WARN] Failed to register Prometheus (service is running)

[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] Step 7/10: METRICS DEPLOYMENT RESULT
[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO]   Exit code: 0
[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[OK]   βœ… Metrics backend (prometheus) deployed successfully
[INFO] Step 8/10: Deploying traces backend...
[INFO]   Provider: tempo (selected)
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] TRACES DEPLOYMENT
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Provider: tempo
[INFO] Observability Cell: obs-web-universe-main-dev
[INFO] FQDN: traces-web-universe-main-dev-tempo.fastorder.com
[INFO] IP: 10.100.1.239
[INFO] ═══════════════════════════════════════════════════════════════

[INFO] Using provider: tempo
[INFO] Provider script: /opt/fastorder/bash/scripts/env_app_setup/setup/02-observability-cell/Traces/provider/tempo.sh

[INFO] Executing provider deployment script...
[INFO] Parsed: SERVICE=web, ZONE=universe, BRANCH=main, ENV=dev
[INFO] Checking and cleaning ports before installation...
[INFO] Initializing certificate directory for obs-web-universe-main-dev...
[2026-02-05 03:41:59 UTC] USER=www-data EUID=0 PID=3563486 ACTION=passthru ARGS=chmod 755 /etc/fastorder
[2026-02-05 03:41:59 UTC] USER=www-data EUID=0 PID=3563495 ACTION=passthru ARGS=chmod 755 /etc/fastorder/observability
[2026-02-05 03:41:59 UTC] USER=www-data EUID=0 PID=3563505 ACTION=fsop ARGS=chmod 751 /etc/fastorder/observability/certs
[2026-02-05 03:41:59 UTC] USER=www-data EUID=0 PID=3563514 ACTION=fsop ARGS=chmod 751 /etc/fastorder/observability/certs/obs-web-universe-main-dev
[OK]   Certificate directory initialized: /etc/fastorder/observability/certs/obs-web-universe-main-dev
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Checking and cleaning ports for observability cell: obs-web-universe-main-dev
[INFO] IP Address: 10.100.1.239
[INFO] ═══════════════════════════════════════════════════════════════

[INFO] Checking for conflicting observability services...
[INFO] Service clickhouse-server-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service clickhouse-server-obs-web-universe-main-dev.service belongs to current cell (skipping)
[INFO] Service clickhouse-server@obs-web-universe-main-dev.service belongs to current cell (skipping)
[INFO] Service otelcol-metrics-iam-identity-universe-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-metrics-identity-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-metrics-identity-universe-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-metrics-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-metrics-user-universe-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-metrics-web-universe-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service otelcol-obs-web-universe-main-dev.service belongs to current cell (skipping)
[INFO] Service prometheus-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service prometheus-obs-web-universe-main-dev.service belongs to current cell (skipping)
[INFO] Service grafana-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service tempo-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Service alertmanager-obs-user-sau-main-dev.service not currently listening (may be stopped or starting) - skipping
[INFO] Found 16 observability service(s) (all belong to current cell)
[INFO] Checking for remaining processes on IP 10.100.1.239...

[INFO] Scanning 15 ports...


[OK]   βœ… All 15 ports are FREE - ready for installation

[OK]   Port cleanup successful on attempt 1
[INFO] Binding Tempo to allocated IP: 10.100.1.239
[INFO] Deploying Grafana Tempo for observability cell: obs-web-universe-main-dev
[INFO] FQDN: traces-web-universe-main-dev-tempo.fastorder.com
[INFO] Allocated IP: 10.100.1.239
[INFO] VM IP: 10.100.1.239
[INFO] Ports: HTTP=3200 gRPC=9334, OTLP gRPC=4317, OTLP HTTP=4318
[VERSION] Fetching latest version for tempo from GitHub (grafana/tempo)...
[VERSION] Latest tempo version: 2.10.0
[INFO] Resolved Tempo version: 2.10.0
[INFO] Checking if Grafana Tempo is installed...
[OK]   Grafana Tempo already installed at /usr/local/bin/tempo
[INFO] Preparing configuration and data directories...
[2026-02-05 03:42:00 UTC] USER=www-data EUID=0 PID=3563713 ACTION=passthru ARGS=mkdir -p /etc/tempo/obs-web-universe-main-dev
[2026-02-05 03:42:00 UTC] USER=www-data EUID=0 PID=3563722 ACTION=passthru ARGS=mkdir -p /var/lib/tempo/obs-web-universe-main-dev
[2026-02-05 03:42:00 UTC] USER=www-data EUID=0 PID=3563731 ACTION=passthru ARGS=mkdir -p /var/lib/tempo/obs-web-universe-main-dev/wal
[2026-02-05 03:42:00 UTC] USER=www-data EUID=0 PID=3563749 ACTION=passthru ARGS=chown -R tempo:tempo /etc/tempo/obs-web-universe-main-dev /var/lib/tempo/obs-web-universe-main-dev
[2026-02-05 03:42:00 UTC] USER=www-data EUID=0 PID=3563758 ACTION=passthru ARGS=chmod 750 /etc/tempo/obs-web-universe-main-dev /var/lib/tempo/obs-web-universe-main-dev
[INFO] Creating Grafana Tempo configuration...
[INFO] TLS configuration exported for tempo
[INFO]   Cert: /etc/fastorder/observability/certs/obs-web-universe-main-dev/tempo-cert.pem
[INFO]   Key:  /etc/fastorder/observability/certs/obs-web-universe-main-dev/tempo-key.pem
[INFO]   CA:   /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-cert.pem
[INFO] Setting up certificate permissions for Tempo...
[INFO] Configuring certificate permissions for tempo (user: tempo)
[INFO] Initializing certificate directory for obs-web-universe-main-dev...
[2026-02-05 03:42:00 UTC] USER=www-data EUID=0 PID=3563773 ACTION=passthru ARGS=chmod 755 /etc/fastorder
[2026-02-05 03:42:00 UTC] USER=www-data EUID=0 PID=3563782 ACTION=passthru ARGS=chmod 755 /etc/fastorder/observability
[2026-02-05 03:42:00 UTC] USER=www-data EUID=0 PID=3563791 ACTION=fsop ARGS=chmod 751 /etc/fastorder/observability/certs
[2026-02-05 03:42:00 UTC] USER=www-data EUID=0 PID=3563800 ACTION=fsop ARGS=chmod 751 /etc/fastorder/observability/certs/obs-web-universe-main-dev
[OK]   Certificate directory initialized: /etc/fastorder/observability/certs/obs-web-universe-main-dev
[INFO]   Setting file permissions...
[2026-02-05 03:42:00 UTC] USER=www-data EUID=0 PID=3563810 ACTION=passthru ARGS=chmod 644 /etc/fastorder/observability/certs/obs-web-universe-main-dev/tempo-cert.pem
[2026-02-05 03:42:00 UTC] USER=www-data EUID=0 PID=3563819 ACTION=passthru ARGS=chmod 644 /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-cert.pem
[2026-02-05 03:42:00 UTC] USER=www-data EUID=0 PID=3563828 ACTION=passthru ARGS=chmod 640 /etc/fastorder/observability/certs/obs-web-universe-main-dev/tempo-key.pem
[INFO]   Setting file ownership...
[2026-02-05 03:42:00 UTC] USER=www-data EUID=0 PID=3563837 ACTION=passthru ARGS=chown root:tempo /etc/fastorder/observability/certs/obs-web-universe-main-dev/tempo-key.pem
[2026-02-05 03:42:00 UTC] USER=www-data EUID=0 PID=3563846 ACTION=passthru ARGS=chown root:root /etc/fastorder/observability/certs/obs-web-universe-main-dev/tempo-cert.pem /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-cert.pem
[INFO]   Permission configuration completed
[INFO]   (Verification skipped - running via wrapper, trust chmod/chown success)
[OK]   βœ… Certificate permissions configured successfully for tempo
[2026-02-05 03:42:00 UTC] USER=www-data EUID=0 PID=3563865 ACTION=passthru ARGS=chown tempo:tempo /etc/tempo/obs-web-universe-main-dev/config.yaml
[2026-02-05 03:42:00 UTC] USER=www-data EUID=0 PID=3563874 ACTION=passthru ARGS=chmod 640 /etc/tempo/obs-web-universe-main-dev/config.yaml
[OK]   Configuration created at /etc/tempo/obs-web-universe-main-dev/config.yaml
[INFO] Creating systemd service: tempo-obs-web-universe-main-dev
[OK]   Systemd service created
[INFO] Adding /etc/hosts entry for traces-web-universe-main-dev-tempo.fastorder.com -> 10.100.1.239
[OK]   Updated /etc/hosts entry to use VM_IP
[INFO] Storing Tempo configuration in AWS Secrets Manager (if aws CLI present)...
{
    "ARN": "arn:aws:secretsmanager:me-central-1:464621692046:secret:fastorder/observability/web/universe/main/dev/tempo/server-a5xrXh",
    "Name": "fastorder/observability/web/universe/main/dev/tempo/server",
    "VersionId": "996180b1-fa5c-4e02-9e09-2b507466f1af"
}
[OK]   Tempo configuration stored/updated in AWS Secrets Manager: fastorder/observability/web/universe/main/dev/tempo/server
[WARN] Port cleanup library not found, skipping automatic cleanup
[INFO] Adding iptables redirect for Tempo internal communication (required for search)...
[INFO] ╔════════════════════════════════════════════════════════════════════════╗
[INFO] β•‘  TEMPO IPTABLES DNAT CONFIGURATION (Audit Log)                        β•‘
[INFO] ╠════════════════════════════════════════════════════════════════════════╣
[INFO] β•‘  OBS_CELL:     obs-web-universe-main-dev
[INFO] β•‘  VM_IP:        10.100.1.239
[INFO] β•‘  GRPC_PORT:    9334 (unique: 9095 + last_octet)
[INFO] β•‘  TEMPO_UID:    989
[INFO] β•‘  TIMESTAMP:    2026-02-05T03:42:03Z
[INFO] β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
[INFO] Using --uid-owner 989 for DNAT rule (scoped to tempo user)
[2026-02-05 03:42:03 UTC] USER=www-data EUID=0 PID=3563982 ACTION=passthru ARGS=iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 9334 -m owner --uid-owner 989 -j DNAT --to-destination 10.100.1.239:9334
ERROR: passthru not allowed: iptables
[ERR]  Could not add iptables redirect (iptables not allowed in wrapper)
[ERR]  ╔════════════════════════════════════════════════════════════════════════╗
[ERR]  β•‘  CRITICAL: Tempo search will NOT work without this redirect!           β•‘
[ERR]  β•‘                                                                        β•‘
[ERR]  β•‘  Root cause: Tempo single-binary dials 127.0.0.1:<grpc_port>          β•‘
[ERR]  β•‘  Each instance needs unique port + matching DNAT rule.                β•‘
[ERR]  β•‘                                                                        β•‘
[ERR]  β•‘  Manually run:                                                         β•‘
[ERR]  β•‘  sudo iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 9334 -m owner --uid-owner 989 \                   β•‘
[ERR]  β•‘    -j DNAT --to-destination 10.100.1.239:9334                                                  β•‘
[ERR]  β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
[INFO] Enabling and starting Grafana Tempo service...
[2026-02-05 03:42:03 UTC] USER=www-data EUID=0 PID=3563990 ACTION=passthru ARGS=systemctl daemon-reload
[2026-02-05 03:42:03 UTC] USER=www-data EUID=0 PID=3564049 ACTION=passthru ARGS=systemctl enable tempo-obs-web-universe-main-dev.service
Created symlink /etc/systemd/system/multi-user.target.wants/tempo-obs-web-universe-main-dev.service β†’ /etc/systemd/system/tempo-obs-web-universe-main-dev.service.
[2026-02-05 03:42:04 UTC] USER=www-data EUID=0 PID=3564111 ACTION=passthru ARGS=systemctl restart tempo-obs-web-universe-main-dev.service
[OK]   Service enabled and started
[INFO] Validating deployment...
[2026-02-05 03:42:07 UTC] USER=www-data EUID=0 PID=3564232 ACTION=passthru ARGS=systemctl is-active --quiet tempo-obs-web-universe-main-dev.service
[OK]   βœ… Grafana Tempo is running
[OK]   βœ… HTTP endpoint listening on port 3200
[OK]   βœ… OTLP gRPC endpoint listening on port 4317
[OK]   βœ… OTLP HTTP endpoint listening on port 4318
[INFO] Running smoke test: Tempo search endpoint...
[WARN] ⚠️  Tempo search smoke test failed - check iptables DNAT rule
[WARN]     Expected JSON with completedJobs/totalJobs, got: <html>
    <head>
        <title>Page Not Found</title>
        <style>
            body{
          
[INFO] Service logs (last 10 lines):
[2026-02-05 03:42:09 UTC] USER=www-data EUID=0 PID=3564298 ACTION=passthru ARGS=journalctl -u tempo-obs-web-universe-main-dev.service -n 10 --no-pager
Feb 05 03:42:04 web-03 tempo-obs-web-universe-main-dev[3564143]: level=info ts=2026-02-05T03:42:04.982195252Z caller=compactor.go:125 msg="waiting until compactor is ACTIVE in the ring"
Feb 05 03:42:04 web-03 tempo-obs-web-universe-main-dev[3564143]: level=info ts=2026-02-05T03:42:04.981064744Z caller=worker.go:250 msg="total worker concurrency updated" totalConcurrency=20
Feb 05 03:42:04 web-03 tempo-obs-web-universe-main-dev[3564143]: level=info ts=2026-02-05T03:42:04.982809454Z caller=compactor.go:131 msg="compactor is ACTIVE in the ring"
Feb 05 03:42:04 web-03 tempo-obs-web-universe-main-dev[3564143]: level=info ts=2026-02-05T03:42:04.983106421Z caller=compactor.go:140 msg="waiting until compactor ring topology is stable" min_waiting=1m0s max_waiting=5m0s
Feb 05 03:42:04 web-03 tempo-obs-web-universe-main-dev[3564143]: level=warn ts=2026-02-05T03:42:04.983329197Z caller=wal.go:103 msg="unowned file entry ignored during wal replay" file=blocks err=null
Feb 05 03:42:04 web-03 tempo-obs-web-universe-main-dev[3564143]: level=info ts=2026-02-05T03:42:04.983508299Z caller=ingester.go:451 msg="wal replay complete"
Feb 05 03:42:04 web-03 tempo-obs-web-universe-main-dev[3564143]: level=info ts=2026-02-05T03:42:04.983758546Z caller=ingester.go:465 msg="reloading local blocks" tenants=0
Feb 05 03:42:04 web-03 tempo-obs-web-universe-main-dev[3564143]: level=info ts=2026-02-05T03:42:04.983971924Z caller=lifecycler.go:687 msg="not loading tokens from file, tokens file path is empty"
Feb 05 03:42:04 web-03 tempo-obs-web-universe-main-dev[3564143]: level=info ts=2026-02-05T03:42:04.984217313Z caller=lifecycler.go:714 msg="instance not found in ring, adding with no tokens" ring=ingester
Feb 05 03:42:04 web-03 tempo-obs-web-universe-main-dev[3564143]: level=info ts=2026-02-05T03:42:04.984475896Z caller=lifecycler.go:556 msg="auto-joining cluster after timeout" ring=ingester

[INFO] ═══════════════════════════════════════════════════════════════
[OK]   βœ… Traces Deployed Successfully
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Provider: tempo
[INFO] FQDN: traces-web-universe-main-dev-tempo.fastorder.com
[INFO] IP: 10.100.1.239
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Registering Tempo in monitoring dashboard...
[INFO] Detected 4-part identifier format
[INFO] Registering node via API
[INFO]   Application:       Tempo
[INFO]   Identifier:        web-universe-main-dev-tempo
[INFO]   Identifier Parent: cluster
[INFO]   IP:                10.100.1.239
[INFO]   Port:              3200
[INFO]   FQDN:              traces-web-universe-main-dev-tempo.fastorder.com
[INFO]   Status:            running
[INFO]   Environment:       web-universe-main-dev (service=web, zone=universe, branch=main, env=dev)
[INFO] Calling registration API: https://skeleton.dev.fastorder.com/api/obs/register
[WARN] Registration API call failed (HTTP 500), retrying (1/3)...
[WARN] Response: {"success":false,"error":"Registration failed: SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation \"obs.application\" does not exist\nLINE 2:                     SELECT uuid FROM obs.application\n                                             ^"}
[WARN] Registration API call failed (HTTP 500), retrying (2/3)...
[WARN] Response: {"success":false,"error":"Registration failed: SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation \"obs.application\" does not exist\nLINE 2:                     SELECT uuid FROM obs.application\n                                             ^"}
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ERROR] ❌ REGISTRATION FAILED AFTER 3 ATTEMPTS
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ERROR] HTTP Status: 500
[ERROR] Response: {"success":false,"error":"Registration failed: SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation \"obs.application\" does not exist\nLINE 2:                     SELECT uuid FROM obs.application\n                                             ^"}
[ERROR] 
[ERROR] API endpoint: https://skeleton.dev.fastorder.com/api/obs/register
[ERROR] 
[ERROR] Troubleshooting:
[ERROR]   1. Check if skeleton.dev.fastorder.com is accessible
[ERROR]   2. Verify web application is running
[ERROR]   3. Check web application logs: /var/www/html/skeleton.dev.fastorder.com/logs/
[ERROR]   4. Test API manually:
[ERROR]      curl -k -X POST 'https://skeleton.dev.fastorder.com/api/obs/register' \
[ERROR]        -H 'Content-Type: application/json' \
[ERROR]        -H 'X-Internal-Token: $OBS_INTERNAL_API_TOKEN' \
[ERROR]        -d '$PAYLOAD'
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[WARN] ⚠️  Failed to register Tempo (service is running)
[OK]   Traces backend (tempo) deployed successfully
[INFO] Step 9/10: Deploying dashboards...
[INFO]   Provider: grafana (selected)
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] DASHBOARDS DEPLOYMENT
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Provider: grafana
[INFO] Observability Cell: obs-web-universe-main-dev
[INFO] FQDN: dashboards-web-universe-main-dev-grafana.fastorder.com
[INFO] IP: 10.100.1.237
[INFO] ═══════════════════════════════════════════════════════════════

[INFO] Using provider: grafana
[INFO] Provider script: /opt/fastorder/bash/scripts/env_app_setup/setup/02-observability-cell/Dashboards/provider/grafana.sh

[INFO] Executing provider deployment script...
[INFO] Parsed: SERVICE=web, ZONE=universe, BRANCH=main, ENV=dev
[INFO] Binding to allocated IP: 10.100.1.237
[INFO] Deploying Grafana for observability cell: obs-web-universe-main-dev
[INFO] FQDN: dashboards-web-universe-main-dev-grafana.fastorder.com
[INFO] Allocated IP: 10.100.1.237
[INFO] VM IP: 10.100.1.237
[INFO] HTTP Port: 3000
[INFO] Checking if Grafana is installed...
[OK]   Grafana already installed
[INFO] Installing Grafana plugins...
[INFO] Installing ClickHouse datasource plugin...
[WARN] Failed to install ClickHouse plugin (may need internet access)
[INFO] Validating TLS certificate and key...
[INFO] Creating certificate symlinks...
[OK]   Certificate symlinks created
[INFO] Setting certificate permissions...
[OK]   TLS cert/key found and permissions set
[INFO] Creating configuration and data directories...
[2026-02-05 03:42:15 UTC] USER=www-data EUID=0 PID=3564536 ACTION=passthru ARGS=mkdir -p /etc/grafana/obs-web-universe-main-dev
[2026-02-05 03:42:15 UTC] USER=www-data EUID=0 PID=3564545 ACTION=passthru ARGS=mkdir -p /var/lib/grafana/obs-web-universe-main-dev
[2026-02-05 03:42:15 UTC] USER=www-data EUID=0 PID=3564554 ACTION=passthru ARGS=mkdir -p /etc/grafana/obs-web-universe-main-dev/provisioning/datasources
[2026-02-05 03:42:15 UTC] USER=www-data EUID=0 PID=3564563 ACTION=passthru ARGS=mkdir -p /etc/grafana/obs-web-universe-main-dev/provisioning/dashboards
[2026-02-05 03:42:15 UTC] USER=www-data EUID=0 PID=3564573 ACTION=passthru ARGS=mkdir -p /etc/grafana/obs-web-universe-main-dev/provisioning/notifiers
[INFO] Creating Grafana configuration at /etc/grafana/obs-web-universe-main-dev/grafana.ini...
[OK]   Configuration created
[INFO] Creating Prometheus datasource provisioning...
[OK]   Prometheus datasource provisioned
[INFO] Creating Tempo datasource provisioning...
[OK]   Tempo datasource provisioned
[INFO] Creating Loki datasource provisioning...
[OK]   Loki datasource provisioned
[INFO] Creating ClickHouse datasource provisioning...
[OK]   Retrieved ClickHouse credentials from Secrets Manager
[OK]   ClickHouse datasource provisioned
[INFO] Creating systemd service: grafana-obs-web-universe-main-dev
[OK]   Systemd service created
[2026-02-05 03:42:18 UTC] USER=www-data EUID=0 PID=3564738 ACTION=passthru ARGS=chown -R grafana:grafana /etc/grafana/obs-web-universe-main-dev
[2026-02-05 03:42:18 UTC] USER=www-data EUID=0 PID=3564748 ACTION=passthru ARGS=chown -R grafana:grafana /var/lib/grafana/obs-web-universe-main-dev
[2026-02-05 03:42:18 UTC] USER=www-data EUID=0 PID=3564757 ACTION=passthru ARGS=chmod 750 /etc/grafana/obs-web-universe-main-dev /var/lib/grafana/obs-web-universe-main-dev
[INFO] Adding /etc/hosts entry for dashboards-web-universe-main-dev-grafana.fastorder.com -> 10.100.1.237
[WARN] /etc/hosts entry already exists
[INFO] Storing Grafana credentials in AWS Secrets Manager (if aws CLI present)...
{
    "ARN": "arn:aws:secretsmanager:me-central-1:464621692046:secret:fastorder/observability/web/universe/main/dev/grafana/admin-3TSJrX",
    "Name": "fastorder/observability/web/universe/main/dev/grafana/admin",
    "VersionId": "db6ff3cb-367f-4d7b-9b30-8b473d6e02ca"
}
[OK]   Credentials stored in AWS Secrets Manager: fastorder/observability/web/universe/main/dev/grafana/admin
[INFO] Enabling and starting Grafana service...
[2026-02-05 03:42:20 UTC] USER=www-data EUID=0 PID=3564825 ACTION=passthru ARGS=systemctl daemon-reload
[2026-02-05 03:42:20 UTC] USER=www-data EUID=0 PID=3564886 ACTION=passthru ARGS=systemctl enable grafana-obs-web-universe-main-dev.service
Created symlink /etc/systemd/system/multi-user.target.wants/grafana-obs-web-universe-main-dev.service β†’ /etc/systemd/system/grafana-obs-web-universe-main-dev.service.
[2026-02-05 03:42:21 UTC] USER=www-data EUID=0 PID=3564941 ACTION=passthru ARGS=systemctl restart grafana-obs-web-universe-main-dev.service
[OK]   Service enabled and started
[INFO] Validating deployment...
[2026-02-05 03:42:26 UTC] USER=www-data EUID=0 PID=3565096 ACTION=passthru ARGS=systemctl is-active --quiet grafana-obs-web-universe-main-dev.service
[OK]   βœ… Grafana is running
[OK]   βœ… Grafana web interface listening on port 3000
[INFO] ═══════════════════════════════════════════════════════════════
[OK]   Grafana Dashboard URL: https://dashboards-web-universe-main-dev-grafana.fastorder.com:3000
[OK]   Username: admin
[OK]   Password is stored in AWS Secrets Manager at: fastorder/observability/web/universe/main/dev/grafana/admin
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Service logs (last 10 lines):
[2026-02-05 03:42:26 UTC] USER=www-data EUID=0 PID=3565110 ACTION=passthru ARGS=journalctl -u grafana-obs-web-universe-main-dev.service -n 10 --no-pager
Feb 05 03:42:26 web-03 grafana-obs-web-universe-main-dev[3564951]: logger=migrator t=2026-02-05T03:42:26.526265101Z level=info msg="Migration successfully executed" id="add snapshot local_directory column" duration=13.202243ms
Feb 05 03:42:26 web-03 grafana-obs-web-universe-main-dev[3564951]: logger=migrator t=2026-02-05T03:42:26.530357633Z level=info msg="Executing migration" id="add snapshot gms_snapshot_uid column"
Feb 05 03:42:26 web-03 grafana-obs-web-universe-main-dev[3564951]: logger=migrator t=2026-02-05T03:42:26.540925207Z level=info msg="Migration successfully executed" id="add snapshot gms_snapshot_uid column" duration=10.56552ms
Feb 05 03:42:26 web-03 grafana-obs-web-universe-main-dev[3564951]: logger=migrator t=2026-02-05T03:42:26.550296467Z level=info msg="Executing migration" id="add snapshot encryption_key column"
Feb 05 03:42:26 web-03 grafana-obs-web-universe-main-dev[3564951]: logger=migrator t=2026-02-05T03:42:26.565502055Z level=info msg="Migration successfully executed" id="add snapshot encryption_key column" duration=15.202432ms
Feb 05 03:42:26 web-03 grafana-obs-web-universe-main-dev[3564951]: logger=migrator t=2026-02-05T03:42:26.570027133Z level=info msg="Executing migration" id="add snapshot error_string column"
Feb 05 03:42:26 web-03 grafana-obs-web-universe-main-dev[3564951]: logger=migrator t=2026-02-05T03:42:26.580846488Z level=info msg="Migration successfully executed" id="add snapshot error_string column" duration=10.815398ms
Feb 05 03:42:26 web-03 grafana-obs-web-universe-main-dev[3564951]: logger=migrator t=2026-02-05T03:42:26.586156706Z level=info msg="Executing migration" id="create cloud_migration_resource table v1"
Feb 05 03:42:26 web-03 grafana-obs-web-universe-main-dev[3564951]: logger=migrator t=2026-02-05T03:42:26.588852622Z level=info msg="Migration successfully executed" id="create cloud_migration_resource table v1" duration=2.69762ms
Feb 05 03:42:26 web-03 grafana-obs-web-universe-main-dev[3564951]: logger=migrator t=2026-02-05T03:42:26.593259435Z level=info msg="Executing migration" id="delete cloud_migration_snapshot.result column"

[INFO] ═══════════════════════════════════════════════════════════════
[OK]   βœ… Dashboards Deployed Successfully
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Provider: grafana
[INFO] FQDN: dashboards-web-universe-main-dev-grafana.fastorder.com
[INFO] IP: 10.100.1.237
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Registering Grafana in monitoring dashboard...
[INFO] Detected 4-part identifier format
[INFO] Registering node via API
[INFO]   Application:       Grafana
[INFO]   Identifier:        web-universe-main-dev-grafana
[INFO]   Identifier Parent: cluster
[INFO]   IP:                10.100.1.237
[INFO]   Port:              3000
[INFO]   FQDN:              dashboards-web-universe-main-dev-grafana.fastorder.com
[INFO]   Status:            running
[INFO]   Environment:       web-universe-main-dev (service=web, zone=universe, branch=main, env=dev)
[INFO] Calling registration API: https://skeleton.dev.fastorder.com/api/obs/register
[WARN] Registration API call failed (HTTP 500), retrying (1/3)...
[WARN] Response: {"success":false,"error":"Registration failed: SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation \"obs.application\" does not exist\nLINE 2:                     SELECT uuid FROM obs.application\n                                             ^"}
[WARN] Registration API call failed (HTTP 500), retrying (2/3)...
[WARN] Response: {"success":false,"error":"Registration failed: SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation \"obs.application\" does not exist\nLINE 2:                     SELECT uuid FROM obs.application\n                                             ^"}
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ERROR] ❌ REGISTRATION FAILED AFTER 3 ATTEMPTS
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ERROR] HTTP Status: 500
[ERROR] Response: {"success":false,"error":"Registration failed: SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation \"obs.application\" does not exist\nLINE 2:                     SELECT uuid FROM obs.application\n                                             ^"}
[ERROR] 
[ERROR] API endpoint: https://skeleton.dev.fastorder.com/api/obs/register
[ERROR] 
[ERROR] Troubleshooting:
[ERROR]   1. Check if skeleton.dev.fastorder.com is accessible
[ERROR]   2. Verify web application is running
[ERROR]   3. Check web application logs: /var/www/html/skeleton.dev.fastorder.com/logs/
[ERROR]   4. Test API manually:
[ERROR]      curl -k -X POST 'https://skeleton.dev.fastorder.com/api/obs/register' \
[ERROR]        -H 'Content-Type: application/json' \
[ERROR]        -H 'X-Internal-Token: $OBS_INTERNAL_API_TOKEN' \
[ERROR]        -d '$PAYLOAD'
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[WARN] ⚠️  Failed to register Grafana (service is running)
[OK]   Dashboards (grafana) deployed successfully
[INFO] Step 10/10: Deploying alerting...
[INFO]   Provider: alertmanager (selected)
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] ALERTING DEPLOYMENT
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Provider: alertmanager
[INFO] Observability Cell: obs-web-universe-main-dev
[INFO] FQDN: alerts-web-universe-main-dev-alertmanager.fastorder.com
[INFO] IP: 10.100.1.240
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Ports: Web=9093 Cluster=9094 (bound to IP: 10.100.1.240)

[INFO] Using provider: alertmanager
[INFO] Provider script: /opt/fastorder/bash/scripts/env_app_setup/setup/02-observability-cell/Alerting/provider/alertmanager.sh

[INFO] Executing provider deployment script...
[INFO] Parsed: SERVICE=web, ZONE=universe, BRANCH=main, ENV=dev
[INFO] Binding to allocated IP: 10.100.1.240
[INFO] Deploying Alertmanager for observability cell: obs-web-universe-main-dev
[INFO] FQDN: alerts-web-universe-main-dev-alertmanager.fastorder.com
[INFO] Allocated IP: 10.100.1.240
[INFO] VM IP: 10.100.1.240
[INFO] Ports: Web=9093 Cluster=9094
[VERSION] Fetching latest version for alertmanager from GitHub (prometheus/alertmanager)...
[VERSION] Latest alertmanager version: 0.31.0
[INFO] Resolved Alertmanager version: 0.31.0
[INFO] Checking if Alertmanager is installed...
[OK]   Alertmanager already installed at /usr/local/bin/alertmanager
[INFO] Validating TLS certificate and key...
[OK]   TLS cert/key found in /etc/fastorder/observability/certs/obs-web-universe-main-dev
[INFO] Creating configuration and data directories...
[2026-02-05 03:42:32 UTC] USER=www-data EUID=0 PID=3565372 ACTION=passthru ARGS=mkdir -p /etc/alertmanager/obs-web-universe-main-dev
[2026-02-05 03:42:32 UTC] USER=www-data EUID=0 PID=3565381 ACTION=passthru ARGS=mkdir -p /var/lib/alertmanager/obs-web-universe-main-dev
[2026-02-05 03:42:32 UTC] USER=www-data EUID=0 PID=3565390 ACTION=passthru ARGS=mkdir -p /etc/alertmanager/obs-web-universe-main-dev/templates
[INFO] Creating Alertmanager configuration...
[OK]   Alertmanager configuration created at /etc/alertmanager/obs-web-universe-main-dev/alertmanager.yml
[INFO] Creating notification templates...
[OK]   Notification templates created
[INFO] Creating Alertmanager web TLS configuration with mTLS...
[OK]   Web mTLS configuration created at /etc/alertmanager/obs-web-universe-main-dev/web-config.yml
[INFO] Validating Alertmanager configuration...
[2026-02-05 03:42:32 UTC] USER=www-data EUID=0 PID=3565426 ACTION=passthru ARGS=chmod 755 /etc/alertmanager/obs-web-universe-main-dev
[2026-02-05 03:42:32 UTC] USER=www-data EUID=0 PID=3565435 ACTION=passthru ARGS=chmod 644 /etc/alertmanager/obs-web-universe-main-dev/alertmanager.yml
Checking '/etc/alertmanager/obs-web-universe-main-dev/alertmanager.yml'  SUCCESS
Found:
 - global config
 - route
 - 6 inhibit rules
 - 5 receivers
 - 1 templates
  SUCCESS

[OK]   βœ… Configuration is valid
[INFO] Creating systemd service: alertmanager-obs-web-universe-main-dev
[OK]   Systemd service created
[2026-02-05 03:42:33 UTC] USER=www-data EUID=0 PID=3565461 ACTION=passthru ARGS=chown alertmanager:alertmanager /etc/fastorder/observability/certs/obs-web-universe-main-dev/alertmanager-key.pem
[2026-02-05 03:42:33 UTC] USER=www-data EUID=0 PID=3565470 ACTION=passthru ARGS=chown alertmanager:alertmanager /etc/fastorder/observability/certs/obs-web-universe-main-dev/alertmanager-cert.pem
[2026-02-05 03:42:33 UTC] USER=www-data EUID=0 PID=3565479 ACTION=passthru ARGS=chmod 644 /etc/fastorder/observability/certs/obs-web-universe-main-dev/ca-cert.pem
[2026-02-05 03:42:33 UTC] USER=www-data EUID=0 PID=3565488 ACTION=passthru ARGS=chown -R alertmanager:alertmanager /etc/alertmanager/obs-web-universe-main-dev
[2026-02-05 03:42:33 UTC] USER=www-data EUID=0 PID=3565497 ACTION=passthru ARGS=chown -R alertmanager:alertmanager /var/lib/alertmanager/obs-web-universe-main-dev
[2026-02-05 03:42:33 UTC] USER=www-data EUID=0 PID=3565507 ACTION=passthru ARGS=chmod 750 /etc/alertmanager/obs-web-universe-main-dev /var/lib/alertmanager/obs-web-universe-main-dev
[INFO] Adding /etc/hosts entry for alerts-web-universe-main-dev-alertmanager.fastorder.com -> 10.100.1.240
[WARN] /etc/hosts entry already exists
[INFO] Storing Alertmanager configuration in AWS Secrets Manager (if aws CLI present)...
{
    "ARN": "arn:aws:secretsmanager:me-central-1:464621692046:secret:fastorder/observability/web/universe/main/dev/alertmanager/server-Q7G62t",
    "Name": "fastorder/observability/web/universe/main/dev/alertmanager/server",
    "VersionId": "8c98947b-096a-43e7-b972-a509eda01455"
}
[OK]   Configuration stored in AWS Secrets Manager: fastorder/observability/web/universe/main/dev/alertmanager/server
[INFO] Enabling and starting Alertmanager service...
[2026-02-05 03:42:34 UTC] USER=www-data EUID=0 PID=3565560 ACTION=passthru ARGS=systemctl daemon-reload
[2026-02-05 03:42:35 UTC] USER=www-data EUID=0 PID=3565672 ACTION=passthru ARGS=systemctl enable alertmanager-obs-web-universe-main-dev.service
Created symlink /etc/systemd/system/multi-user.target.wants/alertmanager-obs-web-universe-main-dev.service β†’ /etc/systemd/system/alertmanager-obs-web-universe-main-dev.service.
[2026-02-05 03:42:35 UTC] USER=www-data EUID=0 PID=3565726 ACTION=passthru ARGS=systemctl restart alertmanager-obs-web-universe-main-dev.service
[OK]   Service enabled and started
[INFO] Validating deployment...
[OK]   βœ… Alertmanager is running
[OK]   βœ… Alertmanager HTTPS web interface listening on port 9093
[OK]   βœ… Alertmanager cluster port listening on port 9094
[WARN] ⚠️  Alertmanager health check not responding yet (HTTPS)
[INFO] ═══════════════════════════════════════════════════════════════
[OK]   Alertmanager Web UI: https://alerts-web-universe-main-dev-alertmanager.fastorder.com:9093
[OK]   API Endpoint:        https://alerts-web-universe-main-dev-alertmanager.fastorder.com:9093/api/v2
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Service logs (last 10 lines):
[2026-02-05 03:42:38 UTC] USER=www-data EUID=0 PID=3565915 ACTION=passthru ARGS=journalctl -u alertmanager-obs-web-universe-main-dev.service -n 10 --no-pager
Feb 05 03:42:35 web-03 systemd[1]: Started Alertmanager - obs-web-universe-main-dev.
Feb 05 03:42:35 web-03 alertmanager-obs-web-universe-main-dev[3565745]: ts=2026-02-05T03:42:35.769Z caller=main.go:245 level=info msg="Starting Alertmanager" version="(version=0.26.0, branch=HEAD, revision=d7b4f0c7322e7151d6e3b1e31cbc15361e295d8d)"
Feb 05 03:42:35 web-03 alertmanager-obs-web-universe-main-dev[3565745]: ts=2026-02-05T03:42:35.770Z caller=main.go:246 level=info build_context="(go=go1.20.7, platform=linux/amd64, user=root@df8d7debeef4, date=20230824-11:11:58, tags=netgo)"
Feb 05 03:42:35 web-03 alertmanager-obs-web-universe-main-dev[3565745]: ts=2026-02-05T03:42:35.775Z caller=cluster.go:683 level=info component=cluster msg="Waiting for gossip to settle..." interval=2s
Feb 05 03:42:35 web-03 alertmanager-obs-web-universe-main-dev[3565745]: ts=2026-02-05T03:42:35.847Z caller=coordinator.go:113 level=info component=configuration msg="Loading configuration file" file=/etc/alertmanager/obs-web-universe-main-dev/alertmanager.yml
Feb 05 03:42:35 web-03 alertmanager-obs-web-universe-main-dev[3565745]: ts=2026-02-05T03:42:35.850Z caller=coordinator.go:126 level=info component=configuration msg="Completed loading of configuration file" file=/etc/alertmanager/obs-web-universe-main-dev/alertmanager.yml
Feb 05 03:42:35 web-03 alertmanager-obs-web-universe-main-dev[3565745]: ts=2026-02-05T03:42:35.854Z caller=tls_config.go:274 level=info msg="Listening on" address=10.100.1.240:9093
Feb 05 03:42:35 web-03 alertmanager-obs-web-universe-main-dev[3565745]: ts=2026-02-05T03:42:35.856Z caller=tls_config.go:310 level=info msg="TLS is enabled." http2=true address=10.100.1.240:9093
Feb 05 03:42:37 web-03 alertmanager-obs-web-universe-main-dev[3565745]: ts=2026-02-05T03:42:37.776Z caller=cluster.go:708 level=info component=cluster msg="gossip not settled" polls=0 before=0 now=1 elapsed=2.0011014s
Feb 05 03:42:38 web-03 alertmanager-obs-web-universe-main-dev[3565745]: 2026/02/05 03:42:38 http: TLS handshake error from 10.100.1.240:59614: tls: client didn't provide a certificate

[INFO] ═══════════════════════════════════════════════════════════════
[OK]   βœ… Alerting Deployed Successfully
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Provider: alertmanager
[INFO] FQDN: alerts-web-universe-main-dev-alertmanager.fastorder.com
[INFO] IP: 10.100.1.240
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Setting up HTTPS reverse proxy...
[INFO] Backend port: 9093
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Alertmanager HTTPS Reverse Proxy Setup
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  OBS Cell:     obs-web-universe-main-dev
  FQDN:         alerts-web-universe-main-dev-alertmanager.fastorder.com
  Backend:      https://alerts-web-universe-main-dev-alertmanager.fastorder.com:9093/ (resolved via /etc/hosts)
  Backend IP:   10.100.1.240
  Email:        admin@fastorder.com
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] Verifying prerequisites...
[ERROR] This script must be run as root or with sudo
[WARN] ⚠️  HTTPS setup failed (Alertmanager is still running on HTTP)
[INFO] Registering Alertmanager in monitoring dashboard...
[INFO] Detected 4-part identifier format
[INFO] Registering node via API
[INFO]   Application:       Alertmanager
[INFO]   Identifier:        web-universe-main-dev-alertmanager
[INFO]   Identifier Parent: cluster
[INFO]   IP:                10.100.1.240
[INFO]   Port:              9093
[INFO]   FQDN:              alerts-web-universe-main-dev-alertmanager.fastorder.com
[INFO]   Status:            running
[INFO]   Environment:       web-universe-main-dev (service=web, zone=universe, branch=main, env=dev)
[INFO] Calling registration API: https://skeleton.dev.fastorder.com/api/obs/register
[WARN] Registration API call failed (HTTP 500), retrying (1/3)...
[WARN] Response: {"success":false,"error":"Registration failed: SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation \"obs.application\" does not exist\nLINE 2:                     SELECT uuid FROM obs.application\n                                             ^"}
[WARN] Registration API call failed (HTTP 500), retrying (2/3)...
[WARN] Response: {"success":false,"error":"Registration failed: SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation \"obs.application\" does not exist\nLINE 2:                     SELECT uuid FROM obs.application\n                                             ^"}
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ERROR] ❌ REGISTRATION FAILED AFTER 3 ATTEMPTS
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ERROR] HTTP Status: 500
[ERROR] Response: {"success":false,"error":"Registration failed: SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation \"obs.application\" does not exist\nLINE 2:                     SELECT uuid FROM obs.application\n                                             ^"}
[ERROR] 
[ERROR] API endpoint: https://skeleton.dev.fastorder.com/api/obs/register
[ERROR] 
[ERROR] Troubleshooting:
[ERROR]   1. Check if skeleton.dev.fastorder.com is accessible
[ERROR]   2. Verify web application is running
[ERROR]   3. Check web application logs: /var/www/html/skeleton.dev.fastorder.com/logs/
[ERROR]   4. Test API manually:
[ERROR]      curl -k -X POST 'https://skeleton.dev.fastorder.com/api/obs/register' \
[ERROR]        -H 'Content-Type: application/json' \
[ERROR]        -H 'X-Internal-Token: $OBS_INTERNAL_API_TOKEN' \
[ERROR]        -d '$PAYLOAD'
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[WARN] ⚠️  Failed to register Alertmanager (service is running)
[OK]   Alerting (alertmanager) deployed successfully
[INFO] Step 10.5: Deploying Blackbox Exporter for synthetic monitoring...
[VERSION] Fetching latest version for blackbox_exporter from GitHub (prometheus/blackbox_exporter)...
[VERSION] Latest blackbox_exporter version: 0.28.0
[BLACKBOX] Resolved Blackbox Exporter version: 0.28.0
[BLACKBOX] Starting Blackbox Exporter deployment for obs-web-universe-main-dev
[BLACKBOX] VM IP: 10.100.1.236
[BLACKBOX] Version: 0.28.0
[BLACKBOX] Checking prerequisites...
[BLACKBOX] Creating directories...
[BLACKBOX] Downloading Blackbox Exporter v0.28.0...
Sorry, user www-data is not allowed to execute '/usr/bin/mv /tmp/tmp.u7canr1Cky/blackbox_exporter-0.28.0.linux-amd64/blackbox_exporter /usr/local/bin/' as root on web-03.
[WARN] Blackbox Exporter deployment failed (non-fatal, synthetic monitoring disabled)
[INFO] Step 11/13: Configuring HTTPS reverse proxies...
[INFO] Setting up Prometheus HTTPS proxy...
[2026-02-05 03:42:46 UTC] USER=www-data EUID=0 PID=3566291 ACTION=passthru ARGS=bash /opt/fastorder/bash/scripts/env_app_setup/setup/02-observability-cell/Metrics/https/setup-prometheus-https.sh --obs-cell obs-web-universe-main-dev --backend-ip 10.100.1.236
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Prometheus HTTPS Reverse Proxy Setup
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  OBS Cell:     obs-web-universe-main-dev
  FQDN:         metrics-web-universe-main-dev-prometheus.fastorder.com
  Backend:      https://metrics-web-universe-main-dev-prometheus.fastorder.com:9090/ (resolved via /etc/hosts)
  Backend IP:   10.100.1.236
  Email:        admin@fastorder.com
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] Verifying prerequisites...
[INFO] Enabling Apache modules...
[INFO] Testing backend connectivity (will retry up to 60s)...
[OK] Backend is accessible
[INFO] Creating HTTP VirtualHost for ACME challenge...
[OK] HTTP VirtualHost created
[INFO] Obtaining Let's Encrypt certificate...
Another instance of Certbot is already running.
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /tmp/tmppe8_osss/log or re-run Certbot with -v for more details.
[WARN] Prometheus HTTPS proxy setup failed (non-fatal)
[INFO] Setting up Grafana HTTPS proxy...
[2026-02-05 03:42:47 UTC] USER=www-data EUID=0 PID=3566364 ACTION=passthru ARGS=bash /opt/fastorder/bash/scripts/env_app_setup/setup/02-observability-cell/Dashboards/https/setup-grafana-https.sh --obs-cell obs-web-universe-main-dev --backend-ip 10.100.1.237
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Grafana HTTPS Reverse Proxy Setup
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  OBS Cell:     obs-web-universe-main-dev
  FQDN:         dashboards-web-universe-main-dev-grafana.fastorder.com
  Backend:      https://dashboards-web-universe-main-dev-grafana.fastorder.com:3000/ (resolved via /etc/hosts)
  Backend IP:   10.100.1.237
  Email:        admin@fastorder.com
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] Verifying prerequisites...
[INFO] Enabling Apache modules...
[INFO] Testing backend connectivity...
[INFO] Creating HTTP VirtualHost for ACME challenge...
[OK] HTTP VirtualHost created
[INFO] Obtaining Let's Encrypt certificate...
Another instance of Certbot is already running.
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /tmp/tmpqy9j4g4c/log or re-run Certbot with -v for more details.
[WARN] Grafana HTTPS proxy setup failed (non-fatal)
[INFO] Setting up OpenTelemetry Collector HTTPS proxy...
[2026-02-05 03:42:48 UTC] USER=www-data EUID=0 PID=3566460 ACTION=passthru ARGS=bash /opt/fastorder/bash/scripts/env_app_setup/setup/02-observability-cell/Telemetry/https/setup-otelcol-https.sh --obs-cell obs-web-universe-main-dev --backend-ip 10.100.1.241
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OpenTelemetry Collector HTTPS Reverse Proxy Setup
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  OBS Cell:     obs-web-universe-main-dev
  FQDN:         telemetry-web-universe-main-dev-opentelemetry.fastorder.com
  Backend:      http://telemetry-web-universe-main-dev-opentelemetry.fastorder.com:8888/ (resolved via /etc/hosts)
  Backend IP:   10.100.1.241
  Email:        admin@fastorder.com
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] Verifying prerequisites...
[INFO] Enabling Apache modules...
[INFO] Testing backend connectivity...
[WARN] Cannot verify OTel Collector metrics endpoint, continuing anyway...
[INFO] Creating HTTP VirtualHost for ACME challenge...
[OK] HTTP VirtualHost created
[INFO] Obtaining Let's Encrypt certificate...
Another instance of Certbot is already running.
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /tmp/tmpbuuvw39b/log or re-run Certbot with -v for more details.
[WARN] OpenTelemetry Collector HTTPS proxy setup failed (non-fatal)
[INFO] Setting up ClickHouse HTTPS proxy...
[2026-02-05 03:42:49 UTC] USER=www-data EUID=0 PID=3566531 ACTION=passthru ARGS=bash /opt/fastorder/bash/scripts/env_app_setup/setup/02-observability-cell/LogStorageBackend/https/setup-clickhouse-https.sh --obs-cell obs-web-universe-main-dev --backend-ip 10.100.1.238
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ClickHouse HTTPS Reverse Proxy Setup
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  OBS Cell:     obs-web-universe-main-dev
  FQDN:         logstore-web-universe-main-dev.fastorder.com
  Backend:      http://logstore-web-universe-main-dev.fastorder.com:8123/ (resolved via /etc/hosts)
  Backend IP:   10.100.1.238
  Email:        admin@fastorder.com
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] Verifying prerequisites...
[INFO] Enabling Apache modules...
[INFO] Testing backend connectivity (will retry up to 60s)...
[OK] Backend is accessible
[INFO] Creating HTTP VirtualHost for ACME challenge...
[OK] HTTP VirtualHost created
[INFO] Obtaining Let's Encrypt certificate...
Another instance of Certbot is already running.
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /tmp/tmpih9i4jz_/log or re-run Certbot with -v for more details.
[WARN] ClickHouse HTTPS proxy setup failed (non-fatal)
[INFO] Setting up Tempo HTTPS proxy...
[2026-02-05 03:42:50 UTC] USER=www-data EUID=0 PID=3566601 ACTION=passthru ARGS=bash /opt/fastorder/bash/scripts/env_app_setup/setup/02-observability-cell/Traces/https/setup-tempo-https.sh --obs-cell obs-web-universe-main-dev --backend-ip 10.100.1.239
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Grafana Tempo HTTPS Reverse Proxy Setup
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  OBS Cell:     obs-web-universe-main-dev
  FQDN:         traces-web-universe-main-dev-tempo.fastorder.com
  Backend:      https://10.100.1.239:3200/
  Backend IP:   10.100.1.239
  Email:        admin@fastorder.com
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] Verifying prerequisites...
[INFO] Enabling Apache modules...
[INFO] Testing backend connectivity...
[WARN] Cannot verify Tempo health endpoint (it may not be running yet), continuing anyway...
[INFO] Creating HTTP VirtualHost for ACME challenge...
[OK] HTTP VirtualHost created
[INFO] Obtaining Let's Encrypt certificate...
Another instance of Certbot is already running.
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /tmp/tmp6umbrqmu/log or re-run Certbot with -v for more details.
[WARN] Tempo HTTPS proxy setup failed (non-fatal)
[INFO] Setting up Alertmanager HTTPS proxy...
[2026-02-05 03:42:51 UTC] USER=www-data EUID=0 PID=3566686 ACTION=passthru ARGS=bash /opt/fastorder/bash/scripts/env_app_setup/setup/02-observability-cell/Alerting/https/setup-alertmanager-https.sh --obs-cell obs-web-universe-main-dev --backend-ip 10.100.1.240
[INFO] Backend port: 9093
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Alertmanager HTTPS Reverse Proxy Setup
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  OBS Cell:     obs-web-universe-main-dev
  FQDN:         alerts-web-universe-main-dev-alertmanager.fastorder.com
  Backend:      https://alerts-web-universe-main-dev-alertmanager.fastorder.com:9093/ (resolved via /etc/hosts)
  Backend IP:   10.100.1.240
  Email:        admin@fastorder.com
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] Verifying prerequisites...
[INFO] Enabling Apache modules...
[INFO] Testing backend connectivity...
[WARN] Backend health check inconclusive - proceeding anyway
[INFO] Creating HTTP VirtualHost for ACME challenge...
[OK] HTTP VirtualHost created
[INFO] Obtaining Let's Encrypt certificate...
Another instance of Certbot is already running.
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /tmp/tmp_tkg9d6f/log or re-run Certbot with -v for more details.
[WARN] Alertmanager HTTPS proxy setup failed (non-fatal)
[OK]   HTTPS reverse proxies configured
[INFO] Step 12/13: Configuring firewall rules (network segmentation)...

[INFO] ═══════════════════════════════════════════════════════════════
[INFO] CONFIGURING FIREWALL RULES FOR OBSERVABILITY CELL
[INFO] ═══════════════════════════════════════════════════════════════
[INFO] Cell ID: obs-web-universe-main-dev
[INFO] Internal Network: 10.0.0.0/8

[INFO] Discovering dashboard/skeleton VM IPs...
[INFO]   Discovered skeleton IP: 142.93.238.16 (skeleton.fastorder.com)
[INFO] Authorized dashboard IPs:
[INFO]   - 10.100.60.2
[INFO]   - 142.93.238.16

[INFO] Configuring UFW firewall rules...
[2026-02-05 03:42:52 UTC] USER=www-data EUID=0 PID=3566769 ACTION=passthru ARGS=ufw --force enable
ERROR: passthru not allowed: ufw
[2026-02-05 03:42:52 UTC] USER=www-data EUID=0 PID=3566777 ACTION=passthru ARGS=ufw default deny incoming
ERROR: passthru not allowed: ufw
[2026-02-05 03:42:52 UTC] USER=www-data EUID=0 PID=3566785 ACTION=passthru ARGS=ufw default allow outgoing
ERROR: passthru not allowed: ufw
[2026-02-05 03:42:52 UTC] USER=www-data EUID=0 PID=3566794 ACTION=passthru ARGS=ufw allow 22/tcp comment SSH
ERROR: passthru not allowed: ufw
[INFO]   Allowing prometheus (port 9090) from internal network...
[INFO]   Allowing alertmanager (port 9093) from internal network...
[2026-02-05 03:42:52 UTC] USER=www-data EUID=0 PID=3566811 ACTION=passthru ARGS=ufw allow from 10.0.0.0/8 to any port 9093 proto tcp comment Obs: alertmanager from internal
ERROR: passthru not allowed: ufw
[INFO]   Allowing clickhouse (port 8123) from internal network...
[2026-02-05 03:42:52 UTC] USER=www-data EUID=0 PID=3566819 ACTION=passthru ARGS=ufw allow from 10.0.0.0/8 to any port 8123 proto tcp comment Obs: clickhouse from internal
ERROR: passthru not allowed: ufw
[INFO]   Allowing grafana (port 3000) from internal network...
[2026-02-05 03:42:52 UTC] USER=www-data EUID=0 PID=3566827 ACTION=passthru ARGS=ufw allow from 10.0.0.0/8 to any port 3000 proto tcp comment Obs: grafana from internal
ERROR: passthru not allowed: ufw
[INFO]   Allowing otelcol (port 4318) from internal network...
[INFO]   Allowing loki (port 3100) from internal network...
[INFO]   Allowing tempo (port 3200) from internal network...
[INFO]   Allowing dashboard access from 10.100.60.2...
[2026-02-05 03:42:52 UTC] USER=www-data EUID=0 PID=3566859 ACTION=passthru ARGS=ufw allow from 10.100.60.2 to any port 9090 proto tcp comment Dashboard: prometheus
ERROR: passthru not allowed: ufw
[2026-02-05 03:42:52 UTC] USER=www-data EUID=0 PID=3566875 ACTION=passthru ARGS=ufw allow from 10.100.60.2 to any port 8123 proto tcp comment Dashboard: clickhouse
ERROR: passthru not allowed: ufw
[2026-02-05 03:42:52 UTC] USER=www-data EUID=0 PID=3566883 ACTION=passthru ARGS=ufw allow from 10.100.60.2 to any port 3000 proto tcp comment Dashboard: grafana
ERROR: passthru not allowed: ufw
[2026-02-05 03:42:52 UTC] USER=www-data EUID=0 PID=3566891 ACTION=passthru ARGS=ufw allow from 10.100.60.2 to any port 4318 proto tcp comment Dashboard: otelcol
ERROR: passthru not allowed: ufw
[2026-02-05 03:42:52 UTC] USER=www-data EUID=0 PID=3566899 ACTION=passthru ARGS=ufw allow from 10.100.60.2 to any port 3100 proto tcp comment Dashboard: loki
ERROR: passthru not allowed: ufw
[2026-02-05 03:42:52 UTC] USER=www-data EUID=0 PID=3566907 ACTION=passthru ARGS=ufw allow from 10.100.60.2 to any port 3200 proto tcp comment Dashboard: tempo
ERROR: passthru not allowed: ufw
[INFO]   Allowing dashboard access from 142.93.238.16...
[2026-02-05 03:42:53 UTC] USER=www-data EUID=0 PID=3566941 ACTION=passthru ARGS=ufw allow from 142.93.238.16 to any port 3000 proto tcp comment Dashboard: grafana
ERROR: passthru not allowed: ufw
[2026-02-05 03:42:53 UTC] USER=www-data EUID=0 PID=3566949 ACTION=passthru ARGS=ufw allow from 142.93.238.16 to any port 4318 proto tcp comment Dashboard: otelcol
ERROR: passthru not allowed: ufw
[OK]   UFW firewall rules configured

[OK]   ═══════════════════════════════════════════════════════════════
[OK]   βœ… Firewall configuration completed
[OK]   ═══════════════════════════════════════════════════════════════

[INFO] Current firewall status:
[2026-02-05 03:42:53 UTC] USER=www-data EUID=0 PID=3566991 ACTION=passthru ARGS=ufw status numbered
ERROR: passthru not allowed: ufw
[OK]   Firewall rules configured
[INFO] Step 13/13: Configuring OAuth/SSO...
[INFO] OAuth/SSO configuration script not found, skipping...

[INFO] Running validation checks...
[INFO] Validation script not found, skipping...

[INFO] Registering observability components to dashboard...
[INFO] Components to register: metrics alerts dashboards traces telemetry logstore proxy
[INFO]   Skipping metrics - registered by deploy script
[INFO]   Skipping alerts - registered by deploy script
[INFO]   Skipping dashboards - registered by deploy script
[INFO]   Skipping traces - registered by deploy script
[INFO]   Skipping telemetry - registered by deploy script
[INFO]   Skipping logstore - registered by deploy script
[INFO]   Processing component: proxy
[INFO] Registering: proxy (obs-web-universe-main-dev-proxy)
[INFO] Detected observability component, parsing: web-universe-main-dev-proxy
[INFO] Detected 4-part identifier format
[INFO] Registering node via API
[INFO]   Application:       Observability Proxy
[INFO]   Identifier:        obs-web-universe-main-dev-proxy
[INFO]   Identifier Parent: observability-cell
[INFO]   IP:                10.100.1.235
[INFO]   Port:              443
[INFO]   FQDN:              observe-web-universe-main-dev.fastorder.com
[INFO]   Status:            running
[INFO]   Environment:       web-universe-main-dev (service=web, zone=universe, branch=main, env=dev)
[INFO] Calling registration API: https://skeleton.dev.fastorder.com/api/obs/register
[WARN] Registration API call failed (HTTP 500), retrying (1/3)...
[WARN] Response: {"success":false,"error":"Registration failed: SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation \"obs.application\" does not exist\nLINE 2:                     SELECT uuid FROM obs.application\n                                             ^"}
[WARN] Registration API call failed (HTTP 500), retrying (2/3)...
[WARN] Response: {"success":false,"error":"Registration failed: SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation \"obs.application\" does not exist\nLINE 2:                     SELECT uuid FROM obs.application\n                                             ^"}
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ERROR] ❌ REGISTRATION FAILED AFTER 3 ATTEMPTS
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ERROR] HTTP Status: 500
[ERROR] Response: {"success":false,"error":"Registration failed: SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation \"obs.application\" does not exist\nLINE 2:                     SELECT uuid FROM obs.application\n                                             ^"}
[ERROR] 
[ERROR] API endpoint: https://skeleton.dev.fastorder.com/api/obs/register
[ERROR] 
[ERROR] Troubleshooting:
[ERROR]   1. Check if skeleton.dev.fastorder.com is accessible
[ERROR]   2. Verify web application is running
[ERROR]   3. Check web application logs: /var/www/html/skeleton.dev.fastorder.com/logs/
[ERROR]   4. Test API manually:
[ERROR]      curl -k -X POST 'https://skeleton.dev.fastorder.com/api/obs/register' \
[ERROR]        -H 'Content-Type: application/json' \
[ERROR]        -H 'X-Internal-Token: $OBS_INTERNAL_API_TOKEN' \
[ERROR]        -d '$PAYLOAD'
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[WARN] ⚠️ Registration returned non-zero for proxy (non-fatal)
[INFO] Registering short DNS aliases...
[WARN] ⚠️ No observability components were registered

[INFO] ═══════════════════════════════════════════════════════════════════════════════
[INFO] Verifying all observability services are running...
[INFO] ═══════════════════════════════════════════════════════════════════════════════
[OK]     βœ“ prometheus-obs-web-universe-main-dev.service is running
[OK]     βœ“ tempo-obs-web-universe-main-dev.service is running
[OK]     βœ“ otelcol-obs-web-universe-main-dev.service is running
[OK]   βœ“ All observability services verified running


═══════════════════════════════════════════════════════════════════════════════
[OK]   βœ… OBSERVABILITY CELL PROVISIONED: obs-web-universe-main-dev
═══════════════════════════════════════════════════════════════════════════════

[INFO] DNS Entries:
  metrics-web-universe-main-dev-prometheus.fastorder.com (10.100.1.236)
  alerts-web-universe-main-dev-alertmanager.fastorder.com (10.100.1.240)
  dashboards-web-universe-main-dev-grafana.fastorder.com (10.100.1.237)
  traces-web-universe-main-dev-tempo.fastorder.com (10.100.1.239)
  telemetry-web-universe-main-dev-opentelemetry.fastorder.com (10.100.1.241)
  logstore-web-universe-main-dev-clickhouse.fastorder.com (10.100.1.238)
  observe-web-universe-main-dev.fastorder.com (10.100.1.235)

[INFO] Secrets Path: fastorder/observability/web/universe/dev/*

[INFO] Access (Purpose-Oriented URLs):
  Dashboards: https://dashboards-web-universe-main-dev-grafana.fastorder.com (SSO enabled)
  Metrics: https://metrics-web-universe-main-dev-prometheus.fastorder.com (internal only)
  Alerts: https://alerts-web-universe-main-dev-alertmanager.fastorder.com
  Log Storage: https://logstore-web-universe-main-dev-clickhouse.fastorder.com

[INFO] Backend Implementation (Internal - Not Exposed to Clients):
  Telemetry: otlp
  Metrics: prometheus
  Traces: tempo
  Dashboards: grafana
  Alerting: alertmanager
  Log Storage: clickhouse

[INFO] For applications in web-universe-main-dev:
  - Metrics: Push to telemetry-web-universe-main-dev-opentelemetry.fastorder.com:4318 (OTLP/HTTP)
  - Logs: Push to telemetry-web-universe-main-dev-opentelemetry.fastorder.com:4318 (OTLP/HTTP)
  - Traces: Push to telemetry-web-universe-main-dev-opentelemetry.fastorder.com:4317 (OTLP/gRPC)
  - Query Metrics: https://metrics-web-universe-main-dev-prometheus.fastorder.com
  - Query Logs: https://logstore-web-universe-main-dev-clickhouse.fastorder.com
  - Query Traces: https://traces-web-universe-main-dev-tempo.fastorder.com

[INFO] Runbook: /opt/fastorder/bash/scripts/env_app_setup/setup/02-observability-cell/RUNBOOK.md
═══════════════════════════════════════════════════════════════════════════════
6
03-search local
⏸️ PENDING

⏳ This step is pending and will execute after the previous steps complete successfully.

πŸ“„ View Logs (0 chars)
Loading logs...
7
04-eventbus local
❌ FAILED
⏰ Started: 2026-02-05 03:43:13
🏁 Finished: 2026-02-05 03:50:08
⏱️ Duration: 6 minutes
πŸ“„ View Logs (87530 chars)
[INFO] Using eventbus engine from EVENTBUS_ENGINE environment variable: kafka
[INFO] Cleaning up any existing locks...

Starting eventbus engine: kafka
═══════════════════════════════════════════════

[INFO] Using environment from web interface: web-universe-main-dev
[2026-02-05 03:43:13] Using web-provided environment: web-universe-main-dev
[2026-02-05 03:43:13] Service: web, Zone: universe, Branch: main, Env: dev
βœ“ Environment initialized successfully (mode: general)
[INFO] Starting Kafka setup process...
[INFO] Steps directory: /opt/fastorder/bash/scripts/env_app_setup/setup/04-eventbus/engine/kafka/steps
[INFO] Environment: web-universe-main-dev

[INFO] Found 13 step(s) to execute

[INFO] πŸ“¦ Step 1/13: install debezium connector...
═══════════════════════════════════════════════════════════════════
Fetching latest versions from Maven Central...
Installing Debezium PostgreSQL Connector
  Debezium version: 3.4.1.Final
  pgjdbc version:   42.7.9
═══════════════════════════════════════════════════════════════════
[INFO] Downloading Debezium PostgreSQL connector 3.4.1.Final...
[INFO] Downloading PostgreSQL JDBC driver 42.7.9...
[INFO] Backing up existing installation to /usr/share/confluent-hub-components/debezium-connector-postgres.backup.20260205034314
[2026-02-05 03:43:14 UTC] USER=www-data EUID=0 PID=3567602 ACTION=fsop ARGS=mv /usr/share/confluent-hub-components/debezium-connector-postgres /usr/share/confluent-hub-components/debezium-connector-postgres.backup.20260205034314
[INFO] Extracting Debezium connector...
[INFO] Replacing pgjdbc with version 42.7.9...
[INFO] Installing to /usr/share/confluent-hub-components/debezium-connector-postgres...
[2026-02-05 03:43:14 UTC] USER=www-data EUID=0 PID=3567618 ACTION=fsop ARGS=mkdir -p /usr/share/confluent-hub-components
[2026-02-05 03:43:14 UTC] USER=www-data EUID=0 PID=3567630 ACTION=fsop ARGS=mv /tmp/tmp.d8fwosyqRJ/debezium-connector-postgres /usr/share/confluent-hub-components/debezium-connector-postgres
[2026-02-05 03:43:14 UTC] USER=www-data EUID=0 PID=3567654 ACTION=fsop ARGS=chown -R kafka:kafka /usr/share/confluent-hub-components/debezium-connector-postgres

═══════════════════════════════════════════════════════════════════
[OK] Debezium PostgreSQL connector installed successfully!
  Debezium: 3.4.1.Final
  pgjdbc:   42.7.9
═══════════════════════════════════════════════════════════════════

═══════════════════════════════════════════════════════════════════
Installing Confluent S3 Sink Connector (Audit Cold Storage)
═══════════════════════════════════════════════════════════════════
[OK] Confluent S3 Sink connector already installed

═══════════════════════════════════════════════════════════════════
[OK] All connectors installed successfully!
  - Debezium PostgreSQL: CDC from PostgreSQL
  - Confluent S3 Sink: Cold storage for audit retention
═══════════════════════════════════════════════════════════════════
[OK] βœ… Step 1 completed: 00-install-debezium-connector.sh

[INFO] πŸ“¦ Step 2/13: kafka setup...
[INFO] Loaded environment: web-universe-main-dev (svc=web zone=universe env=dev ip=142.93.238.16)
πŸ”‘ Configuring AWS credentials for secrets vault...
βœ… Using permanent AWS credentials from /home/ab/.aws/credentials
🧹 Checking for orphaned Kafka processes on ports 9092, 9093, 8083...
  ⚠️  Found process on port 9092 (PIDs: [2026-02-05 03:43:14 UTC] USER=www-data EUID=0 PID=3567730 ACTION=passthru ARGS=bash -c lsof -ti tcp:9092 2>/dev/null || true
886
887
1034), killing...
[2026-02-05 03:43:14 UTC] USER=www-data EUID=0 PID=3567742 ACTION=passthru ARGS=bash -c kill -9 [2026-02-05 03:43:14 UTC] USER=www-data EUID=0 PID=3567730 ACTION=passthru ARGS=bash -c lsof -ti tcp:9092 2>/dev/null || true
886
887
1034 2>/dev/null || true
/usr/bin/bash: line 2: 886: command not found
/usr/bin/bash: line 3: 887: command not found
  ⚠️  Found process on port 9093 (PIDs: [2026-02-05 03:43:16 UTC] USER=www-data EUID=0 PID=3567765 ACTION=passthru ARGS=bash -c lsof -ti tcp:9093 2>/dev/null || true
886
3565745), killing...
[2026-02-05 03:43:16 UTC] USER=www-data EUID=0 PID=3567784 ACTION=passthru ARGS=bash -c kill -9 [2026-02-05 03:43:16 UTC] USER=www-data EUID=0 PID=3567765 ACTION=passthru ARGS=bash -c lsof -ti tcp:9093 2>/dev/null || true
886
3565745 2>/dev/null || true
/usr/bin/bash: line 2: 886: command not found
  ⚠️  Found process on port 8083 (PIDs: [2026-02-05 03:43:17 UTC] USER=www-data EUID=0 PID=3567890 ACTION=passthru ARGS=bash -c lsof -ti tcp:8083 2>/dev/null || true
887
889), killing...
[2026-02-05 03:43:17 UTC] USER=www-data EUID=0 PID=3567908 ACTION=passthru ARGS=bash -c kill -9 [2026-02-05 03:43:17 UTC] USER=www-data EUID=0 PID=3567890 ACTION=passthru ARGS=bash -c lsof -ti tcp:8083 2>/dev/null || true
887
889 2>/dev/null || true
/usr/bin/bash: line 2: 887: command not found
βœ… Port cleanup completed
Ensuring KAFKA application environment for coordinator...
[INFO] Creating KAFKA application environment...
[INFO] 🎯 Custom Environment Creation (Example Wrapper)
[INFO] πŸ“ Orchestrator Library: /opt/fastorder/bash/scripts/env_app_setup/lib/env-orchestrator
[INFO] πŸ’Ύ State Directory: /opt/fastorder/bash/scripts/env_app_setup/state

[INFO] πŸš€ Calling centralized orchestrator: fo-env create-app
[INFO] πŸ“‹ Arguments: --service web --zone universe --branch main --env dev --domain eventbus-web-universe-main-dev-kafka-connect --app kafka-connect

[INFO] Creating application-specific environment configuration
[INFO] Environment ID: web-universe-main-dev
[INFO] Application: kafka-connect
[INFO] Base environment web-universe-main-dev already exists
/opt/fastorder/bash/scripts/env_app_setup/lib/env-orchestrator/lib/common.sh: line 261: echo: write error: Broken pipe
[INFO] Allocated kafka-connect IP: 10.100.1.75
[INFO] Generated domain: eventbus-web-universe-main-dev-kafka-connect.fastorder.com
[INFO] Configuring network interface for kafka-connect IP: 10.100.1.75
[2026-02-05 03:43:19 UTC] USER=www-data EUID=0 PID=3568117 ACTION=passthru ARGS=ip addr add 10.100.1.75/32 dev eth0 label eth0:75
[ OK ] Configured kafka-connect IP 10.100.1.75 on interface eth0:75
[INFO] Creating systemd service for kafka-connect IP persistence...
[2026-02-05 03:43:19 UTC] USER=www-data EUID=0 PID=3568136 ACTION=passthru ARGS=systemctl daemon-reload
[ OK ] kafka-connect IP will persist across reboots
[INFO] Updating topology with application-specific configuration...
[ OK ] Topology updated with application-specific configuration
[INFO] Binding kafka-connect IP to domain: 10.100.1.75 -> eventbus-web-universe-main-dev-kafka-connect.fastorder.com
[ OK ] Successfully bound eventbus-web-universe-main-dev-kafka-connect.fastorder.com to 10.100.1.75
[ OK ] Domain correctly mapped
[ OK ] Application environment created successfully!
[INFO] 
[INFO] Application Details:
[INFO]   Environment ID: web-universe-main-dev
[INFO]   Application: kafka-connect
[INFO]   IP: 10.100.1.75
[INFO]   Domain: eventbus-web-universe-main-dev-kafka-connect.fastorder.com
[INFO] 
[INFO] To use this application:
[INFO]   source /opt/fastorder/bash/scripts/env_app_setup/lib/env-orchestrator/lib/config_management.sh
[INFO]   init_environment kafka-connect
[INFO]   echo $VM_IP  # Returns: 10.100.1.75

[ OK ] πŸŽ‰ Environment creation completed successfully!

[INFO] πŸ“‹ What happened:
[INFO]   βœ… Called centralized orchestrator at /opt/fastorder/bash/scripts/env_app_setup/lib/env-orchestrator
[INFO]   βœ… All topology.json management handled centrally
[INFO]   βœ… Application-specific IP and domain configured
[INFO]   βœ… Network interface configured and made persistent
[INFO]   βœ… Domain binding added to /etc/hosts (if not skipped)

[INFO] πŸ”§ To use the centralized orchestrator directly:
[INFO]   # Add orchestrator to PATH
[INFO]   export PATH="/opt/fastorder/bash/scripts/env_app_setup/lib/env-orchestrator/bin:$PATH"
[INFO]   # Then call directly
[INFO]   fo-env create-app --service auth --zone uae --env dev --app redis

[INFO] πŸ“š For more orchestrator commands:
[INFO]   fo-env --help
Created KAFKA environment: eventbus-web-universe-main-dev-kafka-connect.fastorder.com (10.100.1.75)
Ensuring KAFKA_BROKER_IP application environment for coordinator...
[INFO] Creating KAFKA application environment...
[INFO] 🎯 Custom Environment Creation (Example Wrapper)
[INFO] πŸ“ Orchestrator Library: /opt/fastorder/bash/scripts/env_app_setup/lib/env-orchestrator
[INFO] πŸ’Ύ State Directory: /opt/fastorder/bash/scripts/env_app_setup/state

[INFO] πŸš€ Calling centralized orchestrator: fo-env create-app
[INFO] πŸ“‹ Arguments: --service web --zone universe --branch main --env dev --domain eventbus-web-universe-main-dev-kafka-broker-01 --app kafka-broker

[INFO] Creating application-specific environment configuration
[INFO] Environment ID: web-universe-main-dev
[INFO] Application: kafka-broker
[INFO] Base environment web-universe-main-dev already exists
/opt/fastorder/bash/scripts/env_app_setup/lib/env-orchestrator/lib/common.sh: line 261: echo: write error: Broken pipe
[INFO] Allocated kafka-broker IP: 10.100.1.225
[INFO] Generated domain: eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com
[INFO] Configuring network interface for kafka-broker IP: 10.100.1.225
[2026-02-05 03:43:22 UTC] USER=www-data EUID=0 PID=3568740 ACTION=passthru ARGS=ip addr add 10.100.1.225/32 dev eth0 label eth0:225
[ OK ] Configured kafka-broker IP 10.100.1.225 on interface eth0:225
[INFO] Creating systemd service for kafka-broker IP persistence...
[2026-02-05 03:43:22 UTC] USER=www-data EUID=0 PID=3568760 ACTION=passthru ARGS=systemctl daemon-reload
[ OK ] kafka-broker IP will persist across reboots
[INFO] Updating topology with application-specific configuration...
[ OK ] Topology updated with application-specific configuration
[INFO] Binding kafka-broker IP to domain: 10.100.1.225 -> eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com
[ OK ] Successfully bound eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com to 10.100.1.225
[ OK ] Domain correctly mapped
[ OK ] Application environment created successfully!
[INFO] 
[INFO] Application Details:
[INFO]   Environment ID: web-universe-main-dev
[INFO]   Application: kafka-broker
[INFO]   IP: 10.100.1.225
[INFO]   Domain: eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com
[INFO] 
[INFO] To use this application:
[INFO]   source /opt/fastorder/bash/scripts/env_app_setup/lib/env-orchestrator/lib/config_management.sh
[INFO]   init_environment kafka-broker
[INFO]   echo $VM_IP  # Returns: 10.100.1.225

[ OK ] πŸŽ‰ Environment creation completed successfully!

[INFO] πŸ“‹ What happened:
[INFO]   βœ… Called centralized orchestrator at /opt/fastorder/bash/scripts/env_app_setup/lib/env-orchestrator
[INFO]   βœ… All topology.json management handled centrally
[INFO]   βœ… Application-specific IP and domain configured
[INFO]   βœ… Network interface configured and made persistent
[INFO]   βœ… Domain binding added to /etc/hosts (if not skipped)

[INFO] πŸ”§ To use the centralized orchestrator directly:
[INFO]   # Add orchestrator to PATH
[INFO]   export PATH="/opt/fastorder/bash/scripts/env_app_setup/lib/env-orchestrator/bin:$PATH"
[INFO]   # Then call directly
[INFO]   fo-env create-app --service auth --zone uae --env dev --app redis

[INFO] πŸ“š For more orchestrator commands:
[INFO]   fo-env --help
Created KAFKA_BROKER_DOMAIN environment: eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com (10.100.1.225)
[INFO] Kafka Broker IP: 10.100.1.225
[INFO] Kafka Connect IP: 10.100.1.75
[INFO] Registered /etc/hosts: eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com -> 10.100.1.225
[INFO] Registered /etc/hosts: eventbus-web-universe-main-dev-kafka-connect.fastorder.com -> 10.100.1.75
πŸ” Initializing keystore passwords...
[INFO] πŸ” Checking secrets backend (provider: aws)...
⚠️  No existing passwords found
[INFO] πŸ” Generating new random passwords...
βœ… Generated new passwords
[INFO] πŸ” Vaulting kafka passwords to remote backend...
βœ… Passwords vaulted to remote backend
βœ… Keystore passwords initialized
   - Keystore password: HGvJkWmj... (32 chars)
   - Truststore password: sZRdI2nT... (32 chars)
[INFO] πŸ” Vaulting kafka passwords to remote backend...
βœ… Passwords vaulted to remote backend
βœ… Kafka keystore passwords saved to AWS Secrets Manager
[INFO] Generating for: web-universe-main-dev (host=eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com ip=10.100.1.225)
[2026-02-05 03:43:34 UTC] USER=www-data EUID=0 PID=3569354 ACTION=fsop ARGS=rm -rf /opt/kafka/secrets/web-universe-main-dev/coordinator /data/kafka/web-universe-main-dev/coordinator
[2026-02-05 03:43:34 UTC] USER=www-data EUID=0 PID=3569363 ACTION=fsop ARGS=mkdir -p /opt/kafka/secrets/web-universe-main-dev/coordinator /opt/kafka/config/web-universe-main-dev/coordinator /opt/kafka/secrets/web-universe-main-dev/coordinator/pem /data/kafka/web-universe-main-dev_coordinator-data
[2026-02-05 03:43:34 UTC] USER=www-data EUID=0 PID=3569372 ACTION=fsop ARGS=chown -R kafka:sslusers /opt/kafka/secrets/web-universe-main-dev/coordinator
[2026-02-05 03:43:35 UTC] USER=www-data EUID=0 PID=3569381 ACTION=fsop ARGS=chown -R kafka:kafka /opt/kafka/config/web-universe-main-dev/coordinator /data/kafka/web-universe-main-dev_coordinator-data
[2026-02-05 03:43:35 UTC] USER=www-data EUID=0 PID=3569391 ACTION=fsop ARGS=chmod 770 /opt/kafka/config/web-universe-main-dev/coordinator /data/kafka/web-universe-main-dev_coordinator-data
[2026-02-05 03:43:35 UTC] USER=www-data EUID=0 PID=3569400 ACTION=fsop ARGS=chmod 750 /opt/kafka/secrets/web-universe-main-dev/coordinator
[2026-02-05 03:43:35 UTC] USER=www-data EUID=0 PID=3569409 ACTION=fsop ARGS=chmod 750 /opt/kafka/secrets/web-universe-main-dev/coordinator/pem
[2026-02-05 03:43:35 UTC] USER=www-data EUID=0 PID=3569419 ACTION=fsop ARGS=chmod 700 /tmp/fo-tls.QkarjM
[2026-02-05 03:43:35 UTC] USER=www-data EUID=0 PID=3569428 ACTION=fsop ARGS=chmod 755 /tmp/fo-tls.QkarjM
[2026-02-05 03:43:35 UTC] USER=www-data EUID=0 PID=3569437 ACTION=fsop ARGS=cp /opt/fastorder/ssl/ca/fastorder_ra_root/ra_root.crt /tmp/fo-tls.QkarjM/ra_root.crt
[2026-02-05 03:43:35 UTC] USER=www-data EUID=0 PID=3569446 ACTION=fsop ARGS=cp /opt/fastorder/ssl/ca/fastorder_ra_root/ra_root.key /tmp/fo-tls.QkarjM/ra_root.key
[2026-02-05 03:43:35 UTC] USER=www-data EUID=0 PID=3569455 ACTION=fsop ARGS=chmod 644 /tmp/fo-tls.QkarjM/ra_root.crt
[2026-02-05 03:43:35 UTC] USER=www-data EUID=0 PID=3569464 ACTION=fsop ARGS=chmod 644 /tmp/fo-tls.QkarjM/ra_root.key
Certificate was added to keystore
[2026-02-05 03:43:35 UTC] USER=www-data EUID=0 PID=3569504 ACTION=fsop ARGS=mv /tmp/fo-tls.QkarjM/truststore.jks /opt/kafka/secrets/web-universe-main-dev/coordinator/truststore.jks
[2026-02-05 03:43:36 UTC] USER=www-data EUID=0 PID=3569515 ACTION=fsop ARGS=chown kafka:kafka /opt/kafka/secrets/web-universe-main-dev/coordinator/truststore.jks
[2026-02-05 03:43:36 UTC] USER=www-data EUID=0 PID=3569528 ACTION=fsop ARGS=chmod 0640 /opt/kafka/secrets/web-universe-main-dev/coordinator/truststore.jks
Generating 4,096 bit RSA key pair and self-signed certificate (SHA384withRSA) with a validity of 825 days
	for: CN=eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com, OU=Kafka Broker, O=FastOrder, C=AE

Warning:
The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore /tmp/fo-tls.QkarjM/kafka.server.keystore.jks -destkeystore /tmp/fo-tls.QkarjM/kafka.server.keystore.jks -deststoretype pkcs12".

Warning:
The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore /tmp/fo-tls.QkarjM/kafka.server.keystore.jks -destkeystore /tmp/fo-tls.QkarjM/kafka.server.keystore.jks -deststoretype pkcs12".
Certificate request self-signature ok
subject=C = AE, O = FastOrder, OU = Kafka Broker, CN = eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com
Certificate was added to keystore

Warning:
Certificate reply was installed in keystore

Warning:
[2026-02-05 03:43:40 UTC] USER=www-data EUID=0 PID=3569750 ACTION=fsop ARGS=mv /tmp/fo-tls.QkarjM/kafka.server.keystore.jks /opt/kafka/secrets/web-universe-main-dev/coordinator/kafka.server.keystore.jks
[2026-02-05 03:43:40 UTC] USER=www-data EUID=0 PID=3569759 ACTION=fsop ARGS=chown kafka:kafka /opt/kafka/secrets/web-universe-main-dev/coordinator/kafka.server.keystore.jks
[2026-02-05 03:43:40 UTC] USER=www-data EUID=0 PID=3569768 ACTION=fsop ARGS=chmod 0640 /opt/kafka/secrets/web-universe-main-dev/coordinator/kafka.server.keystore.jks
Generating 4,096 bit RSA key pair and self-signed certificate (SHA384withRSA) with a validity of 825 days
	for: CN=eventbus-web-universe-main-dev-kafka-connect.fastorder.com, OU=Kafka Connect REST, O=FastOrder, C=AE
Certificate request self-signature ok
subject=C = AE, O = FastOrder, OU = Kafka Connect REST, CN = eventbus-web-universe-main-dev-kafka-connect.fastorder.com
Certificate was added to keystore
Certificate reply was installed in keystore
[2026-02-05 03:43:45 UTC] USER=www-data EUID=0 PID=3570090 ACTION=fsop ARGS=mv /tmp/fo-tls.QkarjM/connect-rest.keystore.p12 /opt/kafka/secrets/web-universe-main-dev/coordinator/connect-rest.keystore.p12
[2026-02-05 03:43:45 UTC] USER=www-data EUID=0 PID=3570099 ACTION=fsop ARGS=chown kafka:kafka /opt/kafka/secrets/web-universe-main-dev/coordinator/connect-rest.keystore.p12
[2026-02-05 03:43:45 UTC] USER=www-data EUID=0 PID=3570108 ACTION=fsop ARGS=chmod 0640 /opt/kafka/secrets/web-universe-main-dev/coordinator/connect-rest.keystore.p12
Certificate request self-signature ok
subject=CN = kafka-client-web-universe-main-dev, OU = Kafka Client, O = FastOrder, C = AE
[2026-02-05 03:43:45 UTC] USER=www-data EUID=0 PID=3570128 ACTION=fsop ARGS=cp /tmp/fo-tls.QkarjM/ra_root.crt /opt/kafka/secrets/web-universe-main-dev/coordinator/pem/ca.pem
[2026-02-05 03:43:45 UTC] USER=www-data EUID=0 PID=3570139 ACTION=fsop ARGS=cp /tmp/fo-tls.QkarjM/client-key.pem /opt/kafka/secrets/web-universe-main-dev/coordinator/pem/client-key.pem
[2026-02-05 03:43:45 UTC] USER=www-data EUID=0 PID=3570150 ACTION=fsop ARGS=cp /tmp/fo-tls.QkarjM/client-cert.pem /opt/kafka/secrets/web-universe-main-dev/coordinator/pem/client-cert.pem
[2026-02-05 03:43:45 UTC] USER=www-data EUID=0 PID=3570161 ACTION=fsop ARGS=chown kafka:sslusers /opt/kafka/secrets/web-universe-main-dev/coordinator/pem/ca.pem /opt/kafka/secrets/web-universe-main-dev/coordinator/pem/client-key.pem /opt/kafka/secrets/web-universe-main-dev/coordinator/pem/client-cert.pem
[2026-02-05 03:43:45 UTC] USER=www-data EUID=0 PID=3570170 ACTION=fsop ARGS=chmod 644 /opt/kafka/secrets/web-universe-main-dev/coordinator/pem/ca.pem /opt/kafka/secrets/web-universe-main-dev/coordinator/pem/client-cert.pem
[2026-02-05 03:43:45 UTC] USER=www-data EUID=0 PID=3570179 ACTION=fsop ARGS=chmod 640 /opt/kafka/secrets/web-universe-main-dev/coordinator/pem/client-key.pem
[2026-02-05 03:43:45 UTC] USER=www-data EUID=0 PID=3570189 ACTION=fsop ARGS=mv /tmp/fo-tls.QkarjM/kafka.client.keystore.p12 /opt/kafka/secrets/web-universe-main-dev/coordinator/kafka.client.keystore.p12
[2026-02-05 03:43:45 UTC] USER=www-data EUID=0 PID=3570198 ACTION=fsop ARGS=chown kafka:kafka /opt/kafka/secrets/web-universe-main-dev/coordinator/kafka.client.keystore.p12
πŸ” Ensuring kafka user has access to PostgreSQL certificates...
βœ… kafka is already in postgres group
🧹 Cleaning up conflicting services and processes on Kafka ports on 10.100.1.225...
πŸ”ͺ Killing processes on 10.100.1.225:8083: [2026-02-05 03:43:45 UTC] USER=www-data EUID=0 PID=3570251 ACTION=passthru ARGS=bash -c lsof -ti tcp:8083 -sTCP:LISTEN 2>/dev/null | xargs -I {} lsof -p {} -a -i @10.100.1.225:8083 -t 2>/dev/null || true
[2026-02-05 03:43:46 UTC] USER=www-data EUID=0 PID=3570267 ACTION=passthru ARGS=bash -c kill -9 [2026-02-05 03:43:45 UTC] USER=www-data EUID=0 PID=3570251 ACTION=passthru ARGS=bash -c lsof -ti tcp:8083 -sTCP:LISTEN 2>/dev/null | xargs -I {} lsof -p {} -a -i @10.100.1.225:8083 -t 2>/dev/null || true
πŸ”ͺ Killing processes on 10.100.1.225:9092: [2026-02-05 03:43:46 UTC] USER=www-data EUID=0 PID=3570278 ACTION=passthru ARGS=bash -c lsof -ti tcp:9092 -sTCP:LISTEN 2>/dev/null | xargs -I {} lsof -p {} -a -i @10.100.1.225:9092 -t 2>/dev/null || true
[2026-02-05 03:43:46 UTC] USER=www-data EUID=0 PID=3570292 ACTION=passthru ARGS=bash -c kill -9 [2026-02-05 03:43:46 UTC] USER=www-data EUID=0 PID=3570278 ACTION=passthru ARGS=bash -c lsof -ti tcp:9092 -sTCP:LISTEN 2>/dev/null | xargs -I {} lsof -p {} -a -i @10.100.1.225:9092 -t 2>/dev/null || true
πŸ”ͺ Killing processes on 10.100.1.225:9093: [2026-02-05 03:43:46 UTC] USER=www-data EUID=0 PID=3570303 ACTION=passthru ARGS=bash -c lsof -ti tcp:9093 -sTCP:LISTEN 2>/dev/null | xargs -I {} lsof -p {} -a -i @10.100.1.225:9093 -t 2>/dev/null || true
[2026-02-05 03:43:46 UTC] USER=www-data EUID=0 PID=3570321 ACTION=passthru ARGS=bash -c kill -9 [2026-02-05 03:43:46 UTC] USER=www-data EUID=0 PID=3570303 ACTION=passthru ARGS=bash -c lsof -ti tcp:9093 -sTCP:LISTEN 2>/dev/null | xargs -I {} lsof -p {} -a -i @10.100.1.225:9093 -t 2>/dev/null || true
βœ… Port cleanup completed
πŸ”§ Checking for Kafka Connect internal topics with incorrect cleanup policy...
ℹ️  Kafka broker not running, skipping topic cleanup policy fix
πŸ”§ Creating environment-specific systemd units...
πŸ”§ Writing client properties to /etc/kafka/client-web-universe-main-dev-coordinator.properties ...
[2026-02-05 03:43:46 UTC] USER=www-data EUID=0 PID=3570360 ACTION=fsop ARGS=chown root:kafka /etc/kafka/client-web-universe-main-dev-coordinator.properties
[2026-02-05 03:43:46 UTC] USER=www-data EUID=0 PID=3570369 ACTION=fsop ARGS=chmod 0644 /etc/kafka/client-web-universe-main-dev-coordinator.properties
πŸ”§ Creating PEM certificates for PHP mTLS access...
[2026-02-05 03:43:46 UTC] USER=www-data EUID=0 PID=3570378 ACTION=passthru ARGS=bash -c openssl pkcs12 -in '/opt/kafka/secrets/web-universe-main-dev/coordinator/kafka.client.keystore.p12' -clcerts -nokeys -passin pass:'HGvJkWmjjIaZzWVQzIjopYiQoGhZCsRH' -out '/opt/kafka/secrets/web-universe-main-dev/coordinator/pem/client.crt' 2>/dev/null
[2026-02-05 03:43:46 UTC] USER=www-data EUID=0 PID=3570388 ACTION=passthru ARGS=bash -c openssl pkcs12 -in '/opt/kafka/secrets/web-universe-main-dev/coordinator/kafka.client.keystore.p12' -nocerts -nodes -passin pass:'HGvJkWmjjIaZzWVQzIjopYiQoGhZCsRH' -out '/opt/kafka/secrets/web-universe-main-dev/coordinator/pem/client.key' 2>/dev/null
[2026-02-05 03:43:46 UTC] USER=www-data EUID=0 PID=3570398 ACTION=passthru ARGS=bash -c keytool -exportcert -alias fastorder-ra-root -keystore '/opt/kafka/secrets/web-universe-main-dev/coordinator/truststore.jks' -storepass 'sZRdI2nTnX4yhzopYtu0ttl9GtAWGH7c' -rfc -file '/opt/kafka/secrets/web-universe-main-dev/coordinator/pem/ca.crt' 2>/dev/null
[2026-02-05 03:43:47 UTC] USER=www-data EUID=0 PID=3570436 ACTION=fsop ARGS=chown root:kafka /opt/kafka/secrets/web-universe-main-dev/coordinator/pem/client.crt /opt/kafka/secrets/web-universe-main-dev/coordinator/pem/client.key /opt/kafka/secrets/web-universe-main-dev/coordinator/pem/ca.crt
[2026-02-05 03:43:47 UTC] USER=www-data EUID=0 PID=3570445 ACTION=fsop ARGS=chmod 0644 /opt/kafka/secrets/web-universe-main-dev/coordinator/pem/client.crt /opt/kafka/secrets/web-universe-main-dev/coordinator/pem/ca.crt
[2026-02-05 03:43:47 UTC] USER=www-data EUID=0 PID=3570454 ACTION=fsop ARGS=chmod 0640 /opt/kafka/secrets/web-universe-main-dev/coordinator/pem/client.key
πŸ” Creating connector secrets file for FileConfigProvider...
[2026-02-05 03:43:47 UTC] USER=www-data EUID=0 PID=3570484 ACTION=fsop ARGS=chown kafka:kafka /opt/kafka/secrets/web-universe-main-dev/coordinator/connector-secrets.properties
[2026-02-05 03:43:47 UTC] USER=www-data EUID=0 PID=3570493 ACTION=fsop ARGS=chmod 0600 /opt/kafka/secrets/web-universe-main-dev/coordinator/connector-secrets.properties
βœ… Connector secrets file created: /opt/kafka/secrets/web-universe-main-dev/coordinator/connector-secrets.properties
   FileConfigProvider syntax: ${file:/opt/kafka/secrets/web-universe-main-dev/coordinator/connector-secrets.properties:key_name}
πŸ”§ Creating Canary Event timer for pipeline verification...
[2026-02-05 03:43:47 UTC] USER=www-data EUID=0 PID=3570526 ACTION=passthru ARGS=systemctl daemon-reload
[2026-02-05 03:43:48 UTC] USER=www-data EUID=0 PID=3570579 ACTION=passthru ARGS=systemctl enable kafka-canary-web-universe-main-dev.timer
Created symlink /etc/systemd/system/timers.target.wants/kafka-canary-web-universe-main-dev.timer β†’ /etc/systemd/system/kafka-canary-web-universe-main-dev.timer.
[2026-02-05 03:43:48 UTC] USER=www-data EUID=0 PID=3570629 ACTION=passthru ARGS=systemctl start kafka-canary-web-universe-main-dev.timer
βœ… Canary timer installed: kafka-canary-web-universe-main-dev.timer (every 5 minutes)
[2026-02-05 03:43:48 UTC] USER=www-data EUID=0 PID=3570640 ACTION=passthru ARGS=systemctl daemon-reload
Failed to print table: Broken pipe
[2026-02-05 03:43:56 UTC] USER=www-data EUID=0 PID=3570856 ACTION=passthru ARGS=systemctl mask kafka-broker
πŸ”’ Adjusting group ownership and permissions ...
[2026-02-05 03:43:56 UTC] USER=www-data EUID=0 PID=3570989 ACTION=fsop ARGS=chown :kafka /opt/kafka/secrets/web-universe-main-dev/coordinator/truststore.jks /opt/kafka/secrets/web-universe-main-dev/coordinator/kafka.server.keystore.jks
[2026-02-05 03:43:56 UTC] USER=www-data EUID=0 PID=3571003 ACTION=fsop ARGS=chmod 0640 /opt/kafka/secrets/web-universe-main-dev/coordinator/truststore.jks /opt/kafka/secrets/web-universe-main-dev/coordinator/kafka.server.keystore.jks
[2026-02-05 03:43:56 UTC] USER=www-data EUID=0 PID=3571015 ACTION=fsop ARGS=chmod 0640 /opt/kafka/secrets/web-universe-main-dev/coordinator/kafka.client.keystore.p12
[2026-02-05 03:43:57 UTC] USER=www-data EUID=0 PID=3571028 ACTION=fsop ARGS=chown root:kafka /etc/kafka/client-web-universe-main-dev-coordinator.properties
[2026-02-05 03:43:57 UTC] USER=www-data EUID=0 PID=3571037 ACTION=fsop ARGS=chmod 0644 /etc/kafka/client-web-universe-main-dev-coordinator.properties

βœ… Kafka configuration complete for web-universe-main-dev_coordinator
  Broker ID         : 89
  Broker keystore   : /opt/kafka/secrets/web-universe-main-dev/coordinator/kafka.server.keystore.jks
  REST keystore     : /opt/kafka/secrets/web-universe-main-dev/coordinator/connect-rest.keystore.p12
  Truststore        : /opt/kafka/secrets/web-universe-main-dev/coordinator/truststore.jks
  Client PKCS12     : /opt/kafka/secrets/web-universe-main-dev/coordinator/kafka.client.keystore.p12
  Data directory    : /data/kafka/web-universe-main-dev_coordinator-data
  Server config     : /opt/kafka/config/web-universe-main-dev/coordinator/server.properties
  Connect config    : /opt/kafka/config/web-universe-main-dev/coordinator/connect-distributed.properties
  CLI client config : /etc/kafka/client-web-universe-main-dev-coordinator.properties

🎯 Next step: Run 03-restart-kafka-related-services.sh to start services

[OK] βœ… Step 2 completed: 01-kafka-setup.sh

[INFO] πŸ“¦ Step 3/13: metadata...
[INFO] Loaded environment: web-universe-main-dev (svc=web zone=universe env=dev ip=142.93.238.16)
[INFO] 🎯 Kafka metadata mode: kraft

╔════════════════════════════════════════════════════════════════════╗
β•‘            Kafka Metadata Layer Setup                             β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

  Environment    : web-universe-main-dev
  Service        : web
  Zone           : universe
  Branch         : main
  Environment    : dev
  VM IP          : 142.93.238.16
  Metadata Mode  : kraft

  πŸ“‹ KRaft Mode (Modern)
  ────────────────────────────────────────────────────────────────
  βœ… No ZooKeeper dependency
  βœ… Faster metadata operations
  βœ… Simplified architecture
  βœ… Recommended for new deployments
  ⚠️  Requires Kafka 3.3+ in production


════════════════════════════════════════════════════════════════════

[INFO] πŸš€ Executing KRaft setup script...
[INFO] Script: /opt/fastorder/bash/scripts/env_app_setup/setup/04-eventbus/engine/kafka/steps/metadata/kraft.sh

[INFO] Loaded environment: web-universe-main-dev (svc=web zone=universe env=dev ip=142.93.238.16)
[2026-02-05 03:43:57 UTC] USER=www-data EUID=0 PID=3571107 ACTION=fsop ARGS=mkdir -p /data/kafka/web-universe-main-dev_coordinator-meta /opt/kafka/config/web-universe-main-dev/coordinator /data/kafka/web-universe-main-dev_coordinator-data
[2026-02-05 03:43:57 UTC] USER=www-data EUID=0 PID=3571116 ACTION=fsop ARGS=chown -R kafka:kafka /data/kafka/web-universe-main-dev_coordinator-meta /opt/kafka/config/web-universe-main-dev/coordinator /data/kafka/web-universe-main-dev_coordinator-data
[INFO] Adding eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com to /etc/hosts -> 10.100.1.225
[INFO] Adding eventbus-web-universe-main-dev-kafka-connect.fastorder.com to /etc/hosts -> 10.100.1.75
[INFO] Setting up KRaft for: web-universe-main-dev (host=eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com ip=10.100.1.225)
[2026-02-05 03:43:58 UTC] USER=www-data EUID=0 PID=3571149 ACTION=fsop ARGS=mkdir -p /opt/fastorder/bash/scripts/env_app_setup/state/web-universe-main-dev
[INFO] Generated cluster.id=uBayQf0-RSyd3l5SczIXzA

πŸ”§ Configuring Kafka for KRaft mode...
[2026-02-05 03:44:00 UTC] USER=www-data EUID=0 PID=3571705 ACTION=fsop ARGS=test -f /opt/kafka/config/web-universe-main-dev/coordinator/server.properties
[2026-02-05 03:44:00 UTC] USER=www-data EUID=0 PID=3571716 ACTION=fsop ARGS=test -r /opt/kafka/config/web-universe-main-dev/coordinator/server.properties
[2026-02-05 03:44:00 UTC] USER=www-data EUID=0 PID=3571725 ACTION=fsop ARGS=sed -i /^zookeeper\.connect=/d /opt/kafka/config/web-universe-main-dev/coordinator/server.properties
[2026-02-05 03:44:00 UTC] USER=www-data EUID=0 PID=3571735 ACTION=passthru ARGS=bash -c grep -q '^process.roles=' '/opt/kafka/config/web-universe-main-dev/coordinator/server.properties'
[2026-02-05 03:44:01 UTC] USER=www-data EUID=0 PID=3571759 ACTION=passthru ARGS=bash -c grep -q '^node.id=' '/opt/kafka/config/web-universe-main-dev/coordinator/server.properties'
[2026-02-05 03:44:01 UTC] USER=www-data EUID=0 PID=3571799 ACTION=passthru ARGS=bash -c grep -q '^broker.id=' '/opt/kafka/config/web-universe-main-dev/coordinator/server.properties'
[2026-02-05 03:44:01 UTC] USER=www-data EUID=0 PID=3571808 ACTION=fsop ARGS=sed -i s|^broker.id=.*|broker.id=1| /opt/kafka/config/web-universe-main-dev/coordinator/server.properties
[2026-02-05 03:44:01 UTC] USER=www-data EUID=0 PID=3571818 ACTION=passthru ARGS=bash -c grep -q '^controller.listener.names=' '/opt/kafka/config/web-universe-main-dev/coordinator/server.properties'
[2026-02-05 03:44:01 UTC] USER=www-data EUID=0 PID=3571837 ACTION=passthru ARGS=bash -c grep -q '^controller.quorum.voters=' '/opt/kafka/config/web-universe-main-dev/coordinator/server.properties'
[2026-02-05 03:44:01 UTC] USER=www-data EUID=0 PID=3571857 ACTION=passthru ARGS=bash -c grep -q '^metadata.log.dir=' '/opt/kafka/config/web-universe-main-dev/coordinator/server.properties'
[2026-02-05 03:44:01 UTC] USER=www-data EUID=0 PID=3571877 ACTION=passthru ARGS=bash -c grep -q '^log.dirs=' '/opt/kafka/config/web-universe-main-dev/coordinator/server.properties'
[2026-02-05 03:44:01 UTC] USER=www-data EUID=0 PID=3571886 ACTION=fsop ARGS=sed -i s|^log.dirs=.*|log.dirs=/data/kafka/web-universe-main-dev_coordinator-data| /opt/kafka/config/web-universe-main-dev/coordinator/server.properties
[2026-02-05 03:44:01 UTC] USER=www-data EUID=0 PID=3571895 ACTION=passthru ARGS=bash -c grep -q '^listeners=' '/opt/kafka/config/web-universe-main-dev/coordinator/server.properties'
[2026-02-05 03:44:01 UTC] USER=www-data EUID=0 PID=3571909 ACTION=passthru ARGS=bash -c grep -q 'CONTROLLER://' '/opt/kafka/config/web-universe-main-dev/coordinator/server.properties'
[2026-02-05 03:44:01 UTC] USER=www-data EUID=0 PID=3571922 ACTION=fsop ARGS=sed -i s|^listeners=.*|listeners=SSL://10.100.1.225:9092,CONTROLLER://10.100.1.225:9093| /opt/kafka/config/web-universe-main-dev/coordinator/server.properties
[2026-02-05 03:44:01 UTC] USER=www-data EUID=0 PID=3571932 ACTION=passthru ARGS=bash -c grep -q '^advertised.listeners=' '/opt/kafka/config/web-universe-main-dev/coordinator/server.properties'
[2026-02-05 03:44:01 UTC] USER=www-data EUID=0 PID=3571941 ACTION=fsop ARGS=sed -i s|^advertised.listeners=.*|advertised.listeners=SSL://eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com:9092| /opt/kafka/config/web-universe-main-dev/coordinator/server.properties
[2026-02-05 03:44:02 UTC] USER=www-data EUID=0 PID=3571950 ACTION=passthru ARGS=bash -c grep -q '^listener.security.protocol.map=' '/opt/kafka/config/web-universe-main-dev/coordinator/server.properties'
[2026-02-05 03:44:02 UTC] USER=www-data EUID=0 PID=3571961 ACTION=fsop ARGS=sed -i s|^listener.security.protocol.map=.*|listener.security.protocol.map=SSL:SSL,CONTROLLER:PLAINTEXT| /opt/kafka/config/web-universe-main-dev/coordinator/server.properties
[2026-02-05 03:44:02 UTC] USER=www-data EUID=0 PID=3571979 ACTION=fsop ARGS=sed -i s|^inter.broker.listener.name=.*|inter.broker.listener.name=SSL| /opt/kafka/config/web-universe-main-dev/coordinator/server.properties
[2026-02-05 03:44:02 UTC] USER=www-data EUID=0 PID=3571988 ACTION=passthru ARGS=bash -c grep -q '^offsets.topic.replication.factor=' '/opt/kafka/config/web-universe-main-dev/coordinator/server.properties'
[2026-02-05 03:44:02 UTC] USER=www-data EUID=0 PID=3571998 ACTION=fsop ARGS=sed -i s|^offsets.topic.replication.factor=.*|offsets.topic.replication.factor=1| /opt/kafka/config/web-universe-main-dev/coordinator/server.properties
[2026-02-05 03:44:02 UTC] USER=www-data EUID=0 PID=3572007 ACTION=passthru ARGS=bash -c grep -q '^transaction.state.log.replication.factor=' '/opt/kafka/config/web-universe-main-dev/coordinator/server.properties'
[2026-02-05 03:44:02 UTC] USER=www-data EUID=0 PID=3572016 ACTION=fsop ARGS=sed -i s|^transaction.state.log.replication.factor=.*|transaction.state.log.replication.factor=1| /opt/kafka/config/web-universe-main-dev/coordinator/server.properties
[2026-02-05 03:44:02 UTC] USER=www-data EUID=0 PID=3572029 ACTION=passthru ARGS=bash -c grep -q '^transaction.state.log.min.isr=' '/opt/kafka/config/web-universe-main-dev/coordinator/server.properties'
[2026-02-05 03:44:02 UTC] USER=www-data EUID=0 PID=3572045 ACTION=fsop ARGS=sed -i s|^transaction.state.log.min.isr=.*|transaction.state.log.min.isr=1| /opt/kafka/config/web-universe-main-dev/coordinator/server.properties
[2026-02-05 03:44:02 UTC] USER=www-data EUID=0 PID=3572056 ACTION=passthru ARGS=bash -c grep -q '^min.insync.replicas=' '/opt/kafka/config/web-universe-main-dev/coordinator/server.properties'
  βœ… KRaft configuration applied to server.properties
[2026-02-05 03:44:02 UTC] USER=www-data EUID=0 PID=3572076 ACTION=fsop ARGS=test -f /data/kafka/web-universe-main-dev_coordinator-meta/meta.properties
[INFO] Formatting storage directories for coordinator (cluster.id=[2026-02-05 03:44:00 UTC] USER=www-data EUID=0 PID=3571696 ACTION=passthru ARGS=bash -c cat /opt/fastorder/bash/scripts/env_app_setup/state/web-universe-main-dev/kafka_kraft_cluster_id
uBayQf0-RSyd3l5SczIXzA)
[2026-02-05 03:44:02 UTC] USER=www-data EUID=0 PID=3572086 ACTION=passthru ARGS=sudo -u kafka /opt/kafka/bin/kafka-storage.sh format --config /opt/kafka/config/web-universe-main-dev/coordinator/server.properties --cluster-id [2026-02-05 03:44:00 UTC] USER=www-data EUID=0 PID=3571696 ACTION=passthru ARGS=bash -c cat /opt/fastorder/bash/scripts/env_app_setup/state/web-universe-main-dev/kafka_kraft_cluster_id
uBayQf0-RSyd3l5SczIXzA --ignore-formatted
Formatting metadata directory /data/kafka/web-universe-main-dev_coordinator-meta with metadata.version 3.9-IV0.
Formatting data directory /data/kafka/web-universe-main-dev_coordinator-data with metadata.version 3.9-IV0.
[INFO] Formatted: /data/kafka/web-universe-main-dev_coordinator-meta and /data/kafka/web-universe-main-dev_coordinator-data
πŸ”§ Creating/refreshing KRaft systemd unit...
[2026-02-05 03:44:06 UTC] USER=www-data EUID=0 PID=3572565 ACTION=fsop ARGS=sed -i s|\\$MAINPID|$MAINPID|g /etc/systemd/system/confluent-kraft-web-universe-main-dev_coordinator.service
[2026-02-05 03:44:06 UTC] USER=www-data EUID=0 PID=3572575 ACTION=passthru ARGS=systemctl daemon-reload
  βœ… Ensured confluent-kraft-web-universe-main-dev_coordinator.service
πŸ›‘ Stopping legacy ZooKeeper-mode services and current KRaft instance...
  🧹 Cleaning up rogue Kafka processes...
  🧹 Killing any processes holding Kafka ports 9092, 9093...
  πŸ”ͺ Killing processes on port 9092: 886
887
1034
[2026-02-05 03:44:07 UTC] USER=www-data EUID=0 PID=3572714 ACTION=passthru ARGS=bash -c kill -9 886
[2026-02-05 03:44:07 UTC] USER=www-data EUID=0 PID=3572723 ACTION=passthru ARGS=bash -c kill -9 887
[2026-02-05 03:44:07 UTC] USER=www-data EUID=0 PID=3572735 ACTION=passthru ARGS=bash -c kill -9 1034
  πŸ”ͺ Killing processes on port 9093: 3565745
[2026-02-05 03:44:09 UTC] USER=www-data EUID=0 PID=3572814 ACTION=passthru ARGS=bash -c kill -9 3565745
  πŸ”ͺ Killing processes on port 8083: 889
[2026-02-05 03:44:12 UTC] USER=www-data EUID=0 PID=3572887 ACTION=passthru ARGS=bash -c kill -9 889
  βœ… Legacy services stopped and rogue processes cleaned
πŸ”“ Removing stale lock files...
[2026-02-05 03:44:17 UTC] USER=www-data EUID=0 PID=3573071 ACTION=fsop ARGS=test -f /data/kafka/web-universe-main-dev_coordinator-meta/.lock
  βœ… Lock file check complete
πŸš€ Starting confluent-kraft-web-universe-main-dev_coordinator.service ...
[2026-02-05 03:44:17 UTC] USER=www-data EUID=0 PID=3573092 ACTION=passthru ARGS=systemctl enable confluent-kraft-web-universe-main-dev_coordinator.service
Created symlink /etc/systemd/system/multi-user.target.wants/confluent-kraft-web-universe-main-dev_coordinator.service β†’ /etc/systemd/system/confluent-kraft-web-universe-main-dev_coordinator.service.
[2026-02-05 03:44:18 UTC] USER=www-data EUID=0 PID=3573146 ACTION=passthru ARGS=systemctl restart confluent-kraft-web-universe-main-dev_coordinator.service
πŸ”§ Patching shared Connect unit to follow KRaft broker...
[2026-02-05 03:44:21 UTC] USER=www-data EUID=0 PID=3573653 ACTION=fsop ARGS=sed -i -e s|${FULL_ENV}|web-universe-main-dev|g -e s|${IDENTIFIER}|coordinator|g -e s|${CONFIG_DIR}|/opt/kafka/config/web-universe-main-dev/coordinator|g /etc/systemd/system/confluent-connect-web-universe-main-dev_coordinator.service
[2026-02-05 03:44:21 UTC] USER=www-data EUID=0 PID=3573676 ACTION=fsop ARGS=sed -i s|\\$MAINPID|$MAINPID|g /etc/systemd/system/confluent-connect-web-universe-main-dev_coordinator.service
[2026-02-05 03:44:21 UTC] USER=www-data EUID=0 PID=3573692 ACTION=fsop ARGS=sed -i s|^After=.*|After=network-online.target confluent-kraft-web-universe-main-dev_coordinator.service| /etc/systemd/system/confluent-connect-web-universe-main-dev_coordinator.service
[2026-02-05 03:44:21 UTC] USER=www-data EUID=0 PID=3573703 ACTION=fsop ARGS=sed -i s|^Wants=.*|Wants=confluent-kraft-web-universe-main-dev_coordinator.service| /etc/systemd/system/confluent-connect-web-universe-main-dev_coordinator.service
[2026-02-05 03:44:21 UTC] USER=www-data EUID=0 PID=3573715 ACTION=fsop ARGS=sed -i s|^ExecStart=.*|ExecStart=/opt/kafka/bin/connect-distributed.sh /opt/kafka/config/web-universe-main-dev/coordinator/connect-distributed.properties| /etc/systemd/system/confluent-connect-web-universe-main-dev_coordinator.service
[2026-02-05 03:44:21 UTC] USER=www-data EUID=0 PID=3573727 ACTION=passthru ARGS=systemctl daemon-reload
  βœ… Connect unit patched
[2026-02-05 03:44:22 UTC] USER=www-data EUID=0 PID=3573788 ACTION=fsop ARGS=test -f /opt/kafka/config/web-universe-main-dev/coordinator/connect-distributed.properties
[2026-02-05 03:44:22 UTC] USER=www-data EUID=0 PID=3573797 ACTION=fsop ARGS=ln -sf /opt/kafka/config/web-universe-main-dev/coordinator/connect-distributed.properties /opt/kafka/config/connect-distributed.properties
⏳ Waiting for broker coordinator on SSL://eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com:9092 ...
⏳ Waiting for KRaft broker... (attempt 1, 0s/600s)
   Debug: Last error was: [2026-02-05 03:44:22 UTC] USER=www-data EUID=0 PID=3573809 ACTION=passthru ARGS=bash -c timeout 5 sudo -u kafka /opt/kafka/bin/kafka-metadata-quorum.sh --bootstrap-server 'eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com:9092' --command-config '/etc/kafka/client-web-universe-main-dev-coordinator.properties' describe --status
⏳ Still waiting... (attempt 10, 59s/600s)
βœ… coordinator responded after 91s (attempt 15)
---- server.properties (key lines) ----
[2026-02-05 03:46:24 UTC] USER=www-data EUID=0 PID=3592313 ACTION=passthru ARGS=bash -c grep -E '^(listeners|advertised\.listeners|process\.roles|controller\.quorum\.voters|controller\.listener\.names|inter\.broker\.listener\.name|log\.dirs|metadata\.log\.dir)=' '/opt/kafka/config/web-universe-main-dev/coordinator/server.properties'
listeners=SSL://10.100.1.225:9092,CONTROLLER://10.100.1.225:9093
advertised.listeners=SSL://eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com:9092
inter.broker.listener.name=SSL
log.dirs=/data/kafka/web-universe-main-dev_coordinator-data
process.roles=broker,controller
controller.listener.names=CONTROLLER
controller.quorum.voters=1@10.100.1.225:9093
metadata.log.dir=/data/kafka/web-universe-main-dev_coordinator-meta
---------------------------------------

βœ… KRaft setup complete for web-universe-main-dev_coordinator
  server.properties : /opt/kafka/config/web-universe-main-dev/coordinator/server.properties
  data dir          : /data/kafka/web-universe-main-dev_coordinator-data
  meta dir          : /data/kafka/web-universe-main-dev_coordinator-meta
  systemd unit      : confluent-kraft-web-universe-main-dev_coordinator.service

πŸ”§ Kafka Configuration Modified:
  βœ“ process.roles, node.id, controller.quorum.voters, controller.listener.names
  βœ“ listeners (SSL + CONTROLLER) and advertised.listeners (FQDN fallback to IP)
  βœ“ listener.security.protocol.map, inter.broker.listener.name
  βœ“ log.dirs -> /data/kafka/web-universe-main-dev_coordinator-data, metadata.log.dir -> /data/kafka/web-universe-main-dev_coordinator-meta
  βœ“ removed zookeeper.connect (if present)
  βœ“ created/refreshed dedicated KRaft systemd unit
  βœ“ patched shared Connect unit to follow KRaft broker
  βœ“ symlinked /opt/kafka/config/web-universe-main-dev/coordinator/connect-distributed.properties -> /opt/kafka/config/connect-distributed.properties (compat)

πŸ”Ž Check quorum:
  /opt/kafka/bin/kafka-metadata-quorum.sh --bootstrap-server eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com:9092 --command-config /etc/kafka/client-web-universe-main-dev-coordinator.properties describe --status

πŸ“‹ Next steps:
  1) Review KRaft config:   sudo grep -E 'process.roles|node.id|controller|listeners|advertised.listeners|log.dirs|metadata.log.dir' /opt/kafka/config/web-universe-main-dev/coordinator/server.properties
  2) Verify topics:         /opt/kafka/bin/kafka-topics.sh --bootstrap-server eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com:9092 --command-config /etc/kafka/client-web-universe-main-dev-coordinator.properties --list

βœ… KRaft metadata layer setup completed successfully

Next steps:
  1. Verify KRaft quorum status
  2. Create Kafka topics
  3. Configure Kafka Connect
[2026-02-05 03:46:24 UTC] USER=www-data EUID=0 PID=3592323 ACTION=fsop ARGS=mkdir -p /opt/fastorder/bash/scripts/env_app_setup/state/web-universe-main-dev
[INFO] Saved metadata mode to: /opt/fastorder/bash/scripts/env_app_setup/state/web-universe-main-dev/kafka_metadata_mode

════════════════════════════════════════════════════════════════════

βœ… Kafka Metadata Layer Setup Complete

  Mode           : kraft
  Environment    : web-universe-main-dev
  State saved    : /opt/fastorder/bash/scripts/env_app_setup/state/web-universe-main-dev/kafka_metadata_mode

  KRaft cluster.id: uBayQf0-RSyd3l5SczIXzA

  Verify quorum:
    kafka-metadata-quorum.sh --bootstrap-server ... describe

════════════════════════════════════════════════════════════════════

[OK] βœ… Step 3 completed: 02-metadata.sh

[INFO] πŸ“¦ Step 4/13: restart kafka related services...
[INFO] Loaded environment: web-universe-main-dev (svc=web zone=universe env=dev ip=142.93.238.16)
[2026-02-05 03:46:25 UTC] USER=www-data EUID=0 PID=3592377 ACTION=fsop ARGS=test -f /opt/kafka/config/web-universe-main-dev/coordinator/server.properties
[2026-02-05 03:46:25 UTC] USER=www-data EUID=0 PID=3592386 ACTION=passthru ARGS=bash -c grep -E '^[[:space:]]*process\.roles=' '/opt/kafka/config/web-universe-main-dev/coordinator/server.properties' | grep -Eq '(broker|controller)'
[INFO] πŸ“‹ Detected mode from server.properties: kraft
[2026-02-05 03:46:25 UTC] USER=www-data EUID=0 PID=3592473 ACTION=passthru ARGS=systemctl stop confluent-connect-web-universe-main-dev_coordinator.service
[2026-02-05 03:46:26 UTC] USER=www-data EUID=0 PID=3592553 ACTION=passthru ARGS=systemctl stop confluent-kafka-zk-web-universe-main-dev_coordinator.service
[2026-02-05 03:46:26 UTC] USER=www-data EUID=0 PID=3592615 ACTION=passthru ARGS=systemctl stop confluent-zookeeper-web-universe-main-dev_coordinator.service
Failed to stop confluent-zookeeper-web-universe-main-dev_coordinator.service: Unit confluent-zookeeper-web-universe-main-dev_coordinator.service not loaded.
[INFO] 🧹 Removing stale Kafka lock files...
[2026-02-05 03:46:30 UTC] USER=www-data EUID=0 PID=3592775 ACTION=fsop ARGS=rm -f /var/lib/kafka/web-universe-main-dev_coordinator-meta/.lock
[2026-02-05 03:46:30 UTC] USER=www-data EUID=0 PID=3592792 ACTION=fsop ARGS=rm -f /var/lib/kafka/web-universe-main-dev_coordinator-data/.lock
[INFO] 🧹 Cleaning up orphaned processes on Kafka ports...
[2026-02-05 03:46:30 UTC] USER=www-data EUID=0 PID=3592801 ACTION=passthru ARGS=bash -c 
for port in 9092 9093 8083 2181; do
  pids=$(lsof -ti tcp:$port 2>/dev/null || true)
  if [[ -n "$pids" ]]; then
    echo "   Killing orphaned processes on port $port: $pids"
    kill -9 $pids 2>/dev/null || true
    sleep 1
  fi
done

   Killing orphaned processes on port 9092: 1035
3573153
3574069
3574070
3574071
3575241
3575242
   Killing orphaned processes on port 9093: 3573626

πŸš€ Restarting Kafka components…
[INFO] πŸš€ starting confluent-kraft-web-universe-main-dev_coordinator.service…
[2026-02-05 03:46:34 UTC] USER=www-data EUID=0 PID=3593103 ACTION=passthru ARGS=systemctl restart confluent-kraft-web-universe-main-dev_coordinator.service
[INFO] πŸš€ starting confluent-connect-web-universe-main-dev_coordinator.service…
[2026-02-05 03:46:36 UTC] USER=www-data EUID=0 PID=3593638 ACTION=passthru ARGS=systemctl restart confluent-connect-web-universe-main-dev_coordinator.service

[INFO] ⏳ Waiting for Kafka broker readiness (FQDN: eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com, IP: 10.100.1.225) ...
[OK] βœ… Broker ready (attempt 1)
[OK] βœ… Port 9092 listening (Kafka Broker)
[INFO] ⏳ waiting for Kafka Connect REST port 8083 … (1/40)
[INFO] ⏳ waiting for Kafka Connect REST port 8083 … (2/40)
[INFO] ⏳ waiting for Kafka Connect REST port 8083 … (3/40)
[INFO] ⏳ waiting for Kafka Connect REST port 8083 … (4/40)
[INFO] ⏳ waiting for Kafka Connect REST port 8083 … (5/40)
[INFO] ⏳ waiting for Kafka Connect REST port 8083 … (6/40)
[INFO] ⏳ waiting for Kafka Connect REST port 8083 … (7/40)
[INFO] ⏳ waiting for Kafka Connect REST port 8083 … (8/40)
[INFO] ⏳ waiting for Kafka Connect REST port 8083 … (9/40)
[INFO] ⏳ waiting for Kafka Connect REST port 8083 … (10/40)
[OK] βœ… Port 8083 listening (Kafka Connect REST)
[INFO] ⏳ Waiting for Connect REST at https://eventbus-web-universe-main-dev-kafka-connect.fastorder.com:8083 …
[OK] βœ… Connect REST is up (attempt 1)

πŸ“‹ Reconciling Connect internal topics…
  [ok] connect-configs exists
  [ok] connect-offsets exists
  [ok] connect-status exists

═══════════════════════════════════════════════════════════════════
                           KAFKA SUMMARY
═══════════════════════════════════════════════════════════════════
Env: web-universe-main-dev   Identifier: coordinator   Mode: kraft
Broker Unit : confluent-kraft-web-universe-main-dev_coordinator.service  (status: active)
Connect Unit: confluent-connect-web-universe-main-dev_coordinator.service (status: active)
Bootstrap   : eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com:9092
Connect URL : https://eventbus-web-universe-main-dev-kafka-connect.fastorder.com:8083
═══════════════════════════════════════════════════════════════════
[OK] βœ… All required services are up.
[OK] βœ… Step 4 completed: 03-restart-kafka-related-services.sh

[INFO] πŸ“¦ Step 5/13: checking services...
[INFO] Loaded environment: web-universe-main-dev (svc=web zone=universe env=dev ip=142.93.238.16)
[2026-02-05 03:48:17 UTC] USER=www-data EUID=0 PID=3601575 ACTION=fsop ARGS=test -f /opt/kafka/config/web-universe-main-dev/coordinator/server.properties
[2026-02-05 03:48:17 UTC] USER=www-data EUID=0 PID=3601588 ACTION=passthru ARGS=bash -c grep -E '^[[:space:]]*process\.roles=' '/opt/kafka/config/web-universe-main-dev/coordinator/server.properties' | grep -Eq '(broker|controller)'
[INFO] Detected mode from server.properties: kraft

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Step 1: Service status
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[OK] confluent-kraft-web-universe-main-dev_coordinator.service status: active
[WARN] confluent-kafka-zk-web-universe-main-dev_coordinator.service present but should be stopped in KRaft
[WARN] confluent-zookeeper-web-universe-main-dev_coordinator.service present but not required in KRaft
[OK] confluent-connect-web-universe-main-dev_coordinator.service status: active

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Step 2: Port checks
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[OK] βœ… Port 9092 listening (Kafka Broker)
[OK] βœ… Port 8083 listening (Kafka Connect REST)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Step 3: Broker readiness
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[OK] Broker API responding (attempt 1)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Step 4: Kafka Connect REST
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[OK] Connect REST responding (attempt 1)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Kafka Services Summary
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Environment : web-universe-main-dev
Identifier  : coordinator
Mode        : kraft
Broker Unit : confluent-kraft-web-universe-main-dev_coordinator.service  (status: active)
Connect Unit: confluent-connect-web-universe-main-dev_coordinator.service (status: active)
Broker FQDN : eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com:9092
Broker IP   : eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com:9092
Connect URL : https://eventbus-web-universe-main-dev-kafka-connect.fastorder.com:8083
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[OK] βœ… All required services are reachable.
[INFO] Creating ACLs for Kafka Connect consumer groups...
Error while executing ACL command: Failed to create new KafkaAdminClient
org.apache.kafka.common.KafkaException: Failed to create new KafkaAdminClient
	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:519)
	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:474)
	at org.apache.kafka.clients.admin.Admin.create(Admin.java:134)
	at kafka.admin.AclCommand$AdminClientService.addAcls(AclCommand.scala:100)
	at kafka.admin.AclCommand$.main(AclCommand.scala:73)
	at kafka.admin.AclCommand.main(AclCommand.scala)
Caused by: org.apache.kafka.common.config.ConfigException: No resolvable bootstrap urls given in bootstrap.servers
	at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:101)
	at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:60)
	at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:56)
	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:492)
	... 5 more

[INFO] Creating ACLs for Connect internal topics...
Error while executing ACL command: Failed to create new KafkaAdminClient
org.apache.kafka.common.KafkaException: Failed to create new KafkaAdminClient
	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:519)
	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:474)
	at org.apache.kafka.clients.admin.Admin.create(Admin.java:134)
	at kafka.admin.AclCommand$AdminClientService.addAcls(AclCommand.scala:100)
	at kafka.admin.AclCommand$.main(AclCommand.scala:73)
	at kafka.admin.AclCommand.main(AclCommand.scala)
Caused by: org.apache.kafka.common.config.ConfigException: No resolvable bootstrap urls given in bootstrap.servers
	at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:101)
	at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:60)
	at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:56)
	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:492)
	... 5 more

Error while executing ACL command: Failed to create new KafkaAdminClient
org.apache.kafka.common.KafkaException: Failed to create new KafkaAdminClient
	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:519)
	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:474)
	at org.apache.kafka.clients.admin.Admin.create(Admin.java:134)
	at kafka.admin.AclCommand$AdminClientService.addAcls(AclCommand.scala:100)
	at kafka.admin.AclCommand$.main(AclCommand.scala:73)
	at kafka.admin.AclCommand.main(AclCommand.scala)
Caused by: org.apache.kafka.common.config.ConfigException: No resolvable bootstrap urls given in bootstrap.servers
	at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:101)
	at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:60)
	at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:56)
	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:492)
	... 5 more

Error while executing ACL command: Failed to create new KafkaAdminClient
org.apache.kafka.common.KafkaException: Failed to create new KafkaAdminClient
	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:519)
	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:474)
	at org.apache.kafka.clients.admin.Admin.create(Admin.java:134)
	at kafka.admin.AclCommand$AdminClientService.addAcls(AclCommand.scala:100)
	at kafka.admin.AclCommand$.main(AclCommand.scala:73)
	at kafka.admin.AclCommand.main(AclCommand.scala)
Caused by: org.apache.kafka.common.config.ConfigException: No resolvable bootstrap urls given in bootstrap.servers
	at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:101)
	at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:60)
	at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:56)
	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:492)
	... 5 more

Error while executing ACL command: Failed to create new KafkaAdminClient
org.apache.kafka.common.KafkaException: Failed to create new KafkaAdminClient
	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:519)
	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:474)
	at org.apache.kafka.clients.admin.Admin.create(Admin.java:134)
	at kafka.admin.AclCommand$AdminClientService.addAcls(AclCommand.scala:100)
	at kafka.admin.AclCommand$.main(AclCommand.scala:73)
	at kafka.admin.AclCommand.main(AclCommand.scala)
Caused by: org.apache.kafka.common.config.ConfigException: No resolvable bootstrap urls given in bootstrap.servers
	at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:101)
	at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:60)
	at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:56)
	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:492)
	... 5 more

Error while executing ACL command: Failed to create new KafkaAdminClient
org.apache.kafka.common.KafkaException: Failed to create new KafkaAdminClient
	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:519)
	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:474)
	at org.apache.kafka.clients.admin.Admin.create(Admin.java:134)
	at kafka.admin.AclCommand$AdminClientService.addAcls(AclCommand.scala:100)
	at kafka.admin.AclCommand$.main(AclCommand.scala:73)
	at kafka.admin.AclCommand.main(AclCommand.scala)
Caused by: org.apache.kafka.common.config.ConfigException: No resolvable bootstrap urls given in bootstrap.servers
	at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:101)
	at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:60)
	at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:56)
	at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:492)
	... 5 more

[OK] βœ… Kafka Connect ACLs configured (deny-by-default mode)
[OK] βœ… Step 5 completed: 04-checking-services.sh

[INFO] πŸ“¦ Step 6/13: create audit topic...
πŸ”‘ Configuring AWS credentials...
βœ… Using permanent AWS credentials from /home/ab/.aws/credentials
[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] Creating Kafka Audit Topics
[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] Environment: web-universe-main-dev
[INFO] Replication Factor: 1

[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] πŸ” AUDIT READINESS GATE - Preflight Checks
[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] [Gate 1/5] Verifying DNS resolution...
[OK] βœ… Broker DNS: eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com -> 10.100.1.225
[OK] βœ… Connect DNS: eventbus-web-universe-main-dev-kafka-connect.fastorder.com -> 10.100.1.75
[INFO] [Gate 2/5] Verifying TLS handshake...
[OK] βœ… TLS handshake: Broker certificate verified
[INFO] [Gate 3/5] Verifying Kafka Connect REST API...
[OK] βœ… Kafka Connect REST: Cluster ID = [2026-02-05 03:44:00 UTC] USER=www-data EUID=0 PID=3571696 ACTION=passthru ARGS=bash -c cat /opt/fastorder/bash/scripts/env_app_setup/state/web-universe-main-dev/kafka_kraft_cluster_id
uBayQf0-RSyd3l5SczIXzA
[INFO] [Gate 4/5] Verifying required internal topics...
[OK] βœ… Topic exists: connect-configs
[OK] βœ… Topic exists: connect-offsets
[OK] βœ… Topic exists: connect-status
[INFO] [Gate 5/5] Verifying broker metadata access...
[OK] βœ… Broker metadata: API versions accessible

[OK] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[OK] βœ… AUDIT READINESS GATE: ALL CHECKS PASSED
[OK] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[INFO] Waiting for Kafka to be ready...
[OK] βœ… Kafka is ready
[INFO] Creating audit topic: audit.events.web.universe.main.dev
WARNING: Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To avoid issues it is best to use either, but not both.
Created topic audit.events.web.universe.main.dev.
[OK] βœ… Audit topic created: audit.events.web.universe.main.dev
[OK] βœ… Topic verified: audit.events.web.universe.main.dev
Topic: audit.events.web.universe.main.dev	TopicId: _h9pJC4FSPSnOavETTJe4Q	PartitionCount: 3	ReplicationFactor: 1	Configs: compression.type=lz4,min.insync.replicas=1,cleanup.policy=delete,segment.bytes=1073741824,retention.ms=7776000000,message.timestamp.type=LogAppendTime,segment.ms=604800000
	Topic: audit.events.web.universe.main.dev	Partition: 0	Leader: 1	Replicas: 1	Isr: 1
	Topic: audit.events.web.universe.main.dev	Partition: 1	Leader: 1	Replicas: 1	Isr: 1
	Topic: audit.events.web.universe.main.dev	Partition: 2	Leader: 1	Replicas: 1	Isr: 1
[INFO] Creating audit producer credentials...
Completed updating config for user audit-producer-web-universe-main-dev.
[OK] βœ… Audit producer user created: audit-producer-web-universe-main-dev
[INFO] Creating ACLs for audit producer...
Adding ACLs for resource `ResourcePattern(resourceType=TOPIC, name=audit.events.web.universe.main.dev, patternType=LITERAL)`: 
 	(principal=User:audit-producer-web-universe-main-dev, host=*, operation=WRITE, permissionType=ALLOW) 

Current ACLs for resource `ResourcePattern(resourceType=TOPIC, name=audit.events.web.universe.main.dev, patternType=LITERAL)`: 
 	(principal=User:audit-producer-web-universe-main-dev, host=*, operation=WRITE, permissionType=ALLOW) 

Adding ACLs for resource `ResourcePattern(resourceType=TOPIC, name=audit.events.web.universe.main.dev, patternType=LITERAL)`: 
 	(principal=User:audit-producer-web-universe-main-dev, host=*, operation=DESCRIBE, permissionType=ALLOW) 

Current ACLs for resource `ResourcePattern(resourceType=TOPIC, name=audit.events.web.universe.main.dev, patternType=LITERAL)`: 
 	(principal=User:audit-producer-web-universe-main-dev, host=*, operation=WRITE, permissionType=ALLOW)
	(principal=User:audit-producer-web-universe-main-dev, host=*, operation=DESCRIBE, permissionType=ALLOW) 

Adding ACLs for resource `ResourcePattern(resourceType=TOPIC, name=audit.events.web.universe.main.dev, patternType=LITERAL)`: 
 	(principal=User:CN=kafka-client-web-universe-main-dev,OU=Kafka Client,O=FastOrder,C=AE, host=*, operation=READ, permissionType=ALLOW)
	(principal=User:CN=kafka-client-web-universe-main-dev,OU=Kafka Client,O=FastOrder,C=AE, host=*, operation=DESCRIBE, permissionType=ALLOW) 

Current ACLs for resource `ResourcePattern(resourceType=TOPIC, name=audit.events.web.universe.main.dev, patternType=LITERAL)`: 
 	(principal=User:audit-producer-web-universe-main-dev, host=*, operation=WRITE, permissionType=ALLOW)
	(principal=User:CN=kafka-client-web-universe-main-dev,OU=Kafka Client,O=FastOrder,C=AE, host=*, operation=DESCRIBE, permissionType=ALLOW)
	(principal=User:CN=kafka-client-web-universe-main-dev,OU=Kafka Client,O=FastOrder,C=AE, host=*, operation=READ, permissionType=ALLOW)
	(principal=User:audit-producer-web-universe-main-dev, host=*, operation=DESCRIBE, permissionType=ALLOW) 

Adding ACLs for resource `ResourcePattern(resourceType=TOPIC, name=audit.events.web.universe.main.dev, patternType=LITERAL)`: 
 	(principal=User:C=AE,O=FastOrder,OU=Kafka Client,CN=kafka-client-web-universe-main-dev, host=*, operation=DESCRIBE, permissionType=ALLOW)
	(principal=User:C=AE,O=FastOrder,OU=Kafka Client,CN=kafka-client-web-universe-main-dev, host=*, operation=READ, permissionType=ALLOW) 

Current ACLs for resource `ResourcePattern(resourceType=TOPIC, name=audit.events.web.universe.main.dev, patternType=LITERAL)`: 
 	(principal=User:CN=kafka-client-web-universe-main-dev,OU=Kafka Client,O=FastOrder,C=AE, host=*, operation=READ, permissionType=ALLOW)
	(principal=User:CN=kafka-client-web-universe-main-dev,OU=Kafka Client,O=FastOrder,C=AE, host=*, operation=DESCRIBE, permissionType=ALLOW)
	(principal=User:C=AE,O=FastOrder,OU=Kafka Client,CN=kafka-client-web-universe-main-dev, host=*, operation=DESCRIBE, permissionType=ALLOW)
	(principal=User:audit-producer-web-universe-main-dev, host=*, operation=DESCRIBE, permissionType=ALLOW)
	(principal=User:audit-producer-web-universe-main-dev, host=*, operation=WRITE, permissionType=ALLOW)
	(principal=User:C=AE,O=FastOrder,OU=Kafka Client,CN=kafka-client-web-universe-main-dev, host=*, operation=READ, permissionType=ALLOW) 

Adding ACLs for resource `ResourcePattern(resourceType=TOPIC, name=audit.events.web.universe.main.dev, patternType=LITERAL)`: 
 	(principal=User:CN=kafka-client-web-universe-main-dev,OU=Kafka Client,O=FastOrder,C=AE, host=*, operation=DESCRIBE_CONFIGS, permissionType=ALLOW)
	(principal=User:C=AE,O=FastOrder,OU=Kafka Client,CN=kafka-client-web-universe-main-dev, host=*, operation=DESCRIBE_CONFIGS, permissionType=ALLOW) 

Current ACLs for resource `ResourcePattern(resourceType=TOPIC, name=audit.events.web.universe.main.dev, patternType=LITERAL)`: 
 	(principal=User:CN=kafka-client-web-universe-main-dev,OU=Kafka Client,O=FastOrder,C=AE, host=*, operation=READ, permissionType=ALLOW)
	(principal=User:CN=kafka-client-web-universe-main-dev,OU=Kafka Client,O=FastOrder,C=AE, host=*, operation=DESCRIBE, permissionType=ALLOW)
	(principal=User:CN=kafka-client-web-universe-main-dev,OU=Kafka Client,O=FastOrder,C=AE, host=*, operation=DESCRIBE_CONFIGS, permissionType=ALLOW)
	(principal=User:audit-producer-web-universe-main-dev, host=*, operation=DESCRIBE, permissionType=ALLOW)
	(principal=User:audit-producer-web-universe-main-dev, host=*, operation=WRITE, permissionType=ALLOW)
	(principal=User:C=AE,O=FastOrder,OU=Kafka Client,CN=kafka-client-web-universe-main-dev, host=*, operation=READ, permissionType=ALLOW)
	(principal=User:C=AE,O=FastOrder,OU=Kafka Client,CN=kafka-client-web-universe-main-dev, host=*, operation=DESCRIBE_CONFIGS, permissionType=ALLOW)
	(principal=User:C=AE,O=FastOrder,OU=Kafka Client,CN=kafka-client-web-universe-main-dev, host=*, operation=DESCRIBE, permissionType=ALLOW) 

Adding ACLs for resource `ResourcePattern(resourceType=TOPIC, name=audit.events.web.universe.main.dev, patternType=LITERAL)`: 
 	(principal=User:*, host=*, operation=DELETE, permissionType=DENY)
	(principal=User:*, host=*, operation=ALTER, permissionType=DENY) 

Current ACLs for resource `ResourcePattern(resourceType=TOPIC, name=audit.events.web.universe.main.dev, patternType=LITERAL)`: 
 	(principal=User:*, host=*, operation=ALTER, permissionType=DENY)
	(principal=User:CN=kafka-client-web-universe-main-dev,OU=Kafka Client,O=FastOrder,C=AE, host=*, operation=READ, permissionType=ALLOW)
	(principal=User:CN=kafka-client-web-universe-main-dev,OU=Kafka Client,O=FastOrder,C=AE, host=*, operation=DESCRIBE, permissionType=ALLOW)
	(principal=User:CN=kafka-client-web-universe-main-dev,OU=Kafka Client,O=FastOrder,C=AE, host=*, operation=DESCRIBE_CONFIGS, permissionType=ALLOW)
	(principal=User:*, host=*, operation=DELETE, permissionType=DENY)
	(principal=User:audit-producer-web-universe-main-dev, host=*, operation=DESCRIBE, permissionType=ALLOW)
	(principal=User:audit-producer-web-universe-main-dev, host=*, operation=WRITE, permissionType=ALLOW)
	(principal=User:C=AE,O=FastOrder,OU=Kafka Client,CN=kafka-client-web-universe-main-dev, host=*, operation=READ, permissionType=ALLOW)
	(principal=User:C=AE,O=FastOrder,OU=Kafka Client,CN=kafka-client-web-universe-main-dev, host=*, operation=DESCRIBE_CONFIGS, permissionType=ALLOW)
	(principal=User:C=AE,O=FastOrder,OU=Kafka Client,CN=kafka-client-web-universe-main-dev, host=*, operation=DESCRIBE, permissionType=ALLOW) 

[OK] βœ… ACLs configured (producer: write-only, sinks: read-only, immutability: protected)
[INFO] Storing audit producer credentials in AWS Secrets Manager...
{
    "ARN": "arn:aws:secretsmanager:me-central-1:464621692046:secret:fastorder/eventbus/web/universe/main/dev/kafka/audit/producer-X3Fpzs",
    "Name": "fastorder/eventbus/web/universe/main/dev/kafka/audit/producer",
    "VersionId": "cfb684ec-b9a4-47e9-bc28-496c1ad4dd26"
}
[OK] βœ… Credentials stored in: fastorder/eventbus/web/universe/main/dev/kafka/audit/producer
[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] Configuring S3 Sink for Audit Cold Storage
[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                           PRE audit/
[INFO] S3 staging bucket exists: fastorder-audit-staging
[INFO] Data flow: Kafka β†’ fastorder-audit-staging β†’ (replication) β†’ fastorder-audit-immutable
[INFO] Creating new S3 sink connector...
{"name":"audit-s3-sink-web_universe_main_dev","config":{"connector.class":"io.confluent.connect.s3.S3SinkConnector","tasks.max":"1","topics":"audit.events.web.universe.main.dev","topics.dir":"audit/web-universe-main-dev","s3.bucket.name":"fastorder-audit-staging","s3.region":"me-central-1","s3.part.size":"5242880","flush.size":"1000","rotate.interval.ms":"3600000","rotate.schedule.interval.ms":"86400000","storage.class":"io.confluent.connect.s3.storage.S3Storage","format.class":"io.confluent.connect.s3.format.json.JsonFormat","partitioner.class":"io.confluent.connect.storage.partitioner.TimeBasedPartitioner","path.format":"'year'=YYYY/'month'=MM/'day'=dd/'hour'=HH","partition.duration.ms":"3600000","locale":"en-US","timezone":"UTC","timestamp.extractor":"Record","key.converter":"org.apache.kafka.connect.json.JsonConverter","value.converter":"org.apache.kafka.connect.json.JsonConverter","key.converter.schemas.enable":"false","value.converter.schemas.enable":"false","behavior.on.null.values":"ignore","errors.tolerance":"all","errors.log.enable":"true","errors.log.include.messages":"true","name":"audit-s3-sink-web_universe_main_dev"},"tasks":[],"type":"sink"}[OK] βœ… S3 Sink connector configured for audit cold storage
[INFO]   Staging Bucket: fastorder-audit-staging (Kafka Connect writes here)
[INFO]   Immutable Bucket: fastorder-audit-immutable (via S3 Replication)
[INFO]   Path: audit/web-universe-main-dev/
[INFO]   Final Retention: WORM-enabled (Object Lock COMPLIANCE mode, 1-year)

[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[OK] βœ… Kafka Audit Topic Created Successfully
[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[INFO] Topic: audit.events.web.universe.main.dev
[INFO] Partitions: 3
[INFO] Replication Factor: 1
[INFO] Retention: 90 days
[INFO] Producer: audit-producer-web-universe-main-dev (write-only)

[INFO] Application Integration:
[INFO]   - Use credentials from: fastorder/eventbus/web/universe/main/dev/kafka/audit/producer
[INFO]   - Connect to: eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com:9092
[INFO]   - Produce to: audit.events.web.universe.main.dev
[INFO]   - Security: SASL_SSL (SCRAM-SHA-512)

[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] πŸ“‹ PCI-DSS Compliance Status
[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] 
[INFO] βœ… Kafka Hot Storage: 90 days (meets PCI-DSS 3-month immediate access)
[INFO] βœ… ACL Authorization: deny-by-default (allow.everyone.if.no.acl.found=false)
[INFO] βœ… Immutability: DENY DELETE/ALTER on audit topic
[INFO] βœ… S3 Cold Storage: fastorder-audit-immutable (Object Lock COMPLIANCE, 1-year)
[INFO] 
[INFO] S3 Audit Storage:
[INFO]   Bucket: s3://fastorder-audit-staging
[INFO]   Path: audit/web-universe-main-dev/
[INFO]   Object Lock: COMPLIANCE mode, 1-year retention
[INFO]   Immutability: Objects cannot be deleted or modified for 1 year
[INFO] 
[INFO] Verify compliance with:
[INFO]   bash 04-eventbus/engine/kafka/steps/11-audit-compliance-check.sh
[INFO] 
[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] πŸ“‹ AWS Roles Anywhere - Credential Refresh Setup
[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] 
[INFO] For S3 sink to write to S3, Kafka Connect needs AWS credentials.
[INFO] Use IAM Roles Anywhere with systemd timer for automatic refresh.
[INFO] 
[INFO] Required files:
[INFO]   Certificate: /etc/fastorder/rolesanywhere/client-bundle.crt
[INFO]   Private Key: /etc/fastorder/rolesanywhere/client.key
[INFO]   Helper: /usr/local/bin/aws_signing_helper
[INFO] 
[INFO] Systemd timer: kafka-aws-credential-refresh.timer
[INFO]   Runs every 30 minutes to refresh credentials to /var/lib/kafka/.aws/credentials
[INFO] 
[INFO] Verify timer is active:
[INFO]   systemctl status kafka-aws-credential-refresh.timer
[INFO] 
[INFO] Documentation: https://docs.aws.amazon.com/rolesanywhere/latest/userguide/

[OK] βœ… Step 6 completed: 05-create-audit-topic.sh

[INFO] πŸ“¦ Step 7/13: setup backups...
[INFO] Loaded environment: web-universe-main-dev (svc=web zone=universe env=dev ip=142.93.238.16)
[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] Kafka Backup Configuration
[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] Environment: web-universe-main-dev

πŸ”‘ Configuring AWS credentials...
βœ… Using permanent AWS credentials from /home/ab/.aws/credentials
[INFO] 1️⃣ Creating S3 bucket for Kafka backups...
make_bucket failed: s3://fastorder-kafka-backups-web-universe-main-dev An error occurred (AccessDenied) when calling the CreateBucket operation: User: arn:aws:iam::464621692046:user/fo-dev is not authorized to perform: s3:CreateBucket on resource: "arn:aws:s3:::fastorder-kafka-backups-web-universe-main-dev" because no identity-based policy allows the s3:CreateBucket action

An error occurred (NoSuchBucket) when calling the PutBucketVersioning operation: The specified bucket does not exist

Parameter validation failed:
Unknown parameter in LifecycleConfiguration.Rules[0]: "Id", must be one of: Expiration, ID, Prefix, Filter, Status, Transitions, NoncurrentVersionTransitions, NoncurrentVersionExpiration, AbortIncompleteMultipartUpload
[OK] βœ… S3 bucket created: fastorder-kafka-backups-web-universe-main-dev

[INFO] 2️⃣ Creating local backup directory...
[2026-02-05 03:49:52 UTC] USER=www-data EUID=0 PID=3606167 ACTION=fsop ARGS=mkdir -p /var/backups/kafka/web-universe-main-dev
[2026-02-05 03:49:52 UTC] USER=www-data EUID=0 PID=3606177 ACTION=fsop ARGS=mkdir -p /var/backups/kafka/web-universe-main-dev/topics
[2026-02-05 03:49:52 UTC] USER=www-data EUID=0 PID=3606190 ACTION=fsop ARGS=mkdir -p /var/backups/kafka/web-universe-main-dev/metadata
[2026-02-05 03:49:52 UTC] USER=www-data EUID=0 PID=3606204 ACTION=fsop ARGS=mkdir -p /var/log/kafka/backups
[2026-02-05 03:49:52 UTC] USER=www-data EUID=0 PID=3606213 ACTION=fsop ARGS=chown -R kafka:kafka /var/backups/kafka/web-universe-main-dev
[2026-02-05 03:49:52 UTC] USER=www-data EUID=0 PID=3606223 ACTION=fsop ARGS=chown -R kafka:kafka /var/log/kafka/backups
[2026-02-05 03:49:52 UTC] USER=www-data EUID=0 PID=3606232 ACTION=fsop ARGS=chmod 750 /var/backups/kafka/web-universe-main-dev
[OK] βœ… Local backup directory created

[INFO] 3️⃣ Creating topic backup script...
[2026-02-05 03:49:53 UTC] USER=www-data EUID=0 PID=3606250 ACTION=fsop ARGS=sed -i s|__ENV_ID__|web-universe-main-dev|g /usr/local/bin/kafka-backup-web-universe-main-dev.sh
[2026-02-05 03:49:53 UTC] USER=www-data EUID=0 PID=3606263 ACTION=fsop ARGS=sed -i s|__KAFKA_BROKER__|eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com:9092|g /usr/local/bin/kafka-backup-web-universe-main-dev.sh
[2026-02-05 03:49:53 UTC] USER=www-data EUID=0 PID=3606272 ACTION=fsop ARGS=sed -i s|__BACKUP_DIR__|/var/backups/kafka/web-universe-main-dev|g /usr/local/bin/kafka-backup-web-universe-main-dev.sh
[2026-02-05 03:49:53 UTC] USER=www-data EUID=0 PID=3606281 ACTION=fsop ARGS=sed -i s|__S3_BUCKET__|fastorder-kafka-backups-web-universe-main-dev|g /usr/local/bin/kafka-backup-web-universe-main-dev.sh
[2026-02-05 03:49:53 UTC] USER=www-data EUID=0 PID=3606292 ACTION=fsop ARGS=sed -i s|__S3_REGION__|me-central-1|g /usr/local/bin/kafka-backup-web-universe-main-dev.sh
[2026-02-05 03:49:53 UTC] USER=www-data EUID=0 PID=3606311 ACTION=fsop ARGS=chown root:kafka /usr/local/bin/kafka-backup-web-universe-main-dev.sh
[OK] βœ… Backup script created: /usr/local/bin/kafka-backup-web-universe-main-dev.sh

[INFO] 4️⃣ Setting up cron jobs for automated backups...
[2026-02-05 03:49:53 UTC] USER=www-data EUID=0 PID=3606331 ACTION=fsop ARGS=chmod 644 /etc/cron.d/kafka-backups-web-universe-main-dev
[OK] βœ… Cron job configured: Daily backups at 2:00 AM

[INFO] 5️⃣ Creating restore documentation...
[2026-02-05 03:49:53 UTC] USER=www-data EUID=0 PID=3606354 ACTION=fsop ARGS=sed -i s|__S3_BUCKET__|fastorder-kafka-backups-web-universe-main-dev|g /var/backups/kafka/web-universe-main-dev/RESTORE_INSTRUCTIONS.md
[2026-02-05 03:49:53 UTC] USER=www-data EUID=0 PID=3606363 ACTION=fsop ARGS=sed -i s|__S3_REGION__|me-central-1|g /var/backups/kafka/web-universe-main-dev/RESTORE_INSTRUCTIONS.md
[2026-02-05 03:49:53 UTC] USER=www-data EUID=0 PID=3606372 ACTION=fsop ARGS=sed -i s|__KAFKA_BROKER__|eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com|g /var/backups/kafka/web-universe-main-dev/RESTORE_INSTRUCTIONS.md
[2026-02-05 03:49:53 UTC] USER=www-data EUID=0 PID=3606389 ACTION=fsop ARGS=chmod 644 /var/backups/kafka/web-universe-main-dev/RESTORE_INSTRUCTIONS.md
[2026-02-05 03:49:53 UTC] USER=www-data EUID=0 PID=3606406 ACTION=fsop ARGS=chown kafka:kafka /var/backups/kafka/web-universe-main-dev/RESTORE_INSTRUCTIONS.md
[OK] βœ… Restore documentation created: /var/backups/kafka/web-universe-main-dev/RESTORE_INSTRUCTIONS.md

[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[OK] βœ… Kafka Backup Configured
[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[INFO] S3 Bucket: fastorder-kafka-backups-web-universe-main-dev
[INFO] Region: me-central-1
[INFO] Local backup dir: /var/backups/kafka/web-universe-main-dev
[INFO] Schedule: Daily at 2:00 AM
[INFO] Script: /usr/local/bin/kafka-backup-web-universe-main-dev.sh
[INFO] Restore docs: /var/backups/kafka/web-universe-main-dev/RESTORE_INSTRUCTIONS.md

[WARN] ⚠️  Note: This backs up Kafka metadata only (topics, configs, offsets)
[WARN]    For full message data backup, configure Kafka Connect S3 Sink

[OK] βœ… Step 7 completed: 06-setup-backups.sh

[INFO] πŸ“¦ Step 8/13: monitoring setup...
[INFO] Loaded environment: web-universe-main-dev (svc=web zone=universe env=dev ip=142.93.238.16)
[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] πŸ” Kafka Monitoring Integration for web-universe-main-dev
[INFO] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[INFO] 1️⃣ Checking observability cell readiness...
[INFO] Checking observability cell readiness: obs-web-universe-main-dev
[OK]   Observability cell endpoints registered for web-universe-main-dev
[OK]   βœ“ Observability cell is ready

[INFO] 2️⃣ Setting up Kafka JMX exporter integration...
[INFO] JMX Exporter port calculated for web-universe-main-dev: 9362 (offset: 54)
[INFO] Checking observability cell readiness: obs-web-universe-main-dev
[OK]   Observability cell endpoints registered for web-universe-main-dev
[INFO] Setting up Kafka JMX exporter for web-universe-main-dev
[INFO] JMX Prometheus Java Agent already exists at /opt/kafka/libs/jmx_prometheus_javaagent.jar
[2026-02-05 03:49:53 UTC] USER=www-data EUID=0 PID=3606454 ACTION=passthru ARGS=mv /tmp/jmx_exporter.yml /opt/kafka/config/jmx_exporter.yml
[2026-02-05 03:49:54 UTC] USER=www-data EUID=0 PID=3606464 ACTION=passthru ARGS=chmod 644 /opt/kafka/config/jmx_exporter.yml
[OK]   JMX exporter configuration created at /opt/kafka/config/jmx_exporter.yml
[OK]   JMX exporter configuration created
[INFO] Configuring Kafka systemd services to use JMX exporter...
[2026-02-05 03:49:54 UTC] USER=www-data EUID=0 PID=3606495 ACTION=fsop ARGS=test -f /etc/systemd/system/[2026-02-05
[INFO] All Kafka services already configured with JMX exporter
[OK]   Kafka JMX exporter integration complete
[INFO] Metrics endpoint: http://142.93.238.16:9362/metrics
[INFO] Prometheus will automatically scrape: https://metrics-web-universe-main-dev.fastorder.com:9090
[INFO] View dashboards at: https://dashboards-web-universe-main-dev.fastorder.com
[OK]   βœ“ Kafka JMX exporter integration complete
[INFO] Configuring KAFKA_OPTS environment variable for kafka user...
[2026-02-05 03:49:54 UTC] USER=www-data EUID=0 PID=3606517 ACTION=passthru ARGS=grep -q KAFKA_OPTS.*javaagent.*jmx_prometheus_javaagent.*=9362: /home/kafka/.bashrc
[2026-02-05 03:49:54 UTC] USER=www-data EUID=0 PID=3606538 ACTION=passthru ARGS=sed -i /export KAFKA_OPTS=.*jmx_prometheus_javaagent/d /home/kafka/.bashrc
[ERROR] No passwordless sudo and wrapper does not allow 'bash'. Run as root or extend wrapper.
[OK]   βœ“ KAFKA_OPTS configured in /home/kafka/.bashrc (port 9362)
[INFO] 2.5️⃣ Enabling JMX exporter in Kafka systemd service...
[2026-02-05 03:49:54 UTC] USER=www-data EUID=0 PID=3606572 ACTION=passthru ARGS=grep -q javaagent.*jmx_prometheus_javaagent /etc/systemd/system/confluent-kraft-web-universe-main-dev_coordinator.service
[INFO] Updating confluent-kraft-web-universe-main-dev_coordinator.service to enable JMX exporter...
[2026-02-05 03:49:54 UTC] USER=www-data EUID=0 PID=3606593 ACTION=passthru ARGS=sed -i s|^Environment=KAFKA_OPTS=.*|Environment=KAFKA_OPTS=-javaagent:/opt/kafka/libs/jmx_prometheus_javaagent.jar=9362:/opt/kafka/config/jmx_exporter.yml| /etc/systemd/system/confluent-kraft-web-universe-main-dev_coordinator.service
[OK]   βœ“ Updated confluent-kraft-web-universe-main-dev_coordinator.service
[INFO] Reloading systemd daemon and restarting Kafka services...
[2026-02-05 03:49:54 UTC] USER=www-data EUID=0 PID=3606615 ACTION=passthru ARGS=systemctl daemon-reload
[2026-02-05 03:49:54 UTC] USER=www-data EUID=0 PID=3606674 ACTION=passthru ARGS=systemctl is-active --quiet confluent-kraft-web-universe-main-dev_coordinator
[INFO] Restarting confluent-kraft-web-universe-main-dev_coordinator...
[2026-02-05 03:49:55 UTC] USER=www-data EUID=0 PID=3606697 ACTION=passthru ARGS=systemctl restart confluent-kraft-web-universe-main-dev_coordinator
[2026-02-05 03:49:59 UTC] USER=www-data EUID=0 PID=3607331 ACTION=passthru ARGS=systemctl is-active --quiet confluent-kraft-web-universe-main-dev_coordinator
[OK]   βœ“ confluent-kraft-web-universe-main-dev_coordinator restarted successfully
[OK]   βœ“ JMX exporter enabled in Kafka systemd services
[INFO] 2.6️⃣ Configuring Prometheus to scrape Kafka metrics...
[2026-02-05 03:49:59 UTC] USER=www-data EUID=0 PID=3607353 ACTION=passthru ARGS=grep -q job_name: 'kafka' /etc/prometheus/obs-web-universe-main-dev/prometheus.yml
[INFO] Adding Kafka scrape target to Prometheus configuration...
[ERROR] No passwordless sudo and wrapper does not allow 'bash'. Run as root or extend wrapper.
[2026-02-05 03:49:59 UTC] USER=www-data EUID=0 PID=3607386 ACTION=passthru ARGS=sed -i /# Prometheus self-monitoring/r /tmp/prometheus_kafka_add.yml /etc/prometheus/obs-web-universe-main-dev/prometheus.yml
[ERROR] Invalid Prometheus configuration - rolling back
[2026-02-05 03:49:59 UTC] USER=www-data EUID=0 PID=3607419 ACTION=passthru ARGS=sed -i /job_name: 'kafka'/,+6d /etc/prometheus/obs-web-universe-main-dev/prometheus.yml
[2026-02-05 03:49:59 UTC] USER=www-data EUID=0 PID=3607444 ACTION=fsop ARGS=rm -f /tmp/prometheus_kafka_add.yml

[INFO] 3️⃣ Registering Kafka nodes to monitoring database...
[INFO] Detected Kafka version: 3.9.1
[INFO] Registering Kafka Broker to monitoring dashboard...
[INFO] Detected 4-part identifier format
[INFO] Registering node via API
[INFO]   Application:       Kafka Broker
[INFO]   Identifier:        web-universe-main-dev-broker-01
[INFO]   Identifier Parent: cluster
[INFO]   IP:                142.93.238.16
[INFO]   Port:              9092
[INFO]   FQDN:              eventbus-web-universe-main-dev-kafka-broker-01.fastorder.com
[INFO]   Status:            running
[INFO]   Environment:       web-universe-main-dev (service=web, zone=universe, branch=main, env=dev)
[INFO] Calling registration API: https://skeleton.dev.fastorder.com/api/obs/register
[WARN] Registration API call failed (HTTP 500), retrying (1/3)...
[WARN] Response: {"success":false,"error":"Registration failed: SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation \"obs.application\" does not exist\nLINE 2:                     SELECT uuid FROM obs.application\n                                             ^"}
[WARN] Registration API call failed (HTTP 500), retrying (2/3)...
[WARN] Response: {"success":false,"error":"Registration failed: SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation \"obs.application\" does not exist\nLINE 2:                     SELECT uuid FROM obs.application\n                                             ^"}
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ERROR] ❌ REGISTRATION FAILED AFTER 3 ATTEMPTS
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ERROR] HTTP Status: 500
[ERROR] Response: {"success":false,"error":"Registration failed: SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation \"obs.application\" does not exist\nLINE 2:                     SELECT uuid FROM obs.application\n                                             ^"}
[ERROR] 
[ERROR] API endpoint: https://skeleton.dev.fastorder.com/api/obs/register
[ERROR] 
[ERROR] Troubleshooting:
[ERROR]   1. Check if skeleton.dev.fastorder.com is accessible
[ERROR]   2. Verify web application is running
[ERROR]   3. Check web application logs: /var/www/html/skeleton.dev.fastorder.com/logs/
[ERROR]   4. Test API manually:
[ERROR]      curl -k -X POST 'https://skeleton.dev.fastorder.com/api/obs/register' \
[ERROR]        -H 'Content-Type: application/json' \
[ERROR]        -H 'X-Internal-Token: $OBS_INTERNAL_API_TOKEN' \
[ERROR]        -d '$PAYLOAD'
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ERROR] ❌ KAFKA BROKER REGISTRATION FAILED
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ERROR] Failed to register Kafka Broker to observability dashboard
[ERROR] 
[ERROR] Check API token: sudo cat /etc/fastorder/obs-api-token
[ERROR] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ERROR] ❌ Step 8 failed: 10-monitoring-setup.sh

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ERROR] Kafka setup FAILED at step: 10-monitoring-setup.sh
[ERROR] Executed 8 of 13 steps
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[ERROR] ❌ Event bus infrastructure (kafka) setup failed with exit code: 1
8
05-db local
⏸️ PENDING

⏳ This step is pending and will execute after the previous steps complete successfully.

πŸ“„ View Logs (0 chars)
Loading logs...
9
06-finalizing local
⏸️ PENDING

⏳ This step is pending and will execute after the previous steps complete successfully.

πŸ“„ View Logs (0 chars)
Loading logs...
9
Total Steps
4
Succeeded
1
Failed
0
Running
4
Pending
9 minutes
Total Steps Time
← Back to Dashboard πŸ” View Environment