Plugins Overview
Automax plugins are the building blocks of your automation workflows. Each plugin performs a specific task and can be combined to create complex workflows.
Plugin Categories
Cloud Secrets Management
- AWS Secrets Manager - Retrieve, create, and update secrets from AWS Secrets Manager
- Azure Key Vault - Access secrets from Azure Key Vault using managed identity or service principal
- Google Secret Manager - Get secrets from GCP Secret Manager with service account or default credentials
- HashiCorp Vault - Integrate with HashiCorp Vault using token or AppRole authentication
System Operations
- Local Command - Execute local system commands with environment variables and working directory support
- SSH Command - Run commands on remote servers via SSH with password or key-based authentication
File Operations
- Read File Content - Read content from files with support for multiple encodings and binary data
- Write File Content - Write content to files with overwrite, append, or create-new modes
- Compress File - Compress files and directories to ZIP, TAR.GZ, or TAR.BZ2 formats
- Uncompress File - Extract files from compressed archives with password support
Network Operations
- Check TCP Connection - Test TCP connectivity to remote hosts and ports
- Check ICMP Connection - Test ICMP connectivity (ping) to remote hosts with latency metrics
Communication
- Run HTTP Request - Make HTTP API calls with headers, authentication, and JSON support
- Send Email - Send email notifications via SMTP with HTML content and attachments
Database
- Database Operations - Execute SQL queries and operations on PostgreSQL, MySQL, SQLite, and Oracle databases
Using Plugins
Plugins are configured in your workflow YAML files using the parameters section:
steps:
- name: "get_database_password"
plugin: "aws_secrets_manager"
parameters:
secret_name: "production/database/password"
region_name: "us-east-1"
action: "read"
Common Plugin Parameters
Most plugins support these common parameters:
- action: Operation to perform (read, write, create, execute, etc.)
- timeout: Operation timeout in seconds
- Authentication credentials specific to each service
Error Handling
All plugins provide structured error responses:
{
"status": "error",
"error": "Descriptive error message",
"details": "Additional context for troubleshooting"
}
Best Practices
- Use secrets management for credentials and sensitive data
- Implement error handling in your workflows
- Set appropriate timeouts for network operations
- Validate inputs before executing operations
- Use structured logging for debugging and monitoring
Plugin Examples
Complete Workflow Example
steps:
- name: "get_api_credentials"
plugin: "hashicorp_vault"
parameters:
vault_url: "https://vault.example.com"
secret_path: "api/credentials"
action: "read"
vault_token: "${VAULT_TOKEN}"
- name: "call_external_api"
plugin: "run_http_request"
parameters:
url: "https://api.example.com/data"
method: "GET"
headers:
Authorization: "Bearer ${steps.get_api_credentials.output.data.token}"
timeout: 30
- name: "save_results"
plugin: "write_file_content"
parameters:
file_path: "/tmp/api_response.json"
content: "${steps.call_external_api.output.body}"
mode: "overwrite"
- name: "send_notification"
plugin: "send_email"
parameters:
smtp_server: "smtp.gmail.com"
smtp_port: 587
from_address: "automax@example.com"
to_addresses: ["admin@example.com"]
subject: "API Sync Completed"
body: "External API data has been successfully retrieved and saved."
username: "${EMAIL_USER}"
password: "${EMAIL_PASSWORD}"
Creating Custom Plugins
See the Creating Plugins guide for instructions on developing your own plugins.
Troubleshooting
For plugin-specific issues, refer to the individual plugin documentation pages linked above. Each plugin documentation includes: - Authentication and permission requirements - Common error messages and solutions - Configuration examples and best practices - Network and connectivity requirements