class Kitsune::Kit::Commands::InstallDockerEngine

def perform_setup(ssh)

def perform_setup(ssh)
  output = ssh.exec! <<~EOH
    set -e
    sudo mkdir -p /usr/local/backups
    sudo chown deploy:deploy /usr/local/backups
    BACKUP_DIR="/usr/local/backups"
    SCRIPT_ID="install_docker_engine"
    BEFORE_FILE="${BACKUP_DIR}/${SCRIPT_ID}.before"
    AFTER_FILE="${BACKUP_DIR}/${SCRIPT_ID}.after"
    TARGET_PKGS=(docker-ce docker-ce-cli containerd.io)
    echo "✍🏻 TARGET_PKGS=(\${TARGET_PKGS[*]})"
    if [ ! -f "$AFTER_FILE" ]; then
      for pkg in "\${TARGET_PKGS[@]}"; do
        if dpkg -l "\$pkg" &>/dev/null; then
          echo "\$pkg" >> "$BEFORE_FILE"
        fi
      done
      if [ ! -f /usr/share/keyrings/docker-archive-keyring.gpg ]; then
        curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
      fi
      if [ ! -f /etc/apt/sources.list.d/docker.list ]; then
        echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
      fi
      echo "✍🏻 Installing Docker Engine..."
      sudo apt-get update -y
      sudo apt-get install -y "\${TARGET_PKGS[@]}"
      sudo touch "$AFTER_FILE" && echo "   - marker at $AFTER_FILE"
      echo "✅ Docker installed"
    else
      echo "🔄 Docker already set up, ensuring latest..."
      sudo apt-get update -y
      sudo apt-get install -y "\${TARGET_PKGS[@]}"
      echo "✅ Docker packages are current"
    fi
  EOH
  say output
  say "✅ Docker Engine setup completed", :green
end