paasta-tools 1.32.0__tar.gz → 1.33.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. {paasta_tools-1.32.0/paasta_tools.egg-info → paasta_tools-1.33.1}/PKG-INFO +1 -1
  2. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/__init__.py +1 -1
  3. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/local_run.py +90 -21
  4. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/utils.py +9 -0
  5. {paasta_tools-1.32.0 → paasta_tools-1.33.1/paasta_tools.egg-info}/PKG-INFO +1 -1
  6. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/LICENSE +0 -0
  7. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/MANIFEST.in +0 -0
  8. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/README.md +0 -0
  9. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/k8s_itests/__init__.py +0 -0
  10. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/k8s_itests/test_autoscaling.py +0 -0
  11. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/k8s_itests/utils.py +0 -0
  12. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/adhoc_tools.py +0 -0
  13. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/api/__init__.py +0 -0
  14. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/api/api.py +0 -0
  15. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/api/api_docs/swagger.json +0 -0
  16. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/api/client.py +0 -0
  17. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/api/settings.py +0 -0
  18. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/api/tweens/__init__.py +0 -0
  19. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/api/tweens/auth.py +0 -0
  20. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/api/tweens/profiling.py +0 -0
  21. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/api/tweens/request_logger.py +0 -0
  22. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/api/views/__init__.py +0 -0
  23. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/api/views/autoscaler.py +0 -0
  24. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/api/views/exception.py +0 -0
  25. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/api/views/flink.py +0 -0
  26. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/api/views/instance.py +0 -0
  27. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/api/views/pause_autoscaler.py +0 -0
  28. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/api/views/remote_run.py +0 -0
  29. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/api/views/resources.py +0 -0
  30. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/api/views/service.py +0 -0
  31. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/api/views/version.py +0 -0
  32. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/apply_external_resources.py +0 -0
  33. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/async_utils.py +0 -0
  34. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/autoscaling/__init__.py +0 -0
  35. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/autoscaling/autoscaling_service_lib.py +0 -0
  36. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/autoscaling/forecasting.py +0 -0
  37. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/autoscaling/max_all_k8s_services.py +0 -0
  38. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/autoscaling/pause_service_autoscaler.py +0 -0
  39. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/autoscaling/utils.py +0 -0
  40. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/bounce_lib.py +0 -0
  41. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/broadcast_log_to_services.py +0 -0
  42. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cassandracluster_tools.py +0 -0
  43. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/check_autoscaler_max_instances.py +0 -0
  44. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/check_cassandracluster_services_replication.py +0 -0
  45. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/check_flink_services_health.py +0 -0
  46. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/check_kubernetes_api.py +0 -0
  47. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/check_kubernetes_services_replication.py +0 -0
  48. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/check_oom_events.py +0 -0
  49. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/check_services_replication_tools.py +0 -0
  50. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/check_spark_jobs.py +0 -0
  51. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cleanup_expired_autoscaling_overrides.py +0 -0
  52. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cleanup_kubernetes_cr.py +0 -0
  53. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cleanup_kubernetes_crd.py +0 -0
  54. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cleanup_kubernetes_jobs.py +0 -0
  55. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cleanup_tron_namespaces.py +0 -0
  56. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/__init__.py +0 -0
  57. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/authentication.py +0 -0
  58. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cli.py +0 -0
  59. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/__init__.py +0 -0
  60. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/autoscale.py +0 -0
  61. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/check.py +0 -0
  62. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/cook_image.py +0 -0
  63. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/get_docker_image.py +0 -0
  64. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/get_image_version.py +0 -0
  65. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/get_latest_deployment.py +0 -0
  66. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/info.py +0 -0
  67. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/itest.py +0 -0
  68. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/list.py +0 -0
  69. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/list_clusters.py +0 -0
  70. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/list_deploy_queue.py +0 -0
  71. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/list_namespaces.py +0 -0
  72. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/logs.py +0 -0
  73. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/mark_for_deployment.py +0 -0
  74. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/mesh_status.py +0 -0
  75. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/pause_service_autoscaler.py +0 -0
  76. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/push_to_registry.py +0 -0
  77. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/remote_run.py +0 -0
  78. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/rollback.py +0 -0
  79. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/secret.py +0 -0
  80. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/security_check.py +0 -0
  81. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/spark_run.py +0 -0
  82. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/start_stop_restart.py +0 -0
  83. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/status.py +0 -0
  84. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/validate.py +0 -0
  85. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/cmds/wait_for_deployment.py +0 -0
  86. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/fsm/__init__.py +0 -0
  87. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/fsm/autosuggest.py +0 -0
  88. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/fsm/template/README.md +0 -0
  89. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/fsm/template/cookiecutter.json +0 -0
  90. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/kubernetes-PROD.yaml +0 -0
  91. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/monitoring.yaml +0 -0
  92. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/service.yaml +0 -0
  93. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/smartstack.yaml +0 -0
  94. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/fsm_cmd.py +0 -0
  95. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/paasta_tabcomplete.sh +0 -0
  96. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/schemas/adhoc_schema.json +0 -0
  97. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/schemas/autoscaling_schema.json +0 -0
  98. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/schemas/autotuned_defaults/cassandracluster_schema.json +0 -0
  99. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/schemas/autotuned_defaults/kubernetes_schema.json +0 -0
  100. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/schemas/deploy_schema.json +0 -0
  101. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/schemas/eks_schema.json +0 -0
  102. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/schemas/kubernetes_schema.json +0 -0
  103. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/schemas/rollback_schema.json +0 -0
  104. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/schemas/service_schema.json +0 -0
  105. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/schemas/smartstack_schema.json +0 -0
  106. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/schemas/tron_schema.json +0 -0
  107. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/cli/utils.py +0 -0
  108. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/clusterman.py +0 -0
  109. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/config_utils.py +0 -0
  110. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/contrib/__init__.py +0 -0
  111. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/contrib/bounce_log_latency_parser.py +0 -0
  112. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/contrib/check_manual_oapi_changes.sh +0 -0
  113. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/contrib/check_orphans.py +0 -0
  114. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/contrib/create_dynamodb_table.py +0 -0
  115. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/contrib/create_paasta_playground.py +0 -0
  116. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/contrib/emit_allocated_cpu_metrics.py +0 -0
  117. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/contrib/get_running_task_allocation.py +0 -0
  118. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/contrib/habitat_fixer.py +0 -0
  119. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/contrib/ide_helper.py +0 -0
  120. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/contrib/is_pod_healthy_in_proxy.py +0 -0
  121. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/contrib/is_pod_healthy_in_smartstack.py +0 -0
  122. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/contrib/kill_bad_containers.py +0 -0
  123. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/contrib/mass-deploy-tag.sh +0 -0
  124. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/contrib/mock_patch_checker.py +0 -0
  125. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/contrib/paasta_update_soa_memcpu.py +0 -0
  126. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/contrib/render_template.py +0 -0
  127. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/contrib/rightsizer_soaconfigs_update.py +0 -0
  128. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/contrib/service_shard_remove.py +0 -0
  129. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/contrib/service_shard_update.py +0 -0
  130. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/contrib/shared_ip_check.py +0 -0
  131. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/contrib/timeouts_metrics_prom.py +0 -0
  132. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/delete_kubernetes_deployments.py +0 -0
  133. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/deployment_utils.py +0 -0
  134. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/docker_wrapper.py +0 -0
  135. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/docker_wrapper_imports.py +0 -0
  136. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/drain_lib.py +0 -0
  137. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/dump_locally_running_services.py +0 -0
  138. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/eks_tools.py +0 -0
  139. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/envoy_tools.py +0 -0
  140. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/firewall.py +0 -0
  141. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/firewall_logging.py +0 -0
  142. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/firewall_update.py +0 -0
  143. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/flink_tools.py +0 -0
  144. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/flinkeks_tools.py +0 -0
  145. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/frameworks/__init__.py +0 -0
  146. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/frameworks/constraints.py +0 -0
  147. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/frameworks/native_service_config.py +0 -0
  148. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/generate_all_deployments +0 -0
  149. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/generate_authenticating_services.py +0 -0
  150. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/generate_deployments_for_service.py +0 -0
  151. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/generate_services_file.py +0 -0
  152. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/generate_services_yaml.py +0 -0
  153. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/hacheck.py +0 -0
  154. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/instance/__init__.py +0 -0
  155. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/instance/hpa_metrics_parser.py +0 -0
  156. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/instance/kubernetes.py +0 -0
  157. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/iptables.py +0 -0
  158. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/kafkacluster_tools.py +0 -0
  159. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/kubernetes/__init__.py +0 -0
  160. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/kubernetes/application/__init__.py +0 -0
  161. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/kubernetes/application/controller_wrappers.py +0 -0
  162. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/kubernetes/application/tools.py +0 -0
  163. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/kubernetes/bin/__init__.py +0 -0
  164. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py +0 -0
  165. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/kubernetes/bin/paasta_cleanup_remote_run_resources.py +0 -0
  166. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/kubernetes/bin/paasta_cleanup_stale_nodes.py +0 -0
  167. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/kubernetes/bin/paasta_secrets_sync.py +0 -0
  168. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/kubernetes/remote_run.py +0 -0
  169. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/kubernetes_tools.py +0 -0
  170. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/list_kubernetes_service_instances.py +0 -0
  171. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/list_tron_namespaces.py +0 -0
  172. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/long_running_service_tools.py +0 -0
  173. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/mac_address.py +0 -0
  174. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/marathon_dashboard.py +0 -0
  175. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/mesos/__init__.py +0 -0
  176. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/mesos/cfg.py +0 -0
  177. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/mesos/cluster.py +0 -0
  178. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/mesos/exceptions.py +0 -0
  179. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/mesos/framework.py +0 -0
  180. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/mesos/log.py +0 -0
  181. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/mesos/master.py +0 -0
  182. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/mesos/mesos_file.py +0 -0
  183. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/mesos/parallel.py +0 -0
  184. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/mesos/slave.py +0 -0
  185. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/mesos/task.py +0 -0
  186. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/mesos/util.py +0 -0
  187. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/mesos/zookeeper.py +0 -0
  188. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/mesos_tools.py +0 -0
  189. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/metrics/__init__.py +0 -0
  190. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/metrics/metastatus_lib.py +0 -0
  191. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/metrics/metrics_lib.py +0 -0
  192. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/monitoring/__init__.py +0 -0
  193. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/monitoring/check_k8s_api_performance.py +0 -0
  194. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/monitoring_tools.py +0 -0
  195. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/monkrelaycluster_tools.py +0 -0
  196. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/nrtsearchservice_tools.py +0 -0
  197. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/nrtsearchserviceeks_tools.py +0 -0
  198. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/oom_logger.py +0 -0
  199. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paasta_deploy_tron_jobs +0 -0
  200. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paasta_execute_docker_command.py +0 -0
  201. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paasta_service_config_loader.py +0 -0
  202. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/__init__.py +0 -0
  203. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/api/__init__.py +0 -0
  204. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/api/autoscaler_api.py +0 -0
  205. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/api/default_api.py +0 -0
  206. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/api/remote_run_api.py +0 -0
  207. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/api/resources_api.py +0 -0
  208. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/api/service_api.py +0 -0
  209. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/api_client.py +0 -0
  210. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/apis/__init__.py +0 -0
  211. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/configuration.py +0 -0
  212. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/exceptions.py +0 -0
  213. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/__init__.py +0 -0
  214. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/adhoc_launch_history.py +0 -0
  215. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/autoscaler_count_msg.py +0 -0
  216. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/autoscaling_override.py +0 -0
  217. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/deploy_queue.py +0 -0
  218. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/deploy_queue_service_instance.py +0 -0
  219. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/envoy_backend.py +0 -0
  220. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/envoy_location.py +0 -0
  221. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/envoy_status.py +0 -0
  222. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/flink_cluster_overview.py +0 -0
  223. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/flink_config.py +0 -0
  224. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/flink_job.py +0 -0
  225. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/flink_job_details.py +0 -0
  226. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/flink_jobs.py +0 -0
  227. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/float_and_error.py +0 -0
  228. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/hpa_metric.py +0 -0
  229. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/inline_object.py +0 -0
  230. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/inline_response200.py +0 -0
  231. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/inline_response2001.py +0 -0
  232. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/inline_response202.py +0 -0
  233. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/inline_response403.py +0 -0
  234. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/instance_bounce_status.py +0 -0
  235. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/instance_mesh_status.py +0 -0
  236. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/instance_status.py +0 -0
  237. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/instance_status_adhoc.py +0 -0
  238. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/instance_status_cassandracluster.py +0 -0
  239. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/instance_status_flink.py +0 -0
  240. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/instance_status_kafkacluster.py +0 -0
  241. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/instance_status_kubernetes.py +0 -0
  242. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/instance_status_kubernetes_autoscaling_status.py +0 -0
  243. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/instance_status_kubernetes_v2.py +0 -0
  244. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/instance_status_tron.py +0 -0
  245. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/instance_tasks.py +0 -0
  246. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/integer_and_error.py +0 -0
  247. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/kubernetes_container.py +0 -0
  248. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/kubernetes_container_v2.py +0 -0
  249. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/kubernetes_healthcheck.py +0 -0
  250. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/kubernetes_pod.py +0 -0
  251. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/kubernetes_pod_event.py +0 -0
  252. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/kubernetes_pod_v2.py +0 -0
  253. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/kubernetes_replica_set.py +0 -0
  254. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/kubernetes_version.py +0 -0
  255. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/remote_run_outcome.py +0 -0
  256. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/remote_run_start.py +0 -0
  257. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/remote_run_stop.py +0 -0
  258. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/remote_run_token.py +0 -0
  259. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/resource.py +0 -0
  260. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/resource_item.py +0 -0
  261. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/resource_value.py +0 -0
  262. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/smartstack_backend.py +0 -0
  263. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/smartstack_location.py +0 -0
  264. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/smartstack_status.py +0 -0
  265. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model/task_tail_lines.py +0 -0
  266. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/model_utils.py +0 -0
  267. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/models/__init__.py +0 -0
  268. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/paastaapi/rest.py +0 -0
  269. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/prune_completed_pods.py +0 -0
  270. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/puppet_service_tools.py +0 -0
  271. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/py.typed +0 -0
  272. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/remote_git.py +0 -0
  273. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/run-paasta-api-in-dev-mode.py +0 -0
  274. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/run-paasta-api-playground.py +0 -0
  275. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/secret_providers/__init__.py +0 -0
  276. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/secret_providers/vault.py +0 -0
  277. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/secret_tools.py +0 -0
  278. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/setup_istio_mesh.py +0 -0
  279. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/setup_kubernetes_cr.py +0 -0
  280. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/setup_kubernetes_crd.py +0 -0
  281. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/setup_kubernetes_internal_crd.py +0 -0
  282. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/setup_kubernetes_job.py +0 -0
  283. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/setup_prometheus_adapter_config.py +0 -0
  284. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/setup_tron_namespace.py +0 -0
  285. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/slack.py +0 -0
  286. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/smartstack_tools.py +0 -0
  287. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/spark_tools.py +0 -0
  288. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/synapse_srv_namespaces_fact.py +0 -0
  289. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/tron/__init__.py +0 -0
  290. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/tron/client.py +0 -0
  291. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/tron/tron_command_context.py +0 -0
  292. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/tron/tron_timeutils.py +0 -0
  293. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/tron_tools.py +0 -0
  294. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools/yaml_tools.py +0 -0
  295. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools.egg-info/SOURCES.txt +0 -0
  296. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools.egg-info/dependency_links.txt +0 -0
  297. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools.egg-info/entry_points.txt +0 -0
  298. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools.egg-info/requires.txt +0 -0
  299. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/paasta_tools.egg-info/top_level.txt +0 -0
  300. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/pyproject.toml +0 -0
  301. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/requirements-minimal.txt +0 -0
  302. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/setup.cfg +0 -0
  303. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/setup.py +0 -0
  304. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_adhoc_tools.py +0 -0
  305. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_apply_external_resources.py +0 -0
  306. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_async_utils.py +0 -0
  307. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_bounce_lib.py +0 -0
  308. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_check_flink_services_health.py +0 -0
  309. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_check_kubernetes_services_replication.py +0 -0
  310. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_check_oom_events.py +0 -0
  311. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_check_service_replication_tools.py +0 -0
  312. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_check_spark_jobs.py +0 -0
  313. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_cleanup_kubernetes_jobs.py +0 -0
  314. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_config_utils.py +0 -0
  315. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_delete_kubernetes_deployments.py +0 -0
  316. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_deployment_utils.py +0 -0
  317. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_docker_wrapper.py +0 -0
  318. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_drain_lib.py +0 -0
  319. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_eks_tools.py +0 -0
  320. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_envoy_tools.py +0 -0
  321. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_firewall.py +0 -0
  322. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_firewall_logging.py +0 -0
  323. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_firewall_update.py +0 -0
  324. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_flink_tools.py +0 -0
  325. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_flinkeks_tools.py +0 -0
  326. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_generate_authenticating_services.py +0 -0
  327. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_generate_deployments_for_service.py +0 -0
  328. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_generate_services_file.py +0 -0
  329. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_generate_services_yaml.py +0 -0
  330. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_hacheck.py +0 -0
  331. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_iptables.py +0 -0
  332. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_kubernetes_tools.py +0 -0
  333. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_list_kubernetes_service_instances.py +0 -0
  334. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_long_running_service_tools.py +0 -0
  335. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_mac_address.py +0 -0
  336. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_mesos_tools.py +0 -0
  337. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_monitoring_tools.py +0 -0
  338. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_nrtsearchserviceseks_tools.py +0 -0
  339. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_oom_logger.py +0 -0
  340. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_paasta_execute_docker_command.py +0 -0
  341. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_paasta_service_config_loader.py +0 -0
  342. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_puppet_service_tools.py +0 -0
  343. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_remote_git.py +0 -0
  344. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_secret_tools.py +0 -0
  345. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_setup_istio_mesh.py +0 -0
  346. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_setup_kubernetes_cr.py +0 -0
  347. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_setup_kubernetes_job.py +0 -0
  348. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_setup_prometheus_adapter_config.py +0 -0
  349. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_slack.py +0 -0
  350. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_smartstack_tools.py +0 -0
  351. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_spark_tools.py +0 -0
  352. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_tron_tools.py +0 -0
  353. {paasta_tools-1.32.0 → paasta_tools-1.33.1}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: paasta-tools
