Bỏ qua để đến nội dung

Tham chiếu CLI

Tham chiếu
Dành cho:
Người vận hành máy chủ, Nhà phát triển

Trang này liệt kê mọi lệnh của CLI reputecast, tệp nhị phân duy nhất chạy máy chủ, worker và các tác vụ bảo trì.

Trong Docker image, hãy chạy lệnh bên trong container app: docker compose exec app /usr/local/bin/reputecast <command>. Cấu hình được lấy từ cùng các nguồn như reputecast serve (xem cấu hình ReputeCast), nên hãy truyền --config hoặc các biến REPUTECAST_* mà máy chủ dùng.

Chạy ứng dụng web, API, phần tiếp nhận webhook và các worker.

Theo mặc định, một tiến trình chạy mọi vai trò. Dùng --role để chia các vai trò cho nhiều tiến trình, ví dụ vài node web và ingest sau một bộ cân bằng tải cùng một worker. Không có --auto-migrate, các migration đang chờ chỉ ghi một cảnh báo vào log. Các tiến trình có vai trò web cũng chạy SMTP relay sau khi quản trị viên hệ thống bật nó.

Cách dùng
reputecast serve [--role <roles>] [--addr <address>] [--auto-migrate] [--auto-install]
CờKiểuMặc địnhMô tả
--rolestring—Các vai trò cần chạy, phân tách bằng dấu phẩy: web, worker, ingest. Nếu không có cờ này, khóa cấu hình roles được áp dụng (mặc định là cả ba).
--addrstring—Địa chỉ lắng nghe. Nếu không có cờ này, http.addr được áp dụng (mặc định :8080).
--auto-migrateboolfalseÁp dụng các migration đang chờ khi khởi động. Giá trị mặc định lấy từ REPUTECAST_AUTO_MIGRATE khi biến này được đặt.
--auto-installboolfalseTạo Chủ sở hữu đầu tiên khi cơ sở dữ liệu chưa có người dùng, từ REPUTECAST_ADMIN_EMAIL, REPUTECAST_ADMIN_NAME và REPUTECAST_ADMIN_PASSWORD, rồi in thông tin đăng nhập vào log. Giá trị mặc định lấy từ REPUTECAST_AUTO_INSTALL khi biến này được đặt.

Chạy mọi vai trò trong một tiến trình.

Terminal window
reputecast serve

Chỉ phục vụ ứng dụng web, API và webhook của nhà cung cấp; chạy các worker ở một tiến trình khác.

Terminal window
reputecast serve --role=web,ingest

Lệnh mà Docker image chạy khi khởi động.

Terminal window
reputecast serve --auto-migrate --auto-install

Chỉ chạy các worker nền.

Tương đương serve --role=worker. Chạy việc gửi, xử lý sự kiện, đồng bộ và các tác vụ theo lịch. Lệnh này không mở cổng HTTP nào, trừ máy chủ số liệu khi đặt metrics.addr, và không áp dụng migration. Hãy chạy ít nhất một worker cho mỗi hệ thống.

Cách dùng
reputecast worker

Khởi động một tiến trình worker bên cạnh các tiến trình chạy serve --role=web,ingest.

Terminal window
reputecast worker

Quản lý lược đồ cơ sở dữ liệu.

Cách dùng
reputecast migrate <up|down|status>

Áp dụng mọi migration đang chờ.

Áp dụng các migration của ReputeCast, rồi của hàng đợi tác vụ, và in ra Database is up to date.

Cách dùng
reputecast migrate up

Áp dụng migration sau khi thay binary bằng phiên bản mới.

Terminal window
reputecast migrate up

Hoàn tác migration gần nhất.

Chỉ hoàn tác một migration. Chạy lại lệnh để hoàn tác thêm.

Cách dùng
reputecast migrate down

Hoàn tác migration mới nhất.

Terminal window
reputecast migrate down

Liệt kê các migration và cho biết đã áp dụng hay chưa.

In ra các cột VERSION, APPLIED và FILE. APPLIED cho biết ngày giờ migration đã chạy, hoặc pending.

Cách dùng
reputecast migrate status

Kiểm tra migration đang chờ trước khi nâng cấp.

Terminal window
reputecast migrate status

Chạy migration cơ sở dữ liệu và tạo Chủ sở hữu đầu tiên.

