gitextract_3urb6sob/ ├── .dockerignore ├── .github/ │ └── workflows/ │ ├── ci.yml │ └── security-review.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .pyautotest ├── .readthedocs.yaml ├── AGENTS.md ├── CODEOWNERS ├── LICENSE.txt ├── MANIFEST.in ├── Makefile ├── OWNERS ├── README.md ├── bin/ │ ├── generate_tron_tab_completion_cache │ ├── tronctl │ ├── tronctl_tabcomplete.sh │ ├── trond │ ├── tronfig │ ├── tronrepl │ ├── tronview │ └── tronview_tabcomplete.sh ├── contrib/ │ ├── migration_script.py │ ├── mock_patch_checker.py │ ├── namespace_cleanup.sh │ ├── patch-config-loggers.diff │ ├── sync-from-yelp-prod.sh │ └── sync_namespaces_jobs.py ├── debian/ │ ├── changelog │ ├── compat │ ├── control │ ├── copyright │ ├── docs │ ├── install │ ├── pycompat │ ├── pyversions │ ├── rules │ ├── tron.conffiles │ ├── tron.default │ ├── tron.dirs │ ├── tron.example │ ├── tron.links │ ├── tron.manpages │ ├── tron.postinst │ ├── tron.service │ ├── tron.upstart │ └── watch ├── dev/ │ ├── config/ │ │ ├── MASTER.yaml │ │ └── _manifest.yaml │ └── logging.conf ├── docs/ │ └── source/ │ ├── _static/ │ │ └── nature.css │ ├── command_context.rst │ ├── conf.py │ ├── config.rst │ ├── developing.rst │ ├── generated/ │ │ ├── modules.rst │ │ ├── tron.actioncommand.rst │ │ ├── tron.api.adapter.rst │ │ ├── tron.api.async_resource.rst │ │ ├── tron.api.auth.rst │ │ ├── tron.api.controller.rst │ │ ├── tron.api.requestargs.rst │ │ ├── tron.api.resource.rst │ │ ├── tron.api.rst │ │ ├── tron.command_context.rst │ │ ├── tron.commands.authentication.rst │ │ ├── tron.commands.backfill.rst │ │ ├── tron.commands.client.rst │ │ ├── tron.commands.cmd_utils.rst │ │ ├── tron.commands.display.rst │ │ ├── tron.commands.retry.rst │ │ ├── tron.commands.rst │ │ ├── tron.config.config_parse.rst │ │ ├── tron.config.config_utils.rst │ │ ├── tron.config.manager.rst │ │ ├── tron.config.rst │ │ ├── tron.config.schedule_parse.rst │ │ ├── tron.config.schema.rst │ │ ├── tron.config.static_config.rst │ │ ├── tron.core.action.rst │ │ ├── tron.core.actiongraph.rst │ │ ├── tron.core.actionrun.rst │ │ ├── tron.core.job.rst │ │ ├── tron.core.job_collection.rst │ │ ├── tron.core.job_scheduler.rst │ │ ├── tron.core.jobgraph.rst │ │ ├── tron.core.jobrun.rst │ │ ├── tron.core.recovery.rst │ │ ├── tron.core.rst │ │ ├── tron.eventbus.rst │ │ ├── tron.kubernetes.rst │ │ ├── tron.manhole.rst │ │ ├── tron.mcp.rst │ │ ├── tron.mesos.rst │ │ ├── tron.metrics.rst │ │ ├── tron.node.rst │ │ ├── tron.prom_metrics.rst │ │ ├── tron.rst │ │ ├── tron.scheduler.rst │ │ ├── tron.serialize.filehandler.rst │ │ ├── tron.serialize.rst │ │ ├── tron.serialize.runstate.dynamodb_state_store.rst │ │ ├── tron.serialize.runstate.rst │ │ ├── tron.serialize.runstate.shelvestore.rst │ │ ├── tron.serialize.runstate.statemanager.rst │ │ ├── tron.serialize.runstate.yamlstore.rst │ │ ├── tron.ssh.rst │ │ ├── tron.trondaemon.rst │ │ ├── tron.utils.collections.rst │ │ ├── tron.utils.crontab.rst │ │ ├── tron.utils.exitcode.rst │ │ ├── tron.utils.logreader.rst │ │ ├── tron.utils.observer.rst │ │ ├── tron.utils.persistable.rst │ │ ├── tron.utils.proxy.rst │ │ ├── tron.utils.queue.rst │ │ ├── tron.utils.rst │ │ ├── tron.utils.state.rst │ │ ├── tron.utils.timeutils.rst │ │ ├── tron.utils.trontimespec.rst │ │ ├── tron.utils.twistedutils.rst │ │ └── tron.yaml.rst │ ├── index.rst │ ├── jobs.rst │ ├── man/ │ │ ├── tronctl.1 │ │ ├── trond.8 │ │ ├── tronfig.1 │ │ └── tronview.1 │ ├── man_tronctl.rst │ ├── man_trond.rst │ ├── man_tronfig.rst │ ├── man_tronview.rst │ ├── overview.rst │ ├── sample_config.yaml │ ├── tools.rst │ ├── tron.yaml │ ├── tronweb.rst │ ├── tutorial.rst │ └── whats-new.rst ├── itest.sh ├── mypy.ini ├── osx-bdb.sh ├── package.json ├── pyproject.toml ├── requirements-dev-minimal.txt ├── requirements-dev.txt ├── requirements-docs.txt ├── requirements-minimal.txt ├── requirements.txt ├── setup.cfg ├── setup.py ├── testfiles/ │ └── MASTER.yaml ├── testifycompat/ │ ├── __init__.py │ ├── assertions.py │ ├── bin/ │ │ ├── __init__.py │ │ └── migrate.py │ └── fixtures.py ├── tests/ │ ├── __init__.py │ ├── actioncommand_test.py │ ├── api/ │ │ ├── __init__.py │ │ ├── adapter_test.py │ │ ├── auth_test.py │ │ ├── controller_test.py │ │ ├── requestargs_test.py │ │ └── resource_test.py │ ├── assertions.py │ ├── bin/ │ │ ├── __init__.py │ │ ├── action_runner_test.py │ │ ├── action_status_test.py │ │ ├── check_tron_jobs_test.py │ │ ├── get_tron_metrics_test.py │ │ └── recover_batch_test.py │ ├── command_context_test.py │ ├── commands/ │ │ ├── __init__.py │ │ ├── backfill_test.py │ │ ├── client_test.py │ │ ├── cmd_utils_test.py │ │ ├── display_test.py │ │ └── retry_test.py │ ├── config/ │ │ ├── __init__.py │ │ ├── config_parse_test.py │ │ ├── config_utils_test.py │ │ ├── manager_test.py │ │ └── schedule_parse_test.py │ ├── core/ │ │ ├── __init__.py │ │ ├── action_test.py │ │ ├── actiongraph_test.py │ │ ├── actionrun_test.py │ │ ├── job_collection_test.py │ │ ├── job_scheduler_test.py │ │ ├── job_test.py │ │ ├── jobgraph_test.py │ │ ├── jobrun_test.py │ │ └── recovery_test.py │ ├── data/ │ │ ├── logging.conf │ │ └── test_config.yaml │ ├── eventbus_test.py │ ├── kubernetes_test.py │ ├── mcp_reconfigure_test.py │ ├── mcp_test.py │ ├── mesos_test.py │ ├── metrics_test.py │ ├── mocks.py │ ├── node_test.py │ ├── sandbox.py │ ├── scheduler_test.py │ ├── serialize/ │ │ ├── __init__.py │ │ ├── filehandler_test.py │ │ └── runstate/ │ │ ├── __init__.py │ │ ├── dynamodb_state_store_test.py │ │ ├── shelvestore_test.py │ │ ├── statemanager_test.py │ │ └── yamlstore_test.py │ ├── ssh_test.py │ ├── test_id_rsa │ ├── test_id_rsa.pub │ ├── testingutils.py │ ├── tools/ │ │ └── sync_tron_state_from_k8s_test.py │ ├── trond_test.py │ ├── trondaemon_test.py │ └── utils/ │ ├── __init__.py │ ├── collections_test.py │ ├── crontab_test.py │ ├── logreader_test.py │ ├── observer_test.py │ ├── proxy_test.py │ ├── shortOutputTest.txt │ ├── state_test.py │ ├── timeutils_test.py │ └── trontimespec_test.py ├── tools/ │ ├── action_dag_diagram.py │ ├── compress_json.py │ ├── inspect_serialized_state.py │ ├── migration/ │ │ ├── migrate_config_0.2_to_0.3.py │ │ ├── migrate_config_0.5.1_to_0.5.2.py │ │ ├── migrate_state.py │ │ └── migrate_state_1.3.15_to_1.4.0.py │ ├── pickles_to_json.py │ └── sync_tron_state_from_k8s.py ├── tox.ini ├── tron/ │ ├── __init__.py │ ├── actioncommand.py │ ├── api/ │ │ ├── __init__.py │ │ ├── adapter.py │ │ ├── async_resource.py │ │ ├── auth.py │ │ ├── controller.py │ │ ├── requestargs.py │ │ └── resource.py │ ├── bin/ │ │ ├── action_runner.py │ │ ├── action_status.py │ │ ├── check_tron_datastore_staleness.py │ │ ├── check_tron_jobs.py │ │ ├── get_tron_metrics.py │ │ └── recover_batch.py │ ├── command_context.py │ ├── commands/ │ │ ├── __init__.py │ │ ├── authentication.py │ │ ├── backfill.py │ │ ├── client.py │ │ ├── cmd_utils.py │ │ ├── display.py │ │ └── retry.py │ ├── config/ │ │ ├── __init__.py │ │ ├── config_parse.py │ │ ├── config_utils.py │ │ ├── manager.py │ │ ├── schedule_parse.py │ │ ├── schema.py │ │ ├── static_config.py │ │ └── tronfig_schema.json │ ├── core/ │ │ ├── __init__.py │ │ ├── action.py │ │ ├── actiongraph.py │ │ ├── actionrun.py │ │ ├── job.py │ │ ├── job_collection.py │ │ ├── job_scheduler.py │ │ ├── jobgraph.py │ │ ├── jobrun.py │ │ └── recovery.py │ ├── default_config.yaml │ ├── eventbus.py │ ├── kubernetes.py │ ├── logging.conf │ ├── manhole.py │ ├── mcp.py │ ├── mesos.py │ ├── metrics.py │ ├── node.py │ ├── prom_metrics.py │ ├── scheduler.py │ ├── serialize/ │ │ ├── __init__.py │ │ ├── filehandler.py │ │ └── runstate/ │ │ ├── __init__.py │ │ ├── dynamodb_state_store.py │ │ ├── shelvestore.py │ │ ├── statemanager.py │ │ └── yamlstore.py │ ├── ssh.py │ ├── trondaemon.py │ ├── utils/ │ │ ├── __init__.py │ │ ├── collections.py │ │ ├── crontab.py │ │ ├── exitcode.py │ │ ├── logreader.py │ │ ├── observer.py │ │ ├── persistable.py │ │ ├── proxy.py │ │ ├── queue.py │ │ ├── state.py │ │ ├── timeutils.py │ │ ├── trontimespec.py │ │ └── twistedutils.py │ └── yaml.py ├── tronweb/ │ ├── coffee/ │ │ ├── actionrun.coffee │ │ ├── config.coffee │ │ ├── dashboard.coffee │ │ ├── graph.coffee │ │ ├── job.coffee │ │ ├── models.coffee │ │ ├── navbar.coffee │ │ ├── nodes.coffee │ │ ├── routes.coffee │ │ ├── timeline.coffee │ │ └── views.coffee │ ├── css/ │ │ ├── codemirror.css │ │ ├── tronweb.less │ │ └── whhg.css │ ├── fonts/ │ │ └── SIL OFL Font License WebHostingHub Glyphs.txt │ ├── index.html │ └── js/ │ ├── backbone-min.js │ ├── codemirror.js │ ├── plugins.js │ ├── underscore-min.js │ ├── underscore.extra.js │ ├── underscore.string.js │ └── yaml.js ├── tronweb_tests/ │ ├── SpecRunner.html │ ├── spec/ │ │ └── README │ └── tests/ │ ├── actionrun_test.coffee │ ├── dashboard_test.coffee │ ├── navbar_test.coffee │ ├── routes_test.coffee │ └── timeline_test.coffee └── yelp_package/ ├── extra_requirements_yelp.txt └── jammy/ └── Dockerfile