All notable changes to tailops will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Multi-tenant Tailscale management: Complete CLI toolkit for MSPs
- Tenant management commands: Add, remove, list, and test client configurations
- Device management commands: List, authorize, remove devices across all tenants
- Subnet route management: Configure and manage device routes
- Professional CLI experience: Colored output, formatted tables, interactive prompts
- Comprehensive configuration system: YAML-based with multiple search paths
- Enterprise security features: Secure credential management and validation
- Cross-tenant operations: Search and manage resources across all client networks
- Integration capabilities: JSON output support for automation
- Complete Tailscale API v2 integration: Full API coverage for device operations
- Error handling and logging: Comprehensive error messages and debug mode
- Interactive tenant setup: Guided onboarding with API validation
- Multi-tenant architecture with tenant isolation
- Unified device discovery across all client networks
- Advanced filtering by tenant, status, OS, and custom criteria
- Streamlined device authorization workflows
- Complete device lifecycle management
- Audit trail and comprehensive logging
- Professional table displays and progress indicators
- Scriptable commands for automation workflows
- RMM tool integration capabilities
- Comprehensive README with MSP workflows
- Complete command reference
- Security best practices guide
- Installation and configuration documentation
- Real-world usage examples
- Troubleshooting guide
- Python 3.8+ compatibility
- Modern packaging with pyproject.toml
- Development tooling configuration (black, flake8, mypy, pytest)
- Proper entry point for
tailopscommand - Package data inclusion for config templates
- CI/CD ready configuration
- JSON Output Format: Added
--jsonflag to all major commands for automation and RMM integrationtailops tenant list --json- JSON output for tenant listingtailops device list --json- JSON output for device listingtailops tenant test --json- JSON output for connectivity testing
- OutputFormatter System: Professional output formatting with auto-detection for piped/redirected output
- Consistent JSON Schema: Standardized JSON structure across all commands with timestamps and metadata
- Auto-Detection: Automatic JSON format when output is piped or redirected for seamless automation
- RMM Integration Ready: Machine-readable output perfect for monitoring and management systems
- Added
tailops/utils/formatter.pywith comprehensive output formatting - Enhanced command structure to support multiple output formats
- Normalized data structures for consistent API responses
- Maintained backward compatibility with existing table output
- Configuration Encryption: Enterprise-grade security for sensitive configuration data
tailops secrets encrypt- Encrypt configuration files with AES-256 encryptiontailops secrets decrypt- Decrypt configuration files securelytailops secrets info- View encryption metadata and file informationtailops secrets verify- Verify file integrity and password validitytailops secrets rotate- Change encryption passwords securelytailops secrets migrate- Convert plain text configs to encrypted format
- PBKDF2 Key Derivation: Industry-standard password-based encryption with 100,000+ iterations
- Audit Logging: Complete audit trail of encryption/decryption operations in
~/.tailops/logs/secrets.log - Multiple Password Sources: Support for environment variables (
TAILOPS_SECRET) and interactive prompts - Atomic Operations: Safe file operations with backup creation and rollback capability
- Password Strength Validation: Enforced minimum password requirements
- Secure File Permissions: Automatic setting of restrictive file permissions (600)
- Fernet Encryption: AES-128 in CBC mode with HMAC-SHA256 for authenticated encryption
- Salt-based Protection: Unique salt per file prevents rainbow table attacks
- Integrity Verification: Built-in tamper detection and corruption prevention
- Metadata Protection: Encrypted files include version info and encryption parameters
- Secure Cleanup: Temporary files are properly cleaned up on failure
- Added
cryptography>=3.4.8dependency for encryption functionality - Enhanced CLI with comprehensive secrets management commands
- Professional error handling with specific security-focused error messages
- Cross-platform compatibility with proper path handling
- API Key Rotation System: Complete lifecycle management for Tailscale API keys
tailops key list- Display API key status and validity for all tenantstailops key rotate --tenant <name>- Safely rotate API key for specific tenanttailops key rotate-all- Bulk rotation across all tenants with configurable delaystailops key test- Validate API key permissions and connectivitytailops key archive- Archive old rotation logs for compliance
- Safe Rotation Workflow: Enterprise-grade key rotation with rollback capability
- Audit Logging: Complete rotation history in
~/.tailops/logs/rotation.log - Dry-Run Mode: Preview all changes with
--dry-runflag before execution - Batch Processing: Controlled bulk operations with configurable delays
- Permission Testing: Comprehensive API key validation and capability checking
- Atomic Operations: New keys tested before old keys are retired
- Rollback Safety: Configuration updates only occur after successful validation
- Audit Compliance: Detailed logging of all key rotation activities
- Zero-Downtime: Keys remain functional during rotation process
- Encrypted Config Support: Seamless integration with encrypted configuration files
- MSP-Scale Operations: Bulk rotation across hundreds of client tenants
- Change Management: Dry-run capabilities for operational approval workflows
- Compliance Logging: Timestamped audit trails for security compliance
- Automated Scheduling: Foundation for future automated rotation schedules
- Progress Tracking: Real-time feedback during bulk operations
- Enhanced Tailscale API client with comprehensive key management endpoints
- Professional error handling with specific rollback procedures
- Integration with existing encryption and configuration systems
- Cross-platform rotation log management and archival
- Scheduled automatic key rotation with configurable intervals
- Integration with external secret management systems (Vault, etc.)
- Additional Tailscale API coverage (ACLs, DNS management)
- Enhanced notification system for rotation events
- Web-based dashboard (read-only)
- Advanced reporting and analytics
- Webhook integration
- Multi-user access controls
- SAML/SSO integration
- Role-based access control
- Compliance reporting
- Custom branding options