Use Polish diacritics in docs
This commit is contained in:
@@ -1,14 +1,14 @@
|
|||||||
# RV Launcher
|
# RV Launcher
|
||||||
|
|
||||||
Repo `rv-launcher` zawiera narzedzie do pracy z workspace RISC-V. W pierwszej
|
Repo `rv-launcher` zawiera narzędzie do pracy z workspace RISC-V. W pierwszej
|
||||||
kolejnosci sluzy ono do zarzadzania tokenami; pozostale funkcje obejmuja prace
|
kolejności służy ono do zarządzania tokenami; pozostałe funkcje obejmują pracę
|
||||||
z kartami pracy i uruchamianie srodowiska kontenerowego.
|
z kartami pracy i uruchamianie środowiska kontenerowego.
|
||||||
|
|
||||||
Wlasciwym skryptem CLI jest wykonywalny plik `rvctl.py`. To on implementuje
|
Właściwym skryptem CLI jest wykonywalny plik `rvctl.py`. To on implementuje
|
||||||
zarzadzanie tokenami, listowanie serii i kart, przygotowanie repo odpowiedzi i
|
zarządzanie tokenami, listowanie serii i kart, przygotowanie repo odpowiedzi i
|
||||||
start kontenera.
|
start kontenera.
|
||||||
|
|
||||||
Publicznym entrypointem dla uzytkownika jest krotki wrapper `rvctl`:
|
Publicznym entrypointem dla użytkownika jest krótki wrapper `rvctl`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl
|
./rvctl
|
||||||
@@ -20,73 +20,73 @@ Wrapper uruchamia:
|
|||||||
python3 rvctl.py "$@"
|
python3 rvctl.py "$@"
|
||||||
```
|
```
|
||||||
|
|
||||||
`rvctl.py` mozna tez uruchomic bezposrednio:
|
`rvctl.py` można też uruchomić bezpośrednio:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl.py
|
./rvctl.py
|
||||||
```
|
```
|
||||||
|
|
||||||
Sciezki i domyslne ustawienia sa trzymane w `workspace.json`.
|
Ścieżki i domyślne ustawienia są trzymane w `workspace.json`.
|
||||||
|
|
||||||
## Co robi narzedzie
|
## Co robi narzędzie
|
||||||
|
|
||||||
`rvctl` porzadkuje prace w trzech obszarach.
|
`rvctl` porządkuje pracę w trzech obszarach.
|
||||||
|
|
||||||
1. Zarzadzanie tokenami
|
1. Zarządzanie tokenami
|
||||||
|
|
||||||
Narzedzie obsluguje lokalny store `tokens/tokens.json`, porownuje go z git
|
Narzędzie obsługuje lokalny store `tokens/tokens.json`, porównuje go z git
|
||||||
remotes i potrafi synchronizowac token w obie strony. Szczegoly modelu,
|
remotes i potrafi synchronizować token w obie strony. Szczegóły modelu,
|
||||||
format pliku i opis komend sa w `doc/tokens.md`.
|
format pliku i opis komend są w `doc/tokens.md`.
|
||||||
|
|
||||||
2. Listowanie i pobieranie kart pracy
|
2. Listowanie i pobieranie kart pracy
|
||||||
|
|
||||||
`rvctl` czyta serie, karty i zadania z workspace, pomaga wybrac material do
|
`rvctl` czyta serie, karty i zadania z workspace, pomaga wybrać materiał do
|
||||||
pracy oraz przygotowuje remotes potrzebne do repo odpowiedzi. Docelowy model
|
pracy oraz przygotowuje remotes potrzebne do repo odpowiedzi. Docelowy model
|
||||||
namespace `series`, `cards` i `tasks` jest w `doc/series.md`.
|
namespace `series`, `cards` i `tasks` jest w `doc/series.md`.
|
||||||
|
|
||||||
3. Uruchamianie srodowiska programistycznego w kontenerach
|
3. Uruchamianie środowiska programistycznego w kontenerach
|
||||||
|
|
||||||
Dla wybranej karty `rvctl` uruchamia sesje tmux i kontener z przygotowanym
|
Dla wybranej karty `rvctl` uruchamia sesję tmux i kontener z przygotowanym
|
||||||
srodowiskiem developerskim. Docelowy model namespace `containers` jest w
|
środowiskiem developerskim. Docelowy model namespace `containers` jest w
|
||||||
`doc/containers.md`.
|
`doc/containers.md`.
|
||||||
|
|
||||||
## Model katalogow
|
## Model katalogów
|
||||||
|
|
||||||
Podstawowym miejscem pracy uzytkownika jest workspace:
|
Podstawowym miejscem pracy użytkownika jest workspace:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
~/dev/workspace/rv
|
~/dev/workspace/rv
|
||||||
```
|
```
|
||||||
|
|
||||||
Najpierw utworz tylko katalog bazowy workspace i wejdz do niego:
|
Najpierw utwórz tylko katalog bazowy workspace i wejdź do niego:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir -p ~/dev/workspace/rv
|
mkdir -p ~/dev/workspace/rv
|
||||||
cd ~/dev/workspace/rv
|
cd ~/dev/workspace/rv
|
||||||
```
|
```
|
||||||
|
|
||||||
Po tym kroku workspace istnieje, ale nie ma jeszcze katalogow narzedzi,
|
Po tym kroku workspace istnieje, ale nie ma jeszcze katalogów narzędzi,
|
||||||
tokenow ani kart:
|
tokenów ani kart:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
~/dev/workspace/rv
|
~/dev/workspace/rv
|
||||||
```
|
```
|
||||||
|
|
||||||
Potem wybierz jedna z dwoch drog startu.
|
Potem wybierz jedną z dwóch dróg startu.
|
||||||
|
|
||||||
### Bez `tokens.json`
|
### Bez `tokens.json`
|
||||||
|
|
||||||
Ten wariant jest dla sytuacji, w ktorej token jest podany w URL-u git remota,
|
Ten wariant jest dla sytuacji, w której token jest podany w URL-u git remota,
|
||||||
a plik `tokens.json` ma powstac dopiero lokalnie.
|
a plik `tokens.json` ma powstać dopiero lokalnie.
|
||||||
|
|
||||||
Etap 1: utworz katalog launchera i wejdz do niego:
|
Etap 1: utwórz katalog launchera i wejdź do niego:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir -p ~/dev/workspace/rv/tools/rv-launcher
|
mkdir -p ~/dev/workspace/rv/tools/rv-launcher
|
||||||
cd ~/dev/workspace/rv/tools/rv-launcher
|
cd ~/dev/workspace/rv/tools/rv-launcher
|
||||||
```
|
```
|
||||||
|
|
||||||
Etap 2: utworz puste repo, dodaj remote `r1` z tokenem, pobierz branch i
|
Etap 2: utwórz puste repo, dodaj remote `r1` z tokenem, pobierz branch i
|
||||||
ustaw lokalny `main`:
|
ustaw lokalny `main`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -96,11 +96,11 @@ git fetch r1 main
|
|||||||
git switch --track -c main r1/main
|
git switch --track -c main r1/main
|
||||||
```
|
```
|
||||||
|
|
||||||
`r1` jest nazwa remota, z ktorego startujemy. `--track` ustawia lokalny branch
|
`r1` jest nazwą remota, z którego startujemy. `--track` ustawia lokalny branch
|
||||||
`main` tak, aby sledzil `r1/main`, dzieki czemu pozniejsze `git pull` i
|
`main` tak, aby śledził `r1/main`, dzięki czemu późniejsze `git pull` i
|
||||||
`git push` wiedza, z ktorym branchem zdalnym pracuja.
|
`git push` wiedzą, z którym branchem zdalnym pracują.
|
||||||
|
|
||||||
Po tym kroku w workspace jest juz repo launchera:
|
Po tym kroku w workspace jest już repo launchera:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
~/dev/workspace/rv
|
~/dev/workspace/rv
|
||||||
@@ -108,16 +108,18 @@ Po tym kroku w workspace jest juz repo launchera:
|
|||||||
└── rv-launcher
|
└── rv-launcher
|
||||||
```
|
```
|
||||||
|
|
||||||
Etap 3: utworz katalog store i wczytaj token z remota do lokalnego store:
|
Etap 3: wczytaj token z remota do lokalnego store:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd ~/dev/workspace/rv/tools/rv-launcher
|
cd ~/dev/workspace/rv/tools/rv-launcher
|
||||||
mkdir -p ~/dev/workspace/rv/tokens
|
|
||||||
./rvctl tokens sync remote r1
|
./rvctl tokens sync remote r1
|
||||||
./rvctl tokens update r1
|
./rvctl tokens update r1
|
||||||
```
|
```
|
||||||
|
|
||||||
Po tym kroku workspace ma juz `tokens.json`:
|
`rvctl` sam tworzy katalog `~/dev/workspace/rv/tokens`, jeżeli jeszcze go nie
|
||||||
|
ma. Plik `tokens.json` dostaje prawa `600`, a katalog store prawa `700`.
|
||||||
|
|
||||||
|
Po tym kroku workspace ma już `tokens.json`:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
~/dev/workspace/rv
|
~/dev/workspace/rv
|
||||||
@@ -127,13 +129,13 @@ Po tym kroku workspace ma juz `tokens.json`:
|
|||||||
└── tokens.json
|
└── tokens.json
|
||||||
```
|
```
|
||||||
|
|
||||||
Etap 4: sprawdz, czy git remote i lokalny store widza ten sam token:
|
Etap 4: sprawdź, czy git remote i lokalny store widzą ten sam token:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens compare
|
./rvctl tokens compare
|
||||||
```
|
```
|
||||||
|
|
||||||
Przykladowy wydruk:
|
Przykładowy wydruk:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
tokens
|
tokens
|
||||||
@@ -142,33 +144,33 @@ item server proto host org repo user remote t
|
|||||||
1 gitea http 77.90.8.171:3001 edu-tools rv-launcher u1 r1 r1 * e59cc...13be forever wwwwwwwww +++++ ++++
|
1 gitea http 77.90.8.171:3001 edu-tools rv-launcher u1 r1 r1 * e59cc...13be forever wwwwwwwww +++++ ++++
|
||||||
```
|
```
|
||||||
|
|
||||||
Najwazniejsze pola:
|
Najważniejsze pola:
|
||||||
|
|
||||||
- `remote` - nazwa git remota, tutaj `r1`
|
- `remote` - nazwa git remota, tutaj `r1`
|
||||||
- `token_ref` - lokalna nazwa tokena i marker zgodnosci po prawej stronie
|
- `token_ref` - lokalna nazwa tokena i marker zgodności po prawej stronie
|
||||||
- `*` - token w remote i w `tokens.json` jest zgodny
|
- `*` - token w remote i w `tokens.json` jest zgodny
|
||||||
- `S` - token jest tylko w `tokens.json`; to jest normalne w trybie store-only
|
- `S` - token jest tylko w `tokens.json`; to jest normalne w trybie store-only
|
||||||
- `R` - token jest tylko w git remote
|
- `R` - token jest tylko w git remote
|
||||||
- `token` - zamaskowany sekret; `rvctl` nie wypisuje calego tokena
|
- `token` - zamaskowany sekret; `rvctl` nie wypisuje całego tokena
|
||||||
- `valid`, `scope`, `org`, `repo` - metadane i uprawnienia pobrane przez
|
- `valid`, `scope`, `org`, `repo` - metadane i uprawnienia pobrane przez
|
||||||
`tokens update`
|
`tokens update`
|
||||||
|
|
||||||
Pelny opis tabeli tokenow jest w `doc/tokens.md`.
|
Pełny opis tabeli tokenów jest w `doc/tokens.md`.
|
||||||
|
|
||||||
### Z `tokens.json`
|
### Z `tokens.json`
|
||||||
|
|
||||||
Ten wariant jest dla sytuacji, w ktorej masz juz gotowy plik `tokens.json`.
|
Ten wariant jest dla sytuacji, w której masz już gotowy plik `tokens.json`.
|
||||||
|
|
||||||
Etap 1: skopiuj token store do workspace:
|
Etap 1: skopiuj token store do workspace:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir -p ~/dev/workspace/rv/tokens
|
mkdir -p ~/dev/workspace/rv/tokens
|
||||||
cd ~/dev/workspace/rv
|
cd ~/dev/workspace/rv
|
||||||
cp /sciezka/do/tokens.json tokens/tokens.json
|
cp /ścieżka/do/tokens.json tokens/tokens.json
|
||||||
chmod 600 tokens/tokens.json
|
chmod 600 tokens/tokens.json
|
||||||
```
|
```
|
||||||
|
|
||||||
Po tym kroku workspace ma store tokenow, ale nie ma jeszcze launchera:
|
Po tym kroku workspace ma store tokenów, ale nie ma jeszcze launchera:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
~/dev/workspace/rv
|
~/dev/workspace/rv
|
||||||
@@ -176,7 +178,7 @@ Po tym kroku workspace ma store tokenow, ale nie ma jeszcze launchera:
|
|||||||
└── tokens.json
|
└── tokens.json
|
||||||
```
|
```
|
||||||
|
|
||||||
Etap 2: wejdz do katalogu narzedzi i sklonuj `rv-launcher`:
|
Etap 2: wejdź do katalogu narzędzi i sklonuj `rv-launcher`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir -p ~/dev/workspace/rv/tools
|
mkdir -p ~/dev/workspace/rv/tools
|
||||||
@@ -185,16 +187,16 @@ git clone http://77.90.8.171:3001/edu-tools/rv-launcher.git
|
|||||||
cd rv-launcher
|
cd rv-launcher
|
||||||
```
|
```
|
||||||
|
|
||||||
Etap 3: zmien nazwe remota z `origin` na `r1`:
|
Etap 3: zmień nazwę remota z `origin` na `r1`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git remote rename origin r1
|
git remote rename origin r1
|
||||||
```
|
```
|
||||||
|
|
||||||
`tokens.json` jest mapowany na nazwy git remotes, dlatego repo launchera ma
|
`tokens.json` jest mapowany na nazwy git remotes, dlatego repo launchera ma
|
||||||
uzywac remota `r1`.
|
używać remota `r1`.
|
||||||
|
|
||||||
Po `git clone` workspace wyglada tak:
|
Po `git clone` workspace wygląda tak:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
~/dev/workspace/rv
|
~/dev/workspace/rv
|
||||||
@@ -204,14 +206,14 @@ Po `git clone` workspace wyglada tak:
|
|||||||
└── tokens.json
|
└── tokens.json
|
||||||
```
|
```
|
||||||
|
|
||||||
Etap 4: sprawdz store i wpisz credentials ze store do remota `r1`:
|
Etap 4: sprawdź store i wpisz credentials ze store do remota `r1`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens list store
|
./rvctl tokens list store
|
||||||
./rvctl tokens sync store r1
|
./rvctl tokens sync store r1
|
||||||
```
|
```
|
||||||
|
|
||||||
`list store` powinien pokazac token ze store:
|
`list store` powinien pokazać token ze store:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
tokens
|
tokens
|
||||||
@@ -232,14 +234,14 @@ status updated
|
|||||||
url http://77.90.8.171:3001/edu-tools/rv-launcher.git
|
url http://77.90.8.171:3001/edu-tools/rv-launcher.git
|
||||||
```
|
```
|
||||||
|
|
||||||
Etap 5: odswiez metadane tokena i porownaj store z remote:
|
Etap 5: odśwież metadane tokena i porównaj store z remote:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens update r1
|
./rvctl tokens update r1
|
||||||
./rvctl tokens compare
|
./rvctl tokens compare
|
||||||
```
|
```
|
||||||
|
|
||||||
`compare` powinien pokazac `*` przy `r1`, jezeli remote i `tokens.json` sa
|
`compare` powinien pokazać `*` przy `r1`, jeżeli remote i `tokens.json` są
|
||||||
zgodne:
|
zgodne:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
@@ -249,7 +251,7 @@ item server proto host org repo user remote tok
|
|||||||
1 gitea http 77.90.8.171:3001 edu-tools rv-launcher u1 r1 r1 * e59cc...13be forever
|
1 gitea http 77.90.8.171:3001 edu-tools rv-launcher u1 r1 r1 * e59cc...13be forever
|
||||||
```
|
```
|
||||||
|
|
||||||
Etap 6: po operacjach Git mozesz usunac sekret z `.git/config`, zostawiajac
|
Etap 6: po operacjach Git możesz usunąć sekret z `.git/config`, zostawiając
|
||||||
token tylko w store:
|
token tylko w store:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -257,7 +259,7 @@ token tylko w store:
|
|||||||
./rvctl tokens compare
|
./rvctl tokens compare
|
||||||
```
|
```
|
||||||
|
|
||||||
Po usunieciu remota `compare` pokazuje marker `S`, czyli token jest tylko w
|
Po usunięciu remota `compare` pokazuje marker `S`, czyli token jest tylko w
|
||||||
store:
|
store:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
@@ -269,7 +271,7 @@ item server proto host org repo user remote tok
|
|||||||
|
|
||||||
### Po pobraniu kart pracy
|
### Po pobraniu kart pracy
|
||||||
|
|
||||||
Karty trafiaja do `series` w workspace:
|
Karty trafiają do `series` w workspace:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
~/dev/workspace/rv
|
~/dev/workspace/rv
|
||||||
@@ -285,10 +287,10 @@ Karty trafiaja do `series` w workspace:
|
|||||||
`rvctl` pracuje na kartach z `series_root`, czyli na katalogu
|
`rvctl` pracuje na kartach z `series_root`, czyli na katalogu
|
||||||
`~/dev/workspace/rv/series`.
|
`~/dev/workspace/rv/series`.
|
||||||
|
|
||||||
### Po uruchomieniu srodowiska kontenerowego
|
### Po uruchomieniu środowiska kontenerowego
|
||||||
|
|
||||||
Repo `rv32i-hazard3-env` jest potrzebne dopiero przy uruchamianiu srodowiska
|
Repo `rv32i-hazard3-env` jest potrzebne dopiero przy uruchamianiu środowiska
|
||||||
kontenerowego. Wtedy pojawia sie pod `tools`:
|
kontenerowego. Wtedy pojawia się pod `tools`:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
~/dev/workspace/rv
|
~/dev/workspace/rv
|
||||||
@@ -302,20 +304,20 @@ kontenerowego. Wtedy pojawia sie pod `tools`:
|
|||||||
└── 03
|
└── 03
|
||||||
```
|
```
|
||||||
|
|
||||||
Repozytoria zrodlowe poza workspace, na przyklad `~/dev/edu/repos/rv`, sa
|
Repozytoria źródłowe poza workspace, na przykład `~/dev/edu/repos/rv`, są
|
||||||
zapleczem dla autora materialow albo fallbackiem dla narzedzi. Nie sa wymagane
|
zapleczem dla autora materiałów albo fallbackiem dla narzędzi. Nie są wymagane
|
||||||
do zwyklej pracy w workspace.
|
do zwykłej pracy w workspace.
|
||||||
|
|
||||||
## Szybki start
|
## Szybki start
|
||||||
|
|
||||||
Najpierw zobacz konfiguracje i dostepne komendy:
|
Najpierw zobacz konfigurację i dostępne komendy:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl
|
./rvctl
|
||||||
./rvctl show-config
|
./rvctl show-config
|
||||||
```
|
```
|
||||||
|
|
||||||
Typowy przeplyw pracy:
|
Typowy przepływ pracy:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens compare
|
./rvctl tokens compare
|
||||||
@@ -327,17 +329,17 @@ Typowy przeplyw pracy:
|
|||||||
```
|
```
|
||||||
|
|
||||||
`--dry-run` jest przydatny przy sprawdzaniu planu uruchomienia lub konfiguracji
|
`--dry-run` jest przydatny przy sprawdzaniu planu uruchomienia lub konfiguracji
|
||||||
repo, zanim narzedzie cos zmieni.
|
repo, zanim narzędzie coś zmieni.
|
||||||
|
|
||||||
## Dokumentacja
|
## Dokumentacja
|
||||||
|
|
||||||
- `doc/rvctl.md` - techniczna dokumentacja CLI: wszystkie komendy, argumenty
|
- `doc/rvctl.md` - techniczna dokumentacja CLI: wszystkie komendy, argumenty
|
||||||
i przelaczniki
|
i przełączniki
|
||||||
- `doc/tokens.md` - model tokenow, synchronizacja remote <-> store
|
- `doc/tokens.md` - model tokenów, synchronizacja remote <-> store
|
||||||
- `doc/series.md` - docelowy model komend dla serii i kart pracy
|
- `doc/series.md` - docelowy model komend dla serii i kart pracy
|
||||||
- `doc/containers.md` - docelowy model komend dla srodowisk kontenerowych
|
- `doc/containers.md` - docelowy model komend dla środowisk kontenerowych
|
||||||
- `doc/tokens.schema.json` - schemat `tokens/tokens.json`
|
- `doc/tokens.schema.json` - schemat `tokens/tokens.json`
|
||||||
- `doc/workspace.md` - krotki opis konfiguracji workspace
|
- `doc/workspace.md` - krótki opis konfiguracji workspace
|
||||||
|
|
||||||
README jest tylko mapa projektu. Szczegoly operacyjne trzymamy w `doc/`, zeby
|
README jest tylko mapą projektu. Szczegóły operacyjne trzymamy w `doc/`, żeby
|
||||||
nie dublowac instrukcji w kilku miejscach.
|
nie dublować instrukcji w kilku miejscach.
|
||||||
|
|||||||
+24
-24
@@ -1,20 +1,20 @@
|
|||||||
# Containers
|
# Containers
|
||||||
|
|
||||||
Ten dokument opisuje docelowy model komend `rvctl` do uruchamiania
|
Ten dokument opisuje docelowy model komend `rvctl` do uruchamiania
|
||||||
srodowiska programistycznego w kontenerach.
|
środowiska programistycznego w kontenerach.
|
||||||
|
|
||||||
## Zasada
|
## Zasada
|
||||||
|
|
||||||
Kontener jest srodowiskiem pracy dla wybranej karty, opcjonalnie zawezonym do
|
Kontener jest środowiskiem pracy dla wybranej karty, opcjonalnie zawężonym do
|
||||||
konkretnego zadania. `rvctl` uruchamia je przez sesje `tmux`, tak aby terminal
|
konkretnego zadania. `rvctl` uruchamia je przez sesję `tmux`, tak aby terminal
|
||||||
z kontenerem byl latwy do ponownego podlaczenia.
|
z kontenerem był łatwy do ponownego podłączenia.
|
||||||
|
|
||||||
Uzywamy namespace `containers`, a nie `container`, bo jest spojny z pluralnymi
|
Używamy namespace `containers`, a nie `container`, bo jest spójny z pluralnymi
|
||||||
namespace'ami `tokens`, `cards` i `tasks`.
|
namespace'ami `tokens`, `cards` i `tasks`.
|
||||||
|
|
||||||
## Szybki Flow
|
## Szybki przepływ
|
||||||
|
|
||||||
Typowy przeplyw pracy:
|
Typowy przepływ pracy:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens compare
|
./rvctl tokens compare
|
||||||
@@ -28,13 +28,13 @@ Typowy przeplyw pracy:
|
|||||||
|
|
||||||
## Model
|
## Model
|
||||||
|
|
||||||
Docelowo komendy `containers` pracuja na trzech warstwach:
|
Docelowo komendy `containers` pracują na trzech warstwach:
|
||||||
|
|
||||||
- karta pracy, np. `inf 03`
|
- karta pracy, np. `inf 03`
|
||||||
- opcjonalne zadanie, np. `--task task1`
|
- opcjonalne zadanie, np. `--task task1`
|
||||||
- instancja srodowiska, np. `--instance shell`
|
- instancja środowiska, np. `--instance shell`
|
||||||
|
|
||||||
Domyslne wartosci pochodza z `workspace.json`:
|
Domyślne wartości pochodzą z `workspace.json`:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
defaults.series
|
defaults.series
|
||||||
@@ -49,7 +49,7 @@ defaults.tmux_window
|
|||||||
|
|
||||||
### `containers show [SERIES] [CARD]`
|
### `containers show [SERIES] [CARD]`
|
||||||
|
|
||||||
Pokazuje plan uruchomienia srodowiska bez tworzenia sesji `tmux`.
|
Pokazuje plan uruchomienia środowiska bez tworzenia sesji `tmux`.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl containers show inf 03
|
./rvctl containers show inf 03
|
||||||
@@ -77,7 +77,7 @@ Ta komenda jest odpowiednikiem obecnego trybu:
|
|||||||
|
|
||||||
### `containers start [SERIES] [CARD]`
|
### `containers start [SERIES] [CARD]`
|
||||||
|
|
||||||
Uruchamia sesje `tmux` i kontener dla wybranej karty.
|
Uruchamia sesję `tmux` i kontener dla wybranej karty.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl containers start inf 03
|
./rvctl containers start inf 03
|
||||||
@@ -85,29 +85,29 @@ Uruchamia sesje `tmux` i kontener dla wybranej karty.
|
|||||||
./rvctl containers start inf 03 --task task1 --instance shell --attach
|
./rvctl containers start inf 03 --task task1 --instance shell --attach
|
||||||
```
|
```
|
||||||
|
|
||||||
Przelaczniki:
|
Przełączniki:
|
||||||
|
|
||||||
- `--task TASK`
|
- `--task TASK`
|
||||||
Wybiera zadanie w karcie. Bez tego `rvctl` uzywa domyslnego zadania z
|
Wybiera zadanie w karcie. Bez tego `rvctl` używa domyślnego zadania z
|
||||||
`workspace.json` albo pracuje na katalogu karty.
|
`workspace.json` albo pracuje na katalogu karty.
|
||||||
- `--session NAME`
|
- `--session NAME`
|
||||||
Nadpisuje nazwe sesji `tmux`.
|
Nadpisuje nazwę sesji `tmux`.
|
||||||
- `--window NAME`
|
- `--window NAME`
|
||||||
Nadpisuje nazwe okna `tmux`.
|
Nadpisuje nazwę okna `tmux`.
|
||||||
- `--instance NAME`
|
- `--instance NAME`
|
||||||
Ustawia wariant srodowiska, np. `shell`.
|
Ustawia wariant środowiska, np. `shell`.
|
||||||
- `--attach`
|
- `--attach`
|
||||||
Po uruchomieniu od razu podlacza terminal do sesji.
|
Po uruchomieniu od razu podłącza terminal do sesji.
|
||||||
|
|
||||||
### `containers list`
|
### `containers list`
|
||||||
|
|
||||||
Listuje aktywne srodowiska uruchomione przez `rvctl`.
|
Listuje aktywne środowiska uruchomione przez `rvctl`.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl containers list
|
./rvctl containers list
|
||||||
```
|
```
|
||||||
|
|
||||||
Przykladowy wynik:
|
Przykładowy wynik:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
session selector task instance window
|
session selector task instance window
|
||||||
@@ -117,7 +117,7 @@ rv-inf03 inf/03 task1 shell rv
|
|||||||
|
|
||||||
### `containers attach SESSION`
|
### `containers attach SESSION`
|
||||||
|
|
||||||
Podlacza terminal do istniejacej sesji.
|
Podłącza terminal do istniejącej sesji.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl containers attach rv-inf03
|
./rvctl containers attach rv-inf03
|
||||||
@@ -131,7 +131,7 @@ tmux attach -t rv-inf03
|
|||||||
|
|
||||||
### `containers stop SESSION`
|
### `containers stop SESSION`
|
||||||
|
|
||||||
Zamyka sesje `tmux`, a razem z nia uruchomiony w niej proces kontenera.
|
Zamyka sesję `tmux`, a razem z nią uruchomiony w niej proces kontenera.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl containers stop rv-inf03
|
./rvctl containers stop rv-inf03
|
||||||
@@ -145,7 +145,7 @@ tmux kill-session -t rv-inf03
|
|||||||
|
|
||||||
## Aliasowanie Starej Komendy
|
## Aliasowanie Starej Komendy
|
||||||
|
|
||||||
Stara komenda moze zostac jako alias kompatybilnosci:
|
Stara komenda może zostać jako alias kompatybilności:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
tmux-container inf 03 --dry-run -> containers show inf 03
|
tmux-container inf 03 --dry-run -> containers show inf 03
|
||||||
@@ -153,4 +153,4 @@ tmux-container inf 03 --session NAME -> containers start inf 03 --session NAME
|
|||||||
tmux-container inf/03 --attach -> containers start inf/03 --attach
|
tmux-container inf/03 --attach -> containers start inf/03 --attach
|
||||||
```
|
```
|
||||||
|
|
||||||
Dokumentacja i nowe przyklady powinny promowac namespace `containers`.
|
Dokumentacja i nowe przykłady powinny promować namespace `containers`.
|
||||||
|
|||||||
+137
-137
@@ -1,8 +1,8 @@
|
|||||||
# RVCTL CLI
|
# RVCTL CLI
|
||||||
|
|
||||||
Plik opisuje przelaczniki i liste komend skryptu `rvctl`.
|
Plik opisuje przełączniki i listę komend skryptu `rvctl`.
|
||||||
|
|
||||||
## Model katalogow
|
## Model katalogów
|
||||||
|
|
||||||
Repo oryginalne trzymamy poza workspace:
|
Repo oryginalne trzymamy poza workspace:
|
||||||
|
|
||||||
@@ -10,13 +10,13 @@ Repo oryginalne trzymamy poza workspace:
|
|||||||
~/dev/edu/repos/rv
|
~/dev/edu/repos/rv
|
||||||
```
|
```
|
||||||
|
|
||||||
Workspace sluzy do klonow roboczych i cwiczen:
|
Workspace służy do klonów roboczych i ćwiczeń:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
~/dev/workspace/rv
|
~/dev/workspace/rv
|
||||||
```
|
```
|
||||||
|
|
||||||
Typowy uklad:
|
Typowy układ:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
~/dev/edu/repos/rv/rv-launcher
|
~/dev/edu/repos/rv/rv-launcher
|
||||||
@@ -29,16 +29,16 @@ Typowy uklad:
|
|||||||
|
|
||||||
`rvctl` czyta karty z `series_root` w workspace. Tool repo
|
`rvctl` czyta karty z `series_root` w workspace. Tool repo
|
||||||
`rv32i-hazard3-env` wybiera najpierw z workspace, a potem z fallbacku
|
`rv32i-hazard3-env` wybiera najpierw z workspace, a potem z fallbacku
|
||||||
`~/dev/edu/repos/rv`, jesli taki klon roboczy jeszcze nie istnieje.
|
`~/dev/edu/repos/rv`, jeśli taki klon roboczy jeszcze nie istnieje.
|
||||||
|
|
||||||
Karty pracy tez sa rozdzielone:
|
Karty pracy też są rozdzielone:
|
||||||
|
|
||||||
- `original_series_root` wskazuje repo zrodlowe kart, na przyklad `~/dev/edu/repos/rv/series`
|
- `original_series_root` wskazuje repo źródłowe kart, na przykład `~/dev/edu/repos/rv/series`
|
||||||
- `series_root` wskazuje klony testowe w workspace, na przyklad `~/dev/workspace/rv/series`
|
- `series_root` wskazuje klony testowe w workspace, na przykład `~/dev/workspace/rv/series`
|
||||||
|
|
||||||
Komendy launchera pracuja na `series_root`, czyli na klonach testowych.
|
Komendy launchera pracują na `series_root`, czyli na klonach testowych.
|
||||||
|
|
||||||
## Pobranie repo i przelaczenie galezi
|
## Pobranie repo i przełączenie gałęzi
|
||||||
|
|
||||||
Repo treningowe launchera trzymaj pod:
|
Repo treningowe launchera trzymaj pod:
|
||||||
|
|
||||||
@@ -46,7 +46,7 @@ Repo treningowe launchera trzymaj pod:
|
|||||||
~/dev/workspace/rv/tools/rv-launcher
|
~/dev/workspace/rv/tools/rv-launcher
|
||||||
```
|
```
|
||||||
|
|
||||||
Podstawowy bootstrap wyglada tak:
|
Podstawowy bootstrap wygląda tak:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir -p ~/dev/workspace/rv/tools
|
mkdir -p ~/dev/workspace/rv/tools
|
||||||
@@ -55,17 +55,17 @@ git clone http://77.90.8.171:3001/edu-tools/rv-launcher.git
|
|||||||
cd rv-launcher
|
cd rv-launcher
|
||||||
```
|
```
|
||||||
|
|
||||||
Glowne pliki CLI:
|
Główne pliki CLI:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl
|
./rvctl
|
||||||
rvctl.py
|
rvctl.py
|
||||||
```
|
```
|
||||||
|
|
||||||
`rvctl` jest jedynym publicznym entrypointem. `rvctl.py` jest implementacja
|
`rvctl` jest jedynym publicznym entrypointem. `rvctl.py` jest implementacją
|
||||||
uruchamiana przez wrapper i nie wymaga osobnego wywolywania przez ucznia.
|
uruchamianą przez wrapper i nie wymaga osobnego wywoływania przez ucznia.
|
||||||
|
|
||||||
Uruchomienie bez argumentow pokazuje tabelaryczny skrot komend:
|
Uruchomienie bez argumentów pokazuje tabelaryczny skrót komend:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl
|
./rvctl
|
||||||
@@ -79,11 +79,11 @@ Masz dwie drogi.
|
|||||||
|
|
||||||
#### Droga 1: remote `r1` z tokenem w URL
|
#### Droga 1: remote `r1` z tokenem w URL
|
||||||
|
|
||||||
To jest wariant dydaktyczny, jesli uczen ma cwiczyc reczne dodawanie remota z
|
To jest wariant dydaktyczny, jeśli uczeń ma ćwiczyć ręczne dodawanie remota z
|
||||||
tokenem do zdalnego endpointu. Jesli launcher zobaczy URL w formacie
|
tokenem do zdalnego endpointu. Jeśli launcher zobaczy URL w formacie
|
||||||
`http://LOGIN:TOKEN@...`, zapisze ten token lokalnie do `tokens/tokens.json`.
|
`http://LOGIN:TOKEN@...`, zapisze ten token lokalnie do `tokens/tokens.json`.
|
||||||
|
|
||||||
Przyklad:
|
Przykład:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git remote add r1 http://u1:TOKEN@77.90.8.171:3001/edu-tools/rv-launcher.git
|
git remote add r1 http://u1:TOKEN@77.90.8.171:3001/edu-tools/rv-launcher.git
|
||||||
@@ -93,7 +93,7 @@ git switch --track -c main r1/main
|
|||||||
|
|
||||||
#### Droga 2: lokalny `tokens/tokens.json`
|
#### Droga 2: lokalny `tokens/tokens.json`
|
||||||
|
|
||||||
Przed operacjami wymagajacymi autoryzacji dodaj lokalny token do:
|
Przed operacjami wymagającymi autoryzacji dodaj lokalny token do:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
~/dev/workspace/rv/tokens/tokens.json
|
~/dev/workspace/rv/tokens/tokens.json
|
||||||
@@ -123,9 +123,9 @@ Minimalny format pliku:
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Ten plik powinien byc lokalny, niewersjonowany i miec prawa `600`.
|
Ten plik powinien być lokalny, niewersjonowany i mieć prawa `600`.
|
||||||
|
|
||||||
Przyklad:
|
Przykład:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir -p ~/dev/workspace/rv/tokens
|
mkdir -p ~/dev/workspace/rv/tokens
|
||||||
@@ -134,13 +134,13 @@ chmod 600 ~/dev/workspace/rv/tokens/tokens.json
|
|||||||
```
|
```
|
||||||
|
|
||||||
Wariant z `tokens/tokens.json` jest wygodniejszy wtedy, gdy launcher ma
|
Wariant z `tokens/tokens.json` jest wygodniejszy wtedy, gdy launcher ma
|
||||||
sam wykonywac `clone`, `fetch` i `push`, albo gdy uzytkownik po zajeciach chce
|
sam wykonywać `clone`, `fetch` i `push`, albo gdy użytkownik po zajęciach chce
|
||||||
pracowac z wieloma repo na swoim koncie bez wpisywania tokena do kazdego
|
pracować z wieloma repo na swoim koncie bez wpisywania tokena do każdego
|
||||||
remota.
|
remota.
|
||||||
|
|
||||||
### Fetch i switch
|
### Fetch i switch
|
||||||
|
|
||||||
Domyslna galaz launchera to `main`.
|
Domyślna gałąź launchera to `main`.
|
||||||
|
|
||||||
Po sklonowaniu:
|
Po sklonowaniu:
|
||||||
|
|
||||||
@@ -158,7 +158,7 @@ git switch --track -c main r1/main
|
|||||||
git pull --ff-only r1 main
|
git pull --ff-only r1 main
|
||||||
```
|
```
|
||||||
|
|
||||||
Jesli chcesz wejsc na inna galaz, na przyklad `feat/x`, uzyj:
|
Jeśli chcesz wejść na inną gałąź, na przykład `feat/x`, użyj:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git fetch origin feat/x
|
git fetch origin feat/x
|
||||||
@@ -172,16 +172,16 @@ git fetch r1 feat/x
|
|||||||
git switch --track -c feat/x r1/feat/x
|
git switch --track -c feat/x r1/feat/x
|
||||||
```
|
```
|
||||||
|
|
||||||
## Wywolanie glowne
|
## Wywołanie główne
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl [--config PATH] <komenda> [opcje]
|
./rvctl [--config PATH] <komenda> [opcje]
|
||||||
```
|
```
|
||||||
|
|
||||||
Globalne przelaczniki:
|
Globalne przełączniki:
|
||||||
|
|
||||||
- `--config PATH`
|
- `--config PATH`
|
||||||
Uzywa innego pliku `workspace.json`.
|
Używa innego pliku `workspace.json`.
|
||||||
|
|
||||||
Pomoc tabelaryczna:
|
Pomoc tabelaryczna:
|
||||||
|
|
||||||
@@ -192,7 +192,7 @@ Pomoc tabelaryczna:
|
|||||||
./rvctl help tokens
|
./rvctl help tokens
|
||||||
```
|
```
|
||||||
|
|
||||||
Szczegolowy help parsera:
|
Szczegółowy help parsera:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl --help
|
./rvctl --help
|
||||||
@@ -216,7 +216,7 @@ Komendy:
|
|||||||
|
|
||||||
## `show-config`
|
## `show-config`
|
||||||
|
|
||||||
Wypisuje rozwiazane sciezki z konfiguracji.
|
Wypisuje rozwiązane ścieżki z konfiguracji.
|
||||||
|
|
||||||
Typowy format:
|
Typowy format:
|
||||||
|
|
||||||
@@ -240,7 +240,7 @@ tools_root_candidates
|
|||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
Przyklad:
|
Przykład:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl show-config
|
./rvctl show-config
|
||||||
@@ -250,13 +250,13 @@ Przyklad:
|
|||||||
|
|
||||||
Listuje katalogi serii znalezione w `series_root`.
|
Listuje katalogi serii znalezione w `series_root`.
|
||||||
|
|
||||||
Kazda linia ma format:
|
Każda linia ma format:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
<series_id><TAB><liczba_kart><TAB><pelna_sciezka>
|
<series_id><TAB><liczba_kart><TAB><pełna_ścieżka>
|
||||||
```
|
```
|
||||||
|
|
||||||
Przyklad:
|
Przykład:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl list-series
|
./rvctl list-series
|
||||||
@@ -269,22 +269,22 @@ Listuje karty z wybranej serii.
|
|||||||
Argumenty:
|
Argumenty:
|
||||||
|
|
||||||
- `series`
|
- `series`
|
||||||
Opcjonalne id serii, na przyklad `inf`.
|
Opcjonalne id serii, na przykład `inf`.
|
||||||
Jesli go brak, brana jest domyslna seria z `workspace.json`.
|
Jeśli go brak, brana jest domyślna seria z `workspace.json`.
|
||||||
|
|
||||||
Format wyjscia:
|
Format wyjścia:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
<card_no><TAB><tytul_z_README><TAB><pelna_sciezka>
|
<card_no><TAB><tytuł_z_README><TAB><pełna_ścieżka>
|
||||||
```
|
```
|
||||||
|
|
||||||
Jesli `README.md` nie ma naglowka `#`, skrypt wypisuje:
|
Jeśli `README.md` nie ma nagłówka `#`, skrypt wypisuje:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
<card_no><TAB><pelna_sciezka>
|
<card_no><TAB><pełna_ścieżka>
|
||||||
```
|
```
|
||||||
|
|
||||||
Przyklady:
|
Przykłady:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl list-cards
|
./rvctl list-cards
|
||||||
@@ -293,14 +293,14 @@ Przyklady:
|
|||||||
|
|
||||||
## `tokens scan`
|
## `tokens scan`
|
||||||
|
|
||||||
Czyta remote URL-e w repo i pokazuje diagnostyczna tabele git remotes:
|
Czyta remote URL-e w repo i pokazuje diagnostyczną tabelę git remotes:
|
||||||
`auth`, `plain` i `unsupported`. Nie porownuje ich z `tokens.json`. Komenda
|
`auth`, `plain` i `unsupported`. Nie porównuje ich z `tokens.json`. Komenda
|
||||||
jest read-only.
|
jest read-only.
|
||||||
|
|
||||||
Przelaczniki:
|
Przełączniki:
|
||||||
|
|
||||||
- `--repo PATH`
|
- `--repo PATH`
|
||||||
Sciezka wewnatrz docelowego repo. Domyslnie repo zawierajace `rvctl`.
|
Ścieżka wewnątrz docelowego repo. Domyślnie repo zawierające `rvctl`.
|
||||||
- `--server ENDPOINT`
|
- `--server ENDPOINT`
|
||||||
Pokazuje tylko wpisy z danego endpointu.
|
Pokazuje tylko wpisy z danego endpointu.
|
||||||
|
|
||||||
@@ -313,7 +313,7 @@ item remote kind server proto host org repo
|
|||||||
1 r1 auth gitea http 77.90.8.171:3001 edu-tools rv-launcher u1 e59cc...13be found http://77.90.8.171:3001/edu-tools/...
|
1 r1 auth gitea http 77.90.8.171:3001 edu-tools rv-launcher u1 e59cc...13be found http://77.90.8.171:3001/edu-tools/...
|
||||||
```
|
```
|
||||||
|
|
||||||
Przyklad:
|
Przykład:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens scan
|
./rvctl tokens scan
|
||||||
@@ -322,14 +322,14 @@ Przyklad:
|
|||||||
|
|
||||||
## `tokens compare`
|
## `tokens compare`
|
||||||
|
|
||||||
Czyta remote URL-e w repo oraz lokalny `tokens.json`, laczy wpisy w pary po
|
Czyta remote URL-e w repo oraz lokalny `tokens.json`, łączy wpisy w pary po
|
||||||
endpoincie, nazwie remota, token id, wartosci tokena, org i repo, a potem
|
endpoincie, nazwie remota, token id, wartości tokena, org i repo, a potem
|
||||||
pokazuje jeden logiczny wiersz na token. Komenda jest read-only.
|
pokazuje jeden logiczny wiersz na token. Komenda jest read-only.
|
||||||
|
|
||||||
Przelaczniki:
|
Przełączniki:
|
||||||
|
|
||||||
- `--repo PATH`
|
- `--repo PATH`
|
||||||
Sciezka wewnatrz docelowego repo. Domyslnie repo zawierajace `rvctl`.
|
Ścieżka wewnątrz docelowego repo. Domyślnie repo zawierające `rvctl`.
|
||||||
|
|
||||||
Typowy wynik:
|
Typowy wynik:
|
||||||
|
|
||||||
@@ -340,21 +340,21 @@ item server proto host org repo user remote t
|
|||||||
1 gitea http 77.90.8.171:3001 edu-tools rv-launcher u1 r1 r1 * e59cc...13be forever wwwwwwwww +++++ ++++
|
1 gitea http 77.90.8.171:3001 edu-tools rv-launcher u1 r1 r1 * e59cc...13be forever wwwwwwwww +++++ ++++
|
||||||
```
|
```
|
||||||
|
|
||||||
`token_ref` jest komorka stalej szerokosci: nazwa tokena jest po lewej, a marker
|
`token_ref` jest komórką stałej szerokości: nazwa tokena jest po lewej, a marker
|
||||||
po prawej. Nazwa tokena jest taka sama jak nazwa git remote, np. `r1`. Marker
|
po prawej. Nazwa tokena jest taka sama jak nazwa git remote, np. `r1`. Marker
|
||||||
`*` oznacza, ze remote i `tokens.json` sa zgodne. Marker `R` oznacza token tylko
|
`*` oznacza, że remote i `tokens.json` są zgodne. Marker `R` oznacza token tylko
|
||||||
w remote, a `S` token tylko w `tokens.json`.
|
w remote, a `S` token tylko w `tokens.json`.
|
||||||
|
|
||||||
Maski uprawnien:
|
Maski uprawnień:
|
||||||
|
|
||||||
- `scope` ma pozycje `aAimnopru`: activitypub, admin, issue, misc, notification, organization, package, repository, user
|
- `scope` ma pozycje `aAimnopru`: activitypub, admin, issue, misc, notification, organization, package, repository, user
|
||||||
- w `scope`: `w` oznacza read/write, `r` read, `-` brak dostepu
|
- w `scope`: `w` oznacza read/write, `r` read, `-` brak dostępu
|
||||||
- `org` ma pozycje `oawrc`: owner, admin, write, read, create repo
|
- `org` ma pozycje `oawrc`: owner, admin, write, read, create repo
|
||||||
- `repo` ma pozycje `oawr`: owner, admin, write, read
|
- `repo` ma pozycje `oawr`: owner, admin, write, read
|
||||||
- `+` oznacza wlaczone, `-` wylaczone, `?` nie wczytano, `!` blad wczytania
|
- `+` oznacza włączone, `-` wyłączone, `?` nie wczytano, `!` błąd wczytania
|
||||||
- `valid` pokazuje `forever`, lokalne `expires_at`, `invalid`, `?` albo `!`
|
- `valid` pokazuje `forever`, lokalne `expires_at`, `invalid`, `?` albo `!`
|
||||||
|
|
||||||
Przyklad:
|
Przykład:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens compare
|
./rvctl tokens compare
|
||||||
@@ -363,14 +363,14 @@ Przyklad:
|
|||||||
|
|
||||||
## `tokens list store|remote|both`
|
## `tokens list store|remote|both`
|
||||||
|
|
||||||
Wypisuje jedno zrodlo bez porownywania go z drugim. `list` jest read-only:
|
Wypisuje jedno źródło bez porównywania go z drugim. `list` jest read-only:
|
||||||
pokazuje co jest w `tokens.json`, co jest w git remote albo oba zrodla jako
|
pokazuje co jest w `tokens.json`, co jest w git remote albo oba źródła jako
|
||||||
osobne wiersze. `compare` sluzy do porownania zgodnosci.
|
osobne wiersze. `compare` służy do porównania zgodności.
|
||||||
|
|
||||||
Przelaczniki:
|
Przełączniki:
|
||||||
|
|
||||||
- `--repo PATH`
|
- `--repo PATH`
|
||||||
Repo, z ktorego listowane sa git remotes. Domyslnie repo zawierajace `rvctl`.
|
Repo, z którego listowane są git remotes. Domyślnie repo zawierające `rvctl`.
|
||||||
- `--server ENDPOINT`
|
- `--server ENDPOINT`
|
||||||
Ogranicza wynik do jednego endpointu.
|
Ogranicza wynik do jednego endpointu.
|
||||||
|
|
||||||
@@ -384,7 +384,7 @@ item source kind server proto host org repo
|
|||||||
2 remote auth gitea http 77.90.8.171:3001 edu-tools rv-launcher u1 r1 e59cc...13be
|
2 remote auth gitea http 77.90.8.171:3001 edu-tools rv-launcher u1 r1 e59cc...13be
|
||||||
```
|
```
|
||||||
|
|
||||||
Przyklady:
|
Przykłady:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens list store
|
./rvctl tokens list store
|
||||||
@@ -394,20 +394,20 @@ Przyklady:
|
|||||||
|
|
||||||
## `tokens add REMOTE_ID`
|
## `tokens add REMOTE_ID`
|
||||||
|
|
||||||
Dodaje pusty szkielet tokena do `tokens.json`. `REMOTE_ID` musi byc taki sam
|
Dodaje pusty szkielet tokena do `tokens.json`. `REMOTE_ID` musi być taki sam
|
||||||
jak nazwa git remote, np. `r1`. Pole `value` jest puste i trzeba je uzupelnic
|
jak nazwa git remote, np. `r1`. Pole `value` jest puste i trzeba je uzupełnić
|
||||||
recznie przed uzyciem tokena.
|
ręcznie przed użyciem tokena.
|
||||||
|
|
||||||
Przelaczniki:
|
Przełączniki:
|
||||||
|
|
||||||
- `--server ENDPOINT`
|
- `--server ENDPOINT`
|
||||||
Endpoint serwera. Domyslnie `git.base_url` z `workspace.json`.
|
Endpoint serwera. Domyślnie `git.base_url` z `workspace.json`.
|
||||||
- `--value TOKEN`
|
- `--value TOKEN`
|
||||||
Opcjonalna wartosc tokena. Domyslnie pusta.
|
Opcjonalna wartość tokena. Domyślnie pusta.
|
||||||
- `--user NAME`
|
- `--user NAME`
|
||||||
Login uzywany w URL-u auth, np. `u1`.
|
Login używany w URL-u auth, np. `u1`.
|
||||||
- `--remote NAME`
|
- `--remote NAME`
|
||||||
Alias zgodnosci. Jesli podany, musi byc taki sam jak `REMOTE_ID`.
|
Alias zgodności. Jeśli podany, musi być taki sam jak `REMOTE_ID`.
|
||||||
- `--org NAME`
|
- `--org NAME`
|
||||||
Opcjonalna organizacja dla remota.
|
Opcjonalna organizacja dla remota.
|
||||||
- `--repo NAME`
|
- `--repo NAME`
|
||||||
@@ -415,7 +415,7 @@ Przelaczniki:
|
|||||||
- `--dry-run`
|
- `--dry-run`
|
||||||
Pokazuje plan bez zapisu.
|
Pokazuje plan bez zapisu.
|
||||||
|
|
||||||
Przyklady:
|
Przykłady:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens add r1
|
./rvctl tokens add r1
|
||||||
@@ -427,14 +427,14 @@ Przyklady:
|
|||||||
Czyta dane auth z git remote `REMOTE_ID` i zapisuje je do `tokens.json`. Nie
|
Czyta dane auth z git remote `REMOTE_ID` i zapisuje je do `tokens.json`. Nie
|
||||||
pobiera metadanych z API.
|
pobiera metadanych z API.
|
||||||
|
|
||||||
Przelaczniki:
|
Przełączniki:
|
||||||
|
|
||||||
- `--repo PATH`
|
- `--repo PATH`
|
||||||
Sciezka wewnatrz docelowego repo. Domyslnie repo zawierajace `rvctl`.
|
Ścieżka wewnątrz docelowego repo. Domyślnie repo zawierające `rvctl`.
|
||||||
- `--dry-run`
|
- `--dry-run`
|
||||||
Pokazuje plan bez zapisu.
|
Pokazuje plan bez zapisu.
|
||||||
|
|
||||||
Przyklad:
|
Przykład:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens sync remote r1
|
./rvctl tokens sync remote r1
|
||||||
@@ -444,23 +444,23 @@ Przyklad:
|
|||||||
## `tokens sync store REMOTE_ID`
|
## `tokens sync store REMOTE_ID`
|
||||||
|
|
||||||
Zapisuje dane auth z rekordu `REMOTE_ID` w `tokens.json` do git remote o tej
|
Zapisuje dane auth z rekordu `REMOTE_ID` w `tokens.json` do git remote o tej
|
||||||
samej nazwie. Jesli remote jeszcze nie istnieje, URL jest budowany z pol
|
samej nazwie. Jeśli remote jeszcze nie istnieje, URL jest budowany z pól
|
||||||
`server.endpoint`, `org` i `repo` w `tokens.json`.
|
`server.endpoint`, `org` i `repo` w `tokens.json`.
|
||||||
|
|
||||||
Przelaczniki:
|
Przełączniki:
|
||||||
|
|
||||||
- `--repo PATH`
|
- `--repo PATH`
|
||||||
Sciezka wewnatrz docelowego repo. Domyslnie biezacy katalog.
|
Ścieżka wewnątrz docelowego repo. Domyślnie bieżący katalog.
|
||||||
- `--url URL`
|
- `--url URL`
|
||||||
Opcjonalny URL remota. Nadpisuje URL zbudowany z `tokens.json`.
|
Opcjonalny URL remota. Nadpisuje URL zbudowany z `tokens.json`.
|
||||||
- `--server ENDPOINT`
|
- `--server ENDPOINT`
|
||||||
Endpoint serwera z `tokens.json`.
|
Endpoint serwera z `tokens.json`.
|
||||||
- `--replace`
|
- `--replace`
|
||||||
Nadpisuje inne dane auth juz wpisane w remote URL.
|
Nadpisuje inne dane auth już wpisane w remote URL.
|
||||||
- `--dry-run`
|
- `--dry-run`
|
||||||
Pokazuje plan bez zapisu.
|
Pokazuje plan bez zapisu.
|
||||||
|
|
||||||
Przyklad:
|
Przykład:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens sync store r1 --repo ~/dev/workspace/rv/series/inf/03
|
./rvctl tokens sync store r1 --repo ~/dev/workspace/rv/series/inf/03
|
||||||
@@ -469,20 +469,20 @@ Przyklad:
|
|||||||
## `tokens remove store|remote|both REMOTE_ID`
|
## `tokens remove store|remote|both REMOTE_ID`
|
||||||
|
|
||||||
Usuwa rekord z `tokens.json`, git remote albo oba miejsca.
|
Usuwa rekord z `tokens.json`, git remote albo oba miejsca.
|
||||||
Domyslnym repo dla `remote` i `both` jest repo, w ktorym lezy `rvctl`. Inne
|
Domyślnym repo dla `remote` i `both` jest repo, w którym leży `rvctl`. Inne
|
||||||
repo mozna wskazac przez `--repo PATH`.
|
repo można wskazać przez `--repo PATH`.
|
||||||
|
|
||||||
Przelaczniki:
|
Przełączniki:
|
||||||
|
|
||||||
- `--repo PATH`
|
- `--repo PATH`
|
||||||
Repo, z ktorego ma byc usuniety git remote. Domyslnie repo zawierajace
|
Repo, z którego ma być usunięty git remote. Domyślnie repo zawierające
|
||||||
`rvctl`.
|
`rvctl`.
|
||||||
- `--server ENDPOINT`
|
- `--server ENDPOINT`
|
||||||
Endpoint serwera, jesli `tokens.json` ma kilka rekordow o tym samym `id`.
|
Endpoint serwera, jeśli `tokens.json` ma kilka rekordów o tym samym `id`.
|
||||||
- `--dry-run`
|
- `--dry-run`
|
||||||
Pokazuje plan bez usuwania.
|
Pokazuje plan bez usuwania.
|
||||||
|
|
||||||
Przyklady:
|
Przykłady:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens remove store r1
|
./rvctl tokens remove store r1
|
||||||
@@ -493,14 +493,14 @@ Przyklady:
|
|||||||
|
|
||||||
## `tokens read`
|
## `tokens read`
|
||||||
|
|
||||||
Pokazuje zawartosc `tokens/tokens.json` w podziale na endpointy serwerow.
|
Pokazuje zawartość `tokens/tokens.json` w podziale na endpointy serwerów.
|
||||||
|
|
||||||
Przelaczniki:
|
Przełączniki:
|
||||||
|
|
||||||
- `--server ENDPOINT`
|
- `--server ENDPOINT`
|
||||||
Ogranicza wynik do jednego endpointu.
|
Ogranicza wynik do jednego endpointu.
|
||||||
- `--show-secrets`
|
- `--show-secrets`
|
||||||
Pokazuje pelne wartosci tokenow zamiast maskowania.
|
Pokazuje pełne wartości tokenów zamiast maskowania.
|
||||||
|
|
||||||
Typowy wynik:
|
Typowy wynik:
|
||||||
|
|
||||||
@@ -516,7 +516,7 @@ id<TAB>r1<TAB>SE****23
|
|||||||
user<TAB>r1<TAB>u1
|
user<TAB>r1<TAB>u1
|
||||||
```
|
```
|
||||||
|
|
||||||
Przyklad:
|
Przykład:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens read
|
./rvctl tokens read
|
||||||
@@ -525,13 +525,13 @@ Przyklad:
|
|||||||
|
|
||||||
## `tokens stats`
|
## `tokens stats`
|
||||||
|
|
||||||
Pokazuje statystyki endpointow z repo i `tokens.json`, a takze ich zgodnosc
|
Pokazuje statystyki endpointów z repo i `tokens.json`, a także ich zgodność
|
||||||
wzgledem siebie.
|
względem siebie.
|
||||||
|
|
||||||
Przelaczniki:
|
Przełączniki:
|
||||||
|
|
||||||
- `--repo PATH`
|
- `--repo PATH`
|
||||||
Sciezka wewnatrz repo, z ktorego maja byc odczytane remote URL-e.
|
Ścieżka wewnątrz repo, z którego mają być odczytane remote URL-e.
|
||||||
- `--server ENDPOINT`
|
- `--server ENDPOINT`
|
||||||
Ogranicza wynik do jednego endpointu.
|
Ogranicza wynik do jednego endpointu.
|
||||||
|
|
||||||
@@ -553,7 +553,7 @@ item<TAB>value
|
|||||||
in_sync<TAB>1
|
in_sync<TAB>1
|
||||||
```
|
```
|
||||||
|
|
||||||
Przyklad:
|
Przykład:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens stats --repo ~/dev/workspace/rv/series/inf/03
|
./rvctl tokens stats --repo ~/dev/workspace/rv/series/inf/03
|
||||||
@@ -563,10 +563,10 @@ Przyklad:
|
|||||||
|
|
||||||
Wpisuje dane z `tokens/tokens.json` do wybranego remota repo.
|
Wpisuje dane z `tokens/tokens.json` do wybranego remota repo.
|
||||||
|
|
||||||
Przelaczniki:
|
Przełączniki:
|
||||||
|
|
||||||
- `--repo PATH`
|
- `--repo PATH`
|
||||||
Sciezka wewnatrz docelowego repo. Domyslnie biezacy katalog.
|
Ścieżka wewnątrz docelowego repo. Domyślnie bieżący katalog.
|
||||||
- `--remote NAME`
|
- `--remote NAME`
|
||||||
Nazwa remota do aktualizacji lub utworzenia.
|
Nazwa remota do aktualizacji lub utworzenia.
|
||||||
- `--url URL`
|
- `--url URL`
|
||||||
@@ -574,15 +574,15 @@ Przelaczniki:
|
|||||||
- `--server ENDPOINT`
|
- `--server ENDPOINT`
|
||||||
Endpoint serwera z `tokens.json`.
|
Endpoint serwera z `tokens.json`.
|
||||||
- `--user NAME`
|
- `--user NAME`
|
||||||
Uzytkownik z wybranego endpointu.
|
Użytkownik z wybranego endpointu.
|
||||||
- `--token-name NAME`
|
- `--token-name NAME`
|
||||||
Remote id w `tokens.json`, na przyklad `r1`. Domyslnie wartosc `--remote`.
|
Remote id w `tokens.json`, na przykład `r1`. Domyślnie wartość `--remote`.
|
||||||
- `--replace`
|
- `--replace`
|
||||||
Nadpisuje inne dane auth juz wpisane w remote URL.
|
Nadpisuje inne dane auth już wpisane w remote URL.
|
||||||
- `--dry-run`
|
- `--dry-run`
|
||||||
Pokazuje plan bez zapisu.
|
Pokazuje plan bez zapisu.
|
||||||
|
|
||||||
Przyklad:
|
Przykład:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens write --repo ~/dev/workspace/rv/series/inf/03 --remote r1 --server http://77.90.8.171:3001
|
./rvctl tokens write --repo ~/dev/workspace/rv/series/inf/03 --remote r1 --server http://77.90.8.171:3001
|
||||||
@@ -593,14 +593,14 @@ Przyklad:
|
|||||||
Pobiera z API metadane dla rekordu `REMOTE_ID` zapisanego w `tokens.json`.
|
Pobiera z API metadane dla rekordu `REMOTE_ID` zapisanego w `tokens.json`.
|
||||||
Nie synchronizuje sekretu z git remote.
|
Nie synchronizuje sekretu z git remote.
|
||||||
|
|
||||||
Przelaczniki:
|
Przełączniki:
|
||||||
|
|
||||||
- `--server ENDPOINT`
|
- `--server ENDPOINT`
|
||||||
Opcjonalny wybor endpointu, jesli ten sam `REMOTE_ID` istnieje dla wielu serwerow.
|
Opcjonalny wybór endpointu, jeśli ten sam `REMOTE_ID` istnieje dla wielu serwerów.
|
||||||
- `--dry-run`
|
- `--dry-run`
|
||||||
Pokazuje plan bez zapisu.
|
Pokazuje plan bez zapisu.
|
||||||
|
|
||||||
Przyklad:
|
Przykład:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens update r1
|
./rvctl tokens update r1
|
||||||
@@ -608,32 +608,32 @@ Przyklad:
|
|||||||
|
|
||||||
## `tokens update --from ...`
|
## `tokens update --from ...`
|
||||||
|
|
||||||
Komendy zgodnosci dla starego modelu kierunkowego.
|
Komendy zgodności dla starego modelu kierunkowego.
|
||||||
|
|
||||||
Przelaczniki:
|
Przełączniki:
|
||||||
|
|
||||||
- `--from remotes`
|
- `--from remotes`
|
||||||
Skanuje remote URL-e i zapisuje wynik do `tokens.json`.
|
Skanuje remote URL-e i zapisuje wynik do `tokens.json`.
|
||||||
- `--from store`
|
- `--from store`
|
||||||
Bierze dane z `tokens.json` i wpisuje je do remota repo.
|
Bierze dane z `tokens.json` i wpisuje je do remota repo.
|
||||||
- `--repo PATH`
|
- `--repo PATH`
|
||||||
Sciezka wewnatrz repo.
|
Ścieżka wewnątrz repo.
|
||||||
- `--remote NAME`
|
- `--remote NAME`
|
||||||
Wymagane dla `--from store`.
|
Wymagane dla `--from store`.
|
||||||
- `--url URL`
|
- `--url URL`
|
||||||
Opcjonalny URL dla `--from store`.
|
Opcjonalny URL dla `--from store`.
|
||||||
- `--server ENDPOINT`
|
- `--server ENDPOINT`
|
||||||
Opcjonalny wybor endpointu dla `--from store`.
|
Opcjonalny wybór endpointu dla `--from store`.
|
||||||
- `--user NAME`
|
- `--user NAME`
|
||||||
Opcjonalny wybor usera dla `--from store`.
|
Opcjonalny wybór usera dla `--from store`.
|
||||||
- `--token-name NAME`
|
- `--token-name NAME`
|
||||||
Opcjonalny wybor remote id dla `--from store`.
|
Opcjonalny wybór remote id dla `--from store`.
|
||||||
- `--replace`
|
- `--replace`
|
||||||
Nadpisuje inne auth przy `--from store`.
|
Nadpisuje inne auth przy `--from store`.
|
||||||
- `--dry-run`
|
- `--dry-run`
|
||||||
Pokazuje plan bez zapisu.
|
Pokazuje plan bez zapisu.
|
||||||
|
|
||||||
Przyklady:
|
Przykłady:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens update --from remotes --repo ~/dev/workspace/rv/series/inf/03
|
./rvctl tokens update --from remotes --repo ~/dev/workspace/rv/series/inf/03
|
||||||
@@ -642,20 +642,20 @@ Przyklady:
|
|||||||
|
|
||||||
## `submission [series] [card]`
|
## `submission [series] [card]`
|
||||||
|
|
||||||
Wylicza flow oddawania rozwiazan:
|
Wylicza przepływ oddawania rozwiązań:
|
||||||
|
|
||||||
- `r1` jako repo z materialem z `edu-inf`
|
- `r1` jako repo z materiałem z `edu-inf`
|
||||||
- `a1` jako repo odpowiedzi w `zsl-inf`
|
- `a1` jako repo odpowiedzi w `zsl-inf`
|
||||||
- branch ucznia na podstawie jego nicku
|
- branch ucznia na podstawie jego nicku
|
||||||
|
|
||||||
Nazwa repo odpowiedzi jest budowana z nazwy repo zrodlowego z `edu-inf`, klasy
|
Nazwa repo odpowiedzi jest budowana z nazwy repo źródłowego z `edu-inf`, klasy
|
||||||
i daty:
|
i daty:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
<repo_z_edu-inf>-<klasa>-<data>
|
<repo_z_edu-inf>-<klasa>-<data>
|
||||||
```
|
```
|
||||||
|
|
||||||
Przyklad:
|
Przykład:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
lab-rv32i-strlen-bss-data-stack-4i-2026-04-26
|
lab-rv32i-strlen-bss-data-stack-4i-2026-04-26
|
||||||
@@ -664,26 +664,26 @@ lab-rv32i-strlen-bss-data-stack-4i-2026-04-26
|
|||||||
Argumenty pozycyjne:
|
Argumenty pozycyjne:
|
||||||
|
|
||||||
- `series`
|
- `series`
|
||||||
Id serii albo pelny selector, na przyklad `inf` albo `inf/03`.
|
Id serii albo pełny selector, na przykład `inf` albo `inf/03`.
|
||||||
- `card`
|
- `card`
|
||||||
Numer karty, na przyklad `03`.
|
Numer karty, na przykład `03`.
|
||||||
|
|
||||||
Przelaczniki:
|
Przełączniki:
|
||||||
|
|
||||||
- `--class NAME`
|
- `--class NAME`
|
||||||
Id klasy, na przyklad `4i`.
|
Id klasy, na przykład `4i`.
|
||||||
- `--nick NAME`
|
- `--nick NAME`
|
||||||
Nick ucznia. Domyslnie z niego powstaje nazwa brancha.
|
Nick ucznia. Domyślnie z niego powstaje nazwa brancha.
|
||||||
- `--branch NAME`
|
- `--branch NAME`
|
||||||
Nadpisuje domyslna nazwe brancha.
|
Nadpisuje domyślną nazwę brancha.
|
||||||
- `--date YYYY-MM-DD`
|
- `--date YYYY-MM-DD`
|
||||||
Data zajec uzywana w nazwie repo odpowiedzi. Domyslnie dzisiejsza.
|
Data zajęć używana w nazwie repo odpowiedzi. Domyślnie dzisiejsza.
|
||||||
- `--source-url URL`
|
- `--source-url URL`
|
||||||
Nadpisuje URL repo zrodlowego. Bez tego launcher czyta `origin` z repo karty.
|
Nadpisuje URL repo źródłowego. Bez tego launcher czyta `origin` z repo karty.
|
||||||
- `--apply`
|
- `--apply`
|
||||||
Dodaje albo aktualizuje remote `r1` i `a1` w repo karty.
|
Dodaje albo aktualizuje remote `r1` i `a1` w repo karty.
|
||||||
|
|
||||||
Typowy format wyjscia:
|
Typowy format wyjścia:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
selector<TAB>inf/03
|
selector<TAB>inf/03
|
||||||
@@ -698,7 +698,7 @@ answer_url<TAB>http://77.90.8.171:3001/zsl-inf/lab-rv32i-strlen-bss-data-stack-4
|
|||||||
student_branch<TAB>u1
|
student_branch<TAB>u1
|
||||||
```
|
```
|
||||||
|
|
||||||
Przyklady:
|
Przykłady:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl submission inf 03 --class 4i --nick u1
|
./rvctl submission inf 03 --class 4i --nick u1
|
||||||
@@ -708,37 +708,37 @@ Przyklady:
|
|||||||
|
|
||||||
## `tmux-container [series] [card]`
|
## `tmux-container [series] [card]`
|
||||||
|
|
||||||
Tworzy nowa sesje `tmux` i uruchamia kontener w `pane 0`.
|
Tworzy nową sesję `tmux` i uruchamia kontener w `pane 0`.
|
||||||
|
|
||||||
Argumenty pozycyjne:
|
Argumenty pozycyjne:
|
||||||
|
|
||||||
- `series`
|
- `series`
|
||||||
Id serii albo pelny selector, na przyklad `inf` albo `inf/03`.
|
Id serii albo pełny selector, na przykład `inf` albo `inf/03`.
|
||||||
- `card`
|
- `card`
|
||||||
Numer karty, na przyklad `03`.
|
Numer karty, na przykład `03`.
|
||||||
|
|
||||||
Przelaczniki:
|
Przełączniki:
|
||||||
|
|
||||||
- `--session NAME`
|
- `--session NAME`
|
||||||
Nadpisuje nazwe sesji `tmux`.
|
Nadpisuje nazwę sesji `tmux`.
|
||||||
- `--window NAME`
|
- `--window NAME`
|
||||||
Nadpisuje nazwe okna `tmux`.
|
Nadpisuje nazwę okna `tmux`.
|
||||||
- `--instance NAME`
|
- `--instance NAME`
|
||||||
Ustawia `RV_INSTANCE` dla wrappera `rv`.
|
Ustawia `RV_INSTANCE` dla wrappera `rv`.
|
||||||
- `--attach`
|
- `--attach`
|
||||||
Po utworzeniu sesji robi `tmux attach`.
|
Po utworzeniu sesji robi `tmux attach`.
|
||||||
- `--dry-run`
|
- `--dry-run`
|
||||||
Nie uruchamia `tmux`; wypisuje selector, sciezki i koncowa komende.
|
Nie uruchamia `tmux`; wypisuje selector, ścieżki i końcową komendę.
|
||||||
|
|
||||||
Reguly wyboru karty:
|
Reguły wyboru karty:
|
||||||
|
|
||||||
- `tmux-container inf 03` -> seria `inf`, karta `03`
|
- `tmux-container inf 03` -> seria `inf`, karta `03`
|
||||||
- `tmux-container inf/03` -> pelny selector
|
- `tmux-container inf/03` -> pełny selector
|
||||||
- `tmux-container 03` -> domyslna seria + karta `03`
|
- `tmux-container 03` -> domyślna seria + karta `03`
|
||||||
- `tmux-container inf` -> seria `inf` + domyslna karta
|
- `tmux-container inf` -> seria `inf` + domyślna karta
|
||||||
- bez argumentow -> domyslna seria i domyslna karta
|
- bez argumentów -> domyślna seria i domyślna karta
|
||||||
|
|
||||||
Przyklady:
|
Przykłady:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tmux-container 03 --dry-run
|
./rvctl tmux-container 03 --dry-run
|
||||||
|
|||||||
+21
-21
@@ -7,16 +7,16 @@ pracy i zadaniami w kartach.
|
|||||||
|
|
||||||
Komendy kart pracy dzielimy na trzy poziomy:
|
Komendy kart pracy dzielimy na trzy poziomy:
|
||||||
|
|
||||||
- `series` - operacje na serii jako calosci
|
- `series` - operacje na serii jako całości
|
||||||
- `series cards` - operacje na kartach w ramach serii
|
- `series cards` - operacje na kartach w ramach serii
|
||||||
- `series cards tasks` - operacje na zadaniach w ramach karty
|
- `series cards tasks` - operacje na zadaniach w ramach karty
|
||||||
|
|
||||||
Uzywamy pluralnych namespace'ow `cards` i `tasks`, bo opisuja kolekcje zasobow
|
Używamy pluralnych namespace'ów `cards` i `tasks`, bo opisują kolekcje zasobów
|
||||||
i sa spojne z pluralnym `tokens`.
|
i są spójne z pluralnym `tokens`.
|
||||||
|
|
||||||
## Szybki Flow
|
## Szybki przepływ
|
||||||
|
|
||||||
Typowy przeplyw pracy:
|
Typowy przepływ pracy:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens compare
|
./rvctl tokens compare
|
||||||
@@ -35,13 +35,13 @@ Typowy przeplyw pracy:
|
|||||||
|
|
||||||
### `series list`
|
### `series list`
|
||||||
|
|
||||||
Listuje dostepne serie w workspace.
|
Listuje dostępne serie w workspace.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl series list
|
./rvctl series list
|
||||||
```
|
```
|
||||||
|
|
||||||
Przykladowy wynik:
|
Przykładowy wynik:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
series cards workspace
|
series cards workspace
|
||||||
@@ -51,7 +51,7 @@ inf 12 ~/dev/workspace/rv/series/inf
|
|||||||
|
|
||||||
### `series show SERIES`
|
### `series show SERIES`
|
||||||
|
|
||||||
Pokazuje informacje o serii jako calosci.
|
Pokazuje informacje o serii jako całości.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl series show inf
|
./rvctl series show inf
|
||||||
@@ -69,14 +69,14 @@ cards 01 02 03 ...
|
|||||||
|
|
||||||
### `series fetch SERIES`
|
### `series fetch SERIES`
|
||||||
|
|
||||||
Pobiera albo aktualizuje cala serie w workspace.
|
Pobiera albo aktualizuje całą serię w workspace.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl series fetch inf
|
./rvctl series fetch inf
|
||||||
```
|
```
|
||||||
|
|
||||||
Ta komenda pracuje na wszystkich kartach w serii. Do pobrania jednej karty
|
Ta komenda pracuje na wszystkich kartach w serii. Do pobrania jednej karty
|
||||||
sluzy `series cards fetch`.
|
służy `series cards fetch`.
|
||||||
|
|
||||||
## Karty
|
## Karty
|
||||||
|
|
||||||
@@ -88,7 +88,7 @@ Listuje karty w wybranej serii.
|
|||||||
./rvctl series cards list inf
|
./rvctl series cards list inf
|
||||||
```
|
```
|
||||||
|
|
||||||
Przykladowy wynik:
|
Przykładowy wynik:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
series card repo
|
series card repo
|
||||||
@@ -119,7 +119,7 @@ tasks task1 task2 ...
|
|||||||
|
|
||||||
### `series cards fetch SERIES CARD`
|
### `series cards fetch SERIES CARD`
|
||||||
|
|
||||||
Pobiera albo aktualizuje jedna karte w workspace.
|
Pobiera albo aktualizuje jedną kartę w workspace.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl series cards fetch inf 03
|
./rvctl series cards fetch inf 03
|
||||||
@@ -127,7 +127,7 @@ Pobiera albo aktualizuje jedna karte w workspace.
|
|||||||
|
|
||||||
### `series cards submission SERIES CARD`
|
### `series cards submission SERIES CARD`
|
||||||
|
|
||||||
Pokazuje albo stosuje konfiguracje repo odpowiedzi dla karty.
|
Pokazuje albo stosuje konfigurację repo odpowiedzi dla karty.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl series cards submission inf 03 --class 4i --nick u1
|
./rvctl series cards submission inf 03 --class 4i --nick u1
|
||||||
@@ -139,17 +139,17 @@ do pracy z repo odpowiedzi.
|
|||||||
|
|
||||||
## Zadania W Karcie
|
## Zadania W Karcie
|
||||||
|
|
||||||
Zadania sa czescia karty, dlatego trzymamy je pod `series cards tasks`.
|
Zadania są częścią karty, dlatego trzymamy je pod `series cards tasks`.
|
||||||
|
|
||||||
### `series cards tasks list SERIES CARD`
|
### `series cards tasks list SERIES CARD`
|
||||||
|
|
||||||
Listuje zadania dostepne w konkretnej karcie.
|
Listuje zadania dostępne w konkretnej karcie.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl series cards tasks list inf 03
|
./rvctl series cards tasks list inf 03
|
||||||
```
|
```
|
||||||
|
|
||||||
Przykladowy wynik:
|
Przykładowy wynik:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
series card task path
|
series card task path
|
||||||
@@ -176,12 +176,12 @@ workspace_path ~/dev/workspace/rv/series/inf/03/task1
|
|||||||
card_path ~/dev/workspace/rv/series/inf/03
|
card_path ~/dev/workspace/rv/series/inf/03
|
||||||
```
|
```
|
||||||
|
|
||||||
Na tym poziomie nie wprowadzamy osobnego `fetch`: zadania sa pobierane razem z
|
Na tym poziomie nie wprowadzamy osobnego `fetch`: zadania są pobierane razem z
|
||||||
karta przez `series cards fetch` albo razem z cala seria przez `series fetch`.
|
kartą przez `series cards fetch` albo razem z całą serią przez `series fetch`.
|
||||||
|
|
||||||
## Aliasowanie Starych Komend
|
## Aliasowanie Starych Komend
|
||||||
|
|
||||||
Stare komendy mozna zostawic jako aliasy kompatybilnosci:
|
Stare komendy można zostawić jako aliasy kompatybilności:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
list-series -> series list
|
list-series -> series list
|
||||||
@@ -189,7 +189,7 @@ list-cards inf -> series cards list inf
|
|||||||
submission inf 03 --class K --nick N -> series cards submission inf 03 --class K --nick N
|
submission inf 03 --class K --nick N -> series cards submission inf 03 --class K --nick N
|
||||||
```
|
```
|
||||||
|
|
||||||
Komendy `series cards tasks ...` nie maja starego odpowiednika i powinny byc
|
Komendy `series cards tasks ...` nie mają starego odpowiednika i powinny być
|
||||||
wprowadzane tylko w nowym namespace.
|
wprowadzane tylko w nowym namespace.
|
||||||
|
|
||||||
Dokumentacja i nowe przyklady powinny promowac namespace `series`.
|
Dokumentacja i nowe przykłady powinny promować namespace `series`.
|
||||||
|
|||||||
+69
-66
@@ -1,18 +1,18 @@
|
|||||||
# Tokens
|
# Tokens
|
||||||
|
|
||||||
`rvctl` obsluguje tokeny Gitea w dwoch miejscach:
|
`rvctl` obsługuje tokeny Gitea w dwóch miejscach:
|
||||||
|
|
||||||
- `tokens.json` - lokalny store sekretow i metadanych tokenow
|
- `tokens.json` - lokalny store sekretów i metadanych tokenów
|
||||||
- `.git/config` - git remotes w konkretnym repo
|
- `.git/config` - git remotes w konkretnym repo
|
||||||
|
|
||||||
Rekord w `tokens.json` zawiera token, endpoint serwera, login oraz docelowe
|
Rekord w `tokens.json` zawiera token, endpoint serwera, login oraz docelowe
|
||||||
`org/repo`. Git remote sluzy tylko do operacji Git (`fetch`, `push`) albo do
|
`org/repo`. Git remote służy tylko do operacji Git (`fetch`, `push`) albo do
|
||||||
pierwszego wczytania tokena do store.
|
pierwszego wczytania tokena do store.
|
||||||
|
|
||||||
Bez `--repo` komendy tokenow dzialaja na repo `rv-launcher`. Dla kart pracy albo
|
Bez `--repo` komendy tokenów działają na repo `rv-launcher`. Dla kart pracy albo
|
||||||
innych repo podaj `--repo PATH`.
|
innych repo podaj `--repo PATH`.
|
||||||
|
|
||||||
## Szybki Flow
|
## Szybki przepływ
|
||||||
|
|
||||||
Startujemy od git remota z tokenem w URL-u:
|
Startujemy od git remota z tokenem w URL-u:
|
||||||
|
|
||||||
@@ -40,15 +40,15 @@ Pobieramy z API metadane tokena:
|
|||||||
./rvctl tokens update r1
|
./rvctl tokens update r1
|
||||||
```
|
```
|
||||||
|
|
||||||
Sprawdzamy zgodnosc remote i store:
|
Sprawdzamy zgodność remote i store:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens cmp
|
./rvctl tokens cmp
|
||||||
```
|
```
|
||||||
|
|
||||||
Po poprawnej synchronizacji `compare`/`cmp` powinien pokazac `*` przy `r1`.
|
Po poprawnej synchronizacji `compare`/`cmp` powinien pokazać `*` przy `r1`.
|
||||||
|
|
||||||
Jesli chcesz sprawdzic, czy store da sie odtworzyc z remota, usun tylko rekord
|
Jeśli chcesz sprawdzić, czy store da się odtworzyć z remota, usuń tylko rekord
|
||||||
ze store i wczytaj go ponownie z git remota:
|
ze store i wczytaj go ponownie z git remota:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -58,27 +58,30 @@ ze store i wczytaj go ponownie z git remota:
|
|||||||
./rvctl tokens cmp
|
./rvctl tokens cmp
|
||||||
```
|
```
|
||||||
|
|
||||||
Po `sync remote` metadane API sa ustawiane na `?`, dlatego `update` jest zawsze
|
Po `sync remote` metadane API są ustawiane na `?`, dlatego `update` jest zawsze
|
||||||
kolejnym krokiem.
|
kolejnym krokiem.
|
||||||
|
|
||||||
## Dwa Zrodla
|
## Dwa Źródła
|
||||||
|
|
||||||
`rvctl` rozroznia dwa miejsca:
|
`rvctl` rozróżnia dwa miejsca:
|
||||||
|
|
||||||
- git remote w repo, np. `http://u1:SECRET@host/org/repo.git`
|
- git remote w repo, np. `http://u1:SECRET@host/org/repo.git`
|
||||||
- lokalny store `~/dev/workspace/rv/tokens/tokens.json`
|
- lokalny store `~/dev/workspace/rv/tokens/tokens.json`
|
||||||
|
|
||||||
Kierunki sa jawne:
|
Komendy zapisujące store same tworzą katalog nadrzędny, jeżeli go nie ma.
|
||||||
|
Katalog `tokens` dostaje prawa `700`, a plik `tokens.json` prawa `600`.
|
||||||
|
|
||||||
|
Kierunki są jawne:
|
||||||
|
|
||||||
- `sync remote r1` czyta git remote i zapisuje rekord do `tokens.json`
|
- `sync remote r1` czyta git remote i zapisuje rekord do `tokens.json`
|
||||||
- `sync store r1` czyta `tokens.json` i zapisuje auth do git remota
|
- `sync store r1` czyta `tokens.json` i zapisuje auth do git remota
|
||||||
- `update r1` nie synchronizuje sekretu, tylko odswieza metadane z API
|
- `update r1` nie synchronizuje sekretu, tylko odświeża metadane z API
|
||||||
- `remove remote r1` albo `rm remote r1` usuwa git remote
|
- `remove remote r1` albo `rm remote r1` usuwa git remote
|
||||||
- `remove store r1` albo `rm store r1` usuwa rekord z `tokens.json`
|
- `remove store r1` albo `rm store r1` usuwa rekord z `tokens.json`
|
||||||
|
|
||||||
## Listowanie
|
## Listowanie
|
||||||
|
|
||||||
`list` pokazuje zrodla bez porownywania:
|
`list` pokazuje źródła bez porównywania:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens list store
|
./rvctl tokens list store
|
||||||
@@ -90,7 +93,7 @@ Znaczenie:
|
|||||||
|
|
||||||
- `store` - rekordy zapisane w `tokens.json`
|
- `store` - rekordy zapisane w `tokens.json`
|
||||||
- `remote` - git remotes zapisane w `.git/config`
|
- `remote` - git remotes zapisane w `.git/config`
|
||||||
- `both` - oba zrodla jako osobne wiersze
|
- `both` - oba źródła jako osobne wiersze
|
||||||
|
|
||||||
Dla innego repo podaj `--repo`:
|
Dla innego repo podaj `--repo`:
|
||||||
|
|
||||||
@@ -102,14 +105,14 @@ Dla innego repo podaj `--repo`:
|
|||||||
|
|
||||||
### Remote -> Store
|
### Remote -> Store
|
||||||
|
|
||||||
Uzyj, gdy token jest w git remote i chcesz go zapisac w store:
|
Użyj, gdy token jest w git remote i chcesz go zapisać w store:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens sync remote r1
|
./rvctl tokens sync remote r1
|
||||||
```
|
```
|
||||||
|
|
||||||
Ta komenda kopiuje sekret, usera, endpoint, org i repo z URL-a remota do
|
Ta komenda kopiuje sekret, usera, endpoint, org i repo z URL-a remota do
|
||||||
`tokens.json`. Nie pyta API o uprawnienia, wiec zawsze zeruje metadane API:
|
`tokens.json`. Nie pyta API o uprawnienia, więc zawsze zeruje metadane API:
|
||||||
`valid` ustawia na `?`, maski `scope`, `org_perm` i `repo_perm` ustawia na `?`,
|
`valid` ustawia na `?`, maski `scope`, `org_perm` i `repo_perm` ustawia na `?`,
|
||||||
a `expires_at` usuwa. Realne uprawnienia wpisuje dopiero:
|
a `expires_at` usuwa. Realne uprawnienia wpisuje dopiero:
|
||||||
|
|
||||||
@@ -119,27 +122,27 @@ a `expires_at` usuwa. Realne uprawnienia wpisuje dopiero:
|
|||||||
|
|
||||||
### Store -> Remote
|
### Store -> Remote
|
||||||
|
|
||||||
Uzyj, gdy token jest juz w `tokens.json`, a chcesz utworzyc albo odswiezyc git
|
Użyj, gdy token jest już w `tokens.json`, a chcesz utworzyć albo odświeżyć git
|
||||||
remote:
|
remote:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens sync store r1
|
./rvctl tokens sync store r1
|
||||||
```
|
```
|
||||||
|
|
||||||
Jesli remote `r1` nie istnieje, `rvctl` buduje URL z pol `server.endpoint`,
|
Jeśli remote `r1` nie istnieje, `rvctl` buduje URL z pól `server.endpoint`,
|
||||||
`org` i `repo` w `tokens.json`, na przyklad:
|
`org` i `repo` w `tokens.json`, na przykład:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
http://77.90.8.171:3001/edu-tools/rv-launcher.git
|
http://77.90.8.171:3001/edu-tools/rv-launcher.git
|
||||||
```
|
```
|
||||||
|
|
||||||
Opcjonalnie mozna podac URL recznie:
|
Opcjonalnie można podać URL ręcznie:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens sync store r1 --url http://77.90.8.171:3001/edu-tools/rv-launcher.git
|
./rvctl tokens sync store r1 --url http://77.90.8.171:3001/edu-tools/rv-launcher.git
|
||||||
```
|
```
|
||||||
|
|
||||||
Jesli remote ma juz inne credentials, uzyj:
|
Jeśli remote ma już inne credentials, użyj:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens sync store r1 --replace
|
./rvctl tokens sync store r1 --replace
|
||||||
@@ -147,7 +150,7 @@ Jesli remote ma juz inne credentials, uzyj:
|
|||||||
|
|
||||||
## Aktualizacja Metadanych
|
## Aktualizacja Metadanych
|
||||||
|
|
||||||
Po zapisaniu tokena w store odswiez jego metadane z API:
|
Po zapisaniu tokena w store odśwież jego metadane z API:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens update r1
|
./rvctl tokens update r1
|
||||||
@@ -162,9 +165,9 @@ Po zapisaniu tokena w store odswiez jego metadane z API:
|
|||||||
|
|
||||||
Ta komenda nie zmienia git remota i nie kopiuje sekretu.
|
Ta komenda nie zmienia git remota i nie kopiuje sekretu.
|
||||||
|
|
||||||
## Porownanie
|
## Porównanie
|
||||||
|
|
||||||
`compare` sprawdza zgodnosc store i remote. Skrot: `cmp`.
|
`compare` sprawdza zgodność store i remote. Skrót: `cmp`.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens compare
|
./rvctl tokens compare
|
||||||
@@ -173,13 +176,13 @@ Ta komenda nie zmienia git remota i nie kopiuje sekretu.
|
|||||||
|
|
||||||
Marker w kolumnie `token_ref`:
|
Marker w kolumnie `token_ref`:
|
||||||
|
|
||||||
- `*` - store i remote sa zgodne
|
- `*` - store i remote są zgodne
|
||||||
- `S` - token jest tylko w store
|
- `S` - token jest tylko w store
|
||||||
- `R` - token jest tylko w remote
|
- `R` - token jest tylko w remote
|
||||||
- `!` - wpis jest sparowany, ale token jest `invalid` albo wystapil blad API
|
- `!` - wpis jest sparowany, ale token jest `invalid` albo wystąpił błąd API
|
||||||
|
|
||||||
Gdy marker to `S`, token nie jest bledny. To znaczy tylko, ze nie ma
|
Gdy marker to `S`, token nie jest błędny. To znaczy tylko, że nie ma
|
||||||
odpowiadajacego git remota.
|
odpowiadającego git remota.
|
||||||
|
|
||||||
## Store-only
|
## Store-only
|
||||||
|
|
||||||
@@ -193,13 +196,13 @@ Po pierwszej konfiguracji wygodny tryb pracy to trzymanie tokena tylko w
|
|||||||
```
|
```
|
||||||
|
|
||||||
Wtedy `compare`/`cmp` pokazuje `S`, a `list store` nadal pokazuje znane metadane
|
Wtedy `compare`/`cmp` pokazuje `S`, a `list store` nadal pokazuje znane metadane
|
||||||
tokenu. Gdy trzeba wykonac operacje git przez remote, odtworz remote:
|
tokenu. Gdy trzeba wykonać operacje git przez remote, odtwórz remote:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens sync store r1
|
./rvctl tokens sync store r1
|
||||||
```
|
```
|
||||||
|
|
||||||
Po operacji mozna go znowu usunac:
|
Po operacji można go znowu usunąć:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens rm remote r1
|
./rvctl tokens rm remote r1
|
||||||
@@ -207,7 +210,7 @@ Po operacji mozna go znowu usunac:
|
|||||||
|
|
||||||
## Usuwanie
|
## Usuwanie
|
||||||
|
|
||||||
Usuwaj tylko to miejsce, ktore naprawde chcesz wyczyscic:
|
Usuwaj tylko to miejsce, które naprawdę chcesz wyczyścić:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens rm remote r1
|
./rvctl tokens rm remote r1
|
||||||
@@ -223,7 +226,7 @@ Znaczenie:
|
|||||||
|
|
||||||
## Inne Repo
|
## Inne Repo
|
||||||
|
|
||||||
Domyslnie komendy tokenow pracuja na repo zawierajacym `rvctl`. Dla kart pracy
|
Domyślnie komendy tokenów pracują na repo zawierającym `rvctl`. Dla kart pracy
|
||||||
albo innych repo podaj `--repo`.
|
albo innych repo podaj `--repo`.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -232,17 +235,17 @@ albo innych repo podaj `--repo`.
|
|||||||
./rvctl tokens sync store r1 --repo ~/dev/workspace/rv/series/inf/03
|
./rvctl tokens sync store r1 --repo ~/dev/workspace/rv/series/inf/03
|
||||||
```
|
```
|
||||||
|
|
||||||
Store tokenow nadal pozostaje jeden:
|
Store tokenów nadal pozostaje jeden:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
~/dev/workspace/rv/tokens/tokens.json
|
~/dev/workspace/rv/tokens/tokens.json
|
||||||
```
|
```
|
||||||
|
|
||||||
## Pozostale Komendy
|
## Pozostałe Komendy
|
||||||
|
|
||||||
### `tokens read`
|
### `tokens read`
|
||||||
|
|
||||||
Pokazuje zawartosc `tokens.json`.
|
Pokazuje zawartość `tokens.json`.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens read
|
./rvctl tokens read
|
||||||
@@ -252,24 +255,24 @@ Pokazuje zawartosc `tokens.json`.
|
|||||||
|
|
||||||
### `tokens add`
|
### `tokens add`
|
||||||
|
|
||||||
Dodaje szkielet rekordu do `tokens.json`. `REMOTE_ID` musi odpowiadac nazwie
|
Dodaje szkielet rekordu do `tokens.json`. `REMOTE_ID` musi odpowiadać nazwie
|
||||||
git remote. Przelaczniki sa opcjonalne; jesli ich nie podasz, `rvctl` zapisuje
|
git remote. Przełączniki są opcjonalne; jeśli ich nie podasz, `rvctl` zapisuje
|
||||||
puste wartosci do pozniejszego uzupelnienia. Wyjatkiem jest `server`, ktory
|
puste wartości do późniejszego uzupełnienia. Wyjątkiem jest `server`, który
|
||||||
domyslnie pochodzi z `workspace.json`.
|
domyślnie pochodzi z `workspace.json`.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens add r1
|
./rvctl tokens add r1
|
||||||
./rvctl tokens add r1 --server http://77.90.8.171:3001 --user u1 --org edu-tools --repo rv-launcher
|
./rvctl tokens add r1 --server http://77.90.8.171:3001 --user u1 --org edu-tools --repo rv-launcher
|
||||||
```
|
```
|
||||||
|
|
||||||
Najczesciej pusty szkielet ma sens wtedy, gdy chcesz recznie wpisac token w
|
Najczęściej pusty szkielet ma sens wtedy, gdy chcesz ręcznie wpisać token w
|
||||||
`tokens.json`. `sync store r1` nie uzyje pustego tokena. Najpierw trzeba
|
`tokens.json`. `sync store r1` nie użyje pustego tokena. Najpierw trzeba
|
||||||
uzupelnic co najmniej `value` i `user`. Jesli remote ma byc tworzony bez `--url`,
|
uzupełnić co najmniej `value` i `user`. Jeśli remote ma być tworzony bez `--url`,
|
||||||
potrzebne sa tez `org` i `repo`.
|
potrzebne są też `org` i `repo`.
|
||||||
|
|
||||||
### `tokens stats`
|
### `tokens stats`
|
||||||
|
|
||||||
Pokazuje kontekst, tabele `tokens` i podsumowanie statusow endpointow.
|
Pokazuje kontekst, tabelę `tokens` i podsumowanie statusów endpointów.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./rvctl tokens stats
|
./rvctl tokens stats
|
||||||
@@ -278,10 +281,10 @@ Pokazuje kontekst, tabele `tokens` i podsumowanie statusow endpointow.
|
|||||||
|
|
||||||
## Uprawnienia
|
## Uprawnienia
|
||||||
|
|
||||||
W `tokens.json` uprawnienia sa zapisane jako mapy klucz-wartosc. W tabelach CLI
|
W `tokens.json` uprawnienia są zapisane jako mapy klucz-wartość. W tabelach CLI
|
||||||
sa pokazywane jako zwarte maski.
|
są pokazywane jako zwarte maski.
|
||||||
|
|
||||||
Naglowki masek:
|
Nagłówki masek:
|
||||||
|
|
||||||
- `scope`: `aAimnopru`
|
- `scope`: `aAimnopru`
|
||||||
- `org`: `oawrc-`
|
- `org`: `oawrc-`
|
||||||
@@ -299,17 +302,17 @@ Kategorie `scope`:
|
|||||||
- `r` - repository
|
- `r` - repository
|
||||||
- `u` - user
|
- `u` - user
|
||||||
|
|
||||||
Wartosci w `scope`:
|
Wartości w `scope`:
|
||||||
|
|
||||||
- `w` - read/write
|
- `w` - read/write
|
||||||
- `r` - read
|
- `r` - read
|
||||||
- `-` - no access
|
- `-` - no access
|
||||||
- `?` - nie wczytano
|
- `?` - nie wczytano
|
||||||
- `!` - blad wczytania
|
- `!` - błąd wczytania
|
||||||
|
|
||||||
Gitea moze zwrocic globalny scope `all` zamiast listy `write:*`. Launcher
|
Gitea może zwrócić globalny scope `all` zamiast listy `write:*`. Launcher
|
||||||
rozwija wtedy `all` do pelnej maski `wwwwwwwww`. Scope `public-only` jest
|
rozwija wtedy `all` do pełnej maski `wwwwwwwww`. Scope `public-only` jest
|
||||||
flaga ograniczenia widocznosci API i nie zmienia kategorii w tej masce.
|
flagą ograniczenia widoczności API i nie zmienia kategorii w tej masce.
|
||||||
|
|
||||||
Kategorie `org_perm`:
|
Kategorie `org_perm`:
|
||||||
|
|
||||||
@@ -326,17 +329,17 @@ Kategorie `repo_perm`:
|
|||||||
- `w` - write
|
- `w` - write
|
||||||
- `r` - read
|
- `r` - read
|
||||||
|
|
||||||
Wartosci w `org_perm` i `repo_perm`:
|
Wartości w `org_perm` i `repo_perm`:
|
||||||
|
|
||||||
- `+` - flaga wlaczona
|
- `+` - flaga włączona
|
||||||
- `-` - flaga wylaczona
|
- `-` - flaga wyłączona
|
||||||
- `?` - nie wczytano
|
- `?` - nie wczytano
|
||||||
- `!` - blad wczytania
|
- `!` - błąd wczytania
|
||||||
|
|
||||||
## Model Danych
|
## Model Danych
|
||||||
|
|
||||||
`tokens.json` ma format `version: 3`. Glownym rekordem jest jeden remote-token.
|
`tokens.json` ma format `version: 3`. Głównym rekordem jest jeden remote-token.
|
||||||
Pole `id` jest obowiazkowe i musi byc takie samo jak nazwa git remote, np.
|
Pole `id` jest obowiązkowe i musi być takie samo jak nazwa git remote, np.
|
||||||
`r1` albo `r1a`.
|
`r1` albo `r1a`.
|
||||||
|
|
||||||
Pola synchronizowane z git remote:
|
Pola synchronizowane z git remote:
|
||||||
@@ -351,16 +354,16 @@ Pola synchronizowane z git remote:
|
|||||||
|
|
||||||
Pola pobierane z API przez `tokens update r1`:
|
Pola pobierane z API przez `tokens update r1`:
|
||||||
|
|
||||||
- `valid` - `forever`, data wygasniecia, `invalid`, `?` albo `!`
|
- `valid` - `forever`, data wygaśnięcia, `invalid`, `?` albo `!`
|
||||||
- `scope` - mapa scope tokena
|
- `scope` - mapa scope tokena
|
||||||
- `org_perm` - mapa praw uzytkownika w organizacji
|
- `org_perm` - mapa praw użytkownika w organizacji
|
||||||
- `repo_perm` - mapa praw uzytkownika w repo
|
- `repo_perm` - mapa praw użytkownika w repo
|
||||||
|
|
||||||
`tokens sync remote r1` nadpisuje pola z git remota i oznacza te metadane jako
|
`tokens sync remote r1` nadpisuje pola z git remota i oznacza te metadane jako
|
||||||
nieznane. To celowe: po zmianie sekretu, usera albo repo stare metadane API nie
|
nieznane. To celowe: po zmianie sekretu, usera albo repo stare metadane API nie
|
||||||
sa juz wiarygodne.
|
są już wiarygodne.
|
||||||
|
|
||||||
Minimalny przyklad:
|
Minimalny przykład:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
@@ -384,7 +387,7 @@ Minimalny przyklad:
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Przyklad po `tokens update r1` moze dodatkowo zawierac:
|
Przykład po `tokens update r1` może dodatkowo zawierać:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
@@ -416,4 +419,4 @@ Przyklad po `tokens update r1` moze dodatkowo zawierac:
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Pelny schemat pliku jest w `doc/tokens.schema.json`.
|
Pełny schemat pliku jest w `doc/tokens.schema.json`.
|
||||||
|
|||||||
+3
-3
@@ -1,6 +1,6 @@
|
|||||||
# Workspace
|
# Workspace
|
||||||
|
|
||||||
Ten plik opisuje tylko kontekst workspace. Szczegolowy opis CLI jest w
|
Ten plik opisuje tylko kontekst workspace. Szczegółowy opis CLI jest w
|
||||||
`doc/rvctl.md`.
|
`doc/rvctl.md`.
|
||||||
|
|
||||||
Publiczny entrypoint launchera:
|
Publiczny entrypoint launchera:
|
||||||
@@ -9,5 +9,5 @@ Publiczny entrypoint launchera:
|
|||||||
./rvctl
|
./rvctl
|
||||||
```
|
```
|
||||||
|
|
||||||
Implementacja CLI znajduje sie w `rvctl.py`. Plik `workspace.json` przechowuje
|
Implementacja CLI znajduje się w `rvctl.py`. Plik `workspace.json` przechowuje
|
||||||
sciezki workspace, series, socketow, tokenow i fallback do repo zrodlowych.
|
ścieżki workspace, series, socketów, tokenów i fallback do repo źródłowych.
|
||||||
|
|||||||
Reference in New Issue
Block a user