paasta-tools 1.17.0__tar.gz → 1.17.2__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.17.0/paasta_tools.egg-info → paasta-tools-1.17.2}/PKG-INFO +1 -1
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/__init__.py +1 -1
- paasta-tools-1.17.2/paasta_tools/cli/authentication.py +77 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/local_run.py +2 -2
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/remote_run.py +6 -2
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/spark_run.py +1 -1
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/utils.py +1 -58
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/kubernetes/remote_run.py +13 -5
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/tron/client.py +5 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2/paasta_tools.egg-info}/PKG-INFO +1 -1
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools.egg-info/SOURCES.txt +1 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/LICENSE +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/MANIFEST.in +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/README.md +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/k8s_itests/__init__.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/k8s_itests/test_autoscaling.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/k8s_itests/utils.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/adhoc_tools.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/api/__init__.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/api/api.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/api/api_docs/swagger.json +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/api/client.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/api/settings.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/api/tweens/__init__.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/api/tweens/auth.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/api/tweens/profiling.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/api/tweens/request_logger.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/api/views/__init__.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/api/views/autoscaler.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/api/views/exception.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/api/views/flink.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/api/views/instance.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/api/views/pause_autoscaler.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/api/views/remote_run.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/api/views/resources.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/api/views/service.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/api/views/version.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/apply_external_resources.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/async_utils.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/autoscaling/__init__.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/autoscaling/autoscaling_service_lib.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/autoscaling/forecasting.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/autoscaling/max_all_k8s_services.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/autoscaling/pause_service_autoscaler.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/autoscaling/utils.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/bounce_lib.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/broadcast_log_to_services.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cassandracluster_tools.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/check_autoscaler_max_instances.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/check_cassandracluster_services_replication.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/check_flink_services_health.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/check_kubernetes_api.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/check_kubernetes_services_replication.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/check_oom_events.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/check_services_replication_tools.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/check_spark_jobs.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cleanup_kubernetes_cr.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cleanup_kubernetes_crd.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cleanup_kubernetes_jobs.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cleanup_tron_namespaces.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/__init__.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cli.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/__init__.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/autoscale.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/check.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/cook_image.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/get_docker_image.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/get_image_version.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/get_latest_deployment.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/info.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/itest.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/list.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/list_clusters.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/list_deploy_queue.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/list_namespaces.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/logs.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/mark_for_deployment.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/mesh_status.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/pause_service_autoscaler.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/push_to_registry.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/rollback.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/secret.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/security_check.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/start_stop_restart.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/status.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/validate.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/cmds/wait_for_deployment.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/fsm/__init__.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/fsm/autosuggest.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/fsm/template/README.md +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/fsm/template/cookiecutter.json +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/kubernetes-PROD.yaml +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/monitoring.yaml +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/service.yaml +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/smartstack.yaml +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/fsm_cmd.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/paasta_tabcomplete.sh +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/schemas/adhoc_schema.json +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/schemas/autoscaling_schema.json +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/schemas/autotuned_defaults/cassandracluster_schema.json +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/schemas/autotuned_defaults/kubernetes_schema.json +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/schemas/deploy_schema.json +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/schemas/eks_schema.json +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/schemas/kubernetes_schema.json +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/schemas/rollback_schema.json +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/schemas/service_schema.json +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/schemas/smartstack_schema.json +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/cli/schemas/tron_schema.json +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/clusterman.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/config_utils.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/__init__.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/bounce_log_latency_parser.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/check_manual_oapi_changes.sh +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/check_orphans.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/create_dynamodb_table.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/create_paasta_playground.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/emit_allocated_cpu_metrics.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/get_running_task_allocation.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/habitat_fixer.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/ide_helper.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/is_pod_healthy_in_proxy.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/is_pod_healthy_in_smartstack.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/kill_bad_containers.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/mass-deploy-tag.sh +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/mock_patch_checker.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/paasta_update_soa_memcpu.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/render_template.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/rightsizer_soaconfigs_update.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/service_shard_remove.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/service_shard_update.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/shared_ip_check.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/timeouts_metrics_prom.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/delete_kubernetes_deployments.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/deployment_utils.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/docker_wrapper.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/docker_wrapper_imports.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/drain_lib.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/dump_locally_running_services.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/eks_tools.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/envoy_tools.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/firewall.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/firewall_logging.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/firewall_update.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/flink_tools.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/flinkeks_tools.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/frameworks/__init__.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/frameworks/adhoc_scheduler.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/frameworks/constraints.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/frameworks/native_scheduler.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/frameworks/native_service_config.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/frameworks/task_store.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/generate_all_deployments +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/generate_authenticating_services.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/generate_deployments_for_service.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/generate_services_file.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/generate_services_yaml.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/hacheck.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/instance/__init__.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/instance/hpa_metrics_parser.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/instance/kubernetes.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/iptables.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/kafkacluster_tools.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/kubernetes/__init__.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/kubernetes/application/__init__.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/kubernetes/application/controller_wrappers.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/kubernetes/application/tools.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/kubernetes/bin/__init__.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/kubernetes/bin/paasta_cleanup_remote_run_resources.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/kubernetes/bin/paasta_cleanup_stale_nodes.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/kubernetes/bin/paasta_secrets_sync.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/kubernetes_tools.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/list_kubernetes_service_instances.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/list_tron_namespaces.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/long_running_service_tools.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/mac_address.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/marathon_dashboard.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/mesos/__init__.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/mesos/cfg.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/mesos/cluster.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/mesos/exceptions.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/mesos/framework.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/mesos/log.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/mesos/master.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/mesos/mesos_file.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/mesos/parallel.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/mesos/slave.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/mesos/task.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/mesos/util.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/mesos/zookeeper.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/mesos_maintenance.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/mesos_tools.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/metrics/__init__.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/metrics/metastatus_lib.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/metrics/metrics_lib.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/monitoring/__init__.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/monitoring/check_k8s_api_performance.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/monitoring_tools.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/monkrelaycluster_tools.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/nrtsearchservice_tools.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/nrtsearchserviceeks_tools.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/oom_logger.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paasta_deploy_tron_jobs +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paasta_execute_docker_command.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paasta_native_serviceinit.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paasta_service_config_loader.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/__init__.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/api/__init__.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/api/autoscaler_api.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/api/default_api.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/api/remote_run_api.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/api/resources_api.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/api/service_api.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/api_client.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/apis/__init__.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/configuration.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/exceptions.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/__init__.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/adhoc_launch_history.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/autoscaler_count_msg.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/deploy_queue.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/deploy_queue_service_instance.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/envoy_backend.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/envoy_location.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/envoy_status.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/flink_cluster_overview.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/flink_config.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/flink_job.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/flink_job_details.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/flink_jobs.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/float_and_error.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/hpa_metric.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/inline_object.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/inline_response200.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/inline_response2001.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/instance_bounce_status.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/instance_mesh_status.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/instance_status.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/instance_status_adhoc.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/instance_status_cassandracluster.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/instance_status_flink.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/instance_status_kafkacluster.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/instance_status_kubernetes.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/instance_status_kubernetes_autoscaling_status.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/instance_status_kubernetes_v2.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/instance_status_tron.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/instance_tasks.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/integer_and_error.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/kubernetes_container.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/kubernetes_container_v2.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/kubernetes_healthcheck.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/kubernetes_pod.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/kubernetes_pod_event.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/kubernetes_pod_v2.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/kubernetes_replica_set.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/kubernetes_version.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/remote_run_outcome.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/remote_run_start.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/remote_run_stop.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/remote_run_token.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/resource.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/resource_item.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/resource_value.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/smartstack_backend.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/smartstack_location.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/smartstack_status.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model/task_tail_lines.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/model_utils.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/models/__init__.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/paastaapi/rest.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/prune_completed_pods.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/puppet_service_tools.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/py.typed +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/remote_git.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/run-paasta-api-in-dev-mode.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/run-paasta-api-playground.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/secret_providers/__init__.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/secret_providers/vault.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/secret_tools.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/setup_istio_mesh.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/setup_kubernetes_cr.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/setup_kubernetes_crd.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/setup_kubernetes_internal_crd.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/setup_kubernetes_job.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/setup_prometheus_adapter_config.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/setup_tron_namespace.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/slack.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/smartstack_tools.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/spark_tools.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/synapse_srv_namespaces_fact.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/tron/__init__.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/tron/tron_command_context.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/tron/tron_timeutils.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/tron_tools.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/utils.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/yaml_tools.py +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools.egg-info/dependency_links.txt +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools.egg-info/entry_points.txt +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools.egg-info/requires.txt +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools.egg-info/top_level.txt +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/pyproject.toml +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/requirements-minimal.txt +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/setup.cfg +0 -0
- {paasta-tools-1.17.0 → paasta-tools-1.17.2}/setup.py +0 -0
|
@@ -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
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
# See the License for the specific language governing permissions and
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
import argparse
|
|
16
|
+
import shutil
|
|
16
17
|
import time
|
|
17
18
|
|
|
18
19
|
from paasta_tools.cli.utils import get_paasta_oapi_api_clustername
|
|
@@ -29,7 +30,7 @@ from paasta_tools.utils import SystemPaastaConfig
|
|
|
29
30
|
|
|
30
31
|
|
|
31
32
|
KUBECTL_CMD_TEMPLATE = (
|
|
32
|
-
"
|
|
33
|
+
"{kubectl_wrapper} --token {token} exec -it -n {namespace} {pod} -- /bin/bash"
|
|
33
34
|
)
|
|
34
35
|
|
|
35
36
|
|
|
@@ -89,8 +90,11 @@ def paasta_remote_run_start(
|
|
|
89
90
|
args.service, args.instance, user
|
|
90
91
|
)
|
|
91
92
|
|
|
93
|
+
kubectl_wrapper = f"kubectl-eks-{args.cluster}"
|
|
94
|
+
if not shutil.which(kubectl_wrapper):
|
|
95
|
+
kubectl_wrapper = f"kubectl-{args.cluster}"
|
|
92
96
|
exec_command = KUBECTL_CMD_TEMPLATE.format(
|
|
93
|
-
|
|
97
|
+
kubectl_wrapper=kubectl_wrapper,
|
|
94
98
|
namespace=poll_response.namespace,
|
|
95
99
|
pod=poll_response.pod_name,
|
|
96
100
|
token=token_response.token,
|
|
@@ -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,
|
|
@@ -374,7 +374,11 @@ def create_pod_scoped_role(
|
|
|
374
374
|
labels={POD_OWNER_LABEL: user},
|
|
375
375
|
),
|
|
376
376
|
)
|
|
377
|
-
|
|
377
|
+
try:
|
|
378
|
+
kube_client.rbac.create_namespaced_role(namespace=namespace, body=role)
|
|
379
|
+
except ApiException as e:
|
|
380
|
+
if e.status != 409:
|
|
381
|
+
raise
|
|
378
382
|
return role_name
|
|
379
383
|
|
|
380
384
|
|
|
@@ -411,10 +415,14 @@ def bind_role_to_service_account(
|
|
|
411
415
|
),
|
|
412
416
|
],
|
|
413
417
|
)
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
+
try:
|
|
419
|
+
kube_client.rbac.create_namespaced_role_binding(
|
|
420
|
+
namespace=namespace,
|
|
421
|
+
body=role_binding,
|
|
422
|
+
)
|
|
423
|
+
except ApiException as e:
|
|
424
|
+
if e.status != 409:
|
|
425
|
+
raise
|
|
418
426
|
|
|
419
427
|
|
|
420
428
|
def get_remote_run_roles(kube_client: KubeClient, namespace: str) -> List[V1Role]:
|
|
@@ -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}")
|
|
@@ -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
|
|
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.17.0 → paasta-tools-1.17.2}/paasta_tools/autoscaling/autoscaling_service_lib.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/autoscaling/max_all_k8s_services.py
RENAMED
|
File without changes
|
{paasta-tools-1.17.0 → paasta-tools-1.17.2}/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.17.0 → paasta-tools-1.17.2}/paasta_tools/check_kubernetes_services_replication.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/check_services_replication_tools.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.17.0 → paasta-tools-1.17.2}/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
|
{paasta-tools-1.17.0 → paasta-tools-1.17.2}/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
|
{paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/bounce_log_latency_parser.py
RENAMED
|
File without changes
|
{paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/check_manual_oapi_changes.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/create_paasta_playground.py
RENAMED
|
File without changes
|
{paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/emit_allocated_cpu_metrics.py
RENAMED
|
File without changes
|
{paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/get_running_task_allocation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta-tools-1.17.0 → paasta-tools-1.17.2}/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.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/paasta_update_soa_memcpu.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta-tools-1.17.0 → paasta-tools-1.17.2}/paasta_tools/contrib/rightsizer_soaconfigs_update.py
RENAMED
|
File without changes
|
|
File without changes
|