paasta-tools 1.32.0__py3-none-any.whl → 1.33.0__py3-none-any.whl

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 (61) hide show
  1. paasta_tools/__init__.py +1 -1
  2. paasta_tools/cli/cmds/local_run.py +64 -21
  3. paasta_tools/utils.py +9 -0
  4. {paasta_tools-1.32.0.dist-info → paasta_tools-1.33.0.dist-info}/METADATA +1 -1
  5. {paasta_tools-1.32.0.dist-info → paasta_tools-1.33.0.dist-info}/RECORD +61 -61
  6. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/apply_external_resources.py +0 -0
  7. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/bounce_log_latency_parser.py +0 -0
  8. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/check_autoscaler_max_instances.py +0 -0
  9. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/check_cassandracluster_services_replication.py +0 -0
  10. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/check_flink_services_health.py +0 -0
  11. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/check_kubernetes_api.py +0 -0
  12. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/check_kubernetes_services_replication.py +0 -0
  13. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/check_manual_oapi_changes.sh +0 -0
  14. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/check_oom_events.py +0 -0
  15. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/check_orphans.py +0 -0
  16. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/check_spark_jobs.py +0 -0
  17. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/cleanup_kubernetes_cr.py +0 -0
  18. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/cleanup_kubernetes_crd.py +0 -0
  19. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/cleanup_kubernetes_jobs.py +0 -0
  20. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/create_dynamodb_table.py +0 -0
  21. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/create_paasta_playground.py +0 -0
  22. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/delete_kubernetes_deployments.py +0 -0
  23. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/emit_allocated_cpu_metrics.py +0 -0
  24. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/generate_all_deployments +0 -0
  25. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/generate_authenticating_services.py +0 -0
  26. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/generate_deployments_for_service.py +0 -0
  27. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/generate_services_file.py +0 -0
  28. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/generate_services_yaml.py +0 -0
  29. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/get_running_task_allocation.py +0 -0
  30. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/habitat_fixer.py +0 -0
  31. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/ide_helper.py +0 -0
  32. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/is_pod_healthy_in_proxy.py +0 -0
  33. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/is_pod_healthy_in_smartstack.py +0 -0
  34. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/kill_bad_containers.py +0 -0
  35. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/kubernetes_remove_evicted_pods.py +0 -0
  36. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/mass-deploy-tag.sh +0 -0
  37. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/mock_patch_checker.py +0 -0
  38. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/paasta_cleanup_remote_run_resources.py +0 -0
  39. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/paasta_cleanup_stale_nodes.py +0 -0
  40. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/paasta_deploy_tron_jobs +0 -0
  41. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/paasta_execute_docker_command.py +0 -0
  42. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/paasta_secrets_sync.py +0 -0
  43. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/paasta_tabcomplete.sh +0 -0
  44. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/paasta_update_soa_memcpu.py +0 -0
  45. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/render_template.py +0 -0
  46. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/rightsizer_soaconfigs_update.py +0 -0
  47. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/service_shard_remove.py +0 -0
  48. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/service_shard_update.py +0 -0
  49. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/setup_istio_mesh.py +0 -0
  50. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/setup_kubernetes_cr.py +0 -0
  51. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/setup_kubernetes_crd.py +0 -0
  52. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/setup_kubernetes_internal_crd.py +0 -0
  53. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/setup_kubernetes_job.py +0 -0
  54. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/setup_prometheus_adapter_config.py +0 -0
  55. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/shared_ip_check.py +0 -0
  56. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/synapse_srv_namespaces_fact.py +0 -0
  57. {paasta_tools-1.32.0.data → paasta_tools-1.33.0.data}/scripts/timeouts_metrics_prom.py +0 -0
  58. {paasta_tools-1.32.0.dist-info → paasta_tools-1.33.0.dist-info}/WHEEL +0 -0
  59. {paasta_tools-1.32.0.dist-info → paasta_tools-1.33.0.dist-info}/entry_points.txt +0 -0
  60. {paasta_tools-1.32.0.dist-info → paasta_tools-1.33.0.dist-info}/licenses/LICENSE +0 -0
  61. {paasta_tools-1.32.0.dist-info → paasta_tools-1.33.0.dist-info}/top_level.txt +0 -0
paasta_tools/__init__.py CHANGED
@@ -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.0"
@@ -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
@@ -612,26 +614,70 @@ class LostContainerException(Exception):
612
614
  pass
613
615
 
