Projekt se jmenuje dice-counter, ale na většině míst vystupuje jako kostky. Vzniklo to postupně a je načase to srovnat.
Kde všude to je
Kde
Dnes
binárky na releasu
kostky-linux-x86_64, kostky-windows-x86_64.exe, …
PyInstaller
kostky.spec, výsledek dist/kostky
systemd služba v LXC
kostky.service
cesty v kontejneru
/opt/kostky, /var/lib/kostky
uživatel v LXC i v Dockeru
kostky
svazek a jméno kontejneru
kostky-data, container_name: kostky
výchozí hostname LXC
kostky
instalační skript
deploy/pve-kostky.sh
Nově zavedený image gitea.spacilovi.eu/david-spacil/dice-counter už je pojmenovaný správně — proto to teď bije do očí.
Proč to není triviální
Jména binárek jsou součástí už vydaných releasů. Přejmenování rozbije odkazy, které někdo může mít uložené, a hlavně rozbije LXC instalátor běžícím instalacím — ten stahuje přílohu podle jména. Instalátor musí umět obojí, aspoň po dobu jednoho vydání.
Přejmenování systemd služby a cest znamená migraci u existujících kontejnerů, včetně přesunu databáze z /var/lib/kostky. Bez toho by lidem po update zmizela historie her.
V Dockeru přejmenovaný svazek znamená prázdnou databázi, pokud se data nepřenesou.
Návrh postupu
Ve dvou krocích, ne najednou:
Přidat nová jména vedle starých — instalátor umí stáhnout obojí, služba se přejmenuje s migrací dat, binárky se na release pověsí pod oběma jmény.
Stará jména odstranit až o vydání později, až budou instalace přemigrované.
Co do toho nepatří
Jméno image dice-counter je už zavedené správně, na to se sahat nemusí.
Projekt se jmenuje `dice-counter`, ale na většině míst vystupuje jako `kostky`. Vzniklo to postupně a je načase to srovnat.
## Kde všude to je
| Kde | Dnes |
|---|---|
| binárky na releasu | `kostky-linux-x86_64`, `kostky-windows-x86_64.exe`, … |
| PyInstaller | `kostky.spec`, výsledek `dist/kostky` |
| systemd služba v LXC | `kostky.service` |
| cesty v kontejneru | `/opt/kostky`, `/var/lib/kostky` |
| uživatel v LXC i v Dockeru | `kostky` |
| svazek a jméno kontejneru | `kostky-data`, `container_name: kostky` |
| výchozí hostname LXC | `kostky` |
| instalační skript | `deploy/pve-kostky.sh` |
Nově zavedený image `gitea.spacilovi.eu/david-spacil/dice-counter` už je pojmenovaný správně — proto to teď bije do očí.
## Proč to není triviální
- **Jména binárek jsou součástí už vydaných releasů.** Přejmenování rozbije odkazy, které někdo může mít uložené, a hlavně **rozbije LXC instalátor běžícím instalacím** — ten stahuje přílohu podle jména. Instalátor musí umět obojí, aspoň po dobu jednoho vydání.
- **Přejmenování systemd služby a cest znamená migraci** u existujících kontejnerů, včetně přesunu databáze z `/var/lib/kostky`. Bez toho by lidem po `update` zmizela historie her.
- **V Dockeru přejmenovaný svazek znamená prázdnou databázi**, pokud se data nepřenesou.
## Návrh postupu
Ve dvou krocích, ne najednou:
1. Přidat nová jména **vedle** starých — instalátor umí stáhnout obojí, služba se přejmenuje s migrací dat, binárky se na release pověsí pod oběma jmény.
2. Stará jména odstranit až o vydání později, až budou instalace přemigrované.
## Co do toho nepatří
Jméno image `dice-counter` je už zavedené správně, na to se sahat nemusí.
Dockerová část je hotová v #15 — vyřešilo se to tam, protože compose se dal použít teprve od toho PR, takže svazek kostky-data zatím nikde neexistoval a nebylo co migrovat.
Hotovo:
Kde
Nově
image
gitea.spacilovi.eu/david-spacil/dice-counter
služba a container_name v compose
dice-counter
svazek
dice-counter-data
uživatel uvnitř image
dice-counter (uid zůstal 1000)
pomocná jména v CI
dice-counter
Zbývá LXC strana, kde přejmenování znamená migraci běžícím instalacím:
Kde
Dnes
binárky na releasu
kostky-linux-x86_64, kostky-windows-x86_64.exe, …
PyInstaller
kostky.spec, výsledek dist/kostky
systemd služba
kostky.service
cesty
/opt/kostky, /var/lib/kostky
uživatel v kontejneru
kostky
výchozí hostname LXC
kostky
instalační skript
deploy/pve-kostky.sh
Návrh postupu z původního zadání platí dál: nejdřív nová jména vedle starých, vydat, a stará odstranit až o vydání později.
Dockerová část je hotová v #15 — vyřešilo se to tam, protože compose se dal použít teprve od toho PR, takže svazek `kostky-data` zatím nikde neexistoval a nebylo co migrovat.
Hotovo:
| Kde | Nově |
|---|---|
| image | `gitea.spacilovi.eu/david-spacil/dice-counter` |
| služba a `container_name` v compose | `dice-counter` |
| svazek | `dice-counter-data` |
| uživatel uvnitř image | `dice-counter` (uid zůstal 1000) |
| pomocná jména v CI | `dice-counter` |
**Zbývá LXC strana**, kde přejmenování znamená migraci běžícím instalacím:
| Kde | Dnes |
|---|---|
| binárky na releasu | `kostky-linux-x86_64`, `kostky-windows-x86_64.exe`, … |
| PyInstaller | `kostky.spec`, výsledek `dist/kostky` |
| systemd služba | `kostky.service` |
| cesty | `/opt/kostky`, `/var/lib/kostky` |
| uživatel v kontejneru | `kostky` |
| výchozí hostname LXC | `kostky` |
| instalační skript | `deploy/pve-kostky.sh` |
Návrh postupu z původního zadání platí dál: nejdřív nová jména vedle starých, vydat, a stará odstranit až o vydání později.
LXC strana je hotová v #18 — první krok podle návrhu výše, tedy nová jména vedle starých.
Hotovo:
Kde
Nově
PyInstaller
dice-counter.spec, dist/dice-counter
přílohy releasu
dice-counter-linux-x86_64 a spol.
služba
dice-counter.service
cesty
/opt/dice-counter, /var/lib/dice-counter
uživatel
dice-counter
hostname LXC
dice-counter
instalační skript
deploy/pve-dice-counter.sh
datový adresář binárky
~/.local/share/dice-counter/ a obdoby
Co zatím drží staré instalace při životě:
přílohy se na release věší pod oběma jmény,
instalátor umí stáhnout i kostky-*, takže už vydaná vydání jdou instalovat dál,
deploy/pve-kostky.sh zůstává jako přesměrování — příkaz update v už založených kontejnerech chodí pro instalátor právě tam,
kontejnery z dřívějška se při aktualizaci přestěhují samy, včetně databáze,
binárka sáhne po ~/.local/share/kostky/dice.db, dokud nová databáze neexistuje.
Zbývá druhý krok: až budou instalace přemigrované, odstranit stará jména. Konkrétně jde o STARY_ASSET v obou workflow s binárkami, STARY_* a záložní jméno přílohy v deploy/pve-dice-counter.sh, celý soubor deploy/pve-kostky.sh, STARY_APP_DIR v storage.py a odpovídající odstavce v README. Všechna ta místa jsou v kódu označená komentářem „do vydání 1.2.x".
Mimochodem se přitom našla chyba, která tu byla už předtím: příkaz update uvnitř kontejneru spadl na install: are the same file, protože instalátor kopíroval sám sebe na místo, odkud byl spuštěný. Podrobnosti v #18.
LXC strana je hotová v #18 — první krok podle návrhu výše, tedy nová jména vedle starých.
Hotovo:
| Kde | Nově |
|---|---|
| PyInstaller | `dice-counter.spec`, `dist/dice-counter` |
| přílohy releasu | `dice-counter-linux-x86_64` a spol. |
| služba | `dice-counter.service` |
| cesty | `/opt/dice-counter`, `/var/lib/dice-counter` |
| uživatel | `dice-counter` |
| hostname LXC | `dice-counter` |
| instalační skript | `deploy/pve-dice-counter.sh` |
| datový adresář binárky | `~/.local/share/dice-counter/` a obdoby |
Co zatím drží staré instalace při životě:
- přílohy se na release věší pod oběma jmény,
- instalátor umí stáhnout i `kostky-*`, takže už vydaná vydání jdou instalovat dál,
- `deploy/pve-kostky.sh` zůstává jako přesměrování — příkaz `update` v už založených kontejnerech chodí pro instalátor právě tam,
- kontejnery z dřívějška se při aktualizaci přestěhují samy, včetně databáze,
- binárka sáhne po `~/.local/share/kostky/dice.db`, dokud nová databáze neexistuje.
**Zbývá druhý krok:** až budou instalace přemigrované, odstranit stará jména. Konkrétně jde o `STARY_ASSET` v obou workflow s binárkami, `STARY_*` a záložní jméno přílohy v `deploy/pve-dice-counter.sh`, celý soubor `deploy/pve-kostky.sh`, `STARY_APP_DIR` v `storage.py` a odpovídající odstavce v README. Všechna ta místa jsou v kódu označená komentářem „do vydání 1.2.x".
Mimochodem se přitom našla chyba, která tu byla už předtím: příkaz `update` uvnitř kontejneru spadl na `install: are the same file`, protože instalátor kopíroval sám sebe na místo, odkud byl spuštěný. Podrobnosti v #18.
Hotovo. #18 je smergované a kontejner doma je přemigrovaný — update proběhl ostře, včetně přesunu databáze.
Přejmenované je všechno z tabulky v zadání: dice-counter.spec a dist/dice-counter, přílohy releasu, dice-counter.service, /opt/dice-counter a /var/lib/dice-counter, uživatel, hostname LXC, deploy/pve-dice-counter.sh, datový adresář binárky, a appka se hlásí dice-counter <verze> v banneru i v patičce.
Schválně zůstalo <title>Kostky</title> — je to titulek stránky v české aplikaci, ne identifikátor.
Návrh postupu se dodržel: nová jména se zavedla vedle starých, ne místo nich. Odstranění těch starých je druhý krok a má vlastní issue #19, včetně seznamu míst a podmínky, kdy každé z nich smí padnout. Nejcitlivější je deploy/pve-kostky.sh — kontejnery z doby před přejmenováním si přes něj chodí pro instalátor.
Mimochodem se přitom našla a opravila chyba, která tu byla už od #14: příkaz update uvnitř kontejneru padal na install: are the same file, protože instalátor kopíroval sám sebe na místo, odkud byl spuštěný. Nevšimli jsme si toho, protože aktualizace se do teď pouštěla jen z uzlu Proxmoxu.
Zavírám.
Hotovo. #18 je smergované a kontejner doma je přemigrovaný — `update` proběhl ostře, včetně přesunu databáze.
Přejmenované je všechno z tabulky v zadání: `dice-counter.spec` a `dist/dice-counter`, přílohy releasu, `dice-counter.service`, `/opt/dice-counter` a `/var/lib/dice-counter`, uživatel, hostname LXC, `deploy/pve-dice-counter.sh`, datový adresář binárky, a appka se hlásí `dice-counter <verze>` v banneru i v patičce.
Schválně zůstalo `<title>Kostky</title>` — je to titulek stránky v české aplikaci, ne identifikátor.
Návrh postupu se dodržel: nová jména se zavedla vedle starých, ne místo nich. Odstranění těch starých je druhý krok a má vlastní issue **#19**, včetně seznamu míst a podmínky, kdy každé z nich smí padnout. Nejcitlivější je `deploy/pve-kostky.sh` — kontejnery z doby před přejmenováním si přes něj chodí pro instalátor.
Mimochodem se přitom našla a opravila chyba, která tu byla už od #14: příkaz `update` uvnitř kontejneru padal na `install: are the same file`, protože instalátor kopíroval sám sebe na místo, odkud byl spuštěný. Nevšimli jsme si toho, protože aktualizace se do teď pouštěla jen z uzlu Proxmoxu.
Zavírám.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Projekt se jmenuje
dice-counter, ale na většině míst vystupuje jakokostky. Vzniklo to postupně a je načase to srovnat.Kde všude to je
kostky-linux-x86_64,kostky-windows-x86_64.exe, …kostky.spec, výsledekdist/kostkykostky.service/opt/kostky,/var/lib/kostkykostkykostky-data,container_name: kostkykostkydeploy/pve-kostky.shNově zavedený image
gitea.spacilovi.eu/david-spacil/dice-counteruž je pojmenovaný správně — proto to teď bije do očí.Proč to není triviální
/var/lib/kostky. Bez toho by lidem poupdatezmizela historie her.Návrh postupu
Ve dvou krocích, ne najednou:
Co do toho nepatří
Jméno image
dice-counterje už zavedené správně, na to se sahat nemusí.Dockerová část je hotová v #15 — vyřešilo se to tam, protože compose se dal použít teprve od toho PR, takže svazek
kostky-datazatím nikde neexistoval a nebylo co migrovat.Hotovo:
gitea.spacilovi.eu/david-spacil/dice-countercontainer_namev composedice-counterdice-counter-datadice-counter(uid zůstal 1000)dice-counterZbývá LXC strana, kde přejmenování znamená migraci běžícím instalacím:
kostky-linux-x86_64,kostky-windows-x86_64.exe, …kostky.spec, výsledekdist/kostkykostky.service/opt/kostky,/var/lib/kostkykostkykostkydeploy/pve-kostky.shNávrh postupu z původního zadání platí dál: nejdřív nová jména vedle starých, vydat, a stará odstranit až o vydání později.
LXC strana je hotová v #18 — první krok podle návrhu výše, tedy nová jména vedle starých.
Hotovo:
dice-counter.spec,dist/dice-counterdice-counter-linux-x86_64a spol.dice-counter.service/opt/dice-counter,/var/lib/dice-counterdice-counterdice-counterdeploy/pve-dice-counter.sh~/.local/share/dice-counter/a obdobyCo zatím drží staré instalace při životě:
kostky-*, takže už vydaná vydání jdou instalovat dál,deploy/pve-kostky.shzůstává jako přesměrování — příkazupdatev už založených kontejnerech chodí pro instalátor právě tam,~/.local/share/kostky/dice.db, dokud nová databáze neexistuje.Zbývá druhý krok: až budou instalace přemigrované, odstranit stará jména. Konkrétně jde o
STARY_ASSETv obou workflow s binárkami,STARY_*a záložní jméno přílohy vdeploy/pve-dice-counter.sh, celý soubordeploy/pve-kostky.sh,STARY_APP_DIRvstorage.pya odpovídající odstavce v README. Všechna ta místa jsou v kódu označená komentářem „do vydání 1.2.x".Mimochodem se přitom našla chyba, která tu byla už předtím: příkaz
updateuvnitř kontejneru spadl nainstall: are the same file, protože instalátor kopíroval sám sebe na místo, odkud byl spuštěný. Podrobnosti v #18.Hotovo. #18 je smergované a kontejner doma je přemigrovaný —
updateproběhl ostře, včetně přesunu databáze.Přejmenované je všechno z tabulky v zadání:
dice-counter.specadist/dice-counter, přílohy releasu,dice-counter.service,/opt/dice-countera/var/lib/dice-counter, uživatel, hostname LXC,deploy/pve-dice-counter.sh, datový adresář binárky, a appka se hlásídice-counter <verze>v banneru i v patičce.Schválně zůstalo
<title>Kostky</title>— je to titulek stránky v české aplikaci, ne identifikátor.Návrh postupu se dodržel: nová jména se zavedla vedle starých, ne místo nich. Odstranění těch starých je druhý krok a má vlastní issue #19, včetně seznamu míst a podmínky, kdy každé z nich smí padnout. Nejcitlivější je
deploy/pve-kostky.sh— kontejnery z doby před přejmenováním si přes něj chodí pro instalátor.Mimochodem se přitom našla a opravila chyba, která tu byla už od #14: příkaz
updateuvnitř kontejneru padal nainstall: are the same file, protože instalátor kopíroval sám sebe na místo, odkud byl spuštěný. Nevšimli jsme si toho, protože aktualizace se do teď pouštěla jen z uzlu Proxmoxu.Zavírám.