crowd

Ansible роль crowd

Установка и настройка Crowd на вашей системе.

GitHub Версия Проблемы Запросы на изменение Скачивания
github Версия Проблемы Запросы на изменение Ansible роль

Пример плейбука

Этот пример взят из molecule/default/converge.yml и тестируется при каждом обновлении, запросе на изменение и релизе.

---
- name: Согласовать
  hosts: all
  become: true
  gather_facts: true

  roles:
    - role: buluma.crowd

Машина должна быть подготовлена. В CI это делается с помощью molecule/default/prepare.yml:

---
- hosts: all
  remote_user: root
  become: true
  gather_facts: false

  roles:
    - role: buluma.bootstrap
    - role: buluma.java

  tasks:
    - name: redhat | регистрация через subscription-manager
      ansible.builtin.raw: |
        set -eu
        subscription-manager register \
          --username={{ lookup('env', 'REDHAT_USERNAME') }} \
          --password={{ lookup('env', 'REDHAT_PASSWORD') }} \
          --auto-attach
      changed_when: false
      failed_when: false

    - name: debian | установка python3 с помощью apt-get
      ansible.builtin.raw: |
        set -eu
        apt-get update
        DEBIAN_FRONTEND=noninteractive apt-get install -y python3
      changed_when: false
      failed_when: false

    - name: redhat | установка python3 с помощью yum
      ansible.builtin.raw: |
        set -eu
        yum makecache
        yum install -y python3
      changed_when: false
      failed_when: false

    - name: suse | установка python3 с помощью zypper
      ansible.builtin.raw: |
        set -eu
        zypper -n --gpg-auto-import-keys refresh
        zypper -n install -y python3
      changed_when: false
      failed_when: false

- hosts: all
  remote_user: root
  become: true
  tasks:
    - name: копирование /etc/skel в /root
      ansible.builtin.raw: |
        set -eu
        cp -rfT /etc/skel /root
      changed_when: false
      failed_when: false

    - name: отключение SELinux
      ansible.builtin.raw: |
        set -eu
        setenforce 0
        sed -i 's/^SELINUX=.*$/SELINUX=permissive/g' /etc/selinux/config
      changed_when: false
      failed_when: false

    - name: остановка firewalld.service
      ansible.builtin.raw: |
        set -eu
        systemctl stop firewalld.service
        systemctl disable firewalld.service
      changed_when: false
      failed_when: false

    - name: остановка ufw.service
      ansible.builtin.raw: |
        set -eu
        systemctl stop ufw.service
        systemctl disable ufw.service
      changed_when: false
      failed_when: false

    - name: debian | установка пакетов *.deb
      ansible.builtin.raw: |
        set -eu
        DEBIAN_FRONTEND=noninteractive apt-get install -y bzip2 ca-certificates curl gcc gnupg gzip hostname iproute2 passwd procps python3 python3-apt python3-jmespath python3-lxml python3-pip python3-setuptools python3-venv python3-virtualenv python3-wheel rsync sudo tar unzip util-linux zip
      when: ansible_os_family | lower == "debian"
      changed_when: false
      failed_when: false

    # TODO: Зафиксировать из-за CVE-2024-3094
    - name: debian | Попытка установить пакеты xz-utils
      ansible.builtin.pip:
        name: xz-utils==5.4.6
        state: present
      when: ansible_os_family | lower == "debian"
      changed_when: false
      failed_when: false

    - name: fedora | установка пакетов *.rpm с помощью yum
      ansible.builtin.raw: |
        set -eu
        yum install -y bzip2 ca-certificates curl gcc gnupg2 gzip hostname iproute procps-ng python3 python3-dnf-plugin-versionlock python3-jmespath python3-libselinux python3-lxml python3-pip python3-setuptools python3-virtualenv python3-wheel rsync shadow-utils sudo tar unzip util-linux xz yum-utils zip
      when: ansible_distribution | lower == "fedora"
      changed_when: false
      failed_when: false

    - name: redhat-9 | установка пакетов *.rpm с помощью yum
      ansible.builtin.raw: |
        set -eu
        yum-config-manager --enable crb || echo $?
        yum-config-manager --enable codeready-builder-beta-for-rhel-9-x86_64-rpms || echo $?
        yum install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
        yum install -y bzip2 ca-certificates curl gcc gnupg2 gzip hostname iproute procps-ng python3 python3-dnf-plugin-versionlock python3-jmespath python3-libselinux python3-lxml python3-pip python3-setuptools python3-virtualenv python3-wheel rsync shadow-utils sudo tar unzip util-linux xz yum-utils zip
      when: ansible_os_family | lower == "redhat" and ansible_distribution_major_version | lower == "9"
      changed_when: false
      failed_when: false

    - name: redhat-8 | установка пакетов *.rpm с помощью yum
      ansible.builtin.raw: |
        set -eu
        yum install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
        yum install -y bzip2 ca-certificates curl gcc gnupg2 gzip hostname iproute procps-ng python3 python3-dnf-plugin-versionlock python3-jmespath python3-libselinux python3-lxml python3-pip python3-setuptools python3-virtualenv python3-wheel rsync shadow-utils sudo tar unzip util-linux xz yum-utils zip
      when: ansible_os_family | lower == "redhat" and ansible_distribution_major_version | lower == "8"
      changed_when: false
      failed_when: false

    - name: redhat-7 | установка пакетов *.rpm с помощью yum
      ansible.builtin.raw: |
        set -eu
        subscription-manager repos --enable=rhel-7-server-optional-rpms || echo $?
        yum install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
        yum install -y bzip2 ca-certificates curl gcc gnupg2 gzip hostname iproute procps-ng python3 python3-jmespath python3-libselinux python3-lxml python3-pip python3-setuptools python3-virtualenv python3-wheel rsync shadow-utils sudo tar unzip util-linux xz yum-plugin-versionlock yum-utils zip
      when: ansible_os_family | lower == "redhat" and ansible_distribution_major_version | lower == "7"
      changed_when: false
      failed_when: false

    - name: suse | установка пакетов *.rpm с помощью zypper
      ansible.builtin.raw: |
        set -eu
        zypper -n install -y bzip2 ca-certificates curl gcc gpg2 gzip hostname iproute2 procps python3 python3-jmespath python3-lxml python3-pip python3-setuptools python3-virtualenv python3-wheel rsync shadow sudo tar unzip util-linux xz zip
      when: ansible_os_family | lower == "suse"
      changed_when: false
      failed_when: false

