This repository contains a collection of example projects demonstrating various automation and infrastructure-as-code tools integration with Semaphore UI. The project serves as a practical reference for implementing different automation workflows.
The repository includes examples for the following technologies:
roles/
- Contains Ansible rolesinvs/
- Inventory files for Ansiblecollections/
- Ansible collectionsping.yml
- Basic Ansible playbook for connectivity testingbuild.yml
- Build automation playbookdeploy.yml
- Deployment automation playbook
demo.tf
- Example Terraform configuration demonstrating local file resourceterragrunt.hcl
- Terragrunt configuration file
print_system_info.sh
- Bash script for system information gathering- Detects operating system
- Displays CPU information
- Shows memory usage
- Reports disk space
Located in the stress-tests/
directory, these files are designed to test system performance and resource utilization:
test.tf
- Terraform-based stress test- Creates multiple null resources (default: 100)
- Generates dummy files to test file system performance
- Uses local-exec provisioner to simulate workload
- Configurable resource count through variables
test.yml
- Ansible-based stress test playbook
- Ansible (for Ansible examples)
- Terraform (for Terraform examples)
- Bash shell (for shell scripts)
- PowerShell 5.1+ (for PowerShell scripts)
- Python 3.x (for Python examples)
# Run the ping playbook
ansible-playbook -i invs/hosts ping.yml
# Execute build automation
ansible-playbook build.yml
# Run deployment
ansible-playbook deploy.yml
# Initialize Terraform
terraform init
# Apply the configuration
terraform apply
# Make the script executable
chmod +x print_system_info.sh
# Run the script
./print_system_info.sh
# Run the script
.\print_system_info.ps1
# Navigate to stress tests directory
cd stress-tests
# Run Terraform stress test
terraform init
terraform apply
# Run Ansible stress test
ansible-playbook test.yml
Feel free to submit issues and enhancement requests!
MIT © Denis Gukov