Orchestrator Tools
Overview¶
The mylab/ directory contains the orchestrator - a set of tools that automate deployments across Solti collections.
Components:
- manage-svc.sh - Service lifecycle (deploy/remove/prepare)
- svc-exec.sh - Task execution (verify/configure)
- deploy-ispconfig3-workflow.sh - Automated workflow with validation
- inventory.yml - Host registry and configuration
- mylab/data/ - Service tokens, credentials, configs (site-specific)
- mylab/playbooks/ - Deployment playbooks (site-specific)
manage-svc.sh¶
Service lifecycle management tool.
Usage:
Actions:
- deploy - Deploy service using playbook
- remove - Remove service
- prepare - Prepare environment (install dependencies)
Example:
# Deploy InfluxDB on monitor11
./manage-svc.sh deploy monitor11-metrics
# Deploy Alloy on ispconfig3
./manage-svc.sh deploy ispconfig3-alloy
svc-exec.sh¶
Task execution tool for running specific tasks without full deployment.
Usage:
Tasks:
- verify - Run verification checks
- configure - Apply configuration changes
- restart - Restart services
Example:
# Verify Alloy configuration
./svc-exec.sh verify ispconfig3-alloy
# Restart Telegraf service
./svc-exec.sh restart monitor11-metrics
deploy-ispconfig3-workflow.sh¶
Automated deployment workflow with built-in validation.
Features: - Pre-deployment checks - Automated deployment steps - Post-deployment verification - Rollback on failure
Usage:
inventory.yml¶
Host registry and configuration for all managed systems.
Structure:
all:
children:
monitoring_servers:
hosts:
monitor11.example.com:
# Server-specific vars
monitoring_clients:
hosts:
ispconfig3-server.example.com:
# Client-specific vars
Data Directory (mylab/data/)¶
Site-specific data that should not be committed to git:
- Service tokens (API keys, credentials)
- TLS certificates
- Custom configuration files
- Secrets and passwords
Security: Use .gitignore to exclude sensitive data.
Playbooks Directory (mylab/playbooks/)¶
Site-specific playbooks that tie together collection roles:
svc-monitor11-metrics.yml- InfluxDB + Telegraf on monitor11svc-monitor11-logs.yml- Loki + Alloy on monitor11ispconfig3-alloy.yml- Alloy configuration for ispconfig3
Example playbook structure:
---
- name: Deploy monitoring server
hosts: monitor11.example.com
become: true
roles:
- role: jackaltx.solti_monitoring.influxdb
vars:
influxdb_s3_endpoint: "{{ vault_s3_endpoint }}"
- role: jackaltx.solti_monitoring.telegraf
vars:
telegraf_output_influxdb: true
Long-term Goal¶
Extract orchestrator into cleansed reference implementation for public release, removing site-specific details while preserving deployment patterns.