1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# PZBS-owskie australijskie butlery
Wrapper dla [jfrteamy-ausbutler](https://github.com/emkael/jfrteamy-ausbutler), ustawiający generowanie znormalizowanych butlerów dla lig centralnych PZBS.
Poniższe README nie porusza tematów konfiguracji `jfrteamy-ausbutler`, a wyłącznie spięcie go do automatycznego generowania butlerów dla lig centralnych.
## Pliki wykonywalne
Projekt zawiera dwa pliki wykonywalne:
* `ausbutler-single.sh IDENTYFIKATOR_TURNIEJU`, generujący i wysyłający pojedynczy turniej
* `ausbutler-all.sh`, iterujący po wszystkich turniejach w `tournaments.txt`
## Lista turniejów
Plik `tournaments.txt` definiuje, dla jakich konfiguracji (turniejów) generowane będą butlery. Po jednym identyfikatorze na wiersz.
Dla każdego identyfikatora, w katalogu `configs` musi być zdefiniowany zestaw zmiennych konfiguracyjnych (patrz niżej).
## Szablon konfiguracji
Katalog `config.template` zawiera szablon kompletu plików konfiguracyjnych, które `jfrteamy-ausbutler` czytają z podkatalogu `config` katalogu roboczego.
Każdy z plików szablonów może zawierać zmienne w formacie jak dla powłoki Bash, pod które podstawiane są wartości z odpowiedniego pliku w katalogu `configs`.
Na szablon składa się komplet plików JSON dla `jfrteamy-ausbutler` oraz, opcjonalnie, plik `send.lftp` formatu skryptu narzędzia `lftp`, jeśli chcemy również od razu wysyłać wygenerowane pliki przez FTP.
## Konfiguracja
Konfiguracja generowana jest następująco:
1. Do lokalnego środowiska uruchomieniowego importowana jest (poprzez Bashowe `source` z opcją auto-eksportu zmiennych) zawartość plików: `configs/_common.env` oraz `configs/IDENTYFIKATOR_TURNIEJU.env` (w takiej kolejności).
2. Tak ustawione zmienne środowiskowe kompilowane są do szablonów z `config.template`, a następnie zapisywane do katalogu `config`.
3. Uruchamiany jest `jfrteamy-ausbutler`, z konfiguracją zdefiniowaną poprzez skompilowany zestaw plików `config/*.json`.
4. Jeśli w systemie obecne jest narzędzie `lftp` i ustawiona jest zmienna `LIGA_AUSBUTLER_FTP_ENABLED`, uruchamiane jest `lftp` z żądaniem wykonania skryptu skompilowanego do `config/send.lftp`.
## Zmienne konfiguracyjne
`LIGA_AUSBUTLER_DB_HOST`, `LIGA_AUSBUTLER_DB_USER`, `LIGA_AUSBUTLER_DB_PASS`, `LIGA_AUSBUTLER_DB_NAME` - paramatery MySQL (host, użytkownik, hasło, nazwa bazy danych turnieju)
`LIGA_AUSBUTLER_OUTPUT_PATH` - katalog wyjściowy dla plików z wynikami
`LIGA_AUSBUTLER_FTP_ENABLED` - obecność tej zmiennej włącza wysyłanie po FTP
`LIGA_AUSBUTLER_FTP_HOST`, `LIGA_AUSBUTLER_FTP_USER`, `LIGA_AUSBUTLER_FTP_PASS`, `LIGA_AUSBUTLER_FTP_PATH` - parametry FTP (host, użytkownik, hasło, ścieżka na zdlanym serwerze)
Przykładowa konfiguracja znajduje się w plikach `configs/*.env.sample`.
|