{"revision": {"id": "f3ddfc78-2f95-11f1-8f92-e86a64d24d78", "node_id": "f3dd655c-2f95-11f1-ab31-e86a64d24d78", "user_id": "edc3f576-2f95-11f1-900f-e86a64d24d78", "author": "foxhop", "data": "Salt Stack Piggy Back Encrypted ZMQ Event Bus\r\n##################################################\r\n\r\nSalt Stack Piggy Back Encrypted ZMQ Event Bus with 3rd party scripts on each side.\r\n\r\nRequires:\r\n\r\n* the salt-minion alive and running on the minion host\r\n* the salt-master alive and running on the master host \r\n\r\nFire event from minion to minion bus\r\n======================================\r\n\r\n3rd Party Subscriber / Listener:\r\n\r\n**listen_to_minion_bus.py**\r\n\r\n.. code-block:: python\r\n\r\n # needed for config to opts processing\r\n import os\r\n import salt.syspaths as syspaths\r\n import salt.config\r\n\r\n # get opts from minion config file, this function also looks in drop dir!\r\n opts = salt.config.minion_config(os.path.join(syspaths.CONFIG_DIR, 'minion'))\r\n\r\n # debug to STDOUT\r\n import salt.log\r\n salt.log.setup_console_logger('all')\r\n\r\n # event libary for events over ZMQ\r\n import salt.utils.event\r\n\r\n event = salt.utils.event.MinionEvent(**opts)\r\n\r\n tag = 'mytag'\r\n\r\n print('Listening for events tagged \\'{}\\' on Salt Minion bus.'.format(tag))\r\n\r\n #for data in event.iter_events(tag='nagios'):\r\n for data in event.iter_events(tag=tag):\r\n     print(data)\r\n\r\n\r\n\r\n", "source_format": "rst", "revision_number": 1, "created": 1393763722000}}