在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → pinterest:Teletraan是Pinterest的部署系统

pinterest:Teletraan是Pinterest的部署系统

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:9.99M
  • 下载次数:0
  • 浏览次数:51
  • 发布时间:2024-03-05
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 相关标签:

实例介绍

【实例简介】
teletraan:Teletraan是Pinterest的部署系统源码下载。它支持上万个内部服务的部署,为Pinterest工程师提供快速、安全的代码交付。Teletraan支持0停机部署、回滚、分阶段部署等关键功能,以及显示提交详情、比较不同部署、通过邮件或Slack通知部署状态变化、显示指标等方便开发人员使用的功能。Teletraan目前尚不支持基于容器的部署,但您仍然可以使用Teletraan部署脚本调用docker或docker-compose来运行容器。

【实例截图】

from clipboard

【核心代码】
文件清单
└── teletraan-824f41f49b5b47d2dc0530424e96b7e3c62b2fc8
    ├── AUTHORS.md
    ├── cicd
    │   └── api-test
    │       ├── api-test.sh
    │       ├── deploy-service-api-test.postman_collection.json
    │       ├── Dockerfile
    │       └── run-as-container.sh
    ├── deploy-agent
    │   ├── bin
    │   │   └── set-deploy-status
    │   ├── deployd
    │   │   ├── agent.py
    │   │   ├── BUILD.bazel
    │   │   ├── client
    │   │   │   ├── base_client.py
    │   │   │   ├── client.py
    │   │   │   ├── __init__.py
    │   │   │   ├── restfulclient.py
    │   │   │   └── serverless_client.py
    │   │   ├── common
    │   │   │   ├── caller.py
    │   │   │   ├── config.py
    │   │   │   ├── decorators.py
    │   │   │   ├── env_status.py
    │   │   │   ├── exceptions.py
    │   │   │   ├── executor.py
    │   │   │   ├── helper.py
    │   │   │   ├── __init__.py
    │   │   │   ├── single_instance.py
    │   │   │   ├── stats.py
    │   │   │   ├── status_code.py
    │   │   │   ├── types.py
    │   │   │   └── utils.py
    │   │   ├── conf
    │   │   │   ├── agent.conf
    │   │   │   └── __init__.py
    │   │   ├── download
    │   │   │   ├── downloader.py
    │   │   │   ├── download_helper_factory.py
    │   │   │   ├── download_helper.py
    │   │   │   ├── gpg_helper.py
    │   │   │   ├── http_download_helper.py
    │   │   │   ├── __init__.py
    │   │   │   ├── local_download_helper.py
    │   │   │   └── s3_download_helper.py
    │   │   ├── __init__.py
    │   │   ├── staging
    │   │   │   ├── __init__.py
    │   │   │   ├── stager.py
    │   │   │   └── transformer.py
    │   │   ├── teletraan
    │   │   │   └── RESTARTING
    │   │   └── types
    │   │       ├── agent_status.py
    │   │       ├── build.py
    │   │       ├── deploy_goal.py
    │   │       ├── deploy_stage.py
    │   │       ├── deploy_type.py
    │   │       ├── opcode.py
    │   │       ├── ping_report.py
    │   │       ├── ping_request.py
    │   │       └── ping_response.py
    │   ├── Dockerfile.unittest
    │   ├── MANIFEST.in
    │   ├── README.md
    │   ├── requirements_test.txt
    │   ├── requirements.txt
    │   ├── setup.py
    │   ├── tests
    │   │   ├── BUILD.bazel
    │   │   ├── __init__.py
    │   │   ├── integration
    │   │   │   ├── __init__.py
    │   │   │   └── test_agent.py
    │   │   └── unit
    │   │       ├── deploy
    │   │       │   ├── client
    │   │       │   │   ├── __init__.py
    │   │       │   │   ├── test_base_client.py
    │   │       │   │   ├── test_client.py
    │   │       │   │   └── test_serverless_client.py
    │   │       │   ├── common
    │   │       │   │   ├── __init__.py
    │   │       │   │   ├── test_config.py
    │   │       │   │   ├── test_helper.py
    │   │       │   │   ├── test_stats.py
    │   │       │   │   └── test_utils.py
    │   │       │   ├── download
    │   │       │   │   ├── __init__.py
    │   │       │   │   ├── test_download_helper.py
    │   │       │   │   ├── test_http_download_helper.py
    │   │       │   │   ├── test_local_download_helper.py
    │   │       │   │   ├── test_s3_download_helper.py
    │   │       │   │   └── test.txt
    │   │       │   ├── __init__.py
    │   │       │   ├── server
    │   │       │   │   ├── __init__.py
    │   │       │   │   └── test_agent.py
    │   │       │   ├── staging
    │   │       │   │   ├── __init__.py
    │   │       │   │   ├── test_helper.py
    │   │       │   │   └── test_transformer.py
    │   │       │   ├── types
    │   │       │   │   ├── test_build.py
    │   │       │   │   ├── test_deploy_goal.py
    │   │       │   │   ├── test_ping_report.py
    │   │       │   │   └── test_ping_request.py
    │   │       │   └── utils
    │   │       │       ├── __init__.py
    │   │       │       ├── test_agent.py
    │   │       │       ├── test_exec.py
    │   │       │       └── test_status.py
    │   │       └── __init__.py
    │   ├── thirdparty
    │   │   ├── BUILD
    │   │   └── requirements.txt
    │   ├── tox.ini
    │   ├── unit_tests_docker.sh
    │   └── WORKSPACE
    ├── deploy-board
    │   ├── CHANGELOG.md
    │   ├── deploy_board
    │   │   ├── __init__.py
    │   │   ├── settings.py
    │   │   ├── static
    │   │   │   ├── css
    │   │   │   │   ├── bootstrap-chosen.css
    │   │   │   │   ├── bootstrap.experiment.min.css
    │   │   │   │   ├── bootstrap.min.css
    │   │   │   │   ├── bootstrap.slate.min.css
    │   │   │   │   ├── bootstrap-sortable.css
    │   │   │   │   ├── bootstrap-theme.min.css
    │   │   │   │   ├── chosen-sprite@2x.png
    │   │   │   │   ├── chosen-sprite.png
    │   │   │   │   ├── deploy-board.css
    │   │   │   │   ├── fuelux.min.css
    │   │   │   │   ├── star-rating.min.css
    │   │   │   │   └── typeahead.css
    │   │   │   ├── datatables
    │   │   │   │   ├── css
    │   │   │   │   │   ├── dataTables.bootstrap.css
    │   │   │   │   │   ├── dataTables.bootstrap.min.css
    │   │   │   │   │   ├── dataTables.foundation.css
    │   │   │   │   │   ├── dataTables.foundation.min.css
    │   │   │   │   │   ├── dataTables.jqueryui.css
    │   │   │   │   │   ├── dataTables.jqueryui.min.css
    │   │   │   │   │   ├── jquery.dataTables.css
    │   │   │   │   │   ├── jquery.dataTables.min.css
    │   │   │   │   │   └── jquery.dataTables_themeroller.css
    │   │   │   │   ├── images
    │   │   │   │   │   ├── sort_asc_disabled.png
    │   │   │   │   │   ├── sort_asc.png
    │   │   │   │   │   ├── sort_both.png
    │   │   │   │   │   ├── sort_desc_disabled.png
    │   │   │   │   │   └── sort_desc.png
    │   │   │   │   └── js
    │   │   │   │       ├── dataTables.bootstrap.js
    │   │   │   │       ├── dataTables.bootstrap.min.js
    │   │   │   │       ├── dataTables.foundation.js
    │   │   │   │       ├── dataTables.foundation.min.js
    │   │   │   │       ├── dataTables.jqueryui.js
    │   │   │   │       ├── dataTables.jqueryui.min.js
    │   │   │   │       ├── jquery.dataTables.js
    │   │   │   │       ├── jquery.dataTables.min.js
    │   │   │   │       └── jquery.js
    │   │   │   ├── editable
    │   │   │   │   ├── css
    │   │   │   │   │   └── bootstrap-editable.css
    │   │   │   │   ├── img
    │   │   │   │   │   ├── clear.png
    │   │   │   │   │   └── loading.gif
    │   │   │   │   └── js
    │   │   │   │       ├── bootstrap-editable.js
    │   │   │   │       └── bootstrap-editable.min.js
    │   │   │   ├── font-awesome
    │   │   │   │   ├── css
    │   │   │   │   │   ├── font-awesome.css
    │   │   │   │   │   └── font-awesome.min.css
    │   │   │   │   ├── fonts
    │   │   │   │   │   ├── FontAwesome.otf
    │   │   │   │   │   ├── fontawesome-webfont.eot
    │   │   │   │   │   ├── fontawesome-webfont.svg
    │   │   │   │   │   ├── fontawesome-webfont.ttf
    │   │   │   │   │   └── fontawesome-webfont.woff
    │   │   │   │   ├── less
    │   │   │   │   │   ├── bordered-pulled.less
    │   │   │   │   │   ├── core.less
    │   │   │   │   │   ├── fixed-width.less
    │   │   │   │   │   ├── font-awesome.less
    │   │   │   │   │   ├── icons.less
    │   │   │   │   │   ├── larger.less
    │   │   │   │   │   ├── list.less
    │   │   │   │   │   ├── mixins.less
    │   │   │   │   │   ├── path.less
    │   │   │   │   │   ├── rotated-flipped.less
    │   │   │   │   │   ├── spinning.less
    │   │   │   │   │   ├── stacked.less
    │   │   │   │   │   └── variables.less
    │   │   │   │   └── scss
    │   │   │   │       ├── _bordered-pulled.scss
    │   │   │   │       ├── _core.scss
    │   │   │   │       ├── _fixed-width.scss
    │   │   │   │       ├── font-awesome.scss
    │   │   │   │       ├── _icons.scss
    │   │   │   │       ├── _larger.scss
    │   │   │   │       ├── _list.scss
    │   │   │   │       ├── _mixins.scss
    │   │   │   │       ├── _path.scss
    │   │   │   │       ├── _rotated-flipped.scss
    │   │   │   │       ├── _spinning.scss
    │   │   │   │       ├── _stacked.scss
    │   │   │   │       └── _variables.scss
    │   │   │   ├── fonts
    │   │   │   │   ├── fuelux.eot
    │   │   │   │   ├── fuelux.svg
    │   │   │   │   ├── fuelux.ttf
    │   │   │   │   ├── fuelux.woff
    │   │   │   │   ├── glyphicons-halflings-regular.eot
    │   │   │   │   ├── glyphicons-halflings-regular.svg
    │   │   │   │   ├── glyphicons-halflings-regular.ttf
    │   │   │   │   └── glyphicons-halflings-regular.woff
    │   │   │   ├── images
    │   │   │   │   ├── aborted.png
    │   │   │   │   ├── alert.png
    │   │   │   │   ├── arrows.png
    │   │   │   │   ├── cloudeng32.png
    │   │   │   │   ├── cloudeng.png
    │   │   │   │   ├── deploy-failing-16.gif
    │   │   │   │   ├── deploy-failing-24.gif
    │   │   │   │   ├── deploy-running-16.gif
    │   │   │   │   ├── deploy-running-24.gif
    │   │   │   │   ├── favicon.ico
    │   │   │   │   ├── github20.png
    │   │   │   │   ├── github24.png
    │   │   │   │   ├── heart_red.png
    │   │   │   │   ├── hotfix20.png
    │   │   │   │   ├── hotfix32.png
    │   │   │   │   ├── jenkins20.png
    │   │   │   │   ├── jenkins24.png
    │   │   │   │   ├── loading.gif
    │   │   │   │   ├── logo1.png
    │   │   │   │   ├── logo-home-1x.png
    │   │   │   │   ├── logo-white-1x.png
    │   │   │   │   ├── MidLoader.gif
    │   │   │   │   ├── pinrepo20.jpg
    │   │   │   │   ├── pinrepo20.png
    │   │   │   │   ├── pinrepo24.png
    │   │   │   │   ├── regular20.png
    │   │   │   │   ├── regular32.png
    │   │   │   │   ├── restart20.png
    │   │   │   │   ├── restart32.png
    │   │   │   │   ├── rollback20.png
    │   │   │   │   ├── rollback32.png
    │   │   │   │   ├── succeeded.png
    │   │   │   │   ├── teletraan-general-error.png
    │   │   │   │   ├── teletraan-lock.png
    │   │   │   │   ├── teletraan-logo.png
    │   │   │   │   └── teletraan.png
    │   │   │   ├── img
    │   │   │   │   ├── arrows.png
    │   │   │   │   └── copy.png
    │   │   │   └── js
    │   │   │       ├── apidoc.js
    │   │   │       ├── base-image-utils.js
    │   │   │       ├── bootstrap.min.js
    │   │   │       ├── bootstrap-sortable.js
    │   │   │       ├── bootstrap-table-filter-control.js
    │   │   │       ├── bootstrap-table.js
    │   │   │       ├── bootstrap-uploadprogress.js
    │   │   │       ├── chosen.jquery.min.js
    │   │   │       ├── components
    │   │   │       │   ├── capacitycomponents.js
    │   │   │       │   ├── clusterconfigcomponents.js
    │   │   │       │   └── sharedcomponents.js
    │   │   │       ├── data-validation-helpers.js
    │   │   │       ├── deploy-board.js
    │   │   │       ├── fuelux.min.js
    │   │   │       ├── jquery-1.11.1.min.js
    │   │   │       ├── js.cookie-2.0.3.min.js
    │   │   │       ├── private
    │   │   │       │   ├── build_details.js
    │   │   │       │   └── env_landing.js
    │   │   │       ├── rapidoc-min.js
    │   │   │       ├── star-rating.min.js
    │   │   │       ├── typeahead.bundle.min.js
    │   │   │       ├── vue.js
    │   │   │       └── vue.min.js
    │   │   ├── templates
    │   │   │   ├── base.html
    │   │   │   ├── builds
    │   │   │   │   ├── build_details.html
    │   │   │   │   ├── build_details.tmpl
    │   │   │   │   ├── build_names.html
    │   │   │   │   ├── builds_base.html
    │   │   │   │   ├── builds_by_commit.html
    │   │   │   │   ├── builds.html
    │   │   │   │   ├── builds.tmpl
    │   │   │   │   ├── commit_rows.tmpl
    │   │   │   │   ├── commits.tmpl
    │   │   │   │   ├── config_history_filter.tmpl
    │   │   │   │   ├── confirm_tag_build.tmpl
    │   │   │   │   ├── pick_a_build.tmpl
    │   │   │   │   ├── show_commits.tmpl
    │   │   │   │   └── simple_builds.tmpl
    │   │   │   ├── clusters
    │   │   │   │   ├── base_image_history.html
    │   │   │   │   ├── base_image_info.tmpl
    │   │   │   │   ├── base_images_events.html
    │   │   │   │   ├── base_images_events.tmpl
    │   │   │   │   ├── base_images.html
    │   │   │   │   ├── base_images.tmpl
    │   │   │   │   ├── cluster_capacity.tmpl
    │   │   │   │   ├── cluster_configuration.html
    │   │   │   │   ├── cluster-replacement-details.tmpl
    │   │   │   │   ├── cluster-replacements.tmpl
    │   │   │   │   ├── clusters.html
    │   │   │   │   ├── get_base_image.tmpl
    │   │   │   │   ├── get_host_type.tmpl
    │   │   │   │   ├── get_image_name.tmpl
    │   │   │   │   ├── get_placement.tmpl
    │   │   │   │   ├── get_security_zone.tmpl
    │   │   │   │   ├── host_types.html
    │   │   │   │   ├── host_types.tmpl
    │   │   │   │   ├── modify_host_type_modal.tmpl
    │   │   │   │   ├── placements.html
    │   │   │   │   ├── placements.tmpl
    │   │   │   │   ├── schedule.tmpl
    │   │   │   │   ├── security_zones.html
    │   │   │   │   └── security_zones.tmpl
    │   │   │   ├── configs
    │   │   │   │   ├── alarm_config.html
    │   │   │   │   ├── alarm_config.tmpl
    │   │   │   │   ├── alarm_details.tmpl
    │   │   │   │   ├── capacity.html
    │   │   │   │   ├── capacity.tmpl
    │   │   │   │   ├── cmp_capacity.tmpl
    │   │   │   │   ├── config_history.html
    │   │   │   │   ├── config_history.tmpl
    │   │   │   │   ├── config_map.html
    │   │   │   │   ├── config_map.tmpl
    │   │   │   │   ├── env_config_comparison_result.html
    │   │   │   │   ├── env_config.html
    │   │   │   │   ├── env_config.tmpl
    │   │   │   │   ├── metrics_config.html
    │   │   │   │   ├── metrics_config.tmpl
    │   │   │   │   ├── new_capacity_adv.html
    │   │   │   │   ├── new_capacity.html
    │   │   │   │   ├── promote_config.html
    │   │   │   │   ├── promote_config.tmpl
    │   │   │   │   ├── schedule_config.html
    │   │   │   │   ├── schedule_config.tmpl
    │   │   │   │   ├── webhooks_config.html
    │   │   │   │   └── webhooks_config.tmpl
    │   │   │   ├── deploys
    │   │   │   │   ├── add_constraint_modal.tmpl
    │   │   │   │   ├── all_history.html
    │   │   │   │   ├── confirm_deploy.tmpl
    │   │   │   │   ├── confirm_override.tmpl
    │   │   │   │   ├── confirm_promote.tmpl
    │   │   │   │   ├── confirm_rollback.tmpl
    │   │   │   │   ├── _container_status.html
    │   │   │   │   ├── daily_deploy_count.tmpl
    │   │   │   │   ├── deploy_add_ons.tmpl
    │   │   │   │   ├── deploy_build.html
    │   │   │   │   ├── deploy_commits.html
    │   │   │   │   ├── deploy_details.html
    │   │   │   │   ├── deploy_details.tmpl
    │   │   │   │   ├── deploy_history.tmpl
    │   │   │   │   ├── deploy_logging_check_landing.tmpl
    │   │   │   │   ├── deploy_logging_check_update.tmpl
    │   │   │   │   ├── deploy_progress_summary.tmpl
    │   │   │   │   ├── deploy_progress.tmpl
    │   │   │   │   ├── deploy_schedule.html
    │   │   │   │   ├── deploys_pagination_footer.tmpl
    │   │   │   │   ├── deploys_pagination_header.tmpl
    │   │   │   │   ├── deploys.tmpl
    │   │   │   │   ├── duplicate_commit_deploy_message.tmpl
    │   │   │   │   ├── edit_constraint_modal.tmpl
    │   │   │   │   ├── new_deploy.html
    │   │   │   │   ├── ongoing_deploys.tmpl
    │   │   │   │   ├── remove_constraint_modal.tmpl
    │   │   │   │   ├── schedule.tmpl
    │   │   │   │   ├── simple_deploy_details.tmpl
    │   │   │   │   ├── simple_pred_deploys.tmpl
    │   │   │   │   ├── warning_no_deploy.tmpl
    │   │   │   │   └── warning_no_nimbus_project_no_deploy.tmpl
    │   │   │   ├── environs
    │   │   │   │   ├── env_base.html
    │   │   │   │   ├── env_deploy_details.html
    │   │   │   │   ├── env_empty.html
    │   │   │   │   ├── env_history.html
    │   │   │   │   ├── env_hosts.html
    │   │   │   │   ├── env_host_tags.html
    │   │   │   │   ├── env_landing.html
    │   │   │   │   ├── env_promote.html
    │   │   │   │   ├── env_rollback.html
    │   │   │   │   ├── envs_base.html
    │   │   │   │   ├── envs_landing.html
    │   │   │   │   ├── env_tabs.tmpl
    │   │   │   │   ├── new_env_modal.tmpl
    │   │   │   │   ├── new_stage_modal.tmpl
    │   │   │   │   ├── remove_stage_modal.tmpl
    │   │   │   │   ├── simple_envs.tmpl
    │   │   │   │   ├── site_health.tmpl
    │   │   │   │   └── tag_message.tmpl
    │   │   │   ├── error.html
    │   │   │   ├── error.tmpl
    │   │   │   ├── feedbacks
    │   │   │   │   ├── feedback_banner.tmpl
    │   │   │   │   ├── feedback_landing.html
    │   │   │   │   └── feedback_modal.tmpl
    │   │   │   ├── groups
    │   │   │   │   ├── asg_config.html
    │   │   │   │   ├── asg_config.tmpl
    │   │   │   │   ├── asg_metrics.tmpl
    │   │   │   │   ├── asg_policy.tmpl
    │   │   │   │   ├── asg_schedules.tmpl
    │   │   │   │   ├── config_loading.tmpl
    │   │   │   │   ├── create_asg_modal.tmpl
    │   │   │   │   ├── deletion_loading.tmpl
    │   │   │   │   ├── get_ami.tmpl
    │   │   │   │   ├── get_config.tmpl
    │   │   │   │   ├── get_hosttype.tmpl
    │   │   │   │   ├── get_sg.tmpl
    │   │   │   │   ├── get_subnets.tmpl
    │   │   │   │   ├── group_base.html
    │   │   │   │   ├── group_config_comparison_result.html
    │   │   │   │   ├── group_config_history.html
    │   │   │   │   ├── group_config_history.tmpl
    │   │   │   │   ├── group_config.tmpl
    │   │   │   │   ├── group_details.html
    │   │   │   │   ├── group_envs.tmpl
    │   │   │   │   ├── group_info.tmpl
    │   │   │   │   ├── group_landing.html
    │   │   │   │   ├── group_side_panel.html
    │   │   │   │   ├── group_stats.tmpl
    │   │   │   │   ├── health_check_activities.html
    │   │   │   │   ├── health_check_activities.tmpl
    │   │   │   │   ├── health_check_details.html
    │   │   │   │   ├── host_infos.html
    │   │   │   │   ├── latency_stats.tmpl
    │   │   │   │   ├── launch_config.tmpl
    │   │   │   │   ├── launch_rate.tmpl
    │   │   │   │   ├── pase_config.tmpl
    │   │   │   │   ├── pas_stats.tmpl
    │   │   │   │   ├── scaling_activities.html
    │   │   │   │   ├── scaling_activities.tmpl
    │   │   │   │   ├── scaling_details.tmpl
    │   │   │   │   └── simple_groups.tmpl
    │   │   │   ├── hosts
    │   │   │   │   ├── host_details.html
    │   │   │   │   ├── host_details.tmpl
    │   │   │   │   ├── hosts_base.html
    │   │   │   │   ├── hosts.tmpl
    │   │   │   │   ├── host_tags_sync_progress.tmpl
    │   │   │   │   └── host_tags.tmpl
    │   │   │   ├── host_side_panel.html
    │   │   │   ├── hotfixs
    │   │   │   │   ├── cherry_pick.html
    │   │   │   │   ├── hotfix_detail.html
    │   │   │   │   ├── hotfix_detail.tmpl
    │   │   │   │   └── hotfix_landing.html
    │   │   │   ├── landing.html
    │   │   │   ├── message_banner.tmpl
    │   │   │   ├── oauth_failure.html
    │   │   │   ├── panel_heading.tmpl
    │   │   │   ├── swagger-ui
    │   │   │   │   └── dist
    │   │   │   │       ├── index.html
    │   │   │   │       └── o2c.html
    │   │   │   ├── under_construction.html
    │   │   │   ├── users
    │   │   │   │   ├── not_authorized.html
    │   │   │   │   ├── not_authorized.tmpl
    │   │   │   │   ├── users_config.html
    │   │   │   │   └── users_config.tmpl
    │   │   │   ├── warn_deploy_bad_build.tmpl
    │   │   │   └── warn_no_success_deploy_in_pred.tmpl
    │   │   ├── urls.py
    │   │   ├── webapp
    │   │   │   ├── agent_report.py
    │   │   │   ├── alarm_views.py
    │   │   │   ├── arcee_urls.py
    │   │   │   ├── auth.py
    │   │   │   ├── build_views.py
    │   │   │   ├── capacity_views.py
    │   │   │   ├── cluster_urls.py
    │   │   │   ├── cluster_view.py
    │   │   │   ├── common.py
    │   │   │   ├── config_map_views.py
    │   │   │   ├── deploy_views.py
    │   │   │   ├── docs_views.py
    │   │   │   ├── env_config_views.py
    │   │   │   ├── env_views.py
    │   │   │   ├── error_views.py
    │   │   │   ├── feedback_views.py
    │   │   │   ├── group_view.py
    │   │   │   ├── helpers
    │   │   │   │   ├── agents_helper.py
    │   │   │   │   ├── arches_helper.py
    │   │   │   │   ├── autoscaling_groups_helper.py
    │   │   │   │   ├── autoscaling_metrics_helper.py
    │   │   │   │   ├── base_client.py
    │   │   │   │   ├── baseimages_helper.py
    │   │   │   │   ├── builds_helper.py
    │   │   │   │   ├── cells_helper.py
    │   │   │   │   ├── clusters_helper.py
    │   │   │   │   ├── decorators.py
    │   │   │   │   ├── deployclient.py
    │   │   │   │   ├── deploys_helper.py
    │   │   │   │   ├── environ_hosts_helper.py
    │   │   │   │   ├── environs_helper.py
    │   │   │   │   ├── exceptions.py
    │   │   │   │   ├── groups_helper.py
    │   │   │   │   ├── hosts_helper.py
    │   │   │   │   ├── hosttypes_helper.py
    │   │   │   │   ├── hotfixs_helper.py
    │   │   │   │   ├── __init__.py
    │   │   │   │   ├── nimbusclient.py
    │   │   │   │   ├── placements_helper.py
    │   │   │   │   ├── ratings_helper.py
    │   │   │   │   ├── rodimus_client.py
    │   │   │   │   ├── schedules_helper.py
    │   │   │   │   ├── securityzones_helper.py
    │   │   │   │   ├── settings_logging.py
    │   │   │   │   ├── specs_helper.py
    │   │   │   │   ├── systems_helper.py
    │   │   │   │   ├── tags_helper.py
    │   │   │   │   └── users_helper.py
    │   │   │   ├── host_tags_views.py
    │   │   │   ├── host_views.py
    │   │   │   ├── hotfix_views.py
    │   │   │   ├── __init__.py
    │   │   │   ├── metrics_views.py
    │   │   │   ├── mix_urls.py
    │   │   │   ├── promote_views.py
    │   │   │   ├── schedule_views.py
    │   │   │   ├── security.py
    │   │   │   ├── service_add_ons.py
    │   │   │   ├── templatetags
    │   │   │   │   ├── __init__.py
    │   │   │   │   └── utils.py
    │   │   │   ├── urls.py
    │   │   │   ├── user_views.py
    │   │   │   ├── util_views.py
    │   │   │   └── webhook_views.py
    │   │   └── wsgi.py
    │   ├── Dockerfile
    │   ├── include
    │   │   └── python2.7
    │   ├── __init__.py
    │   ├── integ_test
    │   │   ├── agent_tests.py
    │   │   ├── auto_deploy_tests.py
    │   │   ├── build_tests.py
    │   │   ├── commons.py
    │   │   ├── env_config_tests.py
    │   │   ├── env_deploy_tests.py
    │   │   ├── ping_tests.py
    │   │   ├── README
    │   │   └── run.sh
    │   ├── manage.py
    │   ├── README.md
    │   ├── requirements.txt
    │   ├── run.sh
    │   ├── setup.py
    │   ├── tools
    │   │   ├── agent_simulator.py
    │   │   ├── commons.py
    │   │   ├── create_deploy.py
    │   │   ├── create_env.py
    │   │   ├── pinger.py
    │   │   ├── publish_build.py
    │   │   ├── README
    │   │   ├── run.sh
    │   │   └── tmux
    │   │       ├── devserver
    │   │       └── teletraan.tmux.conf
    │   └── tox.ini
    ├── deploy-sentinel
    │   ├── agent.conf
    │   ├── demo_provision.sh
    │   ├── demo_run.sh
    │   ├── host_info
    │   ├── Makefile
    │   ├── mysite
    │   │   ├── manage.py
    │   │   └── mysite
    │   │       ├── __init__.py
    │   │       ├── settings.py
    │   │       ├── urls.py
    │   │       └── wsgi.py
    │   ├── quickstart.py
    │   ├── README.md
    │   ├── teletraan
    │   │   ├── POST_DOWNLOAD
    │   │   ├── POST_RESTART
    │   │   ├── PRE_DOWNLOAD
    │   │   ├── PRE_RESTART
    │   │   ├── RESTARTING
    │   │   ├── STOPPING
    │   │   └── test.conf.tmpl
    │   └── Vagrantfile
    ├── deploy-service
    │   ├── common
    │   │   ├── pom.xml
    │   │   └── src
    │   │       ├── main
    │   │       │   ├── java
    │   │       │   │   └── com
    │   │       │   │       └── pinterest
    │   │       │   │           └── deployservice
    │   │       │   │               ├── alerts
    │   │       │   │               │   ├── AlertAction.java
    │   │       │   │               │   ├── AlertContextBuilder.java
    │   │       │   │               │   ├── AlertContext.java
    │   │       │   │               │   ├── AutoRollbackAction.java
    │   │       │   │               │   ├── DefaultAlertContextBuilder.java
    │   │       │   │               │   ├── ExternalAlertFactory.java
    │   │       │   │               │   ├── MarkBadBuildAction.java
    │   │       │   │               │   └── PinterestExternalAlertFactory.java
    │   │       │   │               ├── allowlists
    │   │       │   │               │   ├── Allowlist.java
    │   │       │   │               │   └── BuildAllowlistImpl.java
    │   │       │   │               ├── bean
    │   │       │   │               │   ├── AcceptanceStatus.java
    │   │       │   │               │   ├── AcceptanceType.java
    │   │       │   │               │   ├── AgentBean.java
    │   │       │   │               │   ├── AgentCountBean.java
    │   │       │   │               │   ├── AgentErrorBean.java
    │   │       │   │               │   ├── AgentState.java
    │   │       │   │               │   ├── AgentStatus.java
    │   │       │   │               │   ├── AlarmBean.java
    │   │       │   │               │   ├── BuildBean.java
    │   │       │   │               │   ├── BuildTagBean.java
    │   │       │   │               │   ├── ChatMessageBean.java
    │   │       │   │               │   ├── CommitBean.java
    │   │       │   │               │   ├── ConfigHistoryBean.java
    │   │       │   │               │   ├── DataBean.java
    │   │       │   │               │   ├── DeployBean.java
    │   │       │   │               │   ├── DeployCandidatesResponse.java
    │   │       │   │               │   ├── DeployConstraintBean.java
    │   │       │   │               │   ├── DeployConstraintType.java
    │   │       │   │               │   ├── DeployFilterBean.java
    │   │       │   │               │   ├── DeployGoalBean.java
    │   │       │   │               │   ├── DeployPriority.java
    │   │       │   │               │   ├── DeployProgressBean.java
    │   │       │   │               │   ├── DeployQueryResultBean.java
    │   │       │   │               │   ├── DeployStage.java
    │   │       │   │               │   ├── DeployState.java
    │   │       │   │               │   ├── DeployType.java
    │   │       │   │               │   ├── EnvironBean.java
    │   │       │   │               │   ├── EnvironState.java
    │   │       │   │               │   ├── EnvState.java
    │   │       │   │               │   ├── EnvType.java
    │   │       │   │               │   ├── EnvWebHookBean.java
    │   │       │   │               │   ├── ExternalAlert.java
    │   │       │   │               │   ├── GroupHostBean.java
    │   │       │   │               │   ├── GroupRolesBean.java
    │   │       │   │               │   ├── HostAgentBean.java
    │   │       │   │               │   ├── HostBean.java
    │   │       │   │               │   ├── HostState.java
    │   │       │   │               │   ├── HostTagBean.java
    │   │       │   │               │   ├── HostTagInfo.java
    │   │       │   │               │   ├── HotfixBean.java
    │   │       │   │               │   ├── HotfixState.java
    │   │       │   │               │   ├── MetricsConfigBean.java
    │   │       │   │               │   ├── MetricsSpecBean.java
    │   │       │   │               │   ├── OpCode.java
    │   │       │   │               │   ├── OverridePolicy.java
    │   │       │   │               │   ├── PingReportBean.java
    │   │       │   │               │   ├── PingRequestBean.java
    │   │       │   │               │   ├── PingResponseBean.java
    │   │       │   │               │   ├── PingResult.java
    │   │       │   │               │   ├── PromoteBean.java
    │   │       │   │               │   ├── PromoteDisablePolicy.java
    │   │       │   │               │   ├── PromoteFailPolicy.java
    │   │       │   │               │   ├── PromoteType.java
    │   │       │   │               │   ├── RatingBean.java
    │   │       │   │               │   ├── Resource.java
    │   │       │   │               │   ├── Role.java
    │   │       │   │               │   ├── ScheduleBean.java
    │   │       │   │               │   ├── ScheduleState.java
    │   │       │   │               │   ├── SetClause.java
    │   │       │   │               │   ├── TagBean.java
    │   │       │   │               │   ├── TagSyncState.java
    │   │       │   │               │   ├── TagTargetType.java
    │   │       │   │               │   ├── TagValue.java
    │   │       │   │               │   ├── TokenRolesBean.java
    │   │       │   │               │   ├── Updatable.java
    │   │       │   │               │   ├── UpdateStatement.java
    │   │       │   │               │   ├── UserRolesBean.java
    │   │       │   │               │   └── WebHookBean.java
    │   │       │   │               ├── buildtags
    │   │       │   │               │   ├── BuildTagsManagerImpl.java
    │   │       │   │               │   └── BuildTagsManager.java
    │   │       │   │               ├── chat
    │   │       │   │               │   ├── ChatManager.java
    │   │       │   │               │   ├── DefaultChatManager.java
    │   │       │   │               │   ├── HipChatManager.java
    │   │       │   │               │   └── SlackChatManager.java
    │   │       │   │               ├── common
    │   │       │   │               │   ├── AlarmDataFactory.java
    │   │       │   │               │   ├── ChangeFeedJob.java
    │   │       │   │               │   ├── CommonUtils.java
    │   │       │   │               │   ├── Constants.java
    │   │       │   │               │   ├── DBConfigReader.java
    │   │       │   │               │   ├── DeployInternalException.java
    │   │       │   │               │   ├── EncryptionUtils.java
    │   │       │   │               │   ├── EventMessage.java
    │   │       │   │               │   ├── HTTPClient.java
    │   │       │   │               │   ├── Jenkins.java
    │   │       │   │               │   ├── KeyReaderFactory.java
    │   │       │   │               │   ├── KeyReader.java
    │   │       │   │               │   ├── KnoxDBKeyReader.java
    │   │       │   │               │   ├── KnoxKeyManager.java
    │   │       │   │               │   ├── KnoxKeyReader.java
    │   │       │   │               │   ├── MetricsDataFactory.java
    │   │       │   │               │   ├── NotificationJob.java
    │   │       │   │               │   ├── PersistableJSONFactory.java
    │   │       │   │               │   ├── StateMachines.java
    │   │       │   │               │   ├── TarUtils.java
    │   │       │   │               │   └── WebhookDataFactory.java
    │   │       │   │               ├── dao
    │   │       │   │               │   ├── AgentCountDAO.java
    │   │       │   │               │   ├── AgentDAO.java
    │   │       │   │               │   ├── AgentErrorDAO.java
    │   │       │   │               │   ├── BuildDAO.java
    │   │       │   │               │   ├── ConfigHistoryDAO.java
    │   │       │   │               │   ├── DataDAO.java
    │   │       │   │               │   ├── DeployConstraintDAO.java
    │   │       │   │               │   ├── DeployDAO.java
    │   │       │   │               │   ├── EnvironDAO.java
    │   │       │   │               │   ├── GroupDAO.java
    │   │       │   │               │   ├── GroupRolesDAO.java
    │   │       │   │               │   ├── HostAgentDAO.java
    │   │       │   │               │   ├── HostDAO.java
    │   │       │   │               │   ├── HostTagDAO.java
    │   │       │   │               │   ├── HotfixDAO.java
    │   │       │   │               │   ├── PromoteDAO.java
    │   │       │   │               │   ├── RatingDAO.java
    │   │       │   │               │   ├── ScheduleDAO.java
    │   │       │   │               │   ├── TagDAO.java
    │   │       │   │               │   ├── TokenRolesDAO.java
    │   │       │   │               │   ├── UserRolesDAO.java
    │   │       │   │               │   └── UtilDAO.java
    │   │       │   │               ├── db
    │   │       │   │               │   ├── DatabaseUtil.java
    │   │       │   │               │   ├── DBAgentCountDAOImpl.java
    │   │       │   │               │   ├── DBAgentDAOImpl.java
    │   │       │   │               │   ├── DBAgentErrorDAOImpl.java
    │   │       │   │               │   ├── DBBuildDAOImpl.java
    │   │       │   │               │   ├── DBConfigHistoryDAOImpl.java
    │   │       │   │               │   ├── DBDataDAOImpl.java
    │   │       │   │               │   ├── DBDeployConstraintDAOImpl.java
    │   │       │   │               │   ├── DBDeployDAOImpl.java
    │   │       │   │               │   ├── DBEnvironDAOImpl.java
    │   │       │   │               │   ├── DBGroupDAOImpl.java
    │   │       │   │               │   ├── DBGroupRolesDAOImpl.java
    │   │       │   │               │   ├── DBHostAgentDAOImpl.java
    │   │       │   │               │   ├── DBHostDAOImpl.java
    │   │       │   │               │   ├── DBHostTagDAOImpl.java
    │   │       │   │               │   ├── DBHotfixDAOImpl.java
    │   │       │   │               │   ├── DBPromoteDAOImpl.java
    │   │       │   │               │   ├── DBRatingsDAOImpl.java
    │   │       │   │               │   ├── DBScheduleDAOImpl.java
    │   │       │   │               │   ├── DBTagDAOImpl.java
    │   │       │   │               │   ├── DBTokenRolesDAOImpl.java
    │   │       │   │               │   ├── DBUserRolesDAOImpl.java
    │   │       │   │               │   ├── DBUtilDAOImpl.java
    │   │       │   │               │   ├── DeployQueryFilter.java
    │   │       │   │               │   ├── HostTagBeanRowProcessor.java
    │   │       │   │               │   ├── QueryUtils.java
    │   │       │   │               │   └── SingleResultSetHandlerFactory.java
    │   │       │   │               ├── email
    │   │       │   │               │   ├── DefaultMailManager.java
    │   │       │   │               │   ├── MailManager.java
    │   │       │   │               │   └── SMTPMailManagerImpl.java
    │   │       │   │               ├── events
    │   │       │   │               │   ├── BuildEventPublisher.java
    │   │       │   │               │   ├── DeployEvent.java
    │   │       │   │               │   └── EventBridgePublisher.java
    │   │       │   │               ├── exception
    │   │       │   │               │   └── TeletaanInternalException.java
    │   │       │   │               ├── group
    │   │       │   │               │   ├── CMDBHostGroupManager.java
    │   │       │   │               │   ├── DefaultHostGroupManager.java
    │   │       │   │               │   └── HostGroupManager.java
    │   │       │   │               ├── handler
    │   │       │   │               │   ├── BuildTagHandler.java
    │   │       │   │               │   ├── CommonHandler.java
    │   │       │   │               │   ├── ConfigHistoryHandler.java
    │   │       │   │               │   ├── DataHandler.java
    │   │       │   │               │   ├── DeployHandlerInterface.java
    │   │       │   │               │   ├── DeployHandler.java
    │   │       │   │               │   ├── EnvironHandler.java
    │   │       │   │               │   ├── EnvTagHandler.java
    │   │       │   │               │   ├── GoalAnalyst.java
    │   │       │   │               │   ├── HostHandler.java
    │   │       │   │               │   ├── PingHandler.java
    │   │       │   │               │   ├── RatingsHandler.java
    │   │       │   │               │   ├── TagHandler.java
    │   │       │   │               │   └── WebhookJob.java
    │   │       │   │               ├── knox
    │   │       │   │               │   ├── CommandLineKnox.java
    │   │       │   │               │   ├── FileSystemKnox.java
    │   │       │   │               │   ├── Knox.java
    │   │       │   │               │   └── KnoxJsonDecoder.java
    │   │       │   │               ├── metrics
    │   │       │   │               │   ├── DefaultHostClassifier.java
    │   │       │   │               │   └── HostClassifier.java
    │   │       │   │               ├── pingrequests
    │   │       │   │               │   ├── Ec2InstanceValidator.java
    │   │       │   │               │   └── PingRequestValidator.java
    │   │       │   │               ├── rodimus
    │   │       │   │               │   ├── DefaultRodimusManager.java
    │   │       │   │               │   ├── RodimusManagerImpl.java
    │   │       │   │               │   └── RodimusManager.java
    │   │       │   │               ├── scm
    │   │       │   │               │   ├── BaseManager.java
    │   │       │   │               │   ├── DefaultSourceControlManager.java
    │   │       │   │               │   ├── GithubManager.java
    │   │       │   │               │   ├── PhabricatorManager.java
    │   │       │   │               │   ├── SourceControlManager.java
    │   │       │   │               │   └── SourceControlManagerProxy.java
    │   │       │   │               └── ServiceContext.java
    │   │       │   └── resources
    │   │       │       └── sql
    │   │       │           ├── cleanup.sql
    │   │       │           └── deploy.sql
    │   │       └── test
    │   │           └── java
    │   │               └── com
    │   │                   └── pinterest
    │   │                       └── deployservice
    │   │                           ├── alerts
    │   │                           │   └── PinterestExternalAlertFactoryTest.java
    │   │                           ├── bean
    │   │                           │   └── BeanUtils.java
    │   │                           ├── buildtags
    │   │                           │   └── BuildTagsManagerImplTest.java
    │   │                           ├── common
    │   │                           │   ├── CommonUtilsTest.java
    │   │                           │   ├── DBConfigReaderTest.java
    │   │                           │   ├── HTTPClientTest.java
    │   │                           │   ├── KnoxKeyReaderTest.java
    │   │                           │   ├── KnoxKeyTest.java
    │   │                           │   └── TarUtilsTest.java
    │   │                           ├── db
    │   │                           │   └── DBDAOTest.java
    │   │                           ├── events
    │   │                           │   └── EventBridgePublisherTest.java
    │   │                           ├── group
    │   │                           │   └── CMDBHostGroupManagerTest.java
    │   │                           ├── handler
    │   │                           │   ├── ConfigHistoryHandlerTest.java
    │   │                           │   ├── EnvironHandlerTest.java
    │   │                           │   ├── GoalAnalystTest.java
    │   │                           │   └── PingHandlerTest.java
    │   │                           ├── metrics
    │   │                           │   └── DefaultHostClassifierTest.java
    │   │                           ├── rodimus
    │   │                           │   └── RodimusManagerImplTest.java
    │   │                           └── scm
    │   │                               └── GithubManagerTest.java
    │   ├── Dockerfile.dev
    │   ├── pom.xml
    │   ├── README.md
    │   ├── settings.xml
    │   ├── teletraanservice
    │   │   ├── bin
    │   │   │   ├── run.sh
    │   │   │   ├── server-no-db.yaml
    │   │   │   └── server.yaml
    │   │   ├── Dockerfile
    │   │   ├── pom.xml
    │   │   └── src
    │   │       ├── assembly
    │   │       │   └── teletraanservice.xml
    │   │       ├── main
    │   │       │   ├── java
    │   │       │   │   └── com
    │   │       │   │       └── pinterest
    │   │       │   │           └── teletraan
    │   │       │   │               ├── config
    │   │       │   │               │   ├── AnonymousAuthenticationFactory.java
    │   │       │   │               │   ├── AppEventFactory.java
    │   │       │   │               │   ├── AuthenticationFactory.java
    │   │       │   │               │   ├── AuthorizationFactory.java
    │   │       │   │               │   ├── AutoScalingFactory.java
    │   │       │   │               │   ├── AwsFactory.java
    │   │       │   │               │   ├── BuildAllowlistFactory.java
    │   │       │   │               │   ├── ChatFactory.java
    │   │       │   │               │   ├── CMDBFactory.java
    │   │       │   │               │   ├── DataSourceFactory.java
    │   │       │   │               │   ├── DefaultChatFactory.java
    │   │       │   │               │   ├── DefaultEmailFactory.java
    │   │       │   │               │   ├── DefaultHostGroupFactory.java
    │   │       │   │               │   ├── DefaultSourceControlFactory.java
    │   │       │   │               │   ├── EmailFactory.java
    │   │       │   │               │   ├── EmbeddedDataSourceFactory.java
    │   │       │   │               │   ├── ExternalAlertsConfigFactory.java
    │   │       │   │               │   ├── GithubFactory.java
    │   │       │   │               │   ├── HipchatFactory.java
    │   │       │   │               │   ├── HostGroupFactory.java
    │   │       │   │               │   ├── JenkinsFactory.java
    │   │       │   │               │   ├── MicrometerMetricsFactory.java
    │   │       │   │               │   ├── MysqlDataSourceFactory.java
    │   │       │   │               │   ├── OpenAuthorizationFactory.java
    │   │       │   │               │   ├── PhabricatorFactory.java
    │   │       │   │               │   ├── RodimusFactory.java
    │   │       │   │               │   ├── SlackFactory.java
    │   │       │   │               │   ├── SMTPFactory.java
    │   │       │   │               │   ├── SourceControlFactory.java
    │   │       │   │               │   ├── SystemFactory.java
    │   │       │   │               │   ├── TokenAuthenticationFactory.java
    │   │       │   │               │   ├── TokenAuthorizationFactory.java
    │   │       │   │               │   ├── WorkerConfig.java
    │   │       │   │               │   └── ZKMysqlDataSourceFactory.java
    │   │       │   │               ├── ConfigHelper.java
    │   │       │   │               ├── exception
    │   │       │   │               │   └── GenericExceptionMapper.java
    │   │       │   │               ├── health
    │   │       │   │               │   ├── GenericHealthCheck.java
    │   │       │   │               │   └── WorkerHealthCheck.java
    │   │       │   │               ├── resource
    │   │       │   │               │   ├── Agents.java
    │   │       │   │               │   ├── Builds.java
    │   │       │   │               │   ├── Commits.java
    │   │       │   │               │   ├── DeployCandidates.java
    │   │       │   │               │   ├── DeployConstraints.java
    │   │       │   │               │   ├── Deploys.java
    │   │       │   │               │   ├── EnvAgentConfigs.java
    │   │       │   │               │   ├── EnvAgents.java
    │   │       │   │               │   ├── EnvAlarms.java
    │   │       │   │               │   ├── EnvAlerts.java
    │   │       │   │               │   ├── EnvCapacities.java
    │   │       │   │               │   ├── EnvDeploys.java
    │   │       │   │               │   ├── EnvGroupRoles.java
    │   │       │   │               │   ├── EnvHistory.java
    │   │       │   │               │   ├── EnvHosts.java
    │   │       │   │               │   ├── EnvHostTags.java
    │   │       │   │               │   ├── Environs.java
    │   │       │   │               │   ├── EnvMetrics.java
    │   │       │   │               │   ├── EnvPromotes.java
    │   │       │   │               │   ├── EnvScriptConfigs.java
    │   │       │   │               │   ├── EnvStages.java
    │   │       │   │               │   ├── EnvTokenRoles.java
    │   │       │   │               │   ├── EnvUserRoles.java
    │   │       │   │               │   ├── EnvWebHooks.java
    │   │       │   │               │   ├── GroupRoles.java
    │   │       │   │               │   ├── Groups.java
    │   │       │   │               │   ├── Hosts.java
    │   │       │   │               │   ├── Hotfixs.java
    │   │       │   │               │   ├── Pings.java
    │   │       │   │               │   ├── Ratings.java
    │   │       │   │               │   ├── Schedules.java
    │   │       │   │               │   ├── SystemGroupRoles.java
    │   │       │   │               │   ├── Systems.java
    │   │       │   │               │   ├── SystemTokenRoles.java
    │   │       │   │               │   ├── SystemUserRoles.java
    │   │       │   │               │   ├── Tags.java
    │   │       │   │               │   ├── TokenRoles.java
    │   │       │   │               │   ├── UserRoles.java
    │   │       │   │               │   └── Utils.java
    │   │       │   │               ├── security
    │   │       │   │               │   ├── AnonymousAuthFilter.java
    │   │       │   │               │   ├── AnonymousUser.java
    │   │       │   │               │   ├── Authorizer.java
    │   │       │   │               │   ├── OpenAuthorizer.java
    │   │       │   │               │   ├── RoleAuthorizer.java
    │   │       │   │               │   ├── TokenAuthFilter.java
    │   │       │   │               │   ├── UserDataHelper.java
    │   │       │   │               │   ├── UserPrincipal.java
    │   │       │   │               │   ├── UserResourceKey.java
    │   │       │   │               │   └── UserSecurityContext.java
    │   │       │   │               ├── TeletraanAgentService.java
    │   │       │   │               ├── TeletraanServiceConfiguration.java
    │   │       │   │               ├── TeletraanServiceContext.java
    │   │       │   │               ├── TeletraanService.java
    │   │       │   │               ├── TeletraanWorker.java
    │   │       │   │               └── worker
    │   │       │   │                   ├── AgentJanitor.java
    │   │       │   │                   ├── AutoPromoter.java
    │   │       │   │                   ├── BuildJanitor.java
    │   │       │   │                   ├── DeployJanitor.java
    │   │       │   │                   ├── DeployTagWorker.java
    │   │       │   │                   ├── HostTerminator.java
    │   │       │   │                   ├── HotfixStateTransitioner.java
    │   │       │   │                   ├── MetricsEmitter.java
    │   │       │   │                   ├── PromoteResult.java
    │   │       │   │                   ├── SimpleAgentJanitor.java
    │   │       │   │                   └── StateTransitioner.java
    │   │       │   └── resources
    │   │       │       ├── banner.txt
    │   │       │       └── META-INF
    │   │       │           └── services
    │   │       │               ├── com.pinterest.teletraan.config.AuthenticationFactory
    │   │       │               ├── com.pinterest.teletraan.config.AuthorizationFactory
    │   │       │               ├── com.pinterest.teletraan.config.ChatFactory
    │   │       │               ├── com.pinterest.teletraan.config.DataSourceFactory
    │   │       │               ├── com.pinterest.teletraan.config.EmailFactory
    │   │       │               ├── com.pinterest.teletraan.config.HostGroupFactory
    │   │       │               ├── com.pinterest.teletraan.config.SourceControlFactory
    │   │       │               └── io.dropwizard.jackson.Discoverable
    │   │       └── test
    │   │           └── java
    │   │               └── com
    │   │                   └── pinterest
    │   │                       └── teletraan
    │   │                           ├── resource
    │   │                           │   ├── EnvAlertsTest.java
    │   │                           │   └── EnvPromotesTest.java
    │   │                           ├── security
    │   │                           │   ├── ScriptTokenAuthorizerTest.java
    │   │                           │   └── UserTokenAuthorizerTest.java
    │   │                           └── worker
    │   │                               ├── AutoPromoteBuildTest.java
    │   │                               ├── AutoPromoteDeployTest.java
    │   │                               ├── HostTerminatorTest.java
    │   │                               └── MetricsEmitterTest.java
    │   └── universal
    │       ├── pom.xml
    │       ├── README.md
    │       └── src
    │           ├── main
    │           │   └── java
    │           │       └── com
    │           │           └── pinterest
    │           │               └── teletraan
    │           │                   └── universal
    │           │                       ├── events
    │           │                       │   ├── AppEvent.java
    │           │                       │   ├── AppEventListener.java
    │           │                       │   ├── AppEventPublisher.java
    │           │                       │   ├── GenericEventPublisher.java
    │           │                       │   ├── MetricsAsEventsListener.java
    │           │                       │   ├── ReactiveEventPublisher.java
    │           │                       │   └── ResourceChangedEvent.java
    │           │                       └── metrics
    │           │                           ├── Constants.java
    │           │                           ├── ErrorBudgetCounterFactory.java
    │           │                           ├── micrometer
    │           │                           │   ├── PinStatsConfig.java
    │           │                           │   ├── PinStatsLongTaskTimer.java
    │           │                           │   ├── PinStatsMeterRegistry.java
    │           │                           │   ├── PinStatsNamingConvention.java
    │           │                           │   └── PinStatsPublisher.java
    │           │                           └── Utils.java
    │           └── test
    │               └── java
    │                   └── com
    │                       └── pinterest
    │                           └── teletraan
    │                               └── universal
    │                                   ├── events
    │                                   │   ├── GenericEventPublisherTest.java
    │                                   │   ├── MetricsAsEventsListenerTest.java
    │                                   │   └── ResourceChangedEventTest.java
    │                                   └── metrics
    │                                       ├── micrometer
    │                                       │   ├── PinStatsConfigTest.java
    │                                       │   ├── PinStatsLongTaskTimerTest.java
    │                                       │   ├── PinStatsMeterRegistryCompatibilityTest.java
    │                                       │   ├── PinStatsNamingConventionTest.java
    │                                       │   └── PinStatsPublisherTest.java
    │                                       └── UtilsTest.java
    ├── docker-compose-no-db.yml
    ├── docker-compose.yml
    ├── docs
    │   ├── api
    │   │   ├── Agents.md
    │   │   ├── Builds.md
    │   │   ├── Commits.md
    │   │   ├── definitions.md
    │   │   ├── DeployConstraints.md
    │   │   ├── Deploys.md
    │   │   ├── Environments.md
    │   │   ├── ExternalAlerts.md
    │   │   ├── GroupRoles.md
    │   │   ├── HostsAndSystems.md
    │   │   ├── Hosts.md
    │   │   ├── HostsTags.md
    │   │   ├── overview.md
    │   │   ├── ScriptTokens.md
    │   │   ├── security.md
    │   │   ├── Tags.md
    │   │   └── UserRoles.md
    │   ├── docs_generator
    │   │   ├── build.gradle
    │   │   ├── config.properties
    │   │   ├── generate_api_docs.py
    │   │   ├── gradle
    │   │   │   ├── publishing.gradle
    │   │   │   └── wrapper
    │   │   │       ├── gradle-wrapper.jar
    │   │   │       └── gradle-wrapper.properties
    │   │   ├── gradle.properties
    │   │   ├── gradlew
    │   │   ├── gradlew.bat
    │   │   ├── LICENSE
    │   │   ├── README.md
    │   │   ├── settings.gradle
    │   │   └── src
    │   │       ├── main
    │   │       │   └── java
    │   │       │       └── io
    │   │       │           └── github
    │   │       │               └── swagger2markup
    │   │       │                   └── cli
    │   │       │                       └── Application.java
    │   │       └── test
    │   │           └── resources
    │   │               └── swagger_petstore.yaml
    │   └── misc
    │       └── images
    │           ├── AddBuildAction.png
    │           ├── AddMetric.png
    │           ├── AddScriptConfig.png
    │           ├── AddScriptToken.png
    │           ├── AddUser.png
    │           ├── AddWebhookButton.png
    │           ├── AutoPromoteSelection.png
    │           ├── BadBuildInEnvironment.png
    │           ├── CapacityGroup.png
    │           ├── CapacityName.png
    │           ├── ChooseABuild.png
    │           ├── CreateDeployButton.png
    │           ├── CreateEnvDialog.png
    │           ├── CreateEnvironment.png
    │           ├── CreateNewEnvironment.png
    │           ├── DeployGroup.png
    │           ├── DeployHistoryButton.png
    │           ├── DeployHistory.png
    │           ├── DeployPipeline.png
    │           ├── DeployStateMachine.png
    │           ├── DeployStatusBar.png
    │           ├── EnvConfig.png
    │           ├── EnvConfigureButton.png
    │           ├── EnvironCapacityRemove.png
    │           ├── EnvironStageRemove.png
    │           ├── GeneralConfig.png
    │           ├── MarkBuildAsBad.png
    │           ├── MetricConfigExample.png
    │           ├── MetricGaugeExample.png
    │           ├── NewUserModal.png
    │           ├── PromoteButton.png
    │           ├── PromoteConfig.png
    │           ├── PromotePage.png
    │           ├── Promote.png
    │           ├── PublishBuildsTrigger.png
    │           ├── PublishBuildToS3.png
    │           ├── QuickstartAgentConfig.png
    │           ├── QuickstartCapacity.png
    │           ├── RollbackButton.png
    │           ├── RollbackConfirm.png
    │           ├── RollbackPage.png
    │           ├── SaveScriptToken.png
    │           ├── ScriptConfigButton.png
    │           ├── ScriptTokenModal.png
    │           ├── ScriptTokensButton.png
    │           ├── SearchBranch.png
    │           ├── ShowScriptToken.png
    │           ├── TeletraanDefinition.png
    │           ├── TeletraanDesign.png
    │           ├── TeletraanIntro.png
    │           ├── TeletraanMetricsGauges.png
    │           ├── TeletraanSwaggerUI.png
    │           ├── WebhookModal.png
    │           └── WebhooksButton.png
    ├── LICENSE
    ├── README.md
    ├── tools
    │   └── mysql
    │       ├── check_version.sql
    │       ├── deploydb.sh
    │       ├── docker-init
    │       │   └── initdb.sh
    │       ├── README
    │       ├── README.dev
    │       ├── schema-update-10.sql
    │       ├── schema-update-11.sql
    │       ├── schema-update-12.sql
    │       ├── schema-update-13.sql
    │       ├── schema-update-14.sql
    │       ├── schema-update-15.sql
    │       ├── schema-update-16.sql
    │       ├── schema-update-17.sql
    │       ├── schema-update-18.sql
    │       ├── schema-update-1.sql
    │       ├── schema-update-2.sql
    │       ├── schema-update-3.sql
    │       ├── schema-update-4.sql
    │       ├── schema-update-5.sql
    │       ├── schema-update-6.sql
    │       ├── schema-update-7.sql
    │       ├── schema-update-8.sql
    │       ├── schema-update-9.sql
    │       └── upgrade.sh
    ├── tox.ini
    └── vagrant
        ├── provision_dev_env.sh
        ├── README.md
        └── Vagrantfile

182 directories, 1023 files

标签:

实例下载地址

pinterest:Teletraan是Pinterest的部署系统

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警