Skip to content

配置参考

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.portint50051gRPC 监听端口
grpc.max_connectionsint100最大并发连接数

端口安全

确保防火墙仅允许可信 IP 访问 gRPC 端口。不要将端口暴露到公网而不做 IP 限制。

TLS 证书

配置项类型默认值说明
tls.certstring/etc/runixo/cert.pem证书文件路径
tls.keystring/etc/runixo/key.pem私钥文件路径
tls.auto_generatebooltrue自动生成自签名证书

自动生成的证书包含服务器所有网络接口 IP 和 localhost 作为 SAN。如需使用自定义证书,设置 auto_generate: false 并指定证书路径。

详见 TLS 证书管理

认证

配置项类型默认值说明
auth.tokenstring自动生成认证 Token
auth.max_failed_attemptsint10触发锁定的失败次数
auth.lockout_durationint300锁定持续时间(秒)

Token 使用常量时间比较算法,防止时序攻击。失败记录定期清理,防止内存耗尽。

自动更新

配置项类型默认值说明
updater.enabledbooltrue启用更新检查
updater.check_intervalint3600检查间隔(秒)
updater.auto_applyboolfalse自动应用更新
updater.update_urlstringhttps://runixo.top更新服务器地址

更新流程:检查新版本 → 下载 tar.gz → 校验 SHA256 → 解压替换二进制 → 重启服务。

Docker

配置项类型默认值说明
docker.enabledbooltrue启用 Docker 管理
docker.socketstring/var/run/docker.sockDocker socket 路径

需要 Agent 进程有权限访问 Docker socket。通常将 Agent 运行用户加入 docker 组,或以 root 运行。

日志

配置项类型默认值说明
log.levelstringinfo日志级别
log.filestring/var/log/runixo/agent.log日志文件路径
log.max_sizeint100单文件最大 MB
log.max_backupsint3保留文件数

环境变量

所有配置项都可以通过环境变量覆盖,格式为 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 日志

MIT License