paasta-tools 1.32.0__tar.gz → 1.33.0__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.
- {paasta_tools-1.32.0/paasta_tools.egg-info → paasta_tools-1.33.0}/PKG-INFO +1 -1
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/__init__.py +1 -1
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/local_run.py +64 -21
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/utils.py +9 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0/paasta_tools.egg-info}/PKG-INFO +1 -1
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/LICENSE +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/MANIFEST.in +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/README.md +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/k8s_itests/__init__.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/k8s_itests/test_autoscaling.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/k8s_itests/utils.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/adhoc_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/__init__.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/api.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/api_docs/swagger.json +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/client.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/settings.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/tweens/__init__.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/tweens/auth.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/tweens/profiling.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/tweens/request_logger.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/views/__init__.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/views/autoscaler.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/views/exception.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/views/flink.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/views/instance.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/views/pause_autoscaler.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/views/remote_run.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/views/resources.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/views/service.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/views/version.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/apply_external_resources.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/async_utils.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/autoscaling/__init__.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/autoscaling/autoscaling_service_lib.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/autoscaling/forecasting.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/autoscaling/max_all_k8s_services.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/autoscaling/pause_service_autoscaler.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/autoscaling/utils.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/bounce_lib.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/broadcast_log_to_services.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cassandracluster_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/check_autoscaler_max_instances.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/check_cassandracluster_services_replication.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/check_flink_services_health.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/check_kubernetes_api.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/check_kubernetes_services_replication.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/check_oom_events.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/check_services_replication_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/check_spark_jobs.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cleanup_expired_autoscaling_overrides.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cleanup_kubernetes_cr.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cleanup_kubernetes_crd.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cleanup_kubernetes_jobs.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cleanup_tron_namespaces.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/__init__.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/authentication.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cli.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/__init__.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/autoscale.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/check.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/cook_image.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/get_docker_image.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/get_image_version.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/get_latest_deployment.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/info.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/itest.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/list.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/list_clusters.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/list_deploy_queue.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/list_namespaces.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/logs.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/mark_for_deployment.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/mesh_status.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/pause_service_autoscaler.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/push_to_registry.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/remote_run.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/rollback.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/secret.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/security_check.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/spark_run.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/start_stop_restart.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/status.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/validate.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/wait_for_deployment.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/fsm/__init__.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/fsm/autosuggest.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/fsm/template/README.md +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/fsm/template/cookiecutter.json +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/kubernetes-PROD.yaml +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/monitoring.yaml +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/service.yaml +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/smartstack.yaml +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/fsm_cmd.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/paasta_tabcomplete.sh +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/schemas/adhoc_schema.json +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/schemas/autoscaling_schema.json +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/schemas/autotuned_defaults/cassandracluster_schema.json +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/schemas/autotuned_defaults/kubernetes_schema.json +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/schemas/deploy_schema.json +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/schemas/eks_schema.json +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/schemas/kubernetes_schema.json +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/schemas/rollback_schema.json +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/schemas/service_schema.json +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/schemas/smartstack_schema.json +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/schemas/tron_schema.json +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/utils.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/clusterman.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/config_utils.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/__init__.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/bounce_log_latency_parser.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/check_manual_oapi_changes.sh +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/check_orphans.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/create_dynamodb_table.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/create_paasta_playground.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/emit_allocated_cpu_metrics.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/get_running_task_allocation.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/habitat_fixer.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/ide_helper.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/is_pod_healthy_in_proxy.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/is_pod_healthy_in_smartstack.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/kill_bad_containers.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/mass-deploy-tag.sh +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/mock_patch_checker.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/paasta_update_soa_memcpu.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/render_template.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/rightsizer_soaconfigs_update.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/service_shard_remove.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/service_shard_update.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/shared_ip_check.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/timeouts_metrics_prom.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/delete_kubernetes_deployments.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/deployment_utils.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/docker_wrapper.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/docker_wrapper_imports.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/drain_lib.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/dump_locally_running_services.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/eks_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/envoy_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/firewall.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/firewall_logging.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/firewall_update.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/flink_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/flinkeks_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/frameworks/__init__.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/frameworks/constraints.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/frameworks/native_service_config.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/generate_all_deployments +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/generate_authenticating_services.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/generate_deployments_for_service.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/generate_services_file.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/generate_services_yaml.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/hacheck.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/instance/__init__.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/instance/hpa_metrics_parser.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/instance/kubernetes.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/iptables.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kafkacluster_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kubernetes/__init__.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kubernetes/application/__init__.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kubernetes/application/controller_wrappers.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kubernetes/application/tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kubernetes/bin/__init__.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kubernetes/bin/paasta_cleanup_remote_run_resources.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kubernetes/bin/paasta_cleanup_stale_nodes.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kubernetes/bin/paasta_secrets_sync.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kubernetes/remote_run.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kubernetes_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/list_kubernetes_service_instances.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/list_tron_namespaces.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/long_running_service_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mac_address.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/marathon_dashboard.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/__init__.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/cfg.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/cluster.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/exceptions.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/framework.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/log.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/master.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/mesos_file.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/parallel.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/slave.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/task.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/util.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/zookeeper.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/metrics/__init__.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/metrics/metastatus_lib.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/metrics/metrics_lib.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/monitoring/__init__.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/monitoring/check_k8s_api_performance.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/monitoring_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/monkrelaycluster_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/nrtsearchservice_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/nrtsearchserviceeks_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/oom_logger.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paasta_deploy_tron_jobs +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paasta_execute_docker_command.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paasta_service_config_loader.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/__init__.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/api/__init__.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/api/autoscaler_api.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/api/default_api.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/api/remote_run_api.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/api/resources_api.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/api/service_api.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/api_client.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/apis/__init__.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/configuration.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/exceptions.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/__init__.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/adhoc_launch_history.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/autoscaler_count_msg.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/autoscaling_override.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/deploy_queue.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/deploy_queue_service_instance.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/envoy_backend.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/envoy_location.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/envoy_status.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/flink_cluster_overview.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/flink_config.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/flink_job.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/flink_job_details.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/flink_jobs.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/float_and_error.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/hpa_metric.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/inline_object.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/inline_response200.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/inline_response2001.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/inline_response202.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/inline_response403.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/instance_bounce_status.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/instance_mesh_status.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/instance_status.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/instance_status_adhoc.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/instance_status_cassandracluster.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/instance_status_flink.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/instance_status_kafkacluster.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/instance_status_kubernetes.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/instance_status_kubernetes_autoscaling_status.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/instance_status_kubernetes_v2.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/instance_status_tron.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/instance_tasks.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/integer_and_error.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/kubernetes_container.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/kubernetes_container_v2.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/kubernetes_healthcheck.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/kubernetes_pod.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/kubernetes_pod_event.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/kubernetes_pod_v2.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/kubernetes_replica_set.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/kubernetes_version.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/remote_run_outcome.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/remote_run_start.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/remote_run_stop.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/remote_run_token.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/resource.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/resource_item.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/resource_value.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/smartstack_backend.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/smartstack_location.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/smartstack_status.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/task_tail_lines.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model_utils.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/models/__init__.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/rest.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/prune_completed_pods.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/puppet_service_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/py.typed +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/remote_git.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/run-paasta-api-in-dev-mode.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/run-paasta-api-playground.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/secret_providers/__init__.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/secret_providers/vault.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/secret_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/setup_istio_mesh.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/setup_kubernetes_cr.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/setup_kubernetes_crd.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/setup_kubernetes_internal_crd.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/setup_kubernetes_job.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/setup_prometheus_adapter_config.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/setup_tron_namespace.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/slack.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/smartstack_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/spark_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/synapse_srv_namespaces_fact.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/tron/__init__.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/tron/client.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/tron/tron_command_context.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/tron/tron_timeutils.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/tron_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/yaml_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools.egg-info/SOURCES.txt +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools.egg-info/dependency_links.txt +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools.egg-info/entry_points.txt +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools.egg-info/requires.txt +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools.egg-info/top_level.txt +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/pyproject.toml +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/requirements-minimal.txt +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/setup.cfg +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/setup.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_adhoc_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_apply_external_resources.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_async_utils.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_bounce_lib.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_check_flink_services_health.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_check_kubernetes_services_replication.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_check_oom_events.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_check_service_replication_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_check_spark_jobs.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_cleanup_kubernetes_jobs.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_config_utils.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_delete_kubernetes_deployments.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_deployment_utils.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_docker_wrapper.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_drain_lib.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_eks_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_envoy_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_firewall.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_firewall_logging.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_firewall_update.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_flink_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_flinkeks_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_generate_authenticating_services.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_generate_deployments_for_service.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_generate_services_file.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_generate_services_yaml.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_hacheck.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_iptables.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_kubernetes_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_list_kubernetes_service_instances.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_long_running_service_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_mac_address.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_mesos_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_monitoring_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_nrtsearchserviceseks_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_oom_logger.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_paasta_execute_docker_command.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_paasta_service_config_loader.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_puppet_service_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_remote_git.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_secret_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_setup_istio_mesh.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_setup_kubernetes_cr.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_setup_kubernetes_job.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_setup_prometheus_adapter_config.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_slack.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_smartstack_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_spark_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_tron_tools.py +0 -0
- {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_utils.py +0 -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
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
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 (
|
|
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
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
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",
|
|
@@ -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]],
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/autoscaling/autoscaling_service_lib.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/autoscaling/max_all_k8s_services.py
RENAMED
|
File without changes
|
{paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/autoscaling/pause_service_autoscaler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/check_kubernetes_services_replication.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/check_services_replication_tools.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cleanup_expired_autoscaling_overrides.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/pause_service_autoscaler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/schemas/autoscaling_schema.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/bounce_log_latency_parser.py
RENAMED
|
File without changes
|
{paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/check_manual_oapi_changes.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/create_paasta_playground.py
RENAMED
|
File without changes
|
{paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/emit_allocated_cpu_metrics.py
RENAMED
|
File without changes
|
{paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/get_running_task_allocation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/is_pod_healthy_in_smartstack.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/paasta_update_soa_memcpu.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/rightsizer_soaconfigs_update.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/frameworks/native_service_config.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/generate_authenticating_services.py
RENAMED
|
File without changes
|
{paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/generate_deployments_for_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kubernetes/bin/paasta_secrets_sync.py
RENAMED
|
File without changes
|
|
File without changes
|