Запуск и управление
Проверка конфигурации
Перед запуском в production обязательно проверьте корректность конфигурации. Рекомендуется пробный запуск с автоматическим завершением:
stronghold-agent -config=/etc/stronghold-agent/agent.hcl -exit-after-auth -log-level=debug
Эта команда:
- Проверяет синтаксис HCL конфигурации.
- Подключается к Stronghold серверу.
- Выполняет полную аутентификацию.
- Создает файлы/шаблоны.
- Автоматически завершается (не нужен Ctrl+C).
Успешный результат:
[INFO] agent: loaded config: path=/etc/stronghold-agent/agent.hcl
[INFO] agent.auto_auth.approle: authentication successful
[INFO] agent.sink.file: writing token to: /var/run/stronghold-agent/token
[INFO] agent: exit after auth set, exiting
Запуск в режиме разработки
Для отладки можно запускать Agent в foreground режиме:
# Базовый запуск.
stronghold-agent -config=/etc/stronghold-agent/agent.hcl
# С повышенным уровнем логирования.
stronghold-agent -config=/etc/stronghold-agent/agent.hcl -log-level=debug
# Выход после первой успешной аутентификации (для проверки).
stronghold-agent -config=/etc/stronghold-agent/agent.hcl -exit-after-auth
Запуск Agent как systemd сервис
Создайте systemd unit файл /etc/systemd/system/stronghold-agent.service:
[Unit]
Description=Stronghold Agent
Documentation=https://docs.stronghold.example.com/agent
Requires=network-online.target
After=network-online.target
ConditionFileNotEmpty=/etc/stronghold-agent/agent.hcl
[Service]
Type=notify
User=stronghold-agent
Group=stronghold-agent
ExecStart=/usr/local/bin/stronghold-agent -config=/etc/stronghold-agent/agent.hcl
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
KillSignal=SIGTERM
Restart=on-failure
RestartSec=5
LimitNOFILE=65536
# Security hardening
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
# ВАЖНО: добавьте сюда все директории, куда Agent будет писать (template.destination, sink file, unix socket, логи).
# Пример ниже — базовый; расширяйте под вашу конфигурацию (например, /etc/myapp или /var/lib/myapp):
ReadWritePaths=/var/run/stronghold-agent /var/log/stronghold-agent /etc/myapp
CapabilityBoundingSet=CAP_IPC_LOCK
[Install]
WantedBy=multi-user.target
Управление сервисом:
# Перезагрузите systemd.
sudo systemctl daemon-reload
# Запустите Agent.
sudo systemctl start stronghold-agent
# Включите автозапуск.
sudo systemctl enable stronghold-agent
# Проверьте статус.
sudo systemctl status stronghold-agent
# Просмотр логов.
sudo journalctl -u stronghold-agent -f
# Перезагрузка конфигурации (SIGHUP).
sudo systemctl reload stronghold-agent
# Остановка.
sudo systemctl stop stronghold-agent