Áp dụng migration và tạo Chủ sở hữu đầu tiên: một quản trị viên hệ thống vẫn đăng nhập được bằng mật khẩu khi SSO được bắt buộc cho một tên miền. Không có --password, lệnh in ra một mật khẩu tạm thời phải được thay ở lần đăng nhập đầu tiên; lúc đó Chủ sở hữu cũng thêm khóa truy cập hoặc ứng dụng xác thực, lưu mã khôi phục, xác nhận URL công khai và tạo không gian làm việc đầu tiên. Lệnh thất bại khi cơ sở dữ liệu đã có người dùng.

Cách dùng
reputecast install [--email <address>] [--name <name>] [--password <password>]
CờKiểuMặc địnhMô tả
--emailstring—Email của Chủ sở hữu. Nếu không có cờ này, REPUTECAST_ADMIN_EMAIL được dùng; cần có một trong hai.
--namestring—Tên của Chủ sở hữu. Nếu không có cờ này, REPUTECAST_ADMIN_NAME được dùng.
--passwordstring—Mật khẩu của Chủ sở hữu. Nếu không có cờ này, REPUTECAST_ADMIN_PASSWORD được dùng, và khi cả hai đều chưa đặt thì một mật khẩu tạm thời được in ra. Mật khẩu bạn đặt phải đáp ứng auth.password_min_length.

Tạo Chủ sở hữu đầu tiên và in ra mật khẩu tạm thời.

Terminal window
reputecast install --email [email protected] --name "Linh Nguyen"

Quản lý tài khoản từ máy chủ.

Hoạt động mà không cần nhà cung cấp gửi thư, nên bạn có thể khôi phục quyền truy cập trước khi thiết lập email. Mỗi thao tác được ghi vào nhật ký kiểm tra với người thực hiện là "CLI (server)".

Cách dùng
reputecast user <command> --email <address>

In ra liên kết đặt lại mật khẩu dùng một lần.

In ra một liên kết để người đó đặt mật khẩu mới. Liên kết chỉ dùng được một lần và hết hạn sau 15 phút; mật khẩu hiện tại của họ vẫn dùng được cho đến khi họ dùng liên kết. Tài khoản đã vô hiệu hóa bị từ chối. Với --password, mật khẩu được đặt trực tiếp và mọi phiên của tài khoản bị đăng xuất.

Cách dùng
reputecast user reset-password --email <address> [--password <password>]
CờKiểuMặc địnhMô tả
--emailstring—Email của tài khoản. Bắt buộc.
--passwordstring—Đặt trực tiếp mật khẩu này thay vì in ra liên kết đặt lại. Mật khẩu phải đáp ứng auth.password_min_length.

In ra liên kết đặt lại để gửi riêng cho người đó.

Terminal window
reputecast user reset-password --email [email protected]

Gỡ ứng dụng xác thực và mã khôi phục của một tài khoản.

Khóa truy cập được giữ nguyên. Người đó có 72 giờ để thiết lập lại xác thực hai lớp, và mọi phiên của tài khoản bị đăng xuất. Lý do là bắt buộc và được ghi vào nhật ký kiểm tra.

Cách dùng
reputecast user reset-2fa --email <address> --reason <text>
CờKiểuMặc địnhMô tả
--emailstring—Email của tài khoản. Bắt buộc.
--reasonstring—Lý do cần đặt lại. Bắt buộc; được ghi vào nhật ký kiểm tra.

Đặt lại xác thực hai lớp cho người bị mất điện thoại.

Terminal window
reputecast user reset-2fa --email [email protected] --reason "lost phone, verified by video call"

Đặt một tài khoản làm quản trị viên hệ thống.

Cách dùng
reputecast user make-admin --email <address>
CờKiểuMặc địnhMô tả
--emailstring—Email của tài khoản. Bắt buộc.

Cấp cho một tài khoản hiện có quyền truy cập Quản trị hệ thống.

Terminal window
reputecast user make-admin --email [email protected]

Gỡ khóa đăng nhập.

Cách dùng
reputecast user unlock --email <address>
CờKiểuMặc địnhMô tả
--emailstring—Email của tài khoản. Bắt buộc.

Cho người bị khóa đăng nhập vào lại mà không phải chờ hết thời gian khóa.

Terminal window
reputecast user unlock --email [email protected]

Nạp dữ liệu demo để phát triển và chụp ảnh màn hình.

Áp dụng migration, rồi nạp một hệ thống mẫu. Mẫu Acme có Acme Newsletter với 48.213 người đăng ký, Amazon SES, Postmark và một máy chủ Postal đang khởi động, cùng các chiến dịch, tự động hóa, một nhóm và lịch sử nhật ký kiểm tra. Các tài khoản demo và mật khẩu của chúng được in ra ở cuối. Lệnh từ chối chạy trừ khi REPUTECAST_ENV là development.

