---
- name: 强制升级 Podman 到最新版本
  hosts: warden
  become: yes
  gather_facts: yes

  tasks:
    - name: 检查当前 Podman 版本
      shell: podman --version
      register: current_podman_version
      ignore_errors: yes

    - name: 显示当前版本
      debug:
        msg: "升级前版本: {{ current_podman_version.stdout if current_podman_version.rc == 0 else '未安装' }}"

    - name: 卸载现有 Podman
      shell: apt-get remove -y --purge podman* containerd* runc*
      ignore_errors: yes

    - name: 清理残留配置
      shell: |
        rm -rf /etc/containers
        rm -rf /usr/share/containers
        rm -rf /var/lib/containers
      ignore_errors: yes

    - name: 直接下载并安装最新版Podman二进制文件
      shell: |
        # 清理可能存在的旧版本
        rm -f /tmp/podman-latest.tar.gz
        rm -f /usr/local/bin/podman
        
        # 获取最新版本号
        LATEST_VERSION="v5.6.1"  # 硬编码最新版本避免网络问题
        echo "安装版本: $LATEST_VERSION"
        
        # 使用GitHub镜像站点下载二进制文件
        echo "使用GitHub镜像站点下载..."
        wget -O /tmp/podman-latest.tar.gz "https://gh.git4ta.fun/github.com/containers/podman/releases/download/${LATEST_VERSION}/podman-linux-static-amd64.tar.gz"
        
        # 检查文件是否下载成功，如果失败尝试直接下载
        if [ ! -f /tmp/podman-latest.tar.gz ]; then
            echo "镜像下载失败，尝试直接下载..."
            wget -O /tmp/podman-latest.tar.gz "https://github.com/containers/podman/releases/download/${LATEST_VERSION}/podman-linux-static-amd64.tar.gz"
        fi
        
        # 解压并安装
        tar -xzf /tmp/podman-latest.tar.gz -C /usr/local/bin/ --strip-components=1
        chmod +x /usr/local/bin/podman
        
        # 更新PATH
        echo 'export PATH=/usr/local/bin:$PATH' >> /etc/profile
        . /etc/profile
        
        # 验证安装
        /usr/local/bin/podman --version
      ignore_errors: yes

    - name: 验证安装结果
      shell: podman --version
      register: new_podman_version
      ignore_errors: yes

    - name: 显示最终版本
      debug:
        msg: "升级后版本: {{ new_podman_version.stdout if new_podman_version.rc == 0 else '安装失败' }}"