3
- Version: 1.32.0
3
+ Version: 1.33.1
4
4
  Summary: Tools for Yelps SOA infrastructure
5
5
  Author: Compute Infrastructure @ Yelp
6
6
  Author-email: compute-infra@yelp.com
@@ -17,4 +17,4 @@
17
17
  # setup phase, the dependencies may not exist on disk yet.
18
18
  #
19
19
  # Don't bump version manually. See `make release` docs in ./Makefile
20
- __version__ = "1.32.0"
20
+ __version__ = "1.33.1"
@@ -12,6 +12,7 @@
12
12
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
+ import base64
15
16
  import datetime
16
17
  import json
17
18
  import os
@@ -31,6 +32,7 @@ from urllib.parse import urlparse
31
32
  import boto3
32
33
  import requests
33
34
  from docker import errors
35
+ from docker.api.client import APIClient
34
36
  from mypy_extensions import TypedDict
35
37
 
36
38
  from paasta_tools.adhoc_tools import get_default_interactive_config
@@ -73,6 +75,12 @@ from paasta_tools.utils import Timeout
73
75
  from paasta_tools.utils import TimeoutError
74
76
  from paasta_tools.utils import validate_service_instance
75
77
 
78
+ STANDARD_PAASTA_CLI_PATHS = {
79
+ "/bin/paasta",
80
+ "/opt/venvs/paasta-tools/bin/paasta",
81
+ "/usr/bin/paasta",
82
+ }
83
+
76
84
 