Cách dùng
reputecast seed [--sample <acme|northwind>] [--force]
CờKiểuMặc địnhMô tả
--samplestringacmeMẫu cần nạp: acme, hoặc northwind (một agency với bảy khách hàng, nạp vào cơ sở dữ liệu trống).
--forceboolfalseVẫn nạp dữ liệu mẫu khi REPUTECAST_ENV không phải development.

Nạp mẫu Acme.

Terminal window
REPUTECAST_ENV=development reputecast seed

Nạp mẫu agency vào cơ sở dữ liệu trống.

Terminal window
REPUTECAST_ENV=development reputecast seed --sample northwind

Công cụ hỗ trợ phát triển cho bản demo Acme.

Từ chối chạy trừ khi REPUTECAST_ENV là development.

Cách dùng
reputecast demo <command>

Gửi một chiến dịch demo qua các nhà cung cấp mô phỏng để màn hình theo dõi trực tiếp có số liệu chạy.

Bắt đầu gửi chiến dịch có tên đã cho qua kênh truyền demo: không có gì rời khỏi máy, còn việc gửi thành công, thư trả lại, khiếu nại, lượt mở và lượt nhấp đều được mô phỏng. Worker của máy chủ đang chạy gửi chiến dịch theo thời gian thực, nên hãy khởi động máy chủ trước. Chỉ không gian làm việc có toàn bộ nhà cung cấp là nhà cung cấp demo mới gửi được.

Cách dùng
reputecast demo send "<campaign>" [flags]
CờKiểuMặc địnhMô tả
--scenariostringnormalnormal; outlook-complaints (người đọc Outlook lâu không tương tác gửi khiếu nại cho đến khi phần gửi đến Outlook tự động tạm dừng); hoặc postal-outage (Postal từ chối kết nối từ phút thứ 14 và phần gửi qua Postal bị tạm giữ).
--workspacestringacme-newsletterSlug của không gian làm việc.
--elapsedduration0sBắt đầu lượt gửi từ khoảng thời gian này trước đây và gửi ngay phần đó với thời gian lùi về quá khứ, để màn hình theo dõi mở ra khi lượt gửi đang diễn ra.
--ab-windowduration7mThời gian thử nghiệm A/B chạy trước khi bản thắng được gửi đến những người còn lại.
--resetboolfalseXóa lượt gửi trước đó của chiến dịch trước, kể cả những gì lượt gửi đó đã thay đổi bên ngoài chiến dịch (thống kê nhà cung cấp, các địa chỉ bị chặn gửi do thư trả lại của nó).

Mở màn hình theo dõi trực tiếp ở phút thứ 20 của một lượt gửi bình thường.

Terminal window
REPUTECAST_ENV=development reputecast demo send "Weekly Digest

Hiển thị một lần tự động tạm dừng do khiếu nại từ Outlook.

Terminal window
REPUTECAST_ENV=development reputecast demo send "Weekly Digest

Hiển thị sự cố gián đoạn của nhà cung cấp với một phần gửi bị tạm giữ.

Terminal window
REPUTECAST_ENV=development reputecast demo send "Weekly Digest

In ra tài liệu OpenAPI 3.1 của REST API.

Mặc định in JSON có thụt lề. Không cần cơ sở dữ liệu hay cấu hình.

Cách dùng
reputecast openapi [--yaml]
CờKiểuMặc địnhMô tả
--yamlboolfalseIn YAML thay vì JSON.

Lưu mô tả API để tạo client.

Terminal window
reputecast openapi > openapi.json

Lưu dưới dạng YAML.

Terminal window
reputecast openapi --yaml > openapi.yaml

Quản lý khóa mã hóa thông tin xác thực khi lưu trữ.

Cách dùng
reputecast secrets <command>

In ra một khóa ngẫu nhiên mới cho REPUTECAST_SECRETS__KEY.

In ra 32 byte ngẫu nhiên ở dạng base64 chuẩn. Không cần cơ sở dữ liệu hay cấu hình.

Cách dùng
reputecast secrets generate-key

Tạo một khóa để đặt làm REPUTECAST_SECRETS__KEY thay vì dùng tệp khóa.

Terminal window
reputecast secrets generate-key

Cài adapter cộng đồng và cho ReputeCast biết chúng chạy ở đâu.

Adapter cộng đồng chạy trong tiến trình riêng và giao tiếp bằng giao thức adapter. Hãy cài adapter từ manifest của nó, chạy tiến trình của nó với khóa bí mật ký mà ReputeCast in ra, rồi kiểm tra nó. Địa chỉ adapter trên loopback hoặc mạng riêng cần providers.allow_private_networks.

