buluma.service
Rola Ansible service
Dodaje niestandardowe usługi do systemu Linux.
GitHub | Wersja | Problemy | Prośby o łączenie | Pobrania |
---|---|---|---|---|
Przykładowy Playbook
Ten przykład pochodzi z molecule/default/converge.yml
i jest testowany przy każdym dodaniu, prośbie o łączenie i wydaniu.
---
- nazwa: Zbieżność
hosty: wszystkie
become: true
gather_facts: true
zmienne:
_service_test_command:
domyślnie: /usr/bin/sleep
Alpine: /bin/sleep
Debian: /bin/sleep
Ubuntu-16: /bin/sleep
Ubuntu-18: /bin/sleep
service_test_command: "{{ _service_test_command[ansible_distribution ~ '-' ~ ansible_distribution_major_version] | default(_service_test_command[ansible_os_family] | default(_service_test_command['default'])) }}" # noqa 204 Zbyt długie.
role:
- rola: buluma.service
service_list:
- nazwa: simple-service
opis: Prosta usługa
start_command: "{{ service_test_command }} 3600"
stan: uruchomiony
włączony: true
- nazwa: stopped-service
opis: Prosta usługa
start_command: "{{ service_test_command }} 3601"
stan: zatrzymany
włączony: false
- nazwa: specific-stop-service
opis: Specjalna usługa zatrzymania
start_command: "{{ service_test_command }} 1440"
stop_command: /usr/bin/killall -f "sleep 1440"
- nazwa: specific-user-group-service
opis: Usługa dla konkretnej grupy użytkowników
start_command: "{{ service_test_command }} 28800"
user_name: root
group_name: root
- nazwa: specific-workingdirectory-service
opis: Usługa z konkretnym katalogiem roboczym
start_command: "{{ service_test_command }} 57600"
working_directory: /tmp
- nazwa: specific-pattern-service
opis: Usługa z konkretnym wzorem statusu
start_command: "{{ service_test_command }} 115200"
status_pattern: 115200
- nazwa: variable-service
opis: Usługa z zmiennymi środowiskowymi
start_command: "{{ service_test_command }} ${time}"
environment_variables:
time: 230400
- nazwa: pidfile-service
opis: Usługa z plikiem pid
start_command: "{{ service_test_command }} 460800"
pidfile: /var/run/pidfile-service.pid
- nazwa: environmentfile-service
opis: Usługa z plikiem środowiskowym
start_command: "{{ service_test_command }} 921600"
environmentfile: /environmentfile.txt
Maszyna musi być przygotowana. W CI robi się to przy użyciu molecule/default/prepare.yml
:
---
- nazwa: Przygotowanie
hosty: wszystkie
gather_facts: false
become: true
serial: 30%
role:
- rola: buluma.bootstrap
post_tasks:
- nazwa: Umieszczanie /environmentfile.txt
ansible.builtin.copy:
treść: "value=variable"
dest: /environmentfile.txt
tryb: "0644"
Zobacz także pełne wyjaśnienie i przykład dotyczące używania tych ról.
Zmiennie roli
Domyślne wartości dla zmiennych są ustawione w defaults/main.yml
:
---
# plik domyślny dla usługi
# service_list może zawierać listę usług do dodania do systemu.
# Obowiązkowe elementy dla każdego wpisu to:
# - nazwa: (krótkie) imię usługi, np. "tomcat".
# - opis: trochę dłuższa nazwa, np. "serwer aplikacji Tomcat".
# - start_command: Polecenie uruchamiające usługę,
# np. "/usr/local/bin/java -jar some.jar"
# Opcjonalne elementy to:
# - stop_command: Domyślnie program, który jest uruchamiany, jest zatrzymywany.
# w przypadku, gdy działający program jest przemianowany lub rozszerzany (w tym ścieżka) podczas
# uruchamiania, można tu określić niestandardowe polecenie zatrzymania, np. "pkill foo"
# - status_pattern: Jaki program (lub wzór) szukać przy znajdowaniu statusu programu, np. "artifactory".
# - type: Jak program się uruchamia; "simple" lub "forking". Simple oznacza, że
# program działa w tle, np. "nc -l 1234". Forking oznacza, że
# program samodzielnie forków, np. "nc -l 12345 &"
# - working_directory: Katalog, do którego należy przejść przed uruchomieniem usługi.
# - environment_variables: Lista zmiennych do ustawienia. Na przykład:
# environment_variables:
# variable1: value1
# variable2: value2
# - after: Uruchom po wspomnianej usłudze.
# - restart_mode: Tryb do użycia, np. "always".
# - restart_seconds: Czas, aby pozwolić restartowi zakończyć.
service_list: []
Wymagania
- pakiety pip wymienione w requirements.txt.
Stan używanych ról
Poniższe role są używane do przygotowania systemu. Możesz przygotować swój system w inny sposób.
Wymaganie | GitHub | Wersja |
---|---|---|
buluma.bootstrap |
Kontekst
Ta rola jest częścią wielu zgodnych ról. Zobacz dokumentację tych ról po więcej informacji.
Oto przegląd powiązanych ról:
Kompatybilność
Ta rola była testowana na tych obrazach kontenerów:
kontener | tagi |
---|---|
EL | 8 |
Debian | wszystkie |
Fedora | wszystkie |
opensuse | wszystkie |
Ubuntu | wszystkie |
Kali | wszystkie |
Minimalna wymagana wersja Ansible to 2.12, testy przeprowadzono:
- Na poprzedniej wersji.
- Na bieżącej wersji.
- Na wersji deweloperskiej.
Jeśli znajdziesz problemy, proszę zgłaszać je na GitHubie
Dziennik zmian
Licencja
Informacje o autorze
ansible-galaxy install buluma.service