Chạy không cần Docker
Govard cài và chạy được trên máy không có container runtime. Mỗi lệnh khai báo yêu cầu của nó trong manifest của binary, và govard capabilities in ra tập đã phân giải cho đúng máy bạn đang dùng — output đó là nguồn sự thật, trang này chỉ phản chiếu lại.
govard capabilities # lệnh, yêu cầu, trạng thái trên máy này
govard capabilities --json # machine-readable (schema_version 1)Các lệnh không cần Docker
| Lệnh | Yêu cầu |
|---|---|
govard audit cleanup | none |
govard audit diff | none |
govard audit rerun | none |
govard audit result | none |
govard audit run | none |
govard audit status | none |
govard blueprint | none |
govard blueprint cache | none |
govard blueprint cache clear | none |
govard blueprint cache list | none |
govard capabilities | none |
govard completion bash | none |
govard completion fish | none |
govard completion powershell | none |
govard completion zsh | none |
govard config | none |
govard config get | none |
govard config profile | none |
govard config profile clear | none |
govard config set | none |
govard custom | none |
govard custom list | none |
govard deploy | ssh,rsync |
govard deploy build | none |
govard deploy check | ssh |
govard deploy plan | none |
govard deploy releases | ssh |
govard deploy rollback | ssh,rsync |
govard deploy status | ssh |
govard deploy unlock | ssh |
govard desktop doctor | none |
govard doctor | none |
govard doctor trust | none |
govard domain list | none |
govard help | none |
govard init | none |
govard project list | none |
govard project open | none |
govard remote add | ssh,rsync |
govard remote audit stats | ssh,rsync |
govard remote audit tail | ssh,rsync |
govard remote copy-id | ssh,rsync |
govard remote exec | ssh,rsync |
govard remote test | ssh,rsync |
govard self-update | net |
govard sync | ssh,rsync |
govard trust | none |
govard tunnel | cloudflared |
govard tunnel start | cloudflared |
govard tunnel status | cloudflared |
govard tunnel stop | cloudflared |
govard version | none |
govard vscode setup | none |
Cột Yêu cầu là đúng token mà govard capabilities báo:
| Token | Ý nghĩa |
|---|---|
none | Không cần gì ngoài binary Govard. |
ssh,rsync | Cần SSH client và rsync. Vẫn không cần container runtime. |
cloudflared | Cần binary cloudflared, cho tunnel. Vẫn không cần container runtime. |
net | Cần kết nối mạng ra ngoài, cho self-update. Vẫn không cần container runtime. |
Những lệnh có yêu cầu bao gồm docker thì đi qua gate: vòng đời stack (env, restart, down, ps, logs, svc, db, shell, tool, test, frontend), phần quản lý project/domain có chạm container (project delete, project orphans, domain add, domain remove), các wrapper vscode <tool>, deploy, bootstrap, debug, mở desktop, và các nhánh audit cần container (audit toolchain, audit run --checks lint, audit run --checks profiler).
Tính năng không cần Docker
Phân tích không cần container.
govard audit run --checks integrity(Magento 2 / Mage-OS) đọc trực tiếp checkout bằng analyzer Go — Composer manifest/lock có khớp nhau, tính nhất quán module/DI/sequence — không Docker, không PHP, không toolchain image. Phần còn lại của vòng đời audit cũng chạy trên host:status,result,cleanup,diff.rerunchạy lại đúng bộ check đã ghi trong session, nên rerun một sessionlint/profilervẫn cần Docker.Chẩn đoán.
govard doctorchạy ở mọi nơi; Docker chỉ là một check tùy chọn và thiếu nó không làm lệnh fail (--strictkhôi phục hard gate cho script bootstrap).govard trustcài CA nội bộ vào trust store của máy.Cấu hình.
govard config get|setvàgovard config profileđọc/ghi cấu hình project;govard config profile clearvàgovard blueprint cache list|clearlàm việc trên file và cache local. Áp profile vào stack đang chạy (config profile apply|switch),govard config auto(nó cấu hình framework bên trong container) và mọi lệnhgovard locklà việc của container: lock file ghi lại version docker/compose đã phân giải và digest image của từng service.Khởi tạo project.
govard initvàgovard custom list.Registry và domain.
project listvàproject openđọc registry;domain listin ra domain của project;vscode setupsuy ra cấu hình editor từ chính file của project.project orphansquét tài nguyên Docker nên vẫn cần runtime.Triển khai.
govard deployvàgovard deploy rollbackcần SSH và rsync;govard deploy buildcũng không cần gì: đây là nửa CI của artifact mode, chạy trên runner có toolchain của dự án và không hề kết nối tới server. Chính sự tách đôi này cho phép job deploy chỉ cần govard, SSH và rsync — không PHP, không Composer, không container runtime. Ngoại lệ duy nhất trong nhóm deploy làgovard deploy sandbox *: nó tạo một container đóng vai target, tức là việc của container runtime theo đúng định nghĩa, và đó là cách duy nhất để một buổi diễn tập dùng chung code path với production.govard deploy check,govard deploy releases,govard deploy statusvàgovard deploy unlockchỉ cần SSH.govard deploy plankhông cần gì cả: nó đọc.govard.ymlvà in kế hoạch thực thi mà không kết nối đi đâu. Rollback chỉ trỏ lại symlink hoặc chạy lại phần publish từ thư mục release đã có trên server, nên không cần toolchain build ở máy local.Remote và đồng bộ.
govard remote add|test|copy-id|exec,govard remote audit stats|tail, vàgovard synccần SSH và rsync, không cần Docker.Tunnel.
govard tunnel start|stop|statusđiều khiểncloudflaredtrên host.Self-update, help, completion.
govard self-updatechỉ cần mạng;govard version,govard help, vàgovard completion bash|zsh|fish|powershellkhông cần gì cả.
Khi thiếu capability
Gate từ chối trước khi lệnh làm bất cứ việc gì, và nói rõ thiếu gì:
| Mã thoát | Ý nghĩa |
|---|---|
0 | Thành công. |
1 | Lệnh đã chạy và thất bại. |
2 | Lỗi usage: flag lạ hoặc tham số không hợp lệ. |
3 | CAPABILITY_MISSING — một yêu cầu đã khai báo không có sẵn. |
4 | Lỗi cấu hình. |
--error-json in lỗi ra stdout dưới dạng envelope machine-readable (schema_version, code, capability, command, message, hint), nên script không phải parse dạng text:
govard tunnel status --error-json
# {"schema_version":1,...,"error":{"code":"CAPABILITY_MISSING","capability":"cloudflared",...}}Một check audit cần container sẽ chỉ thẳng sang lựa chọn không cần container:
govard audit run --checks lint
# Hint: run `govard audit run --checks integrity` for container-free analysis on this host