Files
DevOpsLab/roles/python/vars/main.yml
Сергей Антропов 0b4efd9ca1 feat: Добавлена роль Python 3.12 и восстановлена роль Docker
- Создана универсальная роль Python для установки Python 3.12 на всех ОС
- Восстановлена роль Docker из git истории
- Исправлены все ошибки линтера
- Обновлен deploy.yml с правильным порядком ролей: devops → python → docker
- Удалена устаревшая роль ping
- Добавлена поддержка альтернативных репозиториев для старых ОС

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-27 22:08:37 +03:00

475 lines
10 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
# Переменные для роли python
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
# Определение семейства ОС и версии
python_os_family: "{{ ansible_os_family | lower }}"
python_distribution: "{{ ansible_distribution | lower }}"
python_distribution_version: "{{ ansible_distribution_version }}"
# Переменные для разных дистрибутивов
python_package_managers:
debian: "apt"
ubuntu: "apt"
redhat: "dnf"
centos: "dnf"
rhel: "dnf"
rocky: "dnf"
alma: "dnf"
fedora: "dnf"
suse: "zypper"
opensuse: "zypper"
alt: "apt-rpm"
"alt linux": "apt-rpm"
astra: "apt"
"astra linux": "apt"
# Пакеты для установки Python 3.12 в разных дистрибутивах
python_packages_by_os:
debian:
- python3.12
- python3.12-dev
- python3.12-venv
- python3.12-distutils
- python3.12-lib2to3
- python3.12-gdbm
- python3.12-tk
# Альтернативные пакеты для старых Debian
- python3.11
- python3.11-dev
- python3.11-venv
ubuntu:
- python3.12
- python3.12-dev
- python3.12-venv
- python3.12-distutils
- python3.12-lib2to3
- python3.12-gdbm
- python3.12-tk
# Альтернативные пакеты для старых Ubuntu
- python3.11
- python3.11-dev
- python3.11-venv
# Пакеты без версии для совместимости
- python3-distutils
- python3-lib2to3
redhat:
- python3.12
- python3.12-pip
- python3.12-devel
- python3.12-tkinter
centos:
- python3.12
- python3.12-pip
- python3.12-devel
- python3.12-tkinter
# Альтернативные пакеты для старых CentOS
- python312
- python312-pip
- python312-devel
# SCL пакеты для очень старых CentOS
- rh-python312
- rh-python312-python-pip
- rh-python312-python-devel
rhel:
- python3.12
- python3.12-pip
- python3.12-devel
- python3.12-tkinter
# Альтернативные пакеты для старых RHEL
- python312
- python312-pip
- python312-devel
# SCL пакеты для очень старых RHEL
- rh-python312
- rh-python312-python-pip
- rh-python312-python-devel
rocky:
- python3.12
- python3.12-pip
- python3.12-devel
- python3.12-tkinter
alma:
- python3.12
- python3.12-pip
- python3.12-devel
- python3.12-tkinter
fedora:
- python3.12
- python3.12-pip
- python3.12-devel
- python3.12-tkinter
suse:
- python312
- python312-devel
- python312-pip
opensuse:
- python312
- python312-devel
- python312-pip
alt:
- python3.12
- python3.12-devel
- python3.12-pip
astra:
- python3.12
- python3.12-dev
- python3.12-venv
- python3.12-distutils
- python3.12-lib2to3
- python3.12-gdbm
- python3.12-tk
"alt linux":
- python3.12
- python3.12-devel
- python3.12-pip
"astra linux":
- python3.12
- python3.12-dev
- python3.12-venv
- python3.12-distutils
- python3.12-lib2to3
- python3.12-gdbm
- python3.12-tk
# Репозитории для разных дистрибутивов
python_repositories:
debian:
- name: "deadsnakes"
url: "ppa:deadsnakes/ppa"
state: "present"
- name: "deadsnakes-debian"
url: "deb http://ppa.launchpad.net/deadsnakes/ppa/ubuntu focal main"
state: "present"
ubuntu:
- name: "deadsnakes"
url: "ppa:deadsnakes/ppa"
state: "present"
redhat:
- name: "epel"
state: "present"
- name: "ius"
url: "https://repo.ius.io/redhat/7/x86_64/"
state: "present"
centos:
- name: "epel"
state: "present"
- name: "ius"
url: "https://repo.ius.io/centos/7/x86_64/"
state: "present"
- name: "scl"
url: "https://www.softwarecollections.org/en/scls/rhscl/rh-python312/"
state: "present"
rhel:
- name: "epel"
state: "present"
- name: "ius"
url: "https://repo.ius.io/redhat/7/x86_64/"
state: "present"
- name: "scl"
url: "https://www.softwarecollections.org/en/scls/rhscl/rh-python312/"
state: "present"
rocky:
- name: "epel"
state: "present"
alma:
- name: "epel"
state: "present"
fedora:
- name: "epel"
state: "present"
# Команды для обновления пакетов
python_update_commands:
debian: "apt update"
ubuntu: "apt update"
redhat: "dnf update -y"
centos: "dnf update -y"
rhel: "dnf update -y"
rocky: "dnf update -y"
alma: "dnf update -y"
fedora: "dnf update -y"
suse: "zypper refresh"
opensuse: "zypper refresh"
alt: "apt-get update"
"alt linux": "apt-get update"
astra: "apt update"
"astra linux": "apt update"
# Команды для установки пакетов
python_install_commands:
debian: "apt install -y"
ubuntu: "apt install -y"
redhat: "dnf install -y"
centos: "dnf install -y"
rhel: "dnf install -y"
rocky: "dnf install -y"
alma: "dnf install -y"
fedora: "dnf install -y"
suse: "zypper install -y"
opensuse: "zypper install -y"
alt: "apt-get install -y"
"alt linux": "apt-get install -y"
astra: "apt install -y"
"astra linux": "apt install -y"
# Пути к исполняемым файлам Python
python_executable_paths:
debian: "/usr/bin/python3.12"
ubuntu: "/usr/bin/python3.12"
redhat: "/usr/bin/python3.12"
centos: "/usr/bin/python3.12"
rhel: "/usr/bin/python3.12"
rocky: "/usr/bin/python3.12"
alma: "/usr/bin/python3.12"
fedora: "/usr/bin/python3.12"
suse: "/usr/bin/python3.12"
opensuse: "/usr/bin/python3.12"
alt: "/usr/bin/python3.12"
"alt linux": "/usr/bin/python3.12"
astra: "/usr/bin/python3.12"
"astra linux": "/usr/bin/python3.12"
# Пути к pip
python_pip_paths:
debian: "/usr/bin/pip3.12"
ubuntu: "/usr/bin/pip3.12"
redhat: "/usr/bin/pip3.12"
centos: "/usr/bin/pip3.12"
rhel: "/usr/bin/pip3.12"
rocky: "/usr/bin/pip3.12"
alma: "/usr/bin/pip3.12"
fedora: "/usr/bin/pip3.12"
suse: "/usr/bin/pip3.12"
opensuse: "/usr/bin/pip3.12"
alt: "/usr/bin/pip3.12"
"alt linux": "/usr/bin/pip3.12"
astra: "/usr/bin/pip3.12"
"astra linux": "/usr/bin/pip3.12"
# Системные зависимости для компиляции
python_build_deps_by_os:
debian:
- build-essential
- zlib1g-dev
- libssl-dev
- libffi-dev
- libsqlite3-dev
- libreadline-dev
- libbz2-dev
- libncurses5-dev
- libncursesw5-dev
- xz-utils
- tk-dev
- libgdbm-dev
- libdb-dev
- libpcap-dev
- liblzma-dev
ubuntu:
- build-essential
- zlib1g-dev
- libssl-dev
- libffi-dev
- libsqlite3-dev
- libreadline-dev
- libbz2-dev
- libncurses5-dev
- libncursesw5-dev
- xz-utils
- tk-dev
- libgdbm-dev
- libdb-dev
- libpcap-dev
- liblzma-dev
redhat:
- gcc
- gcc-c++
- make
- zlib-devel
- openssl-devel
- libffi-devel
- sqlite-devel
- readline-devel
- bzip2-devel
- ncurses-devel
- xz-devel
- tk-devel
- gdbm-devel
- db4-devel
- libpcap-devel
- expat-devel
- libnsl2-devel
centos:
- gcc
- gcc-c++
- make
- zlib-devel
- openssl-devel
- libffi-devel
- sqlite-devel
- readline-devel
- bzip2-devel
- ncurses-devel
- xz-devel
- tk-devel
- gdbm-devel
- expat-devel
# Альтернативные пакеты для CentOS
- gdbm
- db4
rhel:
- gcc
- gcc-c++
- make
- zlib-devel
- openssl-devel
- libffi-devel
- sqlite-devel
- readline-devel
- bzip2-devel
- ncurses-devel
- xz-devel
- tk-devel
- gdbm-devel
- expat-devel
rocky:
- gcc
- gcc-c++
- make
- zlib-devel
- openssl-devel
- libffi-devel
- sqlite-devel
- readline-devel
- bzip2-devel
- ncurses-devel
- xz-devel
- tk-devel
- gdbm-devel
- expat-devel
alma:
- gcc
- gcc-c++
- make
- zlib-devel
- openssl-devel
- libffi-devel
- sqlite-devel
- readline-devel
- bzip2-devel
- ncurses-devel
- xz-devel
- tk-devel
- gdbm-devel
- expat-devel
fedora:
- gcc
- gcc-c++
- make
- zlib-devel
- openssl-devel
- libffi-devel
- sqlite-devel
- readline-devel
- bzip2-devel
- ncurses-devel
- xz-devel
- tk-devel
- gdbm-devel
- expat-devel
suse:
- gcc
- gcc-c++
- make
- zlib-devel
- libopenssl-devel
- libffi-devel
- sqlite3-devel
- readline-devel
- bzip2-devel
- ncurses-devel
- xz-devel
- tk-devel
- gdbm-devel
- libpcap-devel
- expat-devel
- libnsl2-devel
opensuse:
- gcc
- gcc-c++
- make
- zlib-devel
- libopenssl-devel
- libffi-devel
- sqlite3-devel
- readline-devel
- bzip2-devel
- ncurses-devel
- xz-devel
- tk-devel
- gdbm-devel
- expat-devel
alt:
- gcc
- gcc-c++
- make
- zlib-devel
- openssl-devel
- libffi-devel
- sqlite-devel
- readline-devel
- bzip2-devel
- ncurses-devel
- xz-devel
- tk-devel
- gdbm-devel
- expat-devel
astra:
- build-essential
- zlib1g-dev
- libssl-dev
- libffi-dev
- libsqlite3-dev
- libreadline-dev
- libbz2-dev
- libncurses5-dev
- libncursesw5-dev
- xz-utils
- tk-dev
- libgdbm-dev
- libdb-dev
- libpcap-dev
- liblzma-dev
"alt linux":
- gcc
- gcc-c++
- make
- zlib-devel
- openssl-devel
- libffi-devel
- sqlite-devel
- readline-devel
- bzip2-devel
- ncurses-devel
- xz-devel
- tk-devel
- gdbm-devel
- expat-devel
"astra linux":
- build-essential
- zlib1g-dev
- libssl-dev
- libffi-dev
- libsqlite3-dev
- libreadline-dev
- libbz2-dev
- libncurses5-dev
- libncursesw5-dev
- xz-utils
- tk-dev
- libgdbm-dev
- libdb-dev
- libpcap-dev
- liblzma-devel