paasta-tools 1.16.4__tar.gz → 1.17.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 (304) hide show
  1. {paasta-tools-1.16.4/paasta_tools.egg-info → paasta-tools-1.17.1}/PKG-INFO +1 -1
  2. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/__init__.py +1 -1
  3. paasta-tools-1.17.1/paasta_tools/cli/authentication.py +77 -0
  4. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/local_run.py +2 -2
  5. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/spark_run.py +1 -1
  6. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/utils.py +1 -58
  7. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/kubernetes_tools.py +7 -0
  8. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/tron/client.py +5 -0
  9. {paasta-tools-1.16.4 → paasta-tools-1.17.1/paasta_tools.egg-info}/PKG-INFO +1 -1
  10. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools.egg-info/SOURCES.txt +1 -0
  11. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/LICENSE +0 -0
  12. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/MANIFEST.in +0 -0
  13. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/README.md +0 -0
  14. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/k8s_itests/__init__.py +0 -0
  15. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/k8s_itests/test_autoscaling.py +0 -0
  16. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/k8s_itests/utils.py +0 -0
  17. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/adhoc_tools.py +0 -0
  18. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/api/__init__.py +0 -0
  19. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/api/api.py +0 -0
  20. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/api/api_docs/swagger.json +0 -0
  21. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/api/client.py +0 -0
  22. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/api/settings.py +0 -0
  23. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/api/tweens/__init__.py +0 -0
  24. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/api/tweens/auth.py +0 -0
  25. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/api/tweens/profiling.py +0 -0
  26. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/api/tweens/request_logger.py +0 -0
  27. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/api/views/__init__.py +0 -0
  28. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/api/views/autoscaler.py +0 -0
  29. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/api/views/exception.py +0 -0
  30. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/api/views/flink.py +0 -0
  31. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/api/views/instance.py +0 -0
  32. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/api/views/pause_autoscaler.py +0 -0
  33. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/api/views/remote_run.py +0 -0
  34. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/api/views/resources.py +0 -0
  35. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/api/views/service.py +0 -0
  36. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/api/views/version.py +0 -0
  37. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/apply_external_resources.py +0 -0
  38. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/async_utils.py +0 -0
  39. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/autoscaling/__init__.py +0 -0
  40. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/autoscaling/autoscaling_service_lib.py +0 -0
  41. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/autoscaling/forecasting.py +0 -0
  42. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/autoscaling/max_all_k8s_services.py +0 -0
  43. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/autoscaling/pause_service_autoscaler.py +0 -0
  44. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/autoscaling/utils.py +0 -0
  45. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/bounce_lib.py +0 -0
  46. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/broadcast_log_to_services.py +0 -0
  47. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cassandracluster_tools.py +0 -0
  48. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/check_autoscaler_max_instances.py +0 -0
  49. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/check_cassandracluster_services_replication.py +0 -0
  50. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/check_flink_services_health.py +0 -0
  51. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/check_kubernetes_api.py +0 -0
  52. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/check_kubernetes_services_replication.py +0 -0
  53. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/check_oom_events.py +0 -0
  54. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/check_services_replication_tools.py +0 -0
  55. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/check_spark_jobs.py +0 -0
  56. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cleanup_kubernetes_cr.py +0 -0
  57. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cleanup_kubernetes_crd.py +0 -0
  58. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cleanup_kubernetes_jobs.py +0 -0
  59. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cleanup_tron_namespaces.py +0 -0
  60. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/__init__.py +0 -0
  61. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cli.py +0 -0
  62. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/__init__.py +0 -0
  63. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/autoscale.py +0 -0
  64. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/check.py +0 -0
  65. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/cook_image.py +0 -0
  66. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/get_docker_image.py +0 -0
  67. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/get_image_version.py +0 -0
  68. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/get_latest_deployment.py +0 -0
  69. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/info.py +0 -0
  70. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/itest.py +0 -0
  71. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/list.py +0 -0
  72. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/list_clusters.py +0 -0
  73. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/list_deploy_queue.py +0 -0
  74. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/list_namespaces.py +0 -0
  75. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/logs.py +0 -0
  76. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/mark_for_deployment.py +0 -0
  77. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/mesh_status.py +0 -0
  78. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/pause_service_autoscaler.py +0 -0
  79. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/push_to_registry.py +0 -0
  80. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/remote_run.py +0 -0
  81. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/rollback.py +0 -0
  82. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/secret.py +0 -0
  83. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/security_check.py +0 -0
  84. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/start_stop_restart.py +0 -0
  85. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/status.py +0 -0
  86. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/validate.py +0 -0
  87. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/cmds/wait_for_deployment.py +0 -0
  88. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/fsm/__init__.py +0 -0
  89. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/fsm/autosuggest.py +0 -0
  90. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/fsm/template/README.md +0 -0
  91. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/fsm/template/cookiecutter.json +0 -0
  92. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/kubernetes-PROD.yaml +0 -0
  93. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/monitoring.yaml +0 -0
  94. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/service.yaml +0 -0
  95. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/smartstack.yaml +0 -0
  96. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/fsm_cmd.py +0 -0
  97. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/paasta_tabcomplete.sh +0 -0
  98. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/schemas/adhoc_schema.json +0 -0
  99. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/schemas/autoscaling_schema.json +0 -0
  100. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/schemas/autotuned_defaults/cassandracluster_schema.json +0 -0
  101. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/schemas/autotuned_defaults/kubernetes_schema.json +0 -0
  102. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/schemas/deploy_schema.json +0 -0
  103. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/schemas/eks_schema.json +0 -0
  104. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/schemas/kubernetes_schema.json +0 -0
  105. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/schemas/rollback_schema.json +0 -0
  106. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/schemas/service_schema.json +0 -0
  107. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/schemas/smartstack_schema.json +0 -0
  108. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/cli/schemas/tron_schema.json +0 -0
  109. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/clusterman.py +0 -0
  110. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/config_utils.py +0 -0
  111. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/contrib/__init__.py +0 -0
  112. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/contrib/bounce_log_latency_parser.py +0 -0
  113. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/contrib/check_manual_oapi_changes.sh +0 -0
  114. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/contrib/check_orphans.py +0 -0
  115. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/contrib/create_dynamodb_table.py +0 -0
  116. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/contrib/create_paasta_playground.py +0 -0
  117. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/contrib/emit_allocated_cpu_metrics.py +0 -0
  118. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/contrib/get_running_task_allocation.py +0 -0
  119. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/contrib/habitat_fixer.py +0 -0
  120. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/contrib/ide_helper.py +0 -0
  121. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/contrib/is_pod_healthy_in_proxy.py +0 -0
  122. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/contrib/is_pod_healthy_in_smartstack.py +0 -0
  123. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/contrib/kill_bad_containers.py +0 -0
  124. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/contrib/mass-deploy-tag.sh +0 -0
  125. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/contrib/mock_patch_checker.py +0 -0
  126. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/contrib/paasta_update_soa_memcpu.py +0 -0
  127. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/contrib/render_template.py +0 -0
  128. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/contrib/rightsizer_soaconfigs_update.py +0 -0
  129. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/contrib/service_shard_remove.py +0 -0
  130. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/contrib/service_shard_update.py +0 -0
  131. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/contrib/shared_ip_check.py +0 -0
  132. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/contrib/timeouts_metrics_prom.py +0 -0
  133. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/delete_kubernetes_deployments.py +0 -0
  134. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/deployment_utils.py +0 -0
  135. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/docker_wrapper.py +0 -0
  136. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/docker_wrapper_imports.py +0 -0
  137. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/drain_lib.py +0 -0
  138. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/dump_locally_running_services.py +0 -0
  139. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/eks_tools.py +0 -0
  140. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/envoy_tools.py +0 -0
  141. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/firewall.py +0 -0
  142. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/firewall_logging.py +0 -0
  143. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/firewall_update.py +0 -0
  144. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/flink_tools.py +0 -0
  145. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/flinkeks_tools.py +0 -0
  146. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/frameworks/__init__.py +0 -0
  147. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/frameworks/adhoc_scheduler.py +0 -0
  148. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/frameworks/constraints.py +0 -0
  149. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/frameworks/native_scheduler.py +0 -0
  150. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/frameworks/native_service_config.py +0 -0
  151. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/frameworks/task_store.py +0 -0
  152. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/generate_all_deployments +0 -0
  153. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/generate_authenticating_services.py +0 -0
  154. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/generate_deployments_for_service.py +0 -0
  155. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/generate_services_file.py +0 -0
  156. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/generate_services_yaml.py +0 -0
  157. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/hacheck.py +0 -0
  158. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/instance/__init__.py +0 -0
  159. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/instance/hpa_metrics_parser.py +0 -0
  160. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/instance/kubernetes.py +0 -0
  161. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/iptables.py +0 -0
  162. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/kafkacluster_tools.py +0 -0
  163. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/kubernetes/__init__.py +0 -0
  164. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/kubernetes/application/__init__.py +0 -0
  165. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/kubernetes/application/controller_wrappers.py +0 -0
  166. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/kubernetes/application/tools.py +0 -0
  167. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/kubernetes/bin/__init__.py +0 -0
  168. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py +0 -0
  169. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/kubernetes/bin/paasta_cleanup_remote_run_resources.py +0 -0
  170. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/kubernetes/bin/paasta_cleanup_stale_nodes.py +0 -0
  171. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/kubernetes/bin/paasta_secrets_sync.py +0 -0
  172. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/kubernetes/remote_run.py +0 -0
  173. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/list_kubernetes_service_instances.py +0 -0
  174. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/list_tron_namespaces.py +0 -0
  175. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/long_running_service_tools.py +0 -0
  176. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/mac_address.py +0 -0
  177. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/marathon_dashboard.py +0 -0
  178. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/mesos/__init__.py +0 -0
  179. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/mesos/cfg.py +0 -0
  180. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/mesos/cluster.py +0 -0
  181. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/mesos/exceptions.py +0 -0
  182. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/mesos/framework.py +0 -0
  183. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/mesos/log.py +0 -0
  184. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/mesos/master.py +0 -0
  185. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/mesos/mesos_file.py +0 -0
  186. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/mesos/parallel.py +0 -0
  187. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/mesos/slave.py +0 -0
  188. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/mesos/task.py +0 -0
  189. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/mesos/util.py +0 -0
  190. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/mesos/zookeeper.py +0 -0
  191. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/mesos_maintenance.py +0 -0
  192. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/mesos_tools.py +0 -0
  193. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/metrics/__init__.py +0 -0
  194. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/metrics/metastatus_lib.py +0 -0
  195. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/metrics/metrics_lib.py +0 -0
  196. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/monitoring/__init__.py +0 -0
  197. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/monitoring/check_k8s_api_performance.py +0 -0
  198. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/monitoring_tools.py +0 -0
  199. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/monkrelaycluster_tools.py +0 -0
  200. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/nrtsearchservice_tools.py +0 -0
  201. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/nrtsearchserviceeks_tools.py +0 -0
  202. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/oom_logger.py +0 -0
  203. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paasta_deploy_tron_jobs +0 -0
  204. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paasta_execute_docker_command.py +0 -0
  205. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paasta_native_serviceinit.py +0 -0
  206. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paasta_service_config_loader.py +0 -0
  207. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/__init__.py +0 -0
  208. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/api/__init__.py +0 -0
  209. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/api/autoscaler_api.py +0 -0
  210. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/api/default_api.py +0 -0
  211. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/api/remote_run_api.py +0 -0
  212. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/api/resources_api.py +0 -0
  213. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/api/service_api.py +0 -0
  214. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/api_client.py +0 -0
  215. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/apis/__init__.py +0 -0
  216. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/configuration.py +0 -0
  217. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/exceptions.py +0 -0
  218. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/__init__.py +0 -0
  219. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/adhoc_launch_history.py +0 -0
  220. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/autoscaler_count_msg.py +0 -0
  221. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/deploy_queue.py +0 -0
  222. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/deploy_queue_service_instance.py +0 -0
  223. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/envoy_backend.py +0 -0
  224. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/envoy_location.py +0 -0
  225. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/envoy_status.py +0 -0
  226. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/flink_cluster_overview.py +0 -0
  227. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/flink_config.py +0 -0
  228. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/flink_job.py +0 -0
  229. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/flink_job_details.py +0 -0
  230. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/flink_jobs.py +0 -0
  231. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/float_and_error.py +0 -0
  232. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/hpa_metric.py +0 -0
  233. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/inline_object.py +0 -0
  234. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/inline_response200.py +0 -0
  235. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/inline_response2001.py +0 -0
  236. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/instance_bounce_status.py +0 -0
  237. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/instance_mesh_status.py +0 -0
  238. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/instance_status.py +0 -0
  239. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/instance_status_adhoc.py +0 -0
  240. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/instance_status_cassandracluster.py +0 -0
  241. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/instance_status_flink.py +0 -0
  242. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/instance_status_kafkacluster.py +0 -0
  243. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/instance_status_kubernetes.py +0 -0
  244. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/instance_status_kubernetes_autoscaling_status.py +0 -0
  245. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/instance_status_kubernetes_v2.py +0 -0
  246. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/instance_status_tron.py +0 -0
  247. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/instance_tasks.py +0 -0
  248. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/integer_and_error.py +0 -0
  249. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/kubernetes_container.py +0 -0
  250. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/kubernetes_container_v2.py +0 -0
  251. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/kubernetes_healthcheck.py +0 -0
  252. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/kubernetes_pod.py +0 -0
  253. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/kubernetes_pod_event.py +0 -0
  254. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/kubernetes_pod_v2.py +0 -0
  255. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/kubernetes_replica_set.py +0 -0
  256. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/kubernetes_version.py +0 -0
  257. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/remote_run_outcome.py +0 -0
  258. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/remote_run_start.py +0 -0
  259. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/remote_run_stop.py +0 -0
  260. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/remote_run_token.py +0 -0
  261. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/resource.py +0 -0
  262. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/resource_item.py +0 -0
  263. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/resource_value.py +0 -0
  264. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/smartstack_backend.py +0 -0
  265. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/smartstack_location.py +0 -0
  266. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/smartstack_status.py +0 -0
  267. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model/task_tail_lines.py +0 -0
  268. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/model_utils.py +0 -0
  269. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/models/__init__.py +0 -0
  270. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/paastaapi/rest.py +0 -0
  271. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/prune_completed_pods.py +0 -0
  272. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/puppet_service_tools.py +0 -0
  273. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/py.typed +0 -0
  274. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/remote_git.py +0 -0
  275. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/run-paasta-api-in-dev-mode.py +0 -0
  276. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/run-paasta-api-playground.py +0 -0
  277. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/secret_providers/__init__.py +0 -0
  278. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/secret_providers/vault.py +0 -0
  279. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/secret_tools.py +0 -0
  280. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/setup_istio_mesh.py +0 -0
  281. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/setup_kubernetes_cr.py +0 -0
  282. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/setup_kubernetes_crd.py +0 -0
  283. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/setup_kubernetes_internal_crd.py +0 -0
  284. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/setup_kubernetes_job.py +0 -0
  285. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/setup_prometheus_adapter_config.py +0 -0
  286. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/setup_tron_namespace.py +0 -0
  287. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/slack.py +0 -0
  288. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/smartstack_tools.py +0 -0
  289. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/spark_tools.py +0 -0
  290. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/synapse_srv_namespaces_fact.py +0 -0
  291. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/tron/__init__.py +0 -0
  292. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/tron/tron_command_context.py +0 -0
  293. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/tron/tron_timeutils.py +0 -0
  294. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/tron_tools.py +0 -0
  295. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/utils.py +0 -0
  296. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools/yaml_tools.py +0 -0
  297. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools.egg-info/dependency_links.txt +0 -0
  298. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools.egg-info/entry_points.txt +0 -0
  299. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools.egg-info/requires.txt +0 -0
  300. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/paasta_tools.egg-info/top_level.txt +0 -0
  301. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/pyproject.toml +0 -0
  302. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/requirements-minimal.txt +0 -0
  303. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/setup.cfg +0 -0
  304. {paasta-tools-1.16.4 → paasta-tools-1.17.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.2
2
2
  Name: paasta-tools
3
- Version: 1.16.4
3
+ Version: 1.17.1
4
4
  Summary: Tools for Yelps SOA infrastructure
5
5
  Home-page: UNKNOWN
6
6
  Author: Compute Infrastructure @ Yelp
@@ -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.16.4"
20
+ __version__ = "1.17.1"
@@ -0,0 +1,77 @@
1
+ # Copyright 2015-2016 Yelp Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ from functools import lru_cache
15
+
16
+ from botocore.credentials import InstanceMetadataFetcher
17
+ from botocore.credentials import InstanceMetadataProvider
18
+
19
+ from paasta_tools.utils import load_system_paasta_config
20
+
21
+
22
+ try:
23
+ from vault_tools.paasta_secret import get_client as get_vault_client
24
+ from vault_tools.paasta_secret import get_vault_url
25
+ from vault_tools.paasta_secret import get_vault_ca
26
+ from okta_auth import get_and_cache_jwt_default
27
+ except ImportError:
28
+
29
+ def get_vault_client(url: str, capath: str) -> None:
30
+ pass
31
+
32
+ def get_vault_url(ecosystem: str) -> str:
33
+ return ""
34
+
35
+ def get_vault_ca(ecosystem: str) -> str:
36
+ return ""
37
+
38
+ def get_and_cache_jwt_default(client_id: str) -> str:
39
+ return ""
40
+
41
+
42
+ def get_current_ecosystem() -> str:
43
+ """Get current ecosystem from host configs, defaults to dev if no config is found"""
44
+ try:
45
+ with open("/nail/etc/ecosystem") as f:
46
+ return f.read().strip()
47
+ except IOError:
48
+ pass
49
+ return "devc"
50
+
51
+
52
+ @lru_cache(maxsize=1)
53
+ def get_service_auth_token() -> str:
54
+ """Uses instance profile to authenticate with Vault and generate token for service authentication"""
55
+ ecosystem = get_current_ecosystem()
56
+ vault_client = get_vault_client(get_vault_url(ecosystem), get_vault_ca(ecosystem))
57
+ vault_role = load_system_paasta_config().get_service_auth_vault_role()
58
+ metadata_provider = InstanceMetadataProvider(
59
+ iam_role_fetcher=InstanceMetadataFetcher(),
60
+ )
61
+ instance_credentials = metadata_provider.load().get_frozen_credentials()
62
+ vault_client.auth.aws.iam_login(
63
+ instance_credentials.access_key,
64
+ instance_credentials.secret_key,
65
+ instance_credentials.token,
66
+ mount_point="aws-iam",
67
+ role=vault_role,
68
+ use_token=True,
69
+ )
70
+ response = vault_client.secrets.identity.generate_signed_id_token(name=vault_role)
71
+ return response["data"]["token"]
72
+
73
+
74
+ def get_sso_service_auth_token() -> str:
75
+ """Generate an authentication token for the calling user from the Single Sign On provider"""
76
+ client_id = load_system_paasta_config().get_service_auth_sso_oidc_client_id()
77
+ return get_and_cache_jwt_default(client_id)
@@ -34,12 +34,12 @@ from docker import errors
34
34
  from mypy_extensions import TypedDict
35
35
 
36
36
  from paasta_tools.adhoc_tools import get_default_interactive_config
37
+ from paasta_tools.cli.authentication import get_service_auth_token
38
+ from paasta_tools.cli.authentication import get_sso_service_auth_token
37
39
  from paasta_tools.cli.cmds.check import makefile_responds_to
38
40
  from paasta_tools.cli.cmds.cook_image import paasta_cook_image
39
41
  from paasta_tools.cli.utils import figure_out_service_name
40
42
  from paasta_tools.cli.utils import get_instance_config
41
- from paasta_tools.cli.utils import get_service_auth_token
42
- from paasta_tools.cli.utils import get_sso_service_auth_token
43
43
  from paasta_tools.cli.utils import lazy_choices_completer
44
44
  from paasta_tools.cli.utils import list_instances
45
45
  from paasta_tools.cli.utils import pick_random_port
@@ -26,10 +26,10 @@ from service_configuration_lib.spark_config import get_resources_requested
26
26
  from service_configuration_lib.spark_config import get_spark_hourly_cost
27
27
  from service_configuration_lib.spark_config import UnsupportedClusterManagerException
28
28
 
29
+ from paasta_tools.cli.authentication import get_service_auth_token
29
30
  from paasta_tools.cli.cmds.check import makefile_responds_to
30
31
  from paasta_tools.cli.cmds.cook_image import paasta_cook_image
31
32
  from paasta_tools.cli.utils import get_instance_config
32
- from paasta_tools.cli.utils import get_service_auth_token
33
33
  from paasta_tools.cli.utils import lazy_choices_completer
34
34
  from paasta_tools.cli.utils import list_instances
35
35
  from paasta_tools.clusterman import get_clusterman_metrics
@@ -39,8 +39,6 @@ from typing import Set
39
39
  from typing import Tuple
40
40
 
41
41
  import ephemeral_port_reserve
42
- from botocore.credentials import InstanceMetadataFetcher
43
- from botocore.credentials import InstanceMetadataProvider
44
42
  from mypy_extensions import NamedArg
45
43
 
46
44
  from paasta_tools import remote_git
@@ -48,6 +46,7 @@ from paasta_tools.adhoc_tools import load_adhoc_job_config
48
46
  from paasta_tools.api.client import get_paasta_oapi_client
49
47
  from paasta_tools.api.client import PaastaOApiClient
50
48
  from paasta_tools.cassandracluster_tools import load_cassandracluster_instance_config
49
+ from paasta_tools.cli.authentication import get_sso_service_auth_token
51
50
  from paasta_tools.eks_tools import EksDeploymentConfig
52
51
  from paasta_tools.eks_tools import load_eks_service_config
53
52
  from paasta_tools.flink_tools import load_flink_instance_config
@@ -81,25 +80,6 @@ from paasta_tools.utils import PaastaColors
81
80
  from paasta_tools.utils import SystemPaastaConfig
82
81
  from paasta_tools.utils import validate_service_instance
83
82
 
84
- try:
85
- from vault_tools.paasta_secret import get_client as get_vault_client
86
- from vault_tools.paasta_secret import get_vault_url
87
- from vault_tools.paasta_secret import get_vault_ca
88
- from okta_auth import get_and_cache_jwt_default
89
- except ImportError:
90
-
91
- def get_vault_client(url: str, capath: str) -> None:
92
- pass
93
-
94
- def get_vault_url(ecosystem: str) -> str:
95
- return ""
96
-
97
- def get_vault_ca(ecosystem: str) -> str:
98
- return ""
99
-
100
- def get_and_cache_jwt_default(client_id: str) -> str:
101
- return ""
102
-
103
83
 
104
84
  log = logging.getLogger(__name__)
105
85
 
@@ -1104,43 +1084,6 @@ def get_paasta_oapi_api_clustername(cluster: str, is_eks: bool) -> str:
1104
1084
  return f"eks-{cluster}" if is_eks else cluster
1105
1085
 
1106
1086
 
1107
- def get_current_ecosystem() -> str:
1108
- """Get current ecosystem from host configs, defaults to dev if no config is found"""
1109
- try:
1110
- with open("/nail/etc/ecosystem") as f:
1111
- return f.read().strip()
1112
- except IOError:
1113
- pass
1114
- return "devc"
1115
-
1116
-
1117
- def get_service_auth_token() -> str:
1118
- """Uses instance profile to authenticate with Vault and generate token for service authentication"""
1119
- ecosystem = get_current_ecosystem()
1120
- vault_client = get_vault_client(get_vault_url(ecosystem), get_vault_ca(ecosystem))
1121
- vault_role = load_system_paasta_config().get_service_auth_vault_role()
1122
- metadata_provider = InstanceMetadataProvider(
1123
- iam_role_fetcher=InstanceMetadataFetcher(),
1124
- )
1125
- instance_credentials = metadata_provider.load().get_frozen_credentials()
1126
- vault_client.auth.aws.iam_login(
1127
- instance_credentials.access_key,
1128
- instance_credentials.secret_key,
1129
- instance_credentials.token,
1130
- mount_point="aws-iam",
1131
- role=vault_role,
1132
- use_token=True,
1133
- )
1134
- response = vault_client.secrets.identity.generate_signed_id_token(name=vault_role)
1135
- return response["data"]["token"]
1136
-
1137
-
1138
- def get_sso_service_auth_token() -> str:
1139
- """Generate an authentication token for the calling user from the Single Sign On provider"""
1140
- client_id = load_system_paasta_config().get_service_auth_sso_oidc_client_id()
1141
- return get_and_cache_jwt_default(client_id)
1142
-
1143
-
1144
1087
  def get_paasta_oapi_client_with_auth(
1145
1088
  cluster: str = None,
1146
1089
  system_paasta_config: SystemPaastaConfig = None,
@@ -1198,6 +1198,13 @@ class KubernetesDeploymentConfig(LongRunningServiceConfig):
1198
1198
  "git_sha", ""
1199
1199
  )
1200
1200
 
1201
+ # Our workloads interact with AWS quite a lot, so it comes handy to
1202
+ # propagate an "application ID" in the user-agent of API requests
1203
+ # for debugging purposes (max length is 50 chars from AWS docs).
1204
+ # TODO: temporarily setting this here rather than in `InstanceConfig`
1205
+ # to only affect long running services.
1206
+ env["AWS_SDK_UA_APP_ID"] = f"{self.service}.{self.instance}"[:50]
1207
+
1201
1208
  # We drop PAASTA_CLUSTER here because it will be added via `get_kubernetes_environment()`
1202
1209
  env.pop("PAASTA_CLUSTER", None)
1203
1210
 
@@ -11,12 +11,14 @@
11
11
  # See the License for the specific language governing permissions and
12
12
  # limitations under the License.
13
13
  import logging
14
+ import os
14
15
  from typing import Dict
15
16
  from urllib.parse import urljoin
16
17
 
17
18
  import requests
18
19
 
19
20
  from paasta_tools import yaml_tools as yaml
21
+ from paasta_tools.cli.authentication import get_service_auth_token
20
22
  from paasta_tools.utils import get_user_agent
21
23
 
22
24
 
@@ -43,6 +45,9 @@ class TronClient:
43
45
  response = requests.get(**kwargs)
44
46
  elif method == "POST":
45
47
  kwargs["data"] = data
48
+ if os.getenv("TRONCTL_API_AUTH"):
49
+ token = get_service_auth_token()
50
+ kwargs["headers"]["Authorization"] = f"Bearer {token}"
46
51
  response = requests.post(**kwargs)
47
52
  else:
48
53
  raise ValueError(f"Unrecognized method: {method}")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.2
2
2
  Name: paasta-tools
3
- Version: 1.16.4
3
+ Version: 1.17.1
4
4
  Summary: Tools for Yelps SOA infrastructure
5
5
  Home-page: UNKNOWN
6
6
  Author: Compute Infrastructure @ Yelp
@@ -119,6 +119,7 @@ paasta_tools/autoscaling/max_all_k8s_services.py
119
119
  paasta_tools/autoscaling/pause_service_autoscaler.py
120
120
  paasta_tools/autoscaling/utils.py
121
121
  paasta_tools/cli/__init__.py
122
+ paasta_tools/cli/authentication.py
122
123
  paasta_tools/cli/cli.py
123
124
  paasta_tools/cli/fsm_cmd.py
124
125
  paasta_tools/cli/paasta_tabcomplete.sh
File without changes
File without changes
File without changes