配置参考
Agent 配置文件位于 /etc/runixo/agent.yaml,修改后需重启服务生效。
完整配置
yaml
# Runixo Agent 配置文件
# /etc/runixo/agent.yaml
# gRPC 服务配置
grpc:
port: 50051 # 监听端口
max_connections: 100 # 最大并发连接数
# TLS 证书配置
tls:
cert: /etc/runixo/cert.pem # 证书路径
key: /etc/runixo/key.pem # 私钥路径
auto_generate: true # 首次启动自动生成
# 认证配置
auth:
token: "" # 留空则自动生成
max_failed_attempts: 10 # 最大失败尝试次数
lockout_duration: 300 # 锁定时间(秒)
# REST API(可选,默认关闭)
api:
enabled: false
port: 8080
tls: true # 强制 TLS
# 自动更新
updater:
enabled: true
check_interval: 3600 # 检查间隔(秒)
auto_apply: false # 自动应用更新(建议关闭)
update_url: "https://runixo.top"
# Docker 管理
docker:
enabled: true
socket: /var/run/docker.sock
# 日志
log:
level: info # debug / info / warn / error
file: /var/log/runixo/agent.log
max_size: 100 # 单文件最大 MB
max_backups: 3 # 保留文件数配置项详解
gRPC 服务
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
grpc.port | int | 50051 | gRPC 监听端口 |
grpc.max_connections | int | 100 | 最大并发连接数 |
端口安全
确保防火墙仅允许可信 IP 访问 gRPC 端口。不要将端口暴露到公网而不做 IP 限制。
TLS 证书
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
tls.cert | string | /etc/runixo/cert.pem | 证书文件路径 |
tls.key | string | /etc/runixo/key.pem | 私钥文件路径 |
tls.auto_generate | bool | true | 自动生成自签名证书 |
自动生成的证书包含服务器所有网络接口 IP 和 localhost 作为 SAN。如需使用自定义证书,设置 auto_generate: false 并指定证书路径。
详见 TLS 证书管理。
认证
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
auth.token | string | 自动生成 | 认证 Token |
auth.max_failed_attempts | int | 10 | 触发锁定的失败次数 |
auth.lockout_duration | int | 300 | 锁定持续时间(秒) |
Token 使用常量时间比较算法,防止时序攻击。失败记录定期清理,防止内存耗尽。
自动更新
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
updater.enabled | bool | true | 启用更新检查 |
updater.check_interval | int | 3600 | 检查间隔(秒) |
updater.auto_apply | bool | false | 自动应用更新 |
updater.update_url | string | https://runixo.top | 更新服务器地址 |
更新流程:检查新版本 → 下载 tar.gz → 校验 SHA256 → 解压替换二进制 → 重启服务。
Docker
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
docker.enabled | bool | true | 启用 Docker 管理 |
docker.socket | string | /var/run/docker.sock | Docker socket 路径 |
需要 Agent 进程有权限访问 Docker socket。通常将 Agent 运行用户加入 docker 组,或以 root 运行。
日志
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
log.level | string | info | 日志级别 |
log.file | string | /var/log/runixo/agent.log | 日志文件路径 |
log.max_size | int | 100 | 单文件最大 MB |
log.max_backups | int | 3 | 保留文件数 |
环境变量
所有配置项都可以通过环境变量覆盖,格式为 RUNIXO_ 前缀 + 大写 + 下划线分隔:
bash
export RUNIXO_GRPC_PORT=50052
export RUNIXO_LOG_LEVEL=debug
export RUNIXO_DOCKER_ENABLED=false命令行参数
bash
runixo-agent [command] [flags]
Commands:
run 启动 Agent(默认)
init 初始化配置文件
info 显示连接信息
version 显示版本号
Flags:
--config 指定配置文件路径(默认 /etc/runixo/agent.yaml)
--port 覆盖 gRPC 端口
--debug 启用 debug 日志