paasta-tools 1.0.5__tar.gz → 1.1.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.0.5/paasta_tools.egg-info → paasta-tools-1.1.0}/PKG-INFO +1 -1
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/__init__.py +1 -1
- paasta-tools-1.1.0/paasta_tools/generate_authenticating_services.py +93 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/generate_services_file.py +12 -50
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/generate_services_yaml.py +3 -2
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/utils.py +67 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0/paasta_tools.egg-info}/PKG-INFO +1 -1
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools.egg-info/SOURCES.txt +1 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/setup.py +1 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/MANIFEST.in +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/README.md +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/k8s_itests/__init__.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/k8s_itests/test_autoscaling.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/k8s_itests/utils.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/adhoc_tools.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/api/__init__.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/api/api.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/api/api_docs/swagger.json +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/api/client.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/api/settings.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/api/tweens/__init__.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/api/tweens/profiling.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/api/tweens/request_logger.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/api/views/__init__.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/api/views/autoscaler.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/api/views/exception.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/api/views/flink.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/api/views/instance.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/api/views/pause_autoscaler.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/api/views/resources.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/api/views/service.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/api/views/version.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/apply_external_resources.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/async_utils.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/autoscaling/__init__.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/autoscaling/autoscaling_service_lib.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/autoscaling/forecasting.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/autoscaling/max_all_k8s_services.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/autoscaling/pause_service_autoscaler.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/autoscaling/utils.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/bounce_lib.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/broadcast_log_to_services.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cassandracluster_tools.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/check_autoscaler_max_instances.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/check_cassandracluster_services_replication.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/check_flink_services_health.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/check_kubernetes_api.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/check_kubernetes_services_replication.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/check_oom_events.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/check_services_replication_tools.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/check_spark_jobs.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cleanup_kubernetes_cr.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cleanup_kubernetes_crd.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cleanup_kubernetes_jobs.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cleanup_tron_namespaces.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/__init__.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cli.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/__init__.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/autoscale.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/check.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/cook_image.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/get_docker_image.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/get_image_version.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/get_latest_deployment.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/info.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/itest.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/list.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/list_clusters.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/list_deploy_queue.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/local_run.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/logs.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/mark_for_deployment.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/mesh_status.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/pause_service_autoscaler.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/push_to_registry.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/remote_run.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/rollback.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/secret.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/security_check.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/spark_run.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/start_stop_restart.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/status.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/validate.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/cmds/wait_for_deployment.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/fsm/__init__.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/fsm/autosuggest.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/fsm/template/README.md +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/fsm/template/cookiecutter.json +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/kubernetes-PROD.yaml +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/monitoring.yaml +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/service.yaml +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/smartstack.yaml +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/fsm_cmd.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/paasta_tabcomplete.sh +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/schemas/adhoc_schema.json +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/schemas/autoscaling_schema.json +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/schemas/autotuned_defaults/cassandracluster_schema.json +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/schemas/autotuned_defaults/kubernetes_schema.json +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/schemas/deploy_schema.json +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/schemas/eks_schema.json +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/schemas/kubernetes_schema.json +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/schemas/rollback_schema.json +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/schemas/service_schema.json +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/schemas/smartstack_schema.json +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/schemas/tron_schema.json +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/cli/utils.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/clusterman.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/config_utils.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/contrib/__init__.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/contrib/bounce_log_latency_parser.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/contrib/check_manual_oapi_changes.sh +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/contrib/check_orphans.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/contrib/create_dynamodb_table.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/contrib/create_paasta_playground.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/contrib/emit_allocated_cpu_metrics.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/contrib/get_running_task_allocation.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/contrib/habitat_fixer.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/contrib/ide_helper.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/contrib/is_pod_healthy_in_proxy.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/contrib/is_pod_healthy_in_smartstack.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/contrib/kill_bad_containers.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/contrib/mass-deploy-tag.sh +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/contrib/mock_patch_checker.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/contrib/paasta_update_soa_memcpu.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/contrib/render_template.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/contrib/rightsizer_soaconfigs_update.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/contrib/service_shard_remove.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/contrib/service_shard_update.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/contrib/shared_ip_check.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/contrib/timeouts_metrics_prom.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/delete_kubernetes_deployments.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/deployment_utils.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/docker_wrapper.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/docker_wrapper_imports.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/drain_lib.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/dump_locally_running_services.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/eks_tools.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/envoy_tools.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/firewall.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/firewall_logging.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/firewall_update.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/flink_tools.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/flinkeks_tools.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/frameworks/__init__.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/frameworks/adhoc_scheduler.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/frameworks/constraints.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/frameworks/native_scheduler.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/frameworks/native_service_config.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/frameworks/task_store.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/generate_all_deployments +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/generate_deployments_for_service.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/hacheck.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/instance/__init__.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/instance/hpa_metrics_parser.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/instance/kubernetes.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/iptables.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/kafkacluster_tools.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/kubernetes/__init__.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/kubernetes/application/__init__.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/kubernetes/application/controller_wrappers.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/kubernetes/application/tools.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/kubernetes/bin/__init__.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/kubernetes/bin/paasta_cleanup_stale_nodes.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/kubernetes/bin/paasta_secrets_sync.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/kubernetes_tools.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/list_kubernetes_service_instances.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/list_tron_namespaces.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/log_task_lifecycle_events.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/long_running_service_tools.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/mac_address.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/marathon_dashboard.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/mesos/__init__.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/mesos/cfg.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/mesos/cluster.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/mesos/exceptions.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/mesos/framework.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/mesos/log.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/mesos/master.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/mesos/mesos_file.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/mesos/parallel.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/mesos/slave.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/mesos/task.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/mesos/util.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/mesos/zookeeper.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/mesos_maintenance.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/mesos_tools.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/metrics/__init__.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/metrics/metastatus_lib.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/metrics/metrics_lib.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/monitoring/__init__.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/monitoring/check_k8s_api_performance.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/monitoring/kill_orphaned_docker_containers.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/monitoring_tools.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/monkrelaycluster_tools.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/nrtsearchservice_tools.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/nrtsearchserviceeks_tools.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/oom_logger.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paasta_deploy_tron_jobs +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paasta_execute_docker_command.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paasta_native_serviceinit.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paasta_remote_run.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paasta_service_config_loader.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/__init__.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/api/__init__.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/api/autoscaler_api.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/api/default_api.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/api/resources_api.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/api/service_api.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/api_client.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/apis/__init__.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/configuration.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/exceptions.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/__init__.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/adhoc_launch_history.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/autoscaler_count_msg.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/deploy_queue.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/deploy_queue_service_instance.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/envoy_backend.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/envoy_location.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/envoy_status.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/flink_cluster_overview.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/flink_config.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/flink_job.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/flink_job_details.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/flink_jobs.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/float_and_error.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/hpa_metric.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/inline_object.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/inline_response200.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/inline_response2001.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/instance_bounce_status.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/instance_mesh_status.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/instance_status.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/instance_status_adhoc.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/instance_status_cassandracluster.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/instance_status_flink.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/instance_status_kafkacluster.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/instance_status_kubernetes.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/instance_status_kubernetes_autoscaling_status.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/instance_status_kubernetes_v2.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/instance_status_tron.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/instance_tasks.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/integer_and_error.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/kubernetes_container.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/kubernetes_container_v2.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/kubernetes_healthcheck.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/kubernetes_pod.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/kubernetes_pod_event.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/kubernetes_pod_v2.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/kubernetes_replica_set.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/kubernetes_version.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/resource.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/resource_item.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/resource_value.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/smartstack_backend.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/smartstack_location.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/smartstack_status.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model/task_tail_lines.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/model_utils.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/models/__init__.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/paastaapi/rest.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/prune_completed_pods.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/puppet_service_tools.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/py.typed +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/remote_git.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/run-paasta-api-in-dev-mode.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/run-paasta-api-playground.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/secret_providers/__init__.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/secret_providers/vault.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/secret_tools.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/setup_istio_mesh.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/setup_kubernetes_cr.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/setup_kubernetes_crd.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/setup_kubernetes_internal_crd.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/setup_kubernetes_job.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/setup_prometheus_adapter_config.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/setup_tron_namespace.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/slack.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/smartstack_tools.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/spark_tools.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/synapse_srv_namespaces_fact.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/tron/__init__.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/tron/client.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/tron/tron_command_context.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/tron/tron_timeutils.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/tron_tools.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools/vitesscluster_tools.py +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools.egg-info/dependency_links.txt +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools.egg-info/entry_points.txt +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools.egg-info/requires.txt +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/paasta_tools.egg-info/top_level.txt +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/pyproject.toml +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/requirements-minimal.txt +0 -0
- {paasta-tools-1.0.5 → paasta-tools-1.1.0}/setup.cfg +0 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
# Copyright 2015-2016 Yelp Inc.
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
"""
|
|
16
|
+
A simple script to enumerate all services partecipating in authenticated
|
|
17
|
+
communications, and list them in a YAML/JSON file.
|
|
18
|
+
"""
|
|
19
|
+
import argparse
|
|
20
|
+
import glob
|
|
21
|
+
import logging
|
|
22
|
+
import os
|
|
23
|
+
from typing import Dict
|
|
24
|
+
from typing import List
|
|
25
|
+
from typing import Set
|
|
26
|
+
|
|
27
|
+
import yaml
|
|
28
|
+
|
|
29
|
+
from paasta_tools.utils import DEFAULT_SOA_DIR
|
|
30
|
+
from paasta_tools.utils import write_json_configuration_file
|
|
31
|
+
from paasta_tools.utils import write_yaml_configuration_file
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
AUTHORIZATION_CONFIG_FILE = "authorization.yaml"
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def list_services_in_authz_config(config_path: str) -> Set[str]:
|
|
38
|
+
auth_config: dict = {}
|
|
39
|
+
try:
|
|
40
|
+
with open(config_path) as f:
|
|
41
|
+
auth_config = yaml.safe_load(f)
|
|
42
|
+
except Exception as e:
|
|
43
|
+
logging.warning(f"Issue loading {config_path}: {e}")
|
|
44
|
+
return {
|
|
45
|
+
service
|
|
46
|
+
for rule in auth_config.get("authorization", {}).get("rules", [])
|
|
47
|
+
for service in rule.get("identity_groups", {}).get("services", [])
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def enumerate_authenticating_services() -> Dict[str, List[str]]:
|
|
52
|
+
result = set()
|
|
53
|
+
config_path_pattern = os.path.join(DEFAULT_SOA_DIR, "*", AUTHORIZATION_CONFIG_FILE)
|
|
54
|
+
for authz_config in glob.glob(config_path_pattern):
|
|
55
|
+
result.update(list_services_in_authz_config(authz_config))
|
|
56
|
+
return {"services": sorted(result)}
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
def parse_args():
|
|
60
|
+
parser = argparse.ArgumentParser(description="")
|
|
61
|
+
parser.add_argument(
|
|
62
|
+
"-o",
|
|
63
|
+
"--output",
|
|
64
|
+
help="Output filepath",
|
|
65
|
+
dest="output_filename",
|
|
66
|
+
required=True,
|
|
67
|
+
)
|
|
68
|
+
parser.add_argument(
|
|
69
|
+
"-f",
|
|
70
|
+
"--format",
|
|
71
|
+
help="Output format. Defaults to %(default)s",
|
|
72
|
+
dest="output_format",
|
|
73
|
+
choices=["yaml", "json"],
|
|
74
|
+
default="yaml",
|
|
75
|
+
)
|
|
76
|
+
args = parser.parse_args()
|
|
77
|
+
return args
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
def main():
|
|
81
|
+
args = parse_args()
|
|
82
|
+
if args.output_format == "yaml":
|
|
83
|
+
writer = write_yaml_configuration_file
|
|
84
|
+
elif args.output_format == "json":
|
|
85
|
+
writer = write_json_configuration_file
|
|
86
|
+
else:
|
|
87
|
+
raise NotImplementedError(f"Unknown format: {args.output_format}")
|
|
88
|
+
configuration = enumerate_authenticating_services()
|
|
89
|
+
writer(filename=args.output_filename, configuration=configuration)
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
if __name__ == "__main__":
|
|
93
|
+
main()
|
|
@@ -17,19 +17,17 @@ A simple script to enumerate all smartstack namespaces and output
|
|
|
17
17
|
a /etc/services compatible file
|
|
18
18
|
"""
|
|
19
19
|
import argparse
|
|
20
|
-
import json
|
|
21
20
|
import os
|
|
22
|
-
import socket
|
|
23
|
-
from datetime import datetime
|
|
24
21
|
|
|
25
22
|
import service_configuration_lib
|
|
26
|
-
import yaml
|
|
27
23
|
|
|
28
24
|
from paasta_tools.long_running_service_tools import get_all_namespaces
|
|
29
25
|
from paasta_tools.long_running_service_tools import get_all_namespaces_for_service
|
|
30
26
|
from paasta_tools.utils import atomic_file_write
|
|
31
27
|
from paasta_tools.utils import compose_job_id
|
|
32
28
|
from paasta_tools.utils import DEFAULT_SOA_DIR
|
|
29
|
+
from paasta_tools.utils import write_json_configuration_file
|
|
30
|
+
from paasta_tools.utils import write_yaml_configuration_file
|
|
33
31
|
|
|
34
32
|
|
|
35
33
|
YOCALHOST = "169.254.255.254"
|
|
@@ -71,40 +69,6 @@ def get_service_lines_for_service(service):
|
|
|
71
69
|
return lines
|
|
72
70
|
|
|
73
71
|
|
|
74
|
-
def write_yaml_file(filename):
|
|
75
|
-
previous_config = maybe_load_previous_config(filename, yaml.safe_load)
|
|
76
|
-
configuration = generate_configuration()
|
|
77
|
-
|
|
78
|
-
if previous_config and previous_config == configuration:
|
|
79
|
-
return
|
|
80
|
-
|
|
81
|
-
with atomic_file_write(filename) as fp:
|
|
82
|
-
fp.write(
|
|
83
|
-
"# This file is automatically generated by paasta_tools.\n"
|
|
84
|
-
"# It was automatically generated at {now} on {host}.\n".format(
|
|
85
|
-
host=socket.getfqdn(), now=datetime.now().isoformat()
|
|
86
|
-
)
|
|
87
|
-
)
|
|
88
|
-
yaml.safe_dump(
|
|
89
|
-
configuration,
|
|
90
|
-
fp,
|
|
91
|
-
indent=2,
|
|
92
|
-
explicit_start=True,
|
|
93
|
-
default_flow_style=False,
|
|
94
|
-
allow_unicode=False,
|
|
95
|
-
)
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
def maybe_load_previous_config(filename, config_loader):
|
|
99
|
-
try:
|
|
100
|
-
with open(filename, "r") as fp:
|
|
101
|
-
previous_config = config_loader(fp)
|
|
102
|
-
return previous_config
|
|
103
|
-
except Exception:
|
|
104
|
-
pass
|
|
105
|
-
return None
|
|
106
|
-
|
|
107
|
-
|
|
108
72
|
def generate_configuration():
|
|
109
73
|
service_data = get_all_namespaces()
|
|
110
74
|
config = {}
|
|
@@ -116,14 +80,6 @@ def generate_configuration():
|
|
|
116
80
|
return config
|
|
117
81
|
|
|
118
82
|
|
|
119
|
-
def write_json_file(filename):
|
|
120
|
-
configuration = generate_configuration()
|
|
121
|
-
with atomic_file_write(filename) as fp:
|
|
122
|
-
json.dump(
|
|
123
|
-
obj=configuration, fp=fp, indent=2, sort_keys=True, separators=(",", ": ")
|
|
124
|
-
)
|
|
125
|
-
|
|
126
|
-
|
|
127
83
|
def write_rfc1700_file(filename):
|
|
128
84
|
strings = [
|
|
129
85
|
"# This file is generated by generate_services_file",
|
|
@@ -140,10 +96,16 @@ def main():
|
|
|
140
96
|
args = parse_args()
|
|
141
97
|
if args.output_format == "rfc1700":
|
|
142
98
|
write_rfc1700_file(filename=args.output_filename)
|
|
143
|
-
elif args.output_format
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
99
|
+
elif args.output_format in ("json", "yaml"):
|
|
100
|
+
writer = (
|
|
101
|
+
write_json_configuration_file
|
|
102
|
+
if args.output_format == "json"
|
|
103
|
+
else write_yaml_configuration_file
|
|
104
|
+
)
|
|
105
|
+
writer(
|
|
106
|
+
filename=args.output_filename,
|
|
107
|
+
configuration=generate_configuration(),
|
|
108
|
+
)
|
|
147
109
|
else:
|
|
148
110
|
raise (NotImplementedError)
|
|
149
111
|
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
import argparse
|
|
16
16
|
|
|
17
|
-
from paasta_tools.generate_services_file import
|
|
17
|
+
from paasta_tools.generate_services_file import generate_configuration
|
|
18
|
+
from paasta_tools.utils import write_yaml_configuration_file
|
|
18
19
|
|
|
19
20
|
|
|
20
21
|
def main(argv=None):
|
|
@@ -22,7 +23,7 @@ def main(argv=None):
|
|
|
22
23
|
parser.add_argument("output_path")
|
|
23
24
|
args = parser.parse_args(argv)
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
write_yaml_configuration_file(args.output_path, generate_configuration())
|
|
26
27
|
|
|
27
28
|
|
|
28
29
|
if __name__ == "__main__":
|
|
@@ -63,6 +63,7 @@ from typing import NamedTuple
|
|
|
63
63
|
from typing import Optional
|
|
64
64
|
from typing import Sequence
|
|
65
65
|
from typing import Set
|
|
66
|
+
from typing import TextIO
|
|
66
67
|
from typing import Tuple
|
|
67
68
|
from typing import Type
|
|
68
69
|
from typing import TypeVar
|
|
@@ -73,6 +74,7 @@ import dateutil.tz
|
|
|
73
74
|
import ldap3
|
|
74
75
|
import requests_cache
|
|
75
76
|
import service_configuration_lib
|
|
77
|
+
import yaml
|
|
76
78
|
from docker import Client
|
|
77
79
|
from docker.utils import kwargs_from_env
|
|
78
80
|
from kazoo.client import KazooClient
|
|
@@ -4137,3 +4139,68 @@ def get_k8s_url_for_cluster(cluster: str) -> Optional[str]:
|
|
|
4137
4139
|
@lru_cache(maxsize=1)
|
|
4138
4140
|
def is_using_unprivileged_containers() -> bool:
|
|
4139
4141
|
return "podman" in os.getenv("DOCKER_HOST", "")
|
|
4142
|
+
|
|
4143
|
+
|
|
4144
|
+
def maybe_load_previous_config(
|
|
4145
|
+
filename: str, config_loader: Callable[[TextIO], dict]
|
|
4146
|
+
) -> Optional[dict]:
|
|
4147
|
+
"""Try to load configuration file
|
|
4148
|
+
|
|
4149
|
+
:param str filename: path to load from
|
|
4150
|
+
:param Callable[[TextIO], dict] config_loader: parser for the configuration
|
|
4151
|
+
:return: configuration data, None if loading fails
|
|
4152
|
+
"""
|
|
4153
|
+
try:
|
|
4154
|
+
with open(filename, "r") as fp:
|
|
4155
|
+
previous_config = config_loader(fp)
|
|
4156
|
+
return previous_config
|
|
4157
|
+
except Exception:
|
|
4158
|
+
pass
|
|
4159
|
+
return None
|
|
4160
|
+
|
|
4161
|
+
|
|
4162
|
+
def write_json_configuration_file(filename: str, configuration: dict) -> None:
|
|
4163
|
+
"""Atomically write configuration to JSON file
|
|
4164
|
+
|
|
4165
|
+
:param str filename: path to write to
|
|
4166
|
+
:param dict configuration: configuration data
|
|
4167
|
+
"""
|
|
4168
|
+
with atomic_file_write(filename) as fp:
|
|
4169
|
+
json.dump(
|
|
4170
|
+
obj=configuration,
|
|
4171
|
+
fp=fp,
|
|
4172
|
+
indent=2,
|
|
4173
|
+
sort_keys=True,
|
|
4174
|
+
separators=(",", ": "),
|
|
4175
|
+
)
|
|
4176
|
+
|
|
4177
|
+
|
|
4178
|
+
def write_yaml_configuration_file(
|
|
4179
|
+
filename: str, configuration: dict, check_existing: bool = True
|
|
4180
|
+
) -> None:
|
|
4181
|
+
"""Atomically write configuration to YAML file
|
|
4182
|
+
|
|
4183
|
+
:param str filename: path to write to
|
|
4184
|
+
:param dict configuration: configuration data
|
|
4185
|
+
:param bool check_existing: if existing file already matches config, do not overwrite
|
|
4186
|
+
"""
|
|
4187
|
+
if check_existing:
|
|
4188
|
+
previous_config = maybe_load_previous_config(filename, yaml.safe_load)
|
|
4189
|
+
if previous_config and previous_config == configuration:
|
|
4190
|
+
return
|
|
4191
|
+
|
|
4192
|
+
with atomic_file_write(filename) as fp:
|
|
4193
|
+
fp.write(
|
|
4194
|
+
"# This file is automatically generated by paasta_tools.\n"
|
|
4195
|
+
"# It was automatically generated at {now} on {host}.\n".format(
|
|
4196
|
+
host=socket.getfqdn(), now=datetime.datetime.now().isoformat()
|
|
4197
|
+
)
|
|
4198
|
+
)
|
|
4199
|
+
yaml.safe_dump(
|
|
4200
|
+
configuration,
|
|
4201
|
+
fp,
|
|
4202
|
+
indent=2,
|
|
4203
|
+
explicit_start=True,
|
|
4204
|
+
default_flow_style=False,
|
|
4205
|
+
allow_unicode=False,
|
|
4206
|
+
)
|
|
@@ -41,6 +41,7 @@ paasta_tools/firewall_update.py
|
|
|
41
41
|
paasta_tools/flink_tools.py
|
|
42
42
|
paasta_tools/flinkeks_tools.py
|
|
43
43
|
paasta_tools/generate_all_deployments
|
|
44
|
+
paasta_tools/generate_authenticating_services.py
|
|
44
45
|
paasta_tools/generate_deployments_for_service.py
|
|
45
46
|
paasta_tools/generate_services_file.py
|
|
46
47
|
paasta_tools/generate_services_yaml.py
|
|
@@ -57,6 +57,7 @@ setup(
|
|
|
57
57
|
"paasta_tools/generate_deployments_for_service.py",
|
|
58
58
|
"paasta_tools/generate_services_file.py",
|
|
59
59
|
"paasta_tools/generate_services_yaml.py",
|
|
60
|
+
"paasta_tools/generate_authenticating_services.py",
|
|
60
61
|
"paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py",
|
|
61
62
|
"paasta_tools/kubernetes/bin/paasta_cleanup_stale_nodes.py",
|
|
62
63
|
"paasta_tools/kubernetes/bin/paasta_secrets_sync.py",
|
|
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.0.5 → paasta-tools-1.1.0}/paasta_tools/autoscaling/autoscaling_service_lib.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta-tools-1.0.5 → paasta-tools-1.1.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.0.5 → paasta-tools-1.1.0}/paasta_tools/check_kubernetes_services_replication.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
|
|
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
|
|
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.0.5 → paasta-tools-1.1.0}/paasta_tools/contrib/emit_allocated_cpu_metrics.py
RENAMED
|
File without changes
|
{paasta-tools-1.0.5 → paasta-tools-1.1.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.0.5 → paasta-tools-1.1.0}/paasta_tools/contrib/is_pod_healthy_in_smartstack.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|