triplepoint.znc
Ansible ZNC
Zainstaluj i skonfiguruj bouncera IRC ZNC.
Zawiera moduł ClientBuffer wspierający wiele oddzielnych buforów dla każdego konta.
Ponieważ ta rola opiera się na kontenerze Docker, uruchomienie polecenia znc
dla funkcji pomocniczych, jak --makepass
, nie jest tak proste. Oto jak uruchomić to polecenie na maszynie z ustawionym Dockiem:
docker run -it --rm triplepoint/docker-znc:latest znc --makepass
Wymagania
Nie ma twardych zależności, ale na hoście musi działać środowisko Docker, aby ta rola mogła być wdrożona. Rola geerlingguy.docker
spełnia ten wymóg.
Zmienne Roli
Aby uzyskać więcej szczegółów dotyczących konfiguracji ZNC, zobacz dokumentację konfiguracji ZNC.
Aby uzyskać więcej informacji na temat globalnych, użytkowników i modułów sieciowych ZNC, zobacz dokumentację modułów ZNC.
Instalacja ZNC
znc_exec_user: znc-admin # Użytkownik, pod którym będzie działać ZNC
znc_exec_user_and_group_id: 1066 # Identyfikator użytkownika i grupy exec
znc_docker_image_version: 0.1.6 # Wersja obrazu dockera `triplepoint/docker-znc`
znc_install_version: 1.6.5 # Wersja ZNC zainstalowana z obrazem dockera. Powinno być na bieżąco.
znc_config_root: /etc/znc # Główna lokalizacja plików konfiguracyjnych ZNC
Globalna Konfiguracja ZNC
znc_max_buffer_size: 100000 # Maksymalny rozmiar bufora dla każdego użytkownika. To jest domyślna wartość, jeśli nie podano konkretnej wartości dla użytkownika.
znc_port: 6666 # Na jakim porcie ZNC będzie nasłuchiwać?
znc_ipv4: true # Czy ZNC powinno nasłuchiwać połączeń IPv4?
znc_ipv6: false # A IPv6?
znc_ssl: true # Czy ZNC powinno oczekiwać połączeń przez SSL?
znc_ssl_certfile: "{{ znc_config_root }}/znc.pem" # Gdzie znajduje się plik PEM, jeśli włączono SSL? Jest generowany przez Ansible.
znc_global_modules: # Jakie moduły globalne powinny być zainstalowane do użytku dla wszystkich użytkowników i sieci? Uwaga: są one oddzielne od modułów użytkowników i sieci.
- webadmin
Konfiguracja Definicji Użytkownika ZNC
znc_users: # Warto mieć osobnego użytkownika admina bez sieci do bezpośredniego zarządzania serwerem ZNC. Tutaj mamy tylko jednego użytkownika dla uproszczenia.
- name: admin
password: # Hasła można wygenerować za pomocą `znc --makepass`. To hasło dla użytkownika "admin".
method: "sha256"
hash: "481fe84cc70161b20eb0c487d212e8b94cabb45cb9f08b6c51cc2c0131c1b42e"
salt: "J*;s-Z!gjJ:oJ.kThRZv"
nick: adminuser
realname: Użytkownik administracyjny ZNC
admin: true # Powinien być przynajmniej jeden użytkownik admina, ale typowy użytkownik prawdopodobnie nie powinien być adminem.
allow: "*" # Opcjonalne
altnick: adminuser_ # Opcjonalne
autoclearchanbuffer: true # Opcjonalne, powinno być false, jeśli używasz clientbuffer
autoclearquerybuffer: true # Opcjonalne, powinno być false, jeśli używasz clientbuffer
buffer: 100000 # Opcjonalne
chanmodes: "+stn" # Opcjonalne
ident: adminuser_ # Opcjonalne
multiclients: false # Opcjonalne
networks: # Opcjonalne, chociaż bez żadnych sieci użytkownik nie połączy się z żadnymi zewnętrznymi serwerami IRC.
freenode:
server: chat.freenode.net
port: 6697
ssl: true
password: "" # Opcjonalne, to hasło, z którym użytkownik zaloguje się na zdalny serwer czatu.
channels: # Opcjonalna lista kanałów, do których użytkownik połączy się na zdalnym serwerze czatu.
- "#freenode" # To musi być skomentowane, jeśli w nazwie kanału jest hasz.
modules: # Opcjonalna lista, to są moduły specyficzne dla sieci.
- route_replies
- keepnick
- clientbuffer # Upewnij się, że `autoclearchanbuffer` i `autoclearquerybuffer` są wyłączone, jeśli to jest włączone dla tego użytkownika.
modules: # To są moduły specyficzne dla użytkownika.
- chansaver
- controlpanel
- webadmin
Zależności
Brak.
Przykładowy Playbook
- hosts: whatever
roles:
- triplepoint.znc
Testowanie Roli
Ta rola jest testowana za pomocą molecule
, używając pipenv
do obsługi zależności oraz środowiska testowego Pythona.
Konfiguracja Środowiska Wykonawczego
pip install pipenv
Uwaga, pip-tools
nie współpracuje dobrze z pipenv
. Nie powinieneś mieć zainstalowanego pip-tools
, aby to działało poprawnie.
Po zainstalowaniu pipenv
, możesz zbudować wirtualne środowisko wykonawcze używając:
pipenv install --ignore-pipfile
To stworzy wirtualne środowisko z zainstalowanymi wszystkimi pakietami zależności Pythona.
Uruchamianie Testów
Gdy Twoje środowisko jest skonfigurowane, możesz uruchomić molecule
używając:
pipenv run molecule test
Regeneracja Pliku Lock
Nie powinieneś tego robić zbyt często, ale jeśli zmienisz wymogi pakietów Python używając poleceń pipenv install {some_package}
lub edytując bezpośrednio Pipfile
, lub gdy zauważysz, że zależności budowy są nieaktualne, być może będziesz musiał zregenerować Pipfile.lock
.
pipenv lock
Upewnij się, że sprawdzisz zregenerowany Pipfile.lock
po zakończeniu tego procesu.
Licencja
MIT
ansible-galaxy install triplepoint.znc