Enterprise release: add self-updates, command signing, and telemetry enhancements
This commit is contained in:
+93
@@ -0,0 +1,93 @@
|
||||
# Installation Guide: Theta Agent
|
||||
|
||||
Theta Agent is designed for rapid deployment across the fleet. The recommended method is via the "One-Liner" install, which marries the agent to a specific SSO Manager instance.
|
||||
|
||||
## Quick Start (The One-Liner)
|
||||
|
||||
The SSO Manager provides a pre-generated installation command. Copy and paste it into your terminal as root:
|
||||
|
||||
### Option A: Full Configuration (Recommended)
|
||||
Use this for precise control over capabilities:
|
||||
```bash
|
||||
curl -fsSL https://sso.example.com/resources/theta-agent/install.sh | sh -s -- "BASE64_ENCODED_CONFIG"
|
||||
```
|
||||
|
||||
### Option B: Minimal Setup
|
||||
Use this for rapid deployment with basic telemetry:
|
||||
```bash
|
||||
curl -fsSL https://sso.example.com/resources/theta-agent/install.sh | sh -s -- --url "https://sso.example.com" --token "your-host-token"
|
||||
```
|
||||
|
||||
### What this does:
|
||||
1. Downloads the latest `theta-agent` binary.
|
||||
2. Decodes the base64 configuration string into `/etc/theta42/agent.yml`.
|
||||
3. Installs a systemd service unit.
|
||||
4. Starts the agent automatically.
|
||||
|
||||
---
|
||||
|
||||
## Manual Installation
|
||||
|
||||
If you are in an air-gapped environment or prefer manual control:
|
||||
|
||||
### 1. Deploy Binary
|
||||
Place the `theta-agent` binary in `/usr/local/bin/` and ensure it is executable:
|
||||
```bash
|
||||
chmod +x /usr/local/bin/theta-agent
|
||||
```
|
||||
|
||||
### 2. Configure
|
||||
Create the configuration directory and the `agent.yml` file:
|
||||
```bash
|
||||
mkdir -p /etc/theta42
|
||||
nano /etc/theta42/agent.yml
|
||||
```
|
||||
Ensure the file has restricted permissions:
|
||||
```bash
|
||||
chmod 600 /etc/theta42/agent.yml
|
||||
```
|
||||
|
||||
### 3. Setup systemd
|
||||
Create the file `/etc/systemd/system/theta-agent.service`:
|
||||
```ini
|
||||
[Unit]
|
||||
Description=Theta Agent Unified Endpoint Management
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/local/bin/theta-agent
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
StandardOutput=syslog
|
||||
StandardError=syslog
|
||||
SyslogIdentifier=theta-agent
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
Enable and start the service:
|
||||
```bash
|
||||
systemctl daemon-reload
|
||||
systemctl enable theta-agent
|
||||
systemctl start theta-agent
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Verifying Connection
|
||||
Check the logs to ensure the agent has successfully connected to the SSO Manager:
|
||||
```bash
|
||||
journalctl -u theta-agent -f
|
||||
```
|
||||
You should see: `Successfully connected to SSO Manager.`
|
||||
|
||||
### Configuration Errors
|
||||
If the agent fails to start, verify the config file exists and is valid YAML:
|
||||
```bash
|
||||
ls -l /etc/theta42/agent.yml
|
||||
```
|
||||
|
||||
### Root Privileges
|
||||
The agent must run as root to execute system commands like `reboot` and `systemctl restart`. If you manually run the binary, ensure you use `sudo`.
|
||||
Reference in New Issue
Block a user