majordomus serve
Poskytuje tytéž schopnosti přes HTTP na loopback rozhraní, s domovskou stránkou, /openapi.json, /swagger a dokumentací pod /docs/
majordomus serve
Použití
majordomus serve [OPTIONS] [COMMAND]Příkazy
- majordomus serve status Kde stojí server tohoto checkoutu — absent, starting, ready, outdated nebo stale — a každý server repozitáře
- majordomus serve ensure Zajistí, že tento checkout obsluhuje připravený server: spustí ho, když žádný není nebo je zápůjčka zastaralá, počká na ten, který startuje, a nahlásí, v jakém je stavu
- majordomus serve stop Zastaví server tohoto checkoutu — ten, který uvádí jeho zápůjčka, když odpovídá za tento checkout — a počká, až jeho zápůjčka zmizí, což převzetí checkoutu jiným procesem nezruší
Argumenty
| argument | hodnota | výchozí | popis |
|---|---|---|---|
| --repo | <PATH> | — | Zde začne hledání kořene repozitáře (výchozí: aktuální adresář) (přijímá každý podpříkaz) |
| --discovery | vcs | filesystem | vcs | Jak se vyhledávají deklarativní soubory (přijímá každý podpříkaz)
|
| --strict | flag | — | Odmítne pokračovat, pokud kterýkoli soubor vrstvy nese diagnostiku typu chyba (přijímá každý podpříkaz) |
| --share | <DIR> | — | Adresář share distribuce nástroje (kinds.yaml, schemas/); výchozí: $MAJORDOMUS_SHARE, poté vlastní share/ repozitáře, poté ten vedle spustitelného souboru (přijímá každý podpříkaz) |
| --host | <HOST> | — | Rozhraní, na které se navázat; bez něj to, které na tomto stroji pojmenovává `MAJORDOMUS_HTTP_HOST`, a loopback (`127.0.0.1`), když není nastaveno |
| --port | <PORT> | — | Port, na který se navázat; bez něj port, který tento checkout odvodí (8741 pro primární checkout); 0 vybere volný a adresa se zaloguje na stderr |
| --fallback | flag | — | Když je port obsazen, navázat místo něj volný a zalogovat oba; bez toho je obsazený port chyba |
| --idle | <SECONDS> | 0 | Zastavit, když se tolik sekund nepřipojil žádný peer; 0 běží, dokud se nezastaví. Server, který nikdo z klientů nevlastní, se spouští pomocí |
| --deployment | <ID> | — | Navázat na adresu, kterou deklaruje tento objekt nasazení (`.ai/repo/deployments/<ID>.yaml`), místo lokální výchozí. S čím se hostovaný proces spouští; adresa patří objektu, ne tomuto příkazovému řádku |
Příklady
-
Servírovat stejné schopnosti přes HTTP na volném portu
Port 0 požádá operační systém o volný port; adresa se loguje na stderr. `/` je domovská stránka vygenerovaná z povrchů, které tento proces rozřešil; dokument na /openapi.json je tentýž, který commituje `majordomus generate`; /swagger je nad ním Swagger UI; /docs/ je dokumentace tohoto repozitáře, když byla pro tento mount sestavena.
$ majordomus serve --port 0Co tvrdí: naváže port, odpovídá na GET /openapi.json, po zastavení skončí kódem 0.
Testuje apps/majordomus-cli/tests/cli_examples.rs, který spouští příkaz nad sestaveným programem a ověřuje, co stránka uvádí.
Odkud to pochází
Deklarováno jednou v apps/majordomus-cli/src/cli.rs: clap pro strukturu, typovaná metadata v Rustu vedle něj pro příklady. Tato stránka, majordomus serve --help, docs/generated/cli.md a docs/generated/cli.json jsou projekce této jediné deklarace.
Celá příkazová řádka na jedné stránce: stránka příkazové řádky registru. Životní cyklus úlohy (init, start, finish, doctor, ...) patří nástroji shell, jinému programu: Příkazy a jeho specifikace.