Перейти к основному содержимому

Формы вывода

Каждая читающая команда рендерится одними и теми же флагами. Эта страница показывает каждую форму один раз, на реальных командах; остальной гайд пишется дефолтной таблицей и называет другие формы только там, где они — суть примера.

ФлагЗначенияДефолтЧто делает
-o, --outputtable | wide | name | json | yamltableформа ответа
--jq <expr>jq-выражениепрогнать JSON-форму через gojq
-w, --watchboolвыклнаблюдать список: снапшот, дальше только изменения
--chunk-size <n>int500размер страницы списка; страницы идут незаметно; 0 — один непагинированный запрос

-o table — дефолт

$ graphenectl get run -p Terminated
RUN PIPELINE STATUS LABELS
watch-demo perf-nightly Terminated
val-c perf-nightly Terminated

-o wide — больше колонок

Записи получают счётчик ожидающих команд и метку удаления:

$ graphenectl get pipeline -o wide
REF PHASE OWNER PENDING DELETING LABELS
pipeline/perf-nightly ready 0 false

-o name — только ref'ы, под xargs

$ graphenectl get run -o name
watch-demo
val-c
val-b
$ graphenectl get docker-volume -o name | xargs -I{} graphenectl delete {}

-o json

Форма protojson, стабильные имена полей:

$ graphenectl get run watch-demo -o json
{
"status": "Terminated"
}

-o yaml

Те же поля через YAML-маппинг:

$ graphenectl get run watch-demo -o yaml
status: Terminated

--jq — скриптовая форма

Одно выражение поверх JSON-формы; строки печатаются сырыми (поведение jq -r). На стримах выражение выполняется на каждое сообщение:

$ graphenectl get run --jq '.runs[].runId'
watch-demo
val-c
val-b
$ graphenectl pipeline show perf-nightly --jq .image
localhost:7233/default/perf-nightly:4f925b8c6e5fff45
$ graphenectl events run demo --jq 'select(.kind == "activity-failed")'

-w — наблюдение списка

Первый кадр печатается целиком, дальше только строки, которые появились, изменились или исчезли (помечаются deleted):

$ graphenectl get run -w
RUN PIPELINE STATUS LABELS
watch-demo perf-nightly Terminated
demo-2 perf-nightly Running
demo-2 perf-nightly Completed

-w совместим с -o json и --jq: каждое изменение приходит одним сообщением.

--chunk-size — пагинация

Списки обходят сервер страницами по --chunk-size (дефолт 500) — незаметно: страницы складываются в один ответ для любой формы вывода, включая -w. --chunk-size 0 просит всё одним запросом.

$ graphenectl get run --chunk-size 100 -o name | wc -l
1187