Render token scan as compact token table
This commit is contained in:
+21
-26
@@ -292,44 +292,40 @@ Przyklady:
|
||||
## `tokens scan`
|
||||
|
||||
Skanuje remote URL-e w repo oraz lokalny `tokens.json`, laczy wpisy w pary po
|
||||
endpoincie i pokazuje, gdzie przechowywany jest token.
|
||||
endpoincie, userze i wartosci tokena, a potem pokazuje jeden logiczny wiersz
|
||||
na token.
|
||||
|
||||
Przelaczniki:
|
||||
|
||||
- `--repo PATH`
|
||||
Sciezka wewnatrz docelowego repo. Domyslnie biezacy katalog.
|
||||
- `--verbose`
|
||||
Pokazuje dodatkowo sekcje `context` i `scan`.
|
||||
|
||||
Typowy wynik:
|
||||
|
||||
```text
|
||||
items
|
||||
item source id server scheme host port credential repo_user store_user token sync
|
||||
---- ----------- ---------- ------ ------ --------------- ----- ---------- --------- ---------- ----- ----
|
||||
1 repo r1 gitea http 77.90.8.171 3001 auth u1 u1 yes
|
||||
1 tokens.json t1 gitea http 77.90.8.171 3001 store u1 u1 yes *
|
||||
tokens
|
||||
item server host org repo user remote token_ref token scope org repo
|
||||
---- ------ ------------- --------- ----------- ---- ------ --------- ------------ ------ ------ ------
|
||||
1 gitea 77.90.8.171 edu-tools rv-launcher u1 r1 t1 * e59cc...13be +---+ +++++ ++++
|
||||
```
|
||||
|
||||
Jesli remote istnieje, ale ma URL bez `LOGIN:TOKEN@`, wynik bedzie mial
|
||||
w wierszu `repo` wartosci `credential=plain` i `token=no`. Jezeli ten sam
|
||||
endpoint istnieje w `tokens.json`, drugi wiersz tego samego `item` pokaze
|
||||
`source=tokens.json`, `id=t1`, `store_user=u1` i `token=yes`.
|
||||
`token_ref` jest komorka stalej szerokosci: nazwa tokena jest po lewej, a marker
|
||||
po prawej. Marker `*` oznacza, ze token w remote i `tokens.json` jest zgodny
|
||||
oraz uprawnienia zostaly wczytane. Marker `R` oznacza token tylko w remote, a
|
||||
`S` token tylko w `tokens.json`.
|
||||
|
||||
Ten sam numer `item` oznacza jedna pare logiczna dla jednego endpointu. Wiersz
|
||||
`source=repo` pokazuje stan remote, a wiersz `source=tokens.json` pokazuje stan
|
||||
lokalnego store. Kolumna `sync` pokazuje `*` przy aktualnym zrodle prawdy dla
|
||||
pary repo/store. Przy konflikcie pokazuje `!`.
|
||||
Kolumna `id` pokazuje identyfikator miejsca przechowywania tokena: dla repo jest
|
||||
to nazwa remota, na przyklad `r1`, a dla store nazwa tokenu, na przyklad `t1`.
|
||||
Endpoint jest rozbity na `server`, `scheme`, `host` i `port`.
|
||||
Maski uprawnien:
|
||||
|
||||
- `scope` ma pozycje `awrop`: `all`, `write:repository`, `read:repository`, organization scope, `public-only`
|
||||
- `org` ma pozycje `oawrc`: owner, admin, write, read, create repo
|
||||
- `repo` ma pozycje `oawr`: owner, admin, write, read
|
||||
- `+` oznacza wlaczone, `-` wylaczone, `?` nie wczytano, `!` blad wczytania
|
||||
|
||||
Przyklad:
|
||||
|
||||
```bash
|
||||
./rvctl tokens scan
|
||||
./rvctl tokens scan --repo ~/dev/workspace/rv/series/inf/03
|
||||
./rvctl tokens scan --verbose
|
||||
```
|
||||
|
||||
## `tokens read`
|
||||
@@ -385,15 +381,14 @@ item<TAB>value
|
||||
repo_root<TAB>...
|
||||
token_path<TAB>...
|
||||
|
||||
items
|
||||
item source id server scheme host port credential repo_user store_user token sync
|
||||
---- ----------- ---------- ------ ------ --------------- ----- ---------- --------- ---------- ----- ----
|
||||
1 repo r1 gitea http 77.90.8.171 3001 plain u1 no
|
||||
1 tokens.json t1 gitea http 77.90.8.171 3001 store u1 u1 yes *
|
||||
tokens
|
||||
item server host org repo user remote token_ref token scope org repo
|
||||
---- ------ ------------- --------- ----------- ---- ------ --------- ------------ ------ ------ ------
|
||||
1 gitea 77.90.8.171 edu-tools rv-launcher u1 r1 t1 * e59cc...13be +---+ +++++ ++++
|
||||
|
||||
status
|
||||
item<TAB>value
|
||||
store_ahead<TAB>1
|
||||
in_sync<TAB>1
|
||||
```
|
||||
|
||||
Przyklad:
|
||||
|
||||
+27
-28
@@ -88,49 +88,48 @@ Dzialanie:
|
||||
- laczy oba zrodla po endpoincie serwera
|
||||
- zapisuje znalezione tokeny do `tokens.json`
|
||||
- zapisuje je per endpoint serwera
|
||||
- wypisuje domyslnie tylko waska tabele `items`
|
||||
- z `--verbose` dopisuje diagnostyczne sekcje `context` oraz `scan`
|
||||
- wypisuje tabele `tokens`
|
||||
|
||||
Tabela `items` porownuje dwa zrodla dla tego samego endpointu. Ten sam `item`
|
||||
moze miec dwa wiersze:
|
||||
Tabela `tokens` pokazuje jeden logiczny wiersz na token. Remote i `tokens.json`
|
||||
sa laczone po endpoincie, userze i wartosci tokena.
|
||||
|
||||
- `source=repo` - stan remote URL-i w repo
|
||||
- `source=tokens.json` - stan lokalnego store tokenow
|
||||
Znacznik w `token_ref`:
|
||||
|
||||
Dzieki temu widac, dla ktorego endpointu token jest w remote, a dla ktorego
|
||||
jest tylko w `tokens.json`.
|
||||
- `*` - token jest w remote i `tokens.json`, uprawnienia zostaly wczytane
|
||||
- `R` - token jest tylko w remote
|
||||
- `S` - token jest tylko w `tokens.json`
|
||||
- `!` - blad wczytania uprawnien dla sparowanego tokena
|
||||
|
||||
Kolumny w tabeli `items`:
|
||||
Kolumny w tabeli `tokens`:
|
||||
|
||||
- `item` - numer porownywanego endpointu
|
||||
- `source` - `repo` albo `tokens.json`
|
||||
- `id` - identyfikator miejsca tokena: remote `r1` dla repo albo token `t1` dla `tokens.json`
|
||||
- `item` - numer wiersza tokena
|
||||
- `server` - typ serwera, na przyklad `gitea`
|
||||
- `scheme` - schemat URL, na przyklad `http`
|
||||
- `host` - host endpointu, na przyklad `77.90.8.171`
|
||||
- `port` - port endpointu, na przyklad `3001`
|
||||
- `credential` - typ wpisu: `auth`, `plain`, `store` albo `missing`
|
||||
- `repo_user` - login odczytany z remote URL-i repo
|
||||
- `store_user` - login odczytany z `tokens.json`
|
||||
- `token` - `yes` albo `no`, czyli czy dane zrodlo ma token dla endpointu
|
||||
- `sync` - `*` przy zrodle prawdy albo `!` przy konflikcie
|
||||
- `org` - organizacja z remote URL
|
||||
- `repo` - repo z remote URL
|
||||
- `user` - login wlasciciela tokena
|
||||
- `remote` - nazwa remota, na przyklad `r1`
|
||||
- `token_ref` - nazwa tokena z markerem po prawej stronie
|
||||
- `token` - zamaskowana wartosc tokena
|
||||
- `scope` - maska scope tokena `awrop`
|
||||
- `org` - maska praw w organizacji `oawrc`
|
||||
- `repo` - maska praw w repo `oawr`
|
||||
|
||||
Tabela nie wypisuje sekretu tokena. Jezeli token jest w remote, `id` pokazuje
|
||||
nazwe remota, na przyklad `r1`. Jezeli token jest w `tokens.json`, `id`
|
||||
pokazuje nazwe tokenu, na przyklad `t1`.
|
||||
Maski uprawnien:
|
||||
|
||||
Zasada znacznika `sync`:
|
||||
- `+` - flaga wlaczona
|
||||
- `-` - flaga wylaczona
|
||||
- `?` - nie wczytano, na przyklad dla `R` albo `S`
|
||||
- `!` - blad wczytania
|
||||
|
||||
- `in_sync`, `store_only`, `store_ahead` - `*` przy `tokens.json`
|
||||
- `repo_only`, `repo_ahead` - `*` przy `repo`
|
||||
- `diverged` - `!`, bo nie ma jednoznacznego zrodla prawdy
|
||||
Tabela nie wypisuje sekretu tokena wprost. Kolumna `token` pokazuje skrot, na
|
||||
przyklad `e59cc...13be`.
|
||||
|
||||
Przyklad:
|
||||
|
||||
```bash
|
||||
./rvctl tokens scan
|
||||
./rvctl tokens scan --repo ~/dev/workspace/rv/series/inf/03
|
||||
./rvctl tokens scan --verbose
|
||||
```
|
||||
|
||||
### `tokens read`
|
||||
@@ -170,7 +169,7 @@ Wynik ma ten sam model porownania co `tokens scan`, ale nie zapisuje zmian:
|
||||
- liczbe endpointow w store
|
||||
- laczna unie endpointow
|
||||
- statusy zgodnosci, na przyklad `in_sync`, `store_ahead`, `repo_ahead`
|
||||
- tabele `items`, w ktorej repo i `tokens.json` sa osobnymi wierszami tego samego itemu
|
||||
- tabele `tokens`
|
||||
|
||||
Przyklad:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user