Hot-deployment revamp

Hello,

hot-deployment has just seen a major revamp and apart from cosmetic changes (like a new location to drop services to), in Zato 3.0 it will be possible to hot-deploy:

  • Static files that are made available under attributes such as self.static_config.file.name - think templates in outgoing emails, that kind of information

  • INI-like files with arbitrary key/value configuration that will go to self.static_config.file.name.foo

  • JSON, XML and CSV files will have default pick-up listeners and parsers - dropping a file to a pick-up dir will trigger a user-defined service

  • In fact, any arbitrary data files using any format or name patterns can be now hot-deployed to form input to a channel

  • Naturally, as has been the case since Zato 1.0, services will still support hot-deployment

This all currently uses the following config file and in addition to it there will be a GUI to configure everything from web-admin. But if it is preferrable, config files such as this one will work just fine.

[json]
pickup_from=./pickup/incoming/json
move_processed_to=./pickup/processed/json
patterns=*.json
recipients=zato.pickup.log-json
parse_with=py:rapidjson.loads

[xml]
pickup_from=./pickup/incoming/xml
move_processed_to=./pickup/processed/xml
patterns=*.xml
recipients=zato.pickup.log-xml
parse_with=py:lxml.objectify.fromstring

[csv]
pickup_from=./pickup/incoming/csv
move_processed_to=./pickup/processed/csv
patterns=*.csv
recipients=zato.pickup.log-csv
read_on_pickup=False
parse_on_pickup=False
delete_after_pick_up=False

[user_conf]
pickup_from=./pickup/incoming/user-conf
patterns=*.conf
recipients=zato.pickup.update-user-conf
parse_on_pickup=False

[static]
pickup_from=./pickup/incoming/static
patterns=*
recipients=zato.pickup.update-static
parse_on_pickup=False