Также смотрите полное объяснение и пример о том, как использовать эти роли.

Переменные роли

Значения по умолчанию для переменных установлены в defaults/main.yml:

---
# файл значений по умолчанию для crowd

# Выпуск PostgreSQL JDBC.
postgresql_jdbc_release: "42.3"

# Версия PostgreSQL JDBC.
postgresql_jdbc_version: "{{ _postgresql_jdbc_version[postgresql_jdbc_release] }}"

# Подробности загрузки PostgreSQL JDBC.
postgresql_jdbc_download: "{{ _postgresql_jdbc_download[postgresql_jdbc_version] }}"

# Выпуск Crowd.
crowd_release: "4.4"

# Версия Crowd.
crowd_version: "{{ _crowd_version[crowd_release] }}"

# Подробности загрузки Crowd.
crowd_download: "{{ _crowd_download[crowd_version] }}"

# Владелец и группа для Crowd.
crowd_owner: "crowd"
crowd_group: "crowd"

# Домашний каталог Crowd.
crowd_home: "/var/atlassian/application-data/crowd"

# Каталог установки Crowd.
crowd_catalina: "/opt/atlassian/crowd"

# Минимальное и максимальное потребление памяти JVM.
crowd_jvm_minimum_memory: "1024m"
crowd_jvm_maximum_memory: "1024m"

# Настройка прокси и контекстного пути.
crowd_catalina_connector_proxyname: ~
crowd_catalina_connector_proxyport: ~
crowd_catalina_connector_scheme: "http"
crowd_catalina_connector_secure: "false"
crowd_catalina_context_path: ~

# Рекомендуемые аргументы JVM от Atlassian.
crowd_jvm_support_recommended_args: >-
  -Datlassian.plugins.enable.wait=300
  -XX:+UnlockExperimentalVMOptions
  -XX:+UseCGroupMemoryLimitForHeap
  -XX:MaxRAMFraction=1

# Время ожидания сеанса (в минутах).
crowd_session_timeout: "120"

Требования

Состояние используемых ролей

Для подготовки системы используются следующие роли. Вы можете подготовить свою систему другим способом.

Требование GitHub Версия
buluma.bootstrap Ansible Molecule Версия
buluma.java Ansible Molecule Версия
alvistack.openjdk Ansible Molecule Версия

Контекст

Эта роль является частью многих совместимых ролей. Ознакомьтесь с документацией этих ролей для получения дополнительной информации.

Вот обзор связанных ролей:

зависимости

Совместимость

Эта роль была протестирована на следующих образах контейнеров:

контейнер теги
Amazon Кандидат
EL 8
Debian все
Fedora все
opensuse все
Ubuntu все

Минимальная версия Ansible, требуемая для работы — 2.12, тестирование проводилось на:

  • предыдущей версии.
  • текущей версии.
  • версии разработки.

Если вы обнаружите какие-либо проблемы, пожалуйста, сообщите о них на GitHub

Изменения

История роли

Лицензия

Apache-2.0

Информация об авторе

Shadow Walker

О проекте

Install and configure crowd on your system.

Установить
ansible-galaxy install buluma/ansible-role-crowd
Лицензия
apache-2.0
Загрузки
127
Владелец
DevOps Engineer