77
85
  class AWSSessionCreds(TypedDict):
78
86
  AWS_ACCESS_KEY_ID: str
@@ -612,26 +620,70 @@ class LostContainerException(Exception):
612
620
  pass
613
621
 
614
622
 
615
- def docker_pull_image(docker_url):
616
- """Pull an image via ``docker pull``. Uses the actual pull command instead of the python
617
- bindings due to the docker auth/registry transition. Once we are past Docker 1.6
618
- we can use better credential management, but for now this function assumes the
619
- user running the command has already been authorized for the registry"""
623
+ class DockerAuthConfig(TypedDict):
624
+ username: str
625
+ password: str
626
+
627
+
628
+ def get_readonly_docker_registry_auth_config(
629
+ docker_url: str,
630
+ ) -> DockerAuthConfig | None:
631
+ system_paasta_config = load_system_paasta_config()
632
+ config_path = system_paasta_config.get_readonly_docker_registry_auth_file()
633
+
634
+ with open(config_path) as f:
635
+ docker_config = json.load(f)
636
+ registry = docker_url.split("/")[0]
637
+
638
+ # find matching auth config - our usual ro config will have at least two entries
639
+ # at the time this comment was written
640
+ auths = docker_config
641
+ for auth_url, auth_data in auths.items():
642
+ if registry in auth_url:
643
+ # Decode the base64 auth string if present
644
+ if "auth" in auth_data:
645
+ auth_string = base64.b64decode(auth_data["auth"]).decode("utf-8")
646
+ username, password = auth_string.split(":", 1)
647
+ return {"username": username, "password": password}
648
+
649
+ # afaik, we should only hit this if folks are being naughty and passing a docker url from docker-dev
650
+ return None
651
+
652
+
653
+ def docker_pull_image(docker_client: APIClient, docker_url: str) -> None:
654
+ """Pull an image using the docker-py library with read-only registry credentials"""
620
655
  print(
621
- "Please wait while the image (%s) is pulled (times out after 30m)..."
622
- % docker_url,
656
+ f"Please wait while the image ({docker_url}) is pulled (times out after 30m)...",
623
657
  file=sys.stderr,
624
658
  )