614
616
 
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"""
617
+ class DockerAuthConfig(TypedDict):
618
+ username: str
619
+ password: str
620
+
621
+
622
+ def get_readonly_docker_registry_auth_config(
623
+ docker_url: str,
624
+ ) -> DockerAuthConfig | None:
625
+ system_paasta_config = load_system_paasta_config()
626
+ config_path = system_paasta_config.get_readonly_docker_registry_auth_file()
627
+
628
+ with open(config_path) as f:
629
+ docker_config = json.load(f)
630
+ registry = docker_url.split("/")[0]
631
+
632
+ # find matching auth config - our usual ro config will have at least two entries
633
+ # at the time this comment was written
634
+ auths = docker_config
635
+ for auth_url, auth_data in auths.items():
636
+ if registry in auth_url:
637
+ # Decode the base64 auth string if present
638
+ if "auth" in auth_data:
639
+ auth_string = base64.b64decode(auth_data["auth"]).decode("utf-8")
640
+ username, password = auth_string.split(":", 1)
641
+ return {"username": username, "password": password}
642
+
643
+ # afaik, we should only hit this if folks are being naughty and passing a docker url from docker-dev
644
+ return None
645
+
646
+
647
+ def docker_pull_image(docker_client: APIClient, docker_url: str) -> None:
648
+ """Pull an image using the docker-py library with read-only registry credentials"""
620
649
  print(
621
- "Please wait while the image (%s) is pulled (times out after 30m)..."
622
- % docker_url,
650
+ f"Please wait while the image ({docker_url}) is pulled (times out after 30m)...",
623
651
  file=sys.stderr,
624
652
  )
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)
653
+
654
+ auth_config = get_readonly_docker_registry_auth_config(docker_url)
655
+ if not auth_config:
656
+ print(
657
+ PaastaColors.yellow(
658
+ "Warning: No read-only docker registry credentials found, attempting to pull without authentication."
659
+ ),
660
+ file=sys.stderr,
661
+ )
662
+
663
+ try:
664
+ with Timeout(
665
+ seconds=1800,
666
+ error_message=f"Timed out pulling docker image from {docker_url}",
667
+ ):
668
+ # this is slightly funky since pull() returns the output line-by-line, but as a dict
669
+ # ...that we then need to format back to the usual `docker pull` output
670
+ # :p
671
+ for line in docker_client.pull(
672
+ docker_url, auth_config=auth_config, stream=True, decode=True
673
+ ):
674
+ print(f"{line['id']}: {line['status']}", file=sys.stderr)
675
+ except Exception as e:
676
+ print(
677
+ f"\nPull failed. Error: {e}",
678
+ file=sys.stderr,
679
+ )
680
+ sys.exit(1)
635
681
 
636
682
 
637
683
  def get_container_id(docker_client, container_name):
@@ -1226,7 +1272,7 @@ def configure_and_run_docker_container(
1226
1272
  return 1
1227
1273
 
1228
1274
  if pull_image:
1229
- docker_pull_image(docker_url)
1275
+ docker_pull_image(docker_client, docker_url)
1230
1276
 
1231
1277
  for volume in instance_config.get_volumes(
1232
1278
  system_paasta_config.get_volumes(),
@@ -1303,9 +1349,6 @@ def docker_config_available():
1303
1349
 
1304
1350
 
1305
1351
  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)
1309
1352
  if args.action == "build" and not makefile_responds_to("cook-image"):
1310
1353
  print(
1311
1354
  "A local Makefile with a 'cook-image' target is required for --build",
paasta_tools/utils.py CHANGED
@@ -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.0
4
4
  Summary: Tools for Yelps SOA infrastructure
5
5
  Author: Compute Infrastructure @ Yelp
6
6
  Author-email: compute-infra@yelp.com
@@ -1,7 +1,7 @@
1
1
  k8s_itests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  k8s_itests/test_autoscaling.py,sha256=gX30L1wG1sDBaM0wE2aYR4OqHPSLvQBZ6LV0mLTrXZA,536
3
3
  k8s_itests/utils.py,sha256=PNibpYR0-g8Jcts9CjpkNb3oVzmdk9tZQrrNRuATCCM,966
4
- paasta_tools/__init__.py,sha256=qYYiGiAarIWqDCrWCgVFzSWR6vqVgFQArYQgRDoCHmw,865
4
+ paasta_tools/__init__.py,sha256=U6CR048yMzCKGyw_UBlRejwUsKjoMQYqBR5RmjETCmU,865
5
5
  paasta_tools/adhoc_tools.py,sha256=OfhyZwilB93kNX8r4Nq_KyZCvsZ4rNX-FBcQAi41KCM,4751
6
6
  paasta_tools/apply_external_resources.py,sha256=DHZJ8zkGQKTBR6Ku2lNxnrdHo8rD7PD0rZEN2yloOn8,3375
7
7
  paasta_tools/async_utils.py,sha256=LOpYxaN-8u7js6IlibPRGq9OtgWFig59LGeIFgW9PsA,3591
@@ -78,7 +78,7 @@ paasta_tools/smartstack_tools.py,sha256=J0mPialC9KFW9mW0fOUCj040VyowEjQgBI_s13fz
78
78
  paasta_tools/spark_tools.py,sha256=qZIa1g9JQrX3Nndd3vsblJ3nfXEhSMyizmOTQfFP2k8,9749
79
79
  paasta_tools/synapse_srv_namespaces_fact.py,sha256=XG_Fgr_3D-MaEYkhKyQSmKHbOyZp9zwpevyTX4BOLWE,1421
80
80
  paasta_tools/tron_tools.py,sha256=XJjuLp98zdaJeZt7Wg55t7G8lhTffL5HuA1G_mkiekA,55901
81
- paasta_tools/utils.py,sha256=bNSVB734OtND-h_BxE6T24Gu_Co97qG_LE98p7-S54g,148776
81
+ paasta_tools/utils.py,sha256=7U1WsFBQUWa9wiTwlxu85F9zWbzhjo1V7lyxD8dkUZQ,149205
82
82
  paasta_tools/yaml_tools.py,sha256=4gXbrFQWWihp9edKt4J14MWcdS8r8sYJAsMYmmL3byk,1263
83
83
  paasta_tools/api/__init__.py,sha256=H0VmJeHyCSXD9GbiEjjQwcB_sKOcoBiyK-IEJMmtCyQ,578
84
84
  paasta_tools/api/api.py,sha256=SwlBbwH9e8ihnBSSkLU65CHrnzyQeDHPfRg_ik5LWZU,9859
@@ -124,7 +124,7 @@ paasta_tools/cli/cmds/list.py,sha256=KTeSZIaRArJ28lXFLJcEYGH9p90nD6rPFHAE45I7x-w
124
124
  paasta_tools/cli/cmds/list_clusters.py,sha256=7L1kK9xS7o9iYpAikTUjsGFR1cpX8ME31BBp9dDnDFY,1550
125
125
  paasta_tools/cli/cmds/list_deploy_queue.py,sha256=IqtsblfL0LpZyp-cwaRHpo6tAfvo5IAgnCyI5MMcVoM,5577
126
126
  paasta_tools/cli/cmds/list_namespaces.py,sha256=KPszBdsOAqRaPECUF1HgCFm1BYQqfBPTG3dwAsvywm4,3138
127
- paasta_tools/cli/cmds/local_run.py,sha256=UIeQX4doGUfHR5-5HKseJWiKLNmFW6QM92k0ygZdwQw,51045
127
+ paasta_tools/cli/cmds/local_run.py,sha256=wEj5sdoZwC07RBmL4J52FLbqNVyjxXuw6mkHft21N9Y,52358
128
128
  paasta_tools/cli/cmds/logs.py,sha256=fx4hdmHssPNRpmqEuyLLxnBAbevrDG-r89VULr89bzE,58922
129
129
  paasta_tools/cli/cmds/mark_for_deployment.py,sha256=4cFqxJXzdz3kDzJpQWPRhYGSfxSvh8l5UaWnsMo7TiI,76711
130
130
  paasta_tools/cli/cmds/mesh_status.py,sha256=KpNfSomS5Uh98szloSpFh3qn0-IYHq4M37BS92t5mdc,6124
@@ -287,61 +287,61 @@ paasta_tools/tron/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
287
287
  paasta_tools/tron/client.py,sha256=ypWjM4bZCzQWLn-qe1driqAxvF0ux8dROuFUv63dryA,5562
288
288
  paasta_tools/tron/tron_command_context.py,sha256=c6mph_DAt7pjcE3Uo271haJ0DfxJzfvcRhR2o-UmOeY,5379
289
289
  paasta_tools/tron/tron_timeutils.py,sha256=vDn04K7A3Xbs3lM04EgLuViC8AavOc5qyo8J5MC5nLk,3054
290
- paasta_tools-1.32.0.data/scripts/apply_external_resources.py,sha256=BOIdCQ5Md9RI3enzqbIWQge3clkXhPybAmLE3hqfDwQ,3347
291
- paasta_tools-1.32.0.data/scripts/bounce_log_latency_parser.py,sha256=dC06a0a5LdtPJ8xo88QWe5DMH_vwVB1BNbkFH7kJ3j0,2225
292
- paasta_tools-1.32.0.data/scripts/check_autoscaler_max_instances.py,sha256=2z6ifSU26-ULOK-FXp75b45mCdjSJnuvU8TxvapB8Wk,9423
293
- paasta_tools-1.32.0.data/scripts/check_cassandracluster_services_replication.py,sha256=mKlCK9pRNzxnOt41wA6CtDQIHhcky438i044kA6pbEc,1127
294
- paasta_tools-1.32.0.data/scripts/check_flink_services_health.py,sha256=ElYa1hr6KUcXuu0B8Nf-dt2Vfyo5FrwF5gVV4QBX7Lg,7162
295
- paasta_tools-1.32.0.data/scripts/check_kubernetes_api.py,sha256=BhOqJkkKNJPfonfIPonW5dlIubd1ji-3ppjXHomNwzM,1522
296
- paasta_tools-1.32.0.data/scripts/check_kubernetes_services_replication.py,sha256=LCLlumReRdy9Cw_sPpqanjPcBlbcrJDiECaYYru5Cwk,5751
297
- paasta_tools-1.32.0.data/scripts/check_manual_oapi_changes.sh,sha256=1IdphwXP7xnMNS7huZ3FeEHy67-nY4n3ydHmbojQvJg,879
298
- paasta_tools-1.32.0.data/scripts/check_oom_events.py,sha256=tUr14T2LYEgqwpAq4vkZ_Z0VTPOfQg7yrSSkwGQ86Hg,7801
299
- paasta_tools-1.32.0.data/scripts/check_orphans.py,sha256=9PmzRUZ1HwCcmTm4J1xTznz7hZl8fKsu1wdXUDufXJs,9984
300
- paasta_tools-1.32.0.data/scripts/check_spark_jobs.py,sha256=W4HUIbX_ylxl4DlqcdmoRWDbKYgPEr04OM-DLvfnXE8,7316
301
- paasta_tools-1.32.0.data/scripts/cleanup_kubernetes_cr.py,sha256=m-w_wuTuVG9FlwQQkxXYgri5DTGac9Nc2pbK4k1FNDE,4659
302
- paasta_tools-1.32.0.data/scripts/cleanup_kubernetes_crd.py,sha256=p9eLk-0-pU-hcVg-GAM92h1ZdQqlvmYhBzUFCiMPYR8,4478
303
- paasta_tools-1.32.0.data/scripts/cleanup_kubernetes_jobs.py,sha256=7LHB4tsz1kt-zygssIfQbBY6c3LSqXYDUILvHkSfBog,12433
304
- paasta_tools-1.32.0.data/scripts/create_dynamodb_table.py,sha256=9wJftWGgNtvLnpXeUqpoMXBIIep1hNySf0YiQmzpl5c,1167
305
- paasta_tools-1.32.0.data/scripts/create_paasta_playground.py,sha256=jzoE5e1pxWeVXwCEkD9O0jefOhEnIlSa3QMP9PC2f0M,3239
306
- paasta_tools-1.32.0.data/scripts/delete_kubernetes_deployments.py,sha256=de4C-5yqEuCeJXp6zhbc0v-c0LOElr4qabLnOTRcX4o,3124
307
- paasta_tools-1.32.0.data/scripts/emit_allocated_cpu_metrics.py,sha256=Cjd3xoOJoYSP3ciSAlZ7fh6_z678KpYt43Xh-WVCY1M,1859
308
- paasta_tools-1.32.0.data/scripts/generate_all_deployments,sha256=Qr5B0zogTOr8Lcn_7dpORixpGIJcXZ_pWz_ZlWnmsik,248
309
- paasta_tools-1.32.0.data/scripts/generate_authenticating_services.py,sha256=r5AQyquVm8_rbAhBETUU2ZHZvolpqZZTakW3lKFiOqw,2982
310
- paasta_tools-1.32.0.data/scripts/generate_deployments_for_service.py,sha256=FAFzIAtKY7GsA13s-ssCMH7T-_p9B1pBtyyYFzsCZ6k,9822
311
- paasta_tools-1.32.0.data/scripts/generate_services_file.py,sha256=w3Wyyn9ZkjfrvkT0SnTbh5mrTZJnjhTC2JIqLBpb6-g,3583
312
- paasta_tools-1.32.0.data/scripts/generate_services_yaml.py,sha256=XyIUsHa1BPLqeklayaFewX69-6GT_luaSLS_TMDLkQ0,991
313
- paasta_tools-1.32.0.data/scripts/get_running_task_allocation.py,sha256=NGYO2td42XQOduUmvgz0CZw0ir36bY6fUe3VOR1Ln6E,10876
314
- paasta_tools-1.32.0.data/scripts/habitat_fixer.py,sha256=hCC7fEnxrBOmiCJj4rPwhGlae9JsYg_gltk10l-FwaE,2625
315
- paasta_tools-1.32.0.data/scripts/ide_helper.py,sha256=QUVWxIeh54IhTn3HEhBrmJKvtgw6RDv9smoJ-6pZA4c,12348
316
- paasta_tools-1.32.0.data/scripts/is_pod_healthy_in_proxy.py,sha256=MiY85MJDXcN9oS8d840WG1iYDIzzO9lmk_NC0i_CrQg,4321
317
- paasta_tools-1.32.0.data/scripts/is_pod_healthy_in_smartstack.py,sha256=z3uP9sgwLwg94BubFgBKare2t1L5qhcY48MWsJxjxPY,1697
318
- paasta_tools-1.32.0.data/scripts/kill_bad_containers.py,sha256=oNY5x0Zg0eu34cXhFy60I7WRlqg4PKD_6xWi0eoRTCA,3832
319
- paasta_tools-1.32.0.data/scripts/kubernetes_remove_evicted_pods.py,sha256=D9Ovdc9Xer_Qf3vM5CtPVcKvnMwLiC0H-WQmQGXrBKM,5274
320
- paasta_tools-1.32.0.data/scripts/mass-deploy-tag.sh,sha256=cfPgDDvAOhy3ijTUocklogzoIY8hfoE6T5QI-0aqcfM,1578
321
- paasta_tools-1.32.0.data/scripts/mock_patch_checker.py,sha256=Q6Je8QjmfLzdnv_6JR6ehh2kA5SUxmeZGeLI2WC3BSY,2559
322
- paasta_tools-1.32.0.data/scripts/paasta_cleanup_remote_run_resources.py,sha256=4oN9UwnR7q6aEEyFUhVrT41VSeQJ2YS3upFpbZQXNUI,4558
323
- paasta_tools-1.32.0.data/scripts/paasta_cleanup_stale_nodes.py,sha256=C-DmEVgtienoMgJnIeESvFqWcJOW2SOGoS1l8RXA8NE,6304
324
- paasta_tools-1.32.0.data/scripts/paasta_deploy_tron_jobs,sha256=fFN2aP5FNSm5WfDV3yvLpihXaKkAF65MRXFcN2iD7S4,106
325
- paasta_tools-1.32.0.data/scripts/paasta_execute_docker_command.py,sha256=6kh7h2bleQbNULc37MiRsfnk9MDHqVv30UQdg3rF3kQ,4086
326
- paasta_tools-1.32.0.data/scripts/paasta_secrets_sync.py,sha256=sMdyWMt9BU5CmWHIRwzhpFKve7zxFHkygt_SNTJutWM,28766
327
- paasta_tools-1.32.0.data/scripts/paasta_tabcomplete.sh,sha256=qbQKSriz_L4MogA12L_8i-tg0Lplpshbk_FUMjK6uG0,929
328
- paasta_tools-1.32.0.data/scripts/paasta_update_soa_memcpu.py,sha256=5fShpZYpb7EeoC70cWdICnNHjHAaNU5mTHaAc3mloIs,20813
329
- paasta_tools-1.32.0.data/scripts/render_template.py,sha256=KcKfeSP2a9f6fMDRhnjX7OJaHmFIBtCJcHhUI_B7p9Y,3975
330
- paasta_tools-1.32.0.data/scripts/rightsizer_soaconfigs_update.py,sha256=0UPVtDyX6wXXurv7l5fiKuzXH8VEszKx_V7UqDm6Ck0,10493
331
- paasta_tools-1.32.0.data/scripts/service_shard_remove.py,sha256=WCvCxu3GTYEa3cYnWybTOiuHN14axj0x5_-snVd-mqE,4927
332
- paasta_tools-1.32.0.data/scripts/service_shard_update.py,sha256=AajuRS4s-HXhEcIIYK2dsyBSdCjZbh4x6Po48ipl7M4,13346
333
- paasta_tools-1.32.0.data/scripts/setup_istio_mesh.py,sha256=LbLxeI_DnhNXkyCgG-GxutlNu9_vcIitorYr4I9x4CY,11575
334
- paasta_tools-1.32.0.data/scripts/setup_kubernetes_cr.py,sha256=xsZJ_X1YpQ0NExyY1cXFH8KW2_vAgctCwdrW0bu102s,14931
335
- paasta_tools-1.32.0.data/scripts/setup_kubernetes_crd.py,sha256=QCiFOcSmE0nMEheIb7IUnYMUn0heh1kHyMFBCm7XIRU,4020
336
- paasta_tools-1.32.0.data/scripts/setup_kubernetes_internal_crd.py,sha256=dDyAOKFow7yeHWGa197angYwGTDWNyR7vZ6Cx5JlS6k,4629
337
- paasta_tools-1.32.0.data/scripts/setup_kubernetes_job.py,sha256=H2VuRaCpBj-J2Qc3DmIMutGuDL8nlfabshEiCGNNqmY,19095
338
- paasta_tools-1.32.0.data/scripts/setup_prometheus_adapter_config.py,sha256=JzvztaJ__5MOAV6pD5Vj3mamARh6TZUCzYdlqhWDOOY,43962
339
- paasta_tools-1.32.0.data/scripts/shared_ip_check.py,sha256=dbMwCwDLy9hCIbVWV1rk0FKuBkZNuQtM59hGVKxV2B4,2464
340
- paasta_tools-1.32.0.data/scripts/synapse_srv_namespaces_fact.py,sha256=HFX0zIXkXIjtAw8zrA7mUiy6NOKR11eBzE39R3aZv_E,1408
341
- paasta_tools-1.32.0.data/scripts/timeouts_metrics_prom.py,sha256=icK1j72-e-hvbUGs3LtcaMn9KBMopD9cGv5UUVo-OSc,2607
342
- paasta_tools-1.32.0.dist-info/licenses/LICENSE,sha256=Tcxn8PpeSjHDwUTemLW_thUNxcOOm612dK_no2ebEpo,10837
343
- paasta_tools-1.32.0.dist-info/METADATA,sha256=7sJfoB3aM2e6PQjAvPyWInPoan-s1snwxKFHskiYm1w,2259
344
- paasta_tools-1.32.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
345
- paasta_tools-1.32.0.dist-info/entry_points.txt,sha256=qokGSdKYA6AjtdMM_BjmCAOMghMsjOpcAdL9e4fY6D8,1179
346
- paasta_tools-1.32.0.dist-info/top_level.txt,sha256=6vZZAZ7bbaDxuXZjNYixDwzkrezpNgDQHpS0ikvFOk4,24
347
- paasta_tools-1.32.0.dist-info/RECORD,,
290
+ paasta_tools-1.33.0.data/scripts/apply_external_resources.py,sha256=BOIdCQ5Md9RI3enzqbIWQge3clkXhPybAmLE3hqfDwQ,3347
291
+ paasta_tools-1.33.0.data/scripts/bounce_log_latency_parser.py,sha256=dC06a0a5LdtPJ8xo88QWe5DMH_vwVB1BNbkFH7kJ3j0,2225
292
+ paasta_tools-1.33.0.data/scripts/check_autoscaler_max_instances.py,sha256=2z6ifSU26-ULOK-FXp75b45mCdjSJnuvU8TxvapB8Wk,9423
293
+ paasta_tools-1.33.0.data/scripts/check_cassandracluster_services_replication.py,sha256=mKlCK9pRNzxnOt41wA6CtDQIHhcky438i044kA6pbEc,1127
294
+ paasta_tools-1.33.0.data/scripts/check_flink_services_health.py,sha256=ElYa1hr6KUcXuu0B8Nf-dt2Vfyo5FrwF5gVV4QBX7Lg,7162
295
+ paasta_tools-1.33.0.data/scripts/check_kubernetes_api.py,sha256=BhOqJkkKNJPfonfIPonW5dlIubd1ji-3ppjXHomNwzM,1522
296
+ paasta_tools-1.33.0.data/scripts/check_kubernetes_services_replication.py,sha256=LCLlumReRdy9Cw_sPpqanjPcBlbcrJDiECaYYru5Cwk,5751
297
+ paasta_tools-1.33.0.data/scripts/check_manual_oapi_changes.sh,sha256=1IdphwXP7xnMNS7huZ3FeEHy67-nY4n3ydHmbojQvJg,879
298
+ paasta_tools-1.33.0.data/scripts/check_oom_events.py,sha256=tUr14T2LYEgqwpAq4vkZ_Z0VTPOfQg7yrSSkwGQ86Hg,7801
299
+ paasta_tools-1.33.0.data/scripts/check_orphans.py,sha256=9PmzRUZ1HwCcmTm4J1xTznz7hZl8fKsu1wdXUDufXJs,9984
300
+ paasta_tools-1.33.0.data/scripts/check_spark_jobs.py,sha256=W4HUIbX_ylxl4DlqcdmoRWDbKYgPEr04OM-DLvfnXE8,7316
301
+ paasta_tools-1.33.0.data/scripts/cleanup_kubernetes_cr.py,sha256=m-w_wuTuVG9FlwQQkxXYgri5DTGac9Nc2pbK4k1FNDE,4659
302
+ paasta_tools-1.33.0.data/scripts/cleanup_kubernetes_crd.py,sha256=p9eLk-0-pU-hcVg-GAM92h1ZdQqlvmYhBzUFCiMPYR8,4478
303
+ paasta_tools-1.33.0.data/scripts/cleanup_kubernetes_jobs.py,sha256=7LHB4tsz1kt-zygssIfQbBY6c3LSqXYDUILvHkSfBog,12433
304
+ paasta_tools-1.33.0.data/scripts/create_dynamodb_table.py,sha256=9wJftWGgNtvLnpXeUqpoMXBIIep1hNySf0YiQmzpl5c,1167
305
+ paasta_tools-1.33.0.data/scripts/create_paasta_playground.py,sha256=jzoE5e1pxWeVXwCEkD9O0jefOhEnIlSa3QMP9PC2f0M,3239
306
+ paasta_tools-1.33.0.data/scripts/delete_kubernetes_deployments.py,sha256=de4C-5yqEuCeJXp6zhbc0v-c0LOElr4qabLnOTRcX4o,3124
307
+ paasta_tools-1.33.0.data/scripts/emit_allocated_cpu_metrics.py,sha256=Cjd3xoOJoYSP3ciSAlZ7fh6_z678KpYt43Xh-WVCY1M,1859
308
+ paasta_tools-1.33.0.data/scripts/generate_all_deployments,sha256=Qr5B0zogTOr8Lcn_7dpORixpGIJcXZ_pWz_ZlWnmsik,248
309
+ paasta_tools-1.33.0.data/scripts/generate_authenticating_services.py,sha256=r5AQyquVm8_rbAhBETUU2ZHZvolpqZZTakW3lKFiOqw,2982
310
+ paasta_tools-1.33.0.data/scripts/generate_deployments_for_service.py,sha256=FAFzIAtKY7GsA13s-ssCMH7T-_p9B1pBtyyYFzsCZ6k,9822
311
+ paasta_tools-1.33.0.data/scripts/generate_services_file.py,sha256=w3Wyyn9ZkjfrvkT0SnTbh5mrTZJnjhTC2JIqLBpb6-g,3583
312
+ paasta_tools-1.33.0.data/scripts/generate_services_yaml.py,sha256=XyIUsHa1BPLqeklayaFewX69-6GT_luaSLS_TMDLkQ0,991
313
+ paasta_tools-1.33.0.data/scripts/get_running_task_allocation.py,sha256=NGYO2td42XQOduUmvgz0CZw0ir36bY6fUe3VOR1Ln6E,10876
314
+ paasta_tools-1.33.0.data/scripts/habitat_fixer.py,sha256=hCC7fEnxrBOmiCJj4rPwhGlae9JsYg_gltk10l-FwaE,2625
315
+ paasta_tools-1.33.0.data/scripts/ide_helper.py,sha256=QUVWxIeh54IhTn3HEhBrmJKvtgw6RDv9smoJ-6pZA4c,12348
316
+ paasta_tools-1.33.0.data/scripts/is_pod_healthy_in_proxy.py,sha256=MiY85MJDXcN9oS8d840WG1iYDIzzO9lmk_NC0i_CrQg,4321
317
+ paasta_tools-1.33.0.data/scripts/is_pod_healthy_in_smartstack.py,sha256=z3uP9sgwLwg94BubFgBKare2t1L5qhcY48MWsJxjxPY,1697
318
+ paasta_tools-1.33.0.data/scripts/kill_bad_containers.py,sha256=oNY5x0Zg0eu34cXhFy60I7WRlqg4PKD_6xWi0eoRTCA,3832
319
+ paasta_tools-1.33.0.data/scripts/kubernetes_remove_evicted_pods.py,sha256=D9Ovdc9Xer_Qf3vM5CtPVcKvnMwLiC0H-WQmQGXrBKM,5274
320
+ paasta_tools-1.33.0.data/scripts/mass-deploy-tag.sh,sha256=cfPgDDvAOhy3ijTUocklogzoIY8hfoE6T5QI-0aqcfM,1578
321
+ paasta_tools-1.33.0.data/scripts/mock_patch_checker.py,sha256=Q6Je8QjmfLzdnv_6JR6ehh2kA5SUxmeZGeLI2WC3BSY,2559
322
+ paasta_tools-1.33.0.data/scripts/paasta_cleanup_remote_run_resources.py,sha256=4oN9UwnR7q6aEEyFUhVrT41VSeQJ2YS3upFpbZQXNUI,4558
323
+ paasta_tools-1.33.0.data/scripts/paasta_cleanup_stale_nodes.py,sha256=C-DmEVgtienoMgJnIeESvFqWcJOW2SOGoS1l8RXA8NE,6304
324
+ paasta_tools-1.33.0.data/scripts/paasta_deploy_tron_jobs,sha256=fFN2aP5FNSm5WfDV3yvLpihXaKkAF65MRXFcN2iD7S4,106
325
+ paasta_tools-1.33.0.data/scripts/paasta_execute_docker_command.py,sha256=6kh7h2bleQbNULc37MiRsfnk9MDHqVv30UQdg3rF3kQ,4086
326
+ paasta_tools-1.33.0.data/scripts/paasta_secrets_sync.py,sha256=sMdyWMt9BU5CmWHIRwzhpFKve7zxFHkygt_SNTJutWM,28766
327
+ paasta_tools-1.33.0.data/scripts/paasta_tabcomplete.sh,sha256=qbQKSriz_L4MogA12L_8i-tg0Lplpshbk_FUMjK6uG0,929
328
+ paasta_tools-1.33.0.data/scripts/paasta_update_soa_memcpu.py,sha256=5fShpZYpb7EeoC70cWdICnNHjHAaNU5mTHaAc3mloIs,20813
329
+ paasta_tools-1.33.0.data/scripts/render_template.py,sha256=KcKfeSP2a9f6fMDRhnjX7OJaHmFIBtCJcHhUI_B7p9Y,3975
330
+ paasta_tools-1.33.0.data/scripts/rightsizer_soaconfigs_update.py,sha256=0UPVtDyX6wXXurv7l5fiKuzXH8VEszKx_V7UqDm6Ck0,10493
331
+ paasta_tools-1.33.0.data/scripts/service_shard_remove.py,sha256=WCvCxu3GTYEa3cYnWybTOiuHN14axj0x5_-snVd-mqE,4927
332
+ paasta_tools-1.33.0.data/scripts/service_shard_update.py,sha256=AajuRS4s-HXhEcIIYK2dsyBSdCjZbh4x6Po48ipl7M4,13346
333
+ paasta_tools-1.33.0.data/scripts/setup_istio_mesh.py,sha256=LbLxeI_DnhNXkyCgG-GxutlNu9_vcIitorYr4I9x4CY,11575
334
+ paasta_tools-1.33.0.data/scripts/setup_kubernetes_cr.py,sha256=xsZJ_X1YpQ0NExyY1cXFH8KW2_vAgctCwdrW0bu102s,14931
335
+ paasta_tools-1.33.0.data/scripts/setup_kubernetes_crd.py,sha256=QCiFOcSmE0nMEheIb7IUnYMUn0heh1kHyMFBCm7XIRU,4020
336
+ paasta_tools-1.33.0.data/scripts/setup_kubernetes_internal_crd.py,sha256=dDyAOKFow7yeHWGa197angYwGTDWNyR7vZ6Cx5JlS6k,4629
337
+ paasta_tools-1.33.0.data/scripts/setup_kubernetes_job.py,sha256=H2VuRaCpBj-J2Qc3DmIMutGuDL8nlfabshEiCGNNqmY,19095
338
+ paasta_tools-1.33.0.data/scripts/setup_prometheus_adapter_config.py,sha256=JzvztaJ__5MOAV6pD5Vj3mamARh6TZUCzYdlqhWDOOY,43962
339
+ paasta_tools-1.33.0.data/scripts/shared_ip_check.py,sha256=dbMwCwDLy9hCIbVWV1rk0FKuBkZNuQtM59hGVKxV2B4,2464
340
+ paasta_tools-1.33.0.data/scripts/synapse_srv_namespaces_fact.py,sha256=HFX0zIXkXIjtAw8zrA7mUiy6NOKR11eBzE39R3aZv_E,1408
341
+ paasta_tools-1.33.0.data/scripts/timeouts_metrics_prom.py,sha256=icK1j72-e-hvbUGs3LtcaMn9KBMopD9cGv5UUVo-OSc,2607
342
+ paasta_tools-1.33.0.dist-info/licenses/LICENSE,sha256=Tcxn8PpeSjHDwUTemLW_thUNxcOOm612dK_no2ebEpo,10837
343
+ paasta_tools-1.33.0.dist-info/METADATA,sha256=S1FjkfNEp2tfP1mB0RmJKPSI-MjxG0QbaX8Rbf6Uz9o,2259
344
+ paasta_tools-1.33.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
345
+ paasta_tools-1.33.0.dist-info/entry_points.txt,sha256=qokGSdKYA6AjtdMM_BjmCAOMghMsjOpcAdL9e4fY6D8,1179
346
+ paasta_tools-1.33.0.dist-info/top_level.txt,sha256=6vZZAZ7bbaDxuXZjNYixDwzkrezpNgDQHpS0ikvFOk4,24
347
+ paasta_tools-1.33.0.dist-info/RECORD,,