An Ansible collection for managing Tulip Edge devices with comprehensive gateway authentication and provisioning capabilities.
ansible-galaxy collection install git+https://github.com/tulip/tulip-ansible-library.git#/collections/ansible_collections/tulip/edgeansible-galaxy collection install tulip.edgegit clone https://github.com/tulip/tulip-ansible-library.git
cd tulip-ansible/collections/ansible_collections/tulip/edge
ansible-galaxy collection build
ansible-galaxy collection install tulip-edge-*.tar.gz[tulip_edge_devices]
golden-device ansible_host=172.16.15.130
new-device-001 ansible_host=172.16.15.140
[tulip_edge_devices:vars]
tulip_factory_url=https://your-factory.tulip.co
tulip_admin_email=admin@yourcompany.com
tulip_admin_password_sha256=your_sha256_hash
tulip_client_name=YourCompanyName# Backup golden device configuration
ansible-playbook tulip.edge.v0_backup_mqtt_broker --limit golden-device
# Deploy to new devices
ansible-playbook tulip.edge.v0_restore_mqtt_broker \
--limit new-device-001 \
-e mqtt_broker_backup_name="golden-device-mqtt-broker-20241219-143022"
# Authenticate with Tulip factory
ansible-playbook tulip.edge.v0_gateway_tulip_auth --limit new-device-001- Provisioning Guide - Complete golden device provisioning workflow
- Integration Guide - CI/CD and workflow integration examples
tulip.edge.login- Authenticate with devicestulip.edge.check_login- Check authentication statustulip.edge.check_and_refresh_login- Check and refresh authenticationtulip.edge.change_password- Change device passwordtulip.edge.register- Register devices with external systemstulip.edge.factory_reset- Perform factory reset on devices
tulip.edge.backup_mqtt_broker- Backup MQTT broker configurationtulip.edge.restore_mqtt_broker- Restore MQTT broker configurationtulip.edge.backup_mqtt_bridge- Backup MQTT bridge configurationtulip.edge.restore_mqtt_bridge- Restore MQTT bridge configurationtulip.edge.backup_ntp- Backup NTP configurationtulip.edge.restore_ntp- Restore NTP configurationtulip.edge.backup_http_proxy- Backup HTTP proxy configurationtulip.edge.restore_http_proxy- Restore HTTP proxy configurationtulip.edge.backup_network_certificates- Backup network certificatestulip.edge.restore_network_certificates- Restore network certificates
tulip.edge.backup_https- Backup HTTPS configurationtulip.edge.restore_https- Restore HTTPS configurationtulip.edge.backup_root_certs- Backup root certificatestulip.edge.restore_root_certs- Restore root certificatestulip.edge.backup_drivers- Backup device driverstulip.edge.restore_drivers- Restore device drivers
tulip.edge.backup_lightkit- Backup LightKit configurationtulip.edge.restore_lightkit- Restore LightKit configurationtulip.edge.backup_nodered- Backup Node-RED configurationtulip.edge.restore_nodered- Restore Node-RED configuration
tulip.edge.enable_mqtt_broker- Enable MQTT broker servicetulip.edge.disable_mqtt_broker- Disable MQTT broker servicetulip.edge.enable_nodered- Enable Node-RED servicetulip.edge.disable_nodered- Disable Node-RED servicetulip.edge.upgrade_nodered- Upgrade Node-RED versiontulip.edge.rollback_nodered- Rollback Node-RED version
tulip.edge.configure_network- Configure network settingstulip.edge.configure_ntp- Configure NTP settingstulip.edge.configure_http_proxy- Configure HTTP proxy settingstulip.edge.configure_https- Configure HTTPS settingstulip.edge.toggle_http_proxy- Toggle HTTP proxy on/offtulip.edge.toggle_https- Toggle HTTPS on/offtulip.edge.toggle_mqtt_bridge- Toggle MQTT bridge on/off
tulip.edge.gateway_tulip_auth- Authenticate with Tulip factorytulip.edge.gateway_device_info- Get device informationtulip.edge.gateway_check_internet- Check internet connectivitytulip.edge.gateway_serial_number- Get device serial numbertulip.edge.gateway_tulip_url- Get/check Tulip factory URLtulip.edge.gateway_locate- Physically locate device (LED flash)tulip.edge.gateway_network_health_check- Perform network diagnostics
tulip-ansible/
├── collections/ansible_collections/tulip/edge/ # Main collection
│ ├── galaxy.yml # Collection metadata
│ ├── README.md # Collection README
│ ├── LICENSE # License file
│ ├── playbooks/ # All playbooks
│ ├── roles/ # Ansible roles
│ └── docs/ # Documentation
├── examples/ # Example configurations
├── docs/ # Main documentation
└── README.md # This file
- Fork the repository
- Create a feature branch
- Make your changes
- Test with
ansible-galaxy collection build - Submit a pull request
MIT License - see LICENSE for details.