625
- with Timeout(
626
- seconds=1800, error_message=f"Timed out pulling docker image from {docker_url}"
627
- ), open(os.devnull, mode="wb") as DEVNULL:
628
- ret, _ = _run("docker pull %s" % docker_url, stream=True, stdin=DEVNULL)
629
- if ret != 0:
630
- print(
631
- "\nPull failed. Are you authorized to run docker commands?",
632
- file=sys.stderr,
633
- )
634
- sys.exit(ret)
659
+
660
+ auth_config = get_readonly_docker_registry_auth_config(docker_url)
661
+ if not auth_config:
662
+ print(
663
+ PaastaColors.yellow(
664
+ "Warning: No read-only docker registry credentials found, attempting to pull without authentication."
665
+ ),
666
+ file=sys.stderr,
667
+ )
668
+
669
+ try:
670
+ with Timeout(
671
+ seconds=1800,
672
+ error_message=f"Timed out pulling docker image from {docker_url}",
673
+ ):
674
+ # this is slightly funky since pull() returns the output line-by-line, but as a dict
675
+ # ...that we then need to format back to the usual `docker pull` output
676
+ # :p
677
+ for line in docker_client.pull(
678
+ docker_url, auth_config=auth_config, stream=True, decode=True
679
+ ):
680
+ print(f"{line['id']}: {line['status']}", file=sys.stderr)
681
+ except Exception as e:
682
+ print(
683
+ f"\nPull failed. Error: {e}",
684
+ file=sys.stderr,
685
+ )
686
+ sys.exit(1)
635
687
 