Cách dùng
reputecast adapter <command>

Liệt kê các adapter cộng đồng đã cài, nơi chúng chạy và lần kiểm tra gần nhất.

In ra các cột ADAPTER, VERSION, ADDRESS, SECRET ISSUED, LAST CHECK và CONNECTED.

Cách dùng
reputecast adapter list

Xem adapter nào đã được cài và mỗi adapter được bao nhiêu nhà cung cấp sử dụng.

Terminal window
reputecast adapter list

Cài một adapter cộng đồng từ manifest.json của nó, hoặc cập nhật adapter nếu id của nó đã được cài.

Đọc manifest từ một URL https:// ở địa chỉ công khai (không đi theo chuyển hướng) hoặc từ tệp cục bộ, tối đa 256 KiB. Ở lần cài đầu tiên, ReputeCast in ra khóa bí mật ký của adapter một lần duy nhất: hãy đặt nó cho tiến trình adapter dưới dạng REPUTECAST_ADAPTER_SECRET.

Cách dùng
reputecast adapter install <manifest-url-or-file> [--url <address>]
CờKiểuMặc địnhMô tả
--urlstring—Địa chỉ mà tiến trình adapter lắng nghe, ví dụ http://example-esp:4600. Nếu bỏ qua cờ này, hãy đặt sau bằng adapter set-url.

Cài từ một manifest đã công bố.

Terminal window
reputecast adapter install https://raw.githubusercontent.com/you/example-esp-adapter/main/manifest.json --url http://example-esp:4600

Cài từ tệp cục bộ, cho adapter chạy trên cùng máy.

Terminal window
reputecast adapter install ./manifest.json --url http://127.0.0.1:4600

Đặt địa chỉ mà tiến trình của adapter lắng nghe.

Cách dùng
reputecast adapter set-url <id> <url>

Trỏ ReputeCast đến địa chỉ của adapter.

Terminal window
reputecast adapter set-url example-esp http://example-esp:4600

Cấp khóa bí mật ký mới cho một adapter và in ra một lần duy nhất.

Khóa bí mật trước vẫn dùng được trong 24 giờ, nên bạn có thể cập nhật tiến trình adapter mà không bị gián đoạn: tiến trình chấp nhận nhiều khóa bí mật phân tách bằng dấu phẩy trong REPUTECAST_ADAPTER_SECRET.

Cách dùng
reputecast adapter secret <id>

Xoay vòng khóa bí mật ký của adapter.

Terminal window
reputecast adapter secret example-esp

Gọi thao tác kiểm tra tình trạng (health) của adapter và ghi lại kết quả.

Cách dùng
reputecast adapter check <id>

Xác nhận ReputeCast kết nối được với adapter bằng khóa bí mật ký của nó.

Terminal window
reputecast adapter check example-esp

Gỡ cài đặt một adapter không còn nhà cung cấp đã kết nối nào sử dụng.

Cách dùng
reputecast adapter remove <id>

Gỡ một adapter sau khi ngắt kết nối các nhà cung cấp dùng nó.

Terminal window
reputecast adapter remove example-esp

In ra phiên bản.

In ra phiên bản, 12 ký tự đầu của commit và phiên bản Go.

Cách dùng
reputecast version

Kiểm tra phiên bản đang được cài.

Terminal window
reputecast version

Các cờ này dùng được với mọi lệnh.

CờKiểuMặc địnhMô tả
--configstring—Đường dẫn đến tệp cấu hình YAML. Nếu không có cờ này, ReputeCast đọc tệp được chỉ định trong REPUTECAST_CONFIG, nếu có.
--database-urlstring—URL kết nối PostgreSQL. Ghi đè database.url trong tệp cấu hình, REPUTECAST_DATABASE__URL và DATABASE_URL.
--log-levelstring—Mức log: debug, info, warn hoặc error. Ghi đè log.level.
Mã Ý nghĩa
0 Lệnh thành công.
1 Lệnh thất bại: lỗi cơ sở dữ liệu, mạng hoặc cấu hình, cờ không xác định hoặc sai số lượng đối số.
2 ReputeCast từ chối yêu cầu trước khi làm bất cứ điều gì: user reset-2fa thiếu --reason, một --password vi phạm chính sách mật khẩu, một seed --sample không xác định, hoặc seed (không có --force) hay demo send chạy ngoài REPUTECAST_ENV=development.

Mọi lỗi được in ra standard error dưới dạng Error: <message>.