├── tests ├── api_tests │ ├── __init__.py │ ├── data │ │ └── set1 │ │ │ ├── hosts.json │ │ │ ├── eventtypes.json │ │ │ ├── fates.json │ │ │ └── event.json │ ├── test_hosts.py │ ├── fixtures.py │ ├── test_fates.py │ ├── test_eventtypes.py │ ├── util.py │ ├── test_labors.py │ └── test_events.py ├── model_tests │ ├── __init__.py │ ├── fixtures.py │ ├── test_host.py │ ├── test_eventtypes.py │ ├── test_events.py │ ├── test_fates.py │ └── test_labors.py └── sample_data │ ├── sample_data2.sql │ └── sample_data1.sql ├── hermes ├── version.py ├── handlers │ ├── __init__.py │ ├── frontends.py │ └── util.py ├── plugins │ ├── __init__.py │ └── hooks │ │ └── __init__.py ├── __init__.py ├── webapp │ └── src │ │ ├── img │ │ ├── icon.gif │ │ ├── logo.png │ │ ├── loading.gif │ │ ├── remove_10.png │ │ ├── remove_15.png │ │ ├── loading_15.gif │ │ └── send_email_15.png │ │ ├── templates │ │ ├── fateViewer.html │ │ ├── userHome.html │ │ ├── questEdit.html │ │ └── questCreation.html │ │ ├── js │ │ ├── filters │ │ │ ├── encode.js │ │ │ └── num.js │ │ ├── services │ │ │ └── skipReload.js │ │ ├── directives │ │ │ ├── scrollWatch.js │ │ │ ├── viewportHeight.js │ │ │ ├── boxContinuation.js │ │ │ ├── questProgressBar.js │ │ │ └── questProgressChart.js │ │ ├── hermesApp.js │ │ └── controllers │ │ │ ├── userHomeCtrl.js │ │ │ ├── questEditCtrl.js │ │ │ └── questCreationCtrl.js │ │ └── index.html ├── app.py ├── exc.py ├── plugin.py ├── settings_client.py ├── routes.py ├── settings.py └── util.py ├── db ├── update_to_0726.sql ├── update_to_0_5_15.sql ├── update_to_06.sql ├── truncate_tables.sql ├── update_to_0511.sql ├── update_to_046.sql ├── update_to_05.sql ├── bootstrap.sql └── update_to_051.sql ├── .bowerrc ├── docs ├── api-ref.rst ├── config.rst ├── index.rst ├── api.rst ├── intro.rst ├── Makefile └── conf.py ├── examples └── ex1 │ ├── create-quest │ ├── reboot-complete │ ├── reboot-complete-remaining │ └── servers.list ├── MANIFEST.in ├── requirements-dev.txt ├── README.md ├── config ├── dev-client.yaml └── dev.yaml ├── requirements.txt ├── package.json ├── LICENSE ├── .gitignore ├── bower.json ├── .travis.yml ├── setup.py ├── bin ├── hermes-server └── hermes-notify └── gulpfile.js /tests/api_tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/model_tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /hermes/version.py: -------------------------------------------------------------------------------- 1 | __version__ = "0.7.27" 2 | -------------------------------------------------------------------------------- /hermes/handlers/__init__.py: -------------------------------------------------------------------------------- 1 | __author__ = 'digant' 2 | -------------------------------------------------------------------------------- /hermes/plugins/__init__.py: -------------------------------------------------------------------------------- 1 | __author__ = 'digant' 2 | -------------------------------------------------------------------------------- /hermes/__init__.py: -------------------------------------------------------------------------------- 1 | from .version import __version__ 2 | -------------------------------------------------------------------------------- /hermes/plugins/hooks/__init__.py: -------------------------------------------------------------------------------- 1 | __author__ = 'digant' 2 | -------------------------------------------------------------------------------- /db/update_to_0726.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `events` MODIFY `note` text; 2 | -------------------------------------------------------------------------------- /db/update_to_0_5_15.sql: -------------------------------------------------------------------------------- 1 | drop index _creation_completion_uc on fates; -------------------------------------------------------------------------------- /.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "analytics": false, 3 | "directory": "_bc" 4 | } 5 | 6 | -------------------------------------------------------------------------------- /hermes/webapp/src/img/icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/hermes/master/hermes/webapp/src/img/icon.gif -------------------------------------------------------------------------------- /hermes/webapp/src/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/hermes/master/hermes/webapp/src/img/logo.png -------------------------------------------------------------------------------- /db/update_to_06.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `event_types` ADD `restricted` INT(1) NOT NULL DEFAULT '0' AFTER `description`; 2 | -------------------------------------------------------------------------------- /hermes/webapp/src/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/hermes/master/hermes/webapp/src/img/loading.gif -------------------------------------------------------------------------------- /hermes/webapp/src/img/remove_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/hermes/master/hermes/webapp/src/img/remove_10.png -------------------------------------------------------------------------------- /hermes/webapp/src/img/remove_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/hermes/master/hermes/webapp/src/img/remove_15.png -------------------------------------------------------------------------------- /hermes/webapp/src/img/loading_15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/hermes/master/hermes/webapp/src/img/loading_15.gif -------------------------------------------------------------------------------- /hermes/webapp/src/img/send_email_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/hermes/master/hermes/webapp/src/img/send_email_15.png -------------------------------------------------------------------------------- /hermes/webapp/src/templates/fateViewer.html: -------------------------------------------------------------------------------- 1 |
DEV: Sent to {}
"
109 | "Originally addressed as: {}
{{qc.quest.description}}
72 |
Use the explorer to see the quest types and what kind of workflow each implies..
81 | 82 |This email is being sent to {} because that is the owner listed\n" 248 | "for the systems with open Hermes labors listed below.
" 249 | "Due dates, if any, are noted with each quest.
" 250 | "".format(owner) 251 | ) 252 | msg += ( 253 | "To throw an event manually, you can run the following command " 254 | "on a shell server:
" 255 | "$ hermes event create [event] --host " 256 | "[hostname]" 257 | "
Or you can visit the quests linked below.
\"{}\"
".format(quest.description) 274 | msg += "LINK:{}/v1/quests/{}Machines with labors:
" 286 | 287 | msg += ""
288 | for hostname in sorted(info[owner][quest_id]):
289 | if tags[hostname]:
290 | tags_str = "{}".format((", ".join(tags[hostname])))
291 | else:
292 | tags_str = "no services"
293 | msg += "{} ({})\n".format(hostname, tags_str)
294 |
295 | msg += "