Targets
A Target is a machine where deployments execute. Each target runs the Tarsus agent, which registers and sends heartbeats directly to Mandible. Mandible assigns a Thorax orchestration instance, and commands are executed against the target through that Thorax instance.
What is a Target?
Section titled “What is a Target?”Targets represent the actual infrastructure where your code runs:
- Physical servers
- Virtual machines
- Cloud instances
- Containers (with persistent Tarsus installation)
Target Properties
Section titled “Target Properties”| Property | Description |
|---|---|
| Name | Unique identifier (e.g., “web-prod-01”) |
| Mode | Connection mode (Listen or Poll) |
| Hostname | Network address |
| Port | Tarsus listening port (default: 9342) |
| Status | Online, Stale, or Offline |
| Tags | Key-value labels for grouping |
Connection Modes
Section titled “Connection Modes”Targets connect to Mantis in one of two modes:
Listen Mode
Section titled “Listen Mode”Tarsus runs a gRPC server; Thorax initiates connections.
Best for:
- Stable, routable IP addresses
- Controlled network environments
- Low-latency requirements
- When inbound firewall rules are allowed
Characteristics:
- Thorax pushes commands to Tarsus
- Lower latency (immediate execution)
- Requires inbound network access to target
Poll Mode
Section titled “Poll Mode”Tarsus initiates all connections to Thorax (outbound only).
Best for:
- Machines behind NAT or restrictive firewalls
- Cloud instances with dynamic IPs
- Networks with outbound-only rules
- Complex network topologies
Characteristics:
- Tarsus pulls commands from Thorax periodically
- Configurable poll interval (default: 30 seconds)
- Higher latency (commands wait for next poll)
- Only requires outbound gRPC (TLS) access to Mandible and Thorax
Target Status
Section titled “Target Status”Targets have three health states:
| Status | Badge | Description |
|---|---|---|
| Online | Green | Active connection, healthy |
| Stale | Yellow | No recent heartbeat, may be recovering |
| Offline | Red | No active connection |
Status Transitions
Section titled “Status Transitions”Last Seen - Shows when the target last communicated (e.g., “2 hours ago”).
Target Registration
Section titled “Target Registration”When a Tarsus agent starts, it registers with Mandible:
Automatic Registration
Section titled “Automatic Registration”- Tarsus connects to Mandible with its certificate
- Mandible checks if the certificate thumbprint is known
- If new, the registration enters “Pending” state
- Administrator approves the registration
- Target becomes active
Token-Based Registration
Section titled “Token-Based Registration”For zero-touch provisioning:
- Administrator generates a registration token in Lens
- Token is provided to Tarsus configuration
- Tarsus registers using the token
- Registration is automatically approved
- Token use count is incremented (tokens are unlimited-use by default; set max_uses to limit reuse)
Managing Targets
Section titled “Managing Targets”Viewing Targets
Section titled “Viewing Targets”- Navigate to Targets in the sidebar
- View the target list with status indicators
- Filter by status, tags, or environment
- Search by name or hostname
Creating a Target
Section titled “Creating a Target”Targets are typically auto-created when a Tarsus agent registers. To create manually:
- Click New Target
- Enter name and hostname
- Select connection mode
- Configure port (default: 9342)
- Save
Editing a Target
Section titled “Editing a Target”- Click on a target in the list
- Modify properties as needed
- Save changes
Deleting a Target
Section titled “Deleting a Target”- Click on a target in the list
- Click Delete
- Confirm deletion
Target Tags
Section titled “Target Tags”Tags are key-value pairs for organizing and selecting targets:
| Tag Key | Tag Value | Purpose |
|---|---|---|
environment | production | Environment grouping |
role | web | Server role |
region | us-east-1 | Geographic location |
tier | frontend | Application tier |
Managing Tags
Section titled “Managing Tags”- Open target detail page
- Navigate to Tags section
- Add, edit, or remove tags
- Save
Using Tags for Deployment
Section titled “Using Tags for Deployment”Tags enable flexible target selection:
- Deploy to all targets with
role=web - Deploy to
region=us-east-1ANDenvironment=production - Exclude targets with
maintenance=true
Target Environments
Section titled “Target Environments”Targets can be assigned to one or more environments:
Priority Within Environments
Section titled “Priority Within Environments”Targets have a priority within each environment, determining deployment order:
| Target | Priority | Deployment Order |
|---|---|---|
| prod-web-1 | 100 | First |
| prod-web-2 | 75 | Second |
| prod-web-3 | 50 | Third |
| prod-db-1 | 10 | Last |
Higher priority values deploy first. Priority ranges from -100 to 100 and defaults to 50.
Health Monitoring
Section titled “Health Monitoring”Dashboard View
Section titled “Dashboard View”The dashboard shows target health at a glance:
- Total Targets - All registered targets
- Online - Healthy, active targets
- Stale - Targets needing attention
- Offline - Unavailable targets
- Recent Activity - Last seen timestamps
Troubleshooting Offline Targets
Section titled “Troubleshooting Offline Targets”If a target shows offline:
- Check the agent - Is Tarsus running on the machine?
- Check networking - Can the target reach Thorax (poll) or be reached (listen)?
- Check certificates - Are TLS certificates valid and not expired?
- Check firewall - Are required ports open?
- Review logs - Check Tarsus logs for errors
Best Practices
Section titled “Best Practices”Naming Conventions
Section titled “Naming Conventions”Use consistent, descriptive names:
{role}-{environment}-{number}web-prod-01db-staging-01worker-dev-01Tag Strategy
Section titled “Tag Strategy”Create a tagging taxonomy:
| Category | Example Tags |
|---|---|
| Environment | env:dev, env:staging, env:prod |
| Role | role:web, role:api, role:worker |
| Region | region:us-east, region:eu-west |
| Team | team:platform, team:payments |
Registration Security
Section titled “Registration Security”- Review pending registrations promptly
- Use registration tokens for automated provisioning
- Rotate tokens after use
- Monitor for unexpected registration attempts
Next Steps
Section titled “Next Steps”- Managing Targets - Detailed target operations
- Listen vs Poll Mode - Connection mode details
- Health Status - Understanding target health
- Tagging - Tag strategies