636
688
 
637
689
  def get_container_id(docker_client, container_name):
@@ -1226,7 +1278,7 @@ def configure_and_run_docker_container(
1226
1278
  return 1
1227
1279
 
1228
1280
  if pull_image:
1229
- docker_pull_image(docker_url)
1281
+ docker_pull_image(docker_client, docker_url)
1230
1282
 
1231
1283
  for volume in instance_config.get_volumes(
1232
1284
  system_paasta_config.get_volumes(),
@@ -1303,9 +1355,26 @@ def docker_config_available():
1303
1355
 
1304
1356
 
1305
1357
  def paasta_local_run(args):
1306
- if args.action == "pull" and os.geteuid() != 0 and not docker_config_available():
1307
- print("Re-executing paasta local-run --pull with sudo..")
1308
- os.execvp("sudo", ["sudo", "-H"] + sys.argv)
1358
+ if args.action == "pull" and os.geteuid() != 0 and not args.skip_secrets:
1359
+ # we unfortunately sometimes install paasta inside the virtualenv of repos where
1360
+ # folks might be running commands such as `paasta local-run`.
1361
+ # this tends to cause some confusion as this results folks being denied access
1362
+ # to sudo since the virtualenv paasta is not in our sudoers :)
1363
+ # NOTE: in the unlikely event that someone does need to run this from a venv,
1364
+ # there's an opt-out env var
1365
+ if (
1366
+ sys.argv[0] not in STANDARD_PAASTA_CLI_PATHS
1367
+ and "PAASTA_ALLOW_VENV" not in os.environ
1368
+ ):
1369
+ print(
1370
+ "You are running the PaaSTA CLI from a virtualenv - this is unexpected. Re-executing `paasta` from the standard location.."
1371
+ )
1372
+ os.execvp("/usr/bin/paasta", ["/usr/bin/paasta"] + sys.argv[1:])
1373
+ # XXX: we should re-architect this to not need sudo, but for now,
1374
+ # re-exec ourselves with sudo to get access to the paasta vault token
1375
+ # NOTE: once we do that, we can also remove the venv check above :)
1376
+ print("Re-executing paasta local-run --pull with sudo for Vault access...")
1377
+ os.execvp("sudo", ["sudo", "-H", "/usr/bin/paasta"] + sys.argv[1:])
1309
1378
  if args.action == "build" and not makefile_responds_to("cook-image"):
1310
1379
  print(
1311
1380
  "A local Makefile with a 'cook-image' target is required for --build",
@@ -182,6 +182,7 @@ CAPS_DROP = [
182
182
  "SYS_CHROOT",
183
183
  "SETFCAP",
184
184
  ]
185
+ DEFAULT_READONLY_DOCKER_REGISTRY_AUTH_FILE = "/nail/etc/docker-registry-ro"
185
186
 
186
187
 
187
188
  class RollbackTypes(Enum):
@@ -2066,6 +2067,7 @@ class SystemPaastaConfigDict(TypedDict, total=False):
2066
2067
  enable_tron_tsc: bool
2067
2068
  default_spark_iam_user: str
2068
2069
  default_spark_driver_pool_override: str
2070
+ readonly_docker_registry_auth_file: str
2069
2071
 
2070
2072
 
2071
2073
  def load_system_paasta_config(
@@ -2840,6 +2842,13 @@ class SystemPaastaConfig:
2840
2842
  # NOTE: this should never happen unless we've gotten bad data
2841
2843
  return None
2842
2844
 
2845
+ def get_readonly_docker_registry_auth_file(self) -> str:
2846
+ """Get the location of the readonly docker registry auth file as an absolute path."""
2847
+ return self.config_dict.get(
2848
+ "readonly_docker_registry_auth_file",
2849
+ DEFAULT_READONLY_DOCKER_REGISTRY_AUTH_FILE,
2850
+ )
2851
+
2843
2852
 
2844
2853
  def _run(
2845
2854
  command: Union[str, List[str]],
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: paasta-tools
3
- Version: 1.32.0
3
+ Version: 1.33.1
4
4
  Summary: Tools for Yelps SOA infrastructure
5
5
  Author: Compute Infrastructure @ Yelp
6
6
  Author-email: compute-infra@yelp.com
File without changes
File without changes
File without changes