From 59192b7f1e3368451e7c0dd4a41a86ab681c42cf Mon Sep 17 00:00:00 2001 From: Katrina Rogan Date: Tue, 13 Aug 2024 18:30:08 +0200 Subject: [PATCH] RFC into RFC (#5653) --- .codespellrc | 6 - .github/PULL_REQUEST_TEMPLATE.md | 12 +- .github/actions/clear-action-cache/action.yml | 11 + .github/codespell-ignored-words | 11 + .github/workflows/checks.yml | 94 +- .github/workflows/codespell.yml | 7 +- .github/workflows/component_docker_build.yml | 2 +- .github/workflows/create_release.yml | 14 +- .github/workflows/end2end.yml | 124 - .github/workflows/flytectl-install.yml | 33 + .github/workflows/flytectl-release.yml | 48 + .github/workflows/flyteidl-buf-publish.yml | 2 +- .github/workflows/flyteidl-checks.yml | 6 +- .github/workflows/flyteidl-release.yml | 40 +- .github/workflows/generate_flyte_manifest.yml | 6 +- .github/workflows/go_generate.yml | 6 +- .github/workflows/helm-charts.yaml | 2 +- .github/workflows/integration.yml | 6 +- .github/workflows/lint.yml | 4 +- .github/workflows/publish.yml | 4 +- .github/workflows/sandbox.yml | 4 +- .github/workflows/single-binary.yml | 23 +- .github/workflows/tests.yml | 21 +- .github/workflows/unit-tests.yml | 16 +- .github/workflows/validate-helm-charts.yaml | 2 +- .gitignore | 1 + .readthedocs.yml | 1 + .run/single-binary.run.xml | 13 + CHANGELOG/CHANGELOG-v0.14.0.md | 2 +- CHANGELOG/CHANGELOG-v0.17.0.md | 2 +- CHANGELOG/CHANGELOG-v0.19.4.md | 2 +- CHANGELOG/CHANGELOG-v0.2.0.md | 2 +- CHANGELOG/CHANGELOG-v1.0.0.md | 2 +- CHANGELOG/CHANGELOG-v1.0.2-b1.md | 2 +- CHANGELOG/CHANGELOG-v1.1.0.md | 2 +- CHANGELOG/CHANGELOG-v1.11.1-b1.md | 45 + CHANGELOG/CHANGELOG-v1.12.0-b0.md | 151 + CHANGELOG/CHANGELOG-v1.12.0.md | 56 + CHANGELOG/CHANGELOG-v1.12.1-rc0.md | 37 + CHANGELOG/CHANGELOG-v1.13.0-rc0.md | 40 + CHANGELOG/CHANGELOG-v1.13.0.md | 55 + CHANGELOG/CHANGELOG-v1.3.0.md | 2 +- Dockerfile | 2 +- Dockerfile.datacatalog | 10 +- Dockerfile.flyteadmin | 9 +- Dockerfile.flytecopilot | 6 +- Dockerfile.flytepropeller | 7 +- Dockerfile.flytescheduler | 7 +- Makefile | 37 +- README.md | 3 +- .../flyte/docker_build/Makefile | 0 .../flyte/docker_build/Readme.rst | 0 .../flyte/docker_build/docker_build.sh | 0 boilerplate/flyte/end2end/run-tests.py | 8 +- .../flyte/flyte_golang_compile/Readme.rst | 0 .../flyte_golang_compile.Template | 0 .../flyte/flyte_golang_compile/update.sh | 0 .../flyte/github_workflows/Readme.rst | 0 .../boilerplate_automation.yml | 2 +- .../flyte/github_workflows/master.yml | 2 +- .../flyte/github_workflows/pull_request.yml | 2 +- .../flyte/github_workflows/stale.yml | 0 .../flyte/github_workflows/update.sh | 0 .../flyte/golang_support_tools/go.mod | 173 +- .../flyte/golang_support_tools/go.sum | 474 +- .../flyte/golang_support_tools/tools.go | 1 + .../flyte/golang_test_targets/Makefile | 22 +- .../flyte/golang_test_targets/Readme.rst | 2 + .../golang_test_targets/download_tooling.sh | 41 +- .../flyte/golang_test_targets/goimports | 9 - .../flyte/golangci_file/.golangci.yml | 0 .../flyte/golangci_file/Readme.rst | 0 .../flyte/golangci_file/update.sh | 0 .../flyte/precommit/Makefile | 0 .../flyte/precommit/hooks/pre-push | 0 .../flyte/precommit/hooks/prepare-commit-msg | 0 .../flyte/precommit/update.sh | 0 .../flyte/pull_request_template/Readme.rst | 0 .../pull_request_template.md | 0 .../flyte/pull_request_template/update.sh | 0 boilerplate/update.cfg | 3 - charts/flyte-binary/README.md | 3 +- charts/flyte-binary/templates/_helpers.tpl | 18 + .../flyte-binary/templates/clusterrole.yaml | 1 + .../flyte-binary/templates/ingress/grpc.yaml | 103 +- .../flyte-binary/templates/ingress/http.yaml | 19 + .../flyte-binary/templates/service/grpc.yaml | 2 + .../flyte-binary/templates/service/http.yaml | 10 + charts/flyte-binary/values.yaml | 4 +- charts/flyte-core/README.md | 65 +- charts/flyte-core/templates/_helpers.tpl | 23 - .../templates/admin/deployment.yaml | 4 +- .../flyte-core/templates/admin/service.yaml | 8 + .../clusterresourcesync/deployment.yaml | 11 + .../templates/common/secret-auth.yaml | 2 +- .../templates/console/deployment.yaml | 13 + .../templates/console/service-monitor.yaml | 19 + .../flyte-core/templates/console/service.yaml | 6 + .../templates/datacatalog/deployment.yaml | 4 +- .../templates/datacatalog/service.yaml | 3 + .../templates/propeller/deployment.yaml | 5 + .../templates/propeller/service.yaml | 5 +- .../templates/propeller/webhook-hpa.yaml | 17 + .../templates/propeller/webhook.yaml | 27 +- charts/flyte-core/values-eks.yaml | 12 +- charts/flyte-core/values-gcp.yaml | 10 +- ...loak-idp-flyteclients-without-browser.yaml | 18 +- charts/flyte-core/values.yaml | 95 +- charts/flyte-deps/README.md | 18 +- .../templates/redoc/deployment.yaml | 2 +- .../flyte-deps/templates/redoc/service.yaml | 2 + charts/flyte-deps/values.yaml | 18 +- charts/flyte/README.md | 42 +- charts/flyte/templates/redoc/deployment.yaml | 5 +- charts/flyte/templates/redoc/service.yaml | 2 + charts/flyte/values.yaml | 35 +- charts/flyteagent/README.md | 6 +- charts/flyteagent/templates/_helpers.tpl | 2 +- .../flyteagent/templates/agent/service.yaml | 1 + charts/flyteagent/values.yaml | 6 +- cmd/single/start.go | 2 +- datacatalog/Makefile | 18 +- .../flyte/code_of_conduct/CODE_OF_CONDUCT.md | 2 - .../flyte/code_of_conduct/README.rst | 2 - .../flyte/code_of_conduct/update.sh | 12 - .../boilerplate/flyte/end2end/Makefile | 14 - .../boilerplate/flyte/end2end/end2end.sh | 12 - .../boilerplate/flyte/end2end/run-tests.py | 285 - .../flyte/github_workflows/pull_request.yml | 19 - .../golang_dockerfile/Dockerfile.GoTemplate | 38 - .../flyte/golang_dockerfile/Readme.rst | 16 - .../flyte/golang_dockerfile/update.sh | 13 - .../flyte/golang_support_tools/go.mod | 247 - .../flyte/golang_support_tools/tools.go | 13 - .../flyte/golang_test_targets/Makefile | 57 - .../flyte/golang_test_targets/Readme.rst | 31 - .../golang_test_targets/download_tooling.sh | 38 - .../flyte/golang_test_targets/go-gen.sh | 22 - .../flyte/golang_test_targets/goimports | 9 - datacatalog/boilerplate/update.cfg | 6 - datacatalog/boilerplate/update.sh | 73 - datacatalog/cmd/entrypoints/serve.go | 2 +- datacatalog/go.mod | 104 +- datacatalog/go.sum | 303 +- .../agent/flyte_agent_helm_generated.yaml | 5 +- .../flyte_aws_scheduler_helm_generated.yaml | 63 +- .../flyte_helm_controlplane_generated.yaml | 47 +- .../eks/flyte_helm_dataplane_generated.yaml | 24 +- deployment/eks/flyte_helm_generated.yaml | 69 +- .../flyte_helm_controlplane_generated.yaml | 47 +- .../gcp/flyte_helm_dataplane_generated.yaml | 24 +- deployment/gcp/flyte_helm_generated.yaml | 69 +- .../flyte_sandbox_binary_helm_generated.yaml | 5 +- deployment/sandbox/flyte_helm_generated.yaml | 60 +- .../flyte_sandbox_deps_helm_generated.yaml | 22 - .../prometheus/flyteadmin-dashboard.json | 406 +- .../prometheus/flytepropeller-dashboard.json | 3407 ++++++- deployment/test/flyte_generated.yaml | 3 +- docker/sandbox-bundled/Dockerfile | 4 +- docker/sandbox-bundled/bootstrap/go.mod | 10 +- docker/sandbox-bundled/bootstrap/go.sum | 16 +- .../manifests/complete-agent.yaml | 16 +- .../sandbox-bundled/manifests/complete.yaml | 9 +- docker/sandbox-bundled/manifests/dev.yaml | 4 +- docs/Dockerfile.conda-lock | 12 + docs/Dockerfile.docs | 21 + docs/Makefile | 2 +- docs/_ext/import_projects.py | 27 +- docs/_static/custom.css | 11 + docs/_static/custom.js | 111 + docs/_static/flyte.css | 1 + docs/_templates/base.html | 17 + docs/_templates/file_types.rst | 2 +- docs/community/contribute.rst | 98 +- docs/community/index.rst | 22 - docs/community/troubleshoot.rst | 25 + docs/concepts/admin.rst | 7 +- docs/concepts/architecture.rst | 2 +- .../flytepropeller_architecture.rst | 125 +- docs/concepts/tasks.rst | 2 + docs/concepts/versioning.rst | 6 + docs/concepts/workflow_lifecycle.rst | 34 +- docs/conf.py | 56 +- docs/core_use_cases/analytics.md | 2 +- docs/core_use_cases/machine_learning.md | 2 +- docs/deployment/agents/chatgpt.rst | 12 + docs/deployment/agents/index.md | 9 +- docs/deployment/agents/openai_batch.rst | 134 + .../deployment/agents/sagemaker_inference.rst | 35 +- docs/deployment/agents/snowflake.rst | 18 +- docs/deployment/configuration/auth_setup.rst | 307 +- .../generated/datacatalog_config.rst | 96 +- .../generated/flyteadmin_config.rst | 157 +- .../generated/flytepropeller_config.rst | 247 +- .../generated/scheduler_config.rst | 157 +- docs/deployment/configuration/monitoring.rst | 56 +- .../configuration/notifications.rst | 81 +- docs/deployment/configuration/performance.rst | 330 +- docs/deployment/deployment/index.rst | 4 - docs/deployment/deployment/multicluster.rst | 620 +- docs/deployment/plugins/k8s/index.rst | 1605 +-- .../bigquery_plugin_example.md | 44 + .../bigquery_plugin/index.md | 39 + .../databricks_plugin_example.md | 55 + .../databricks_plugin/index.md | 62 + docs/deprecated_integrations/index.md | 22 + .../snowflake_plugin/index.md | 48 + .../snowflake_plugin_example.md | 72 + .../deploying_agents_to_the_flyte_sandbox.md | 98 + docs/flyte_agents/developing_agents.md | 105 +- ...nabling_agents_in_your_flyte_deployment.md | 2 +- .../flyte_agents/how_secret_works_in_agent.md | 17 + ...implementing_the_agent_metadata_service.md | 48 + docs/flyte_agents/index.md | 33 +- ...g_agents_in_a_local_development_cluster.md | 99 + ...g_agents_in_a_local_python_environment.md} | 21 +- docs/flyte_fundamentals/optimizing_tasks.md | 5 +- .../registering_workflows.md | 13 +- .../visualizing_task_input_and_output.md | 10 +- .../creating_a_flyte_project.md | 6 +- .../flyte_project_components.md | 5 +- .../running_a_workflow_locally.md | 18 +- docs/index.md | 12 +- docs/quickstart_guide.md | 12 +- docs/reference/index.rst | 75 - .../chaining_flyte_entities.md | 88 +- .../advanced_composition/conditionals.md | 236 +- .../advanced_composition/decorating_tasks.md | 109 +- .../decorating_workflows.md | 133 +- .../advanced_composition/dynamic_workflows.md | 125 +- .../advanced_composition/eager_workflows.md | 200 +- .../intratask_checkpoints.md | 89 +- .../advanced_composition/map_tasks.md | 197 +- .../nested_parallelization.md | 21 + .../advanced_composition/subworkflows.md | 125 +- .../waiting_for_external_inputs.md | 154 +- .../basics/documenting_workflows.md | 115 +- docs/user_guide/basics/hello_world.md | 68 +- .../user_guide/basics/imperative_workflows.md | 91 +- docs/user_guide/basics/launch_plans.md | 95 +- docs/user_guide/basics/named_outputs.md | 90 +- docs/user_guide/basics/shell_tasks.md | 135 +- docs/user_guide/basics/tasks.md | 60 +- docs/user_guide/basics/workflows.md | 105 +- .../customizing_dependencies/imagespec.md | 107 +- .../multiple_images_in_a_workflow.md | 51 +- .../raw_containers.md | 172 +- .../data_types_and_io/accessing_attributes.md | 137 +- .../user_guide/data_types_and_io/dataclass.md | 143 +- .../user_guide/data_types_and_io/enum_type.md | 85 +- .../data_types_and_io/flytedirectory.md | 158 +- .../user_guide/data_types_and_io/flytefile.md | 171 +- docs/user_guide/data_types_and_io/index.md | 5 +- .../data_types_and_io/pickle_type.md | 93 +- .../data_types_and_io/pytorch_type.md | 151 +- .../data_types_and_io/structureddataset.md | 215 +- .../cache_serializing.md | 50 +- .../development_lifecycle/caching.md | 207 +- .../creating_a_new_project.md | 17 - .../debugging_executions.md | 17 - .../user_guide/development_lifecycle/decks.md | 190 +- .../development_lifecycle/failure_node.md | 75 +- .../inspecting_executions.md | 17 - .../development_lifecycle/private_images.md | 17 - .../running_launch_plans.md | 17 - .../development_lifecycle/running_tasks.md | 17 - .../running_workflows.md | 17 - docs/user_guide/environment_setup.md | 9 +- docs/user_guide/extending/backend_plugins.md | 18 - .../extending/container_interface.md | 17 - docs/user_guide/extending/custom_types.md | 162 +- .../prebuilt_container_task_plugins.md | 17 - .../extending/user_container_task_plugins.md | 116 +- .../configuring_access_to_gpus.md | 425 +- .../configuring_logging_links_in_the_ui.md | 45 +- .../customizing_task_resources.md | 136 +- .../productionizing/notifications.md | 123 +- .../productionizing/reference_launch_plans.md | 59 +- .../productionizing/reference_tasks.md | 62 +- docs/user_guide/productionizing/schedules.md | 103 +- docs/user_guide/productionizing/secrets.md | 159 +- .../productionizing/spot_instances.md | 28 +- .../workflow_labels_and_annotations.md | 17 - docs/user_guide/testing/mocking_tasks.md | 108 +- flyte-single-binary-local.yaml | 4 +- flyte.yaml | 106 - flyte_local.yaml | 110 - flyte_local_k3d.yaml | 104 - flyteadmin/Makefile | 13 +- flyteadmin/auth/auth_context.go | 2 +- flyteadmin/auth/auth_context_test.go | 51 + flyteadmin/auth/authzserver/provider.go | 15 + flyteadmin/auth/authzserver/provider_test.go | 125 +- flyteadmin/auth/cookie.go | 4 + flyteadmin/auth/cookie_manager.go | 48 +- flyteadmin/auth/cookie_manager_test.go | 102 +- flyteadmin/auth/handlers.go | 27 +- flyteadmin/auth/handlers_test.go | 86 +- .../flyte/code_of_conduct/CODE_OF_CONDUCT.md | 2 - .../flyte/code_of_conduct/README.rst | 2 - .../flyte/code_of_conduct/update.sh | 12 - .../boilerplate/flyte/docker_build/Makefile | 12 - .../boilerplate/flyte/docker_build/Readme.rst | 23 - .../flyte/docker_build/docker_build.sh | 67 - flyteadmin/boilerplate/flyte/end2end/Makefile | 14 - .../boilerplate/flyte/end2end/end2end.sh | 12 - .../boilerplate/flyte/end2end/run-tests.py | 285 - .../flyte/flyte_golang_compile/Readme.rst | 16 - .../flyte_golang_compile.Template | 26 - .../flyte/flyte_golang_compile/update.sh | 13 - .../flyte/github_workflows/Readme.rst | 22 - .../flyte/github_workflows/master.yml | 31 - .../flyte/github_workflows/pull_request.yml | 19 - .../flyte/github_workflows/update.sh | 16 - .../golang_dockerfile/Dockerfile.GoTemplate | 32 - .../flyte/golang_dockerfile/Readme.rst | 16 - .../flyte/golang_dockerfile/update.sh | 13 - .../flyte/golang_support_tools/go.mod | 247 - .../flyte/golang_support_tools/go.sum | 1225 --- .../flyte/golang_test_targets/Makefile | 57 - .../flyte/golang_test_targets/Readme.rst | 31 - .../golang_test_targets/download_tooling.sh | 38 - .../flyte/golang_test_targets/go-gen.sh | 22 - .../flyte/golang_test_targets/goimports | 9 - .../flyte/golangci_file/.golangci.yml | 40 - .../flyte/golangci_file/Readme.rst | 8 - .../boilerplate/flyte/golangci_file/update.sh | 14 - .../flyte/pull_request_template/Readme.rst | 8 - .../pull_request_template.md | 35 - .../flyte/pull_request_template/update.sh | 12 - flyteadmin/boilerplate/update.cfg | 6 - flyteadmin/boilerplate/update.sh | 73 - flyteadmin/cmd/entrypoints/clusterresource.go | 12 + flyteadmin/cmd/entrypoints/serve.go | 2 +- flyteadmin/flyteadmin_config.yaml | 3 +- flyteadmin/go.mod | 134 +- flyteadmin/go.sum | 316 +- flyteadmin/pkg/clusterresource/controller.go | 10 +- .../pkg/clusterresource/controller_test.go | 32 + .../imagepullsecrets_templatized.yaml | 7 + flyteadmin/pkg/common/entity.go | 1 + flyteadmin/pkg/common/filters.go | 38 +- flyteadmin/pkg/common/filters_test.go | 39 +- flyteadmin/pkg/errors/errors.go | 77 +- flyteadmin/pkg/errors/errors_test.go | 255 +- flyteadmin/pkg/flytek8s/client.go | 2 +- .../pkg/manager/impl/execution_manager.go | 78 +- .../manager/impl/execution_manager_test.go | 3 + .../pkg/manager/impl/launch_plan_manager.go | 13 +- .../pkg/manager/impl/project_manager.go | 31 +- flyteadmin/pkg/manager/impl/task_manager.go | 15 +- .../pkg/manager/impl/util/digests_test.go | 4 +- flyteadmin/pkg/manager/impl/util/filters.go | 5 +- .../impl/util/single_task_execution.go | 9 +- .../impl/util/single_task_execution_test.go | 8 + .../validation/launch_plan_validator_test.go | 14 +- .../impl/validation/project_validator.go | 3 +- .../pkg/manager/impl/validation/validation.go | 17 + .../impl/validation/validation_test.go | 38 + .../pkg/manager/impl/workflow_manager.go | 7 +- .../pkg/manager/impl/workflow_manager_test.go | 4 +- flyteadmin/pkg/manager/interfaces/project.go | 1 + flyteadmin/pkg/manager/interfaces/signal.go | 2 +- flyteadmin/pkg/manager/mocks/project.go | 9 + .../pkg/manager/mocks/signal_interface.go | 148 +- .../pkg/repositories/config/migrations.go | 63 +- .../repositories/config/migrations_test.go | 2 +- .../pkg/repositories/gormimpl/common.go | 4 +- .../repositories/gormimpl/execution_repo.go | 28 +- .../gormimpl/execution_repo_test.go | 63 +- .../gormimpl/named_entity_repo.go | 2 +- .../pkg/repositories/gormimpl/signal_repo.go | 8 +- .../gormimpl/task_execution_repo.go | 2 +- .../repositories/interfaces/execution_repo.go | 2 +- .../pkg/repositories/mocks/execution_repo.go | 2 +- .../pkg/repositories/models/execution.go | 14 +- .../repositories/transformers/execution.go | 45 +- .../transformers/execution_test.go | 16 +- .../transformers/task_execution.go | 37 +- .../transformers/task_execution_test.go | 299 +- flyteadmin/pkg/rpc/adminservice/attributes.go | 10 - flyteadmin/pkg/rpc/adminservice/base.go | 13 - flyteadmin/pkg/rpc/adminservice/base_test.go | 40 - .../rpc/adminservice/description_entity.go | 2 - flyteadmin/pkg/rpc/adminservice/execution.go | 10 - .../pkg/rpc/adminservice/launch_plan.go | 7 - flyteadmin/pkg/rpc/adminservice/metrics.go | 18 +- .../middleware/recovery_interceptor.go | 61 + .../middleware/recovery_interceptor_test.go | 90 + .../pkg/rpc/adminservice/named_entity.go | 3 - .../pkg/rpc/adminservice/node_execution.go | 6 - flyteadmin/pkg/rpc/adminservice/project.go | 17 +- flyteadmin/pkg/rpc/adminservice/task.go | 4 - .../pkg/rpc/adminservice/task_execution.go | 4 - flyteadmin/pkg/rpc/adminservice/version.go | 1 - flyteadmin/pkg/rpc/adminservice/workflow.go | 4 - flyteadmin/pkg/rpc/signal_service_test.go | 12 +- .../runtime/application_config_provider.go | 1 + .../pkg/runtime/config_provider_test.go | 13 +- .../interfaces/application_configuration.go | 6 + .../interfaces/cluster_configuration.go | 1 + .../pkg/runtime/testdata/clusters_config.yaml | 3 + flyteadmin/pkg/server/service.go | 34 +- .../pkg/workflowengine/impl/k8s_executor.go | 8 + .../workflowengine/impl/k8s_executor_test.go | 71 + .../pkg/workflowengine/interfaces/executor.go | 2 + flyteadmin/plugins/registry.go | 9 +- flyteadmin/scheduler/doc.go | 4 +- .../scheduler/executor/executor_impl.go | 19 + .../scheduler/executor/executor_impl_test.go | 12 + flyteadmin/scheduler/snapshoter/doc.go | 2 +- .../script/integration/k8s/integration.yaml | 3 +- flyteadmin/tests/bootstrap.go | 2 + flyteadmin/tests/execution_test.go | 27 +- flyteadmin/tests/project_test.go | 14 + flytecopilot/Makefile | 9 +- .../flyte/code_of_conduct/CODE_OF_CONDUCT.md | 2 - .../flyte/code_of_conduct/README.rst | 2 - .../flyte/code_of_conduct/update.sh | 12 - .../boilerplate/flyte/docker_build/Makefile | 12 - .../boilerplate/flyte/docker_build/Readme.rst | 23 - .../flyte/docker_build/docker_build.sh | 67 - .../boilerplate/flyte/end2end/Makefile | 14 - .../boilerplate/flyte/end2end/end2end.sh | 12 - .../flyte/end2end/functional-test-config.yaml | 5 - .../boilerplate/flyte/end2end/run-tests.py | 285 - .../flyte/flyte_golang_compile/Readme.rst | 16 - .../flyte_golang_compile.Template | 26 - .../flyte/flyte_golang_compile/update.sh | 13 - .../flyte/github_workflows/Readme.rst | 22 - .../boilerplate_automation.yml | 36 - .../flyte/github_workflows/master.yml | 31 - .../flyte/github_workflows/stale.yml | 61 - .../flyte/github_workflows/update.sh | 17 - .../golang_dockerfile/Dockerfile.GoTemplate | 38 - .../flyte/golang_dockerfile/Readme.rst | 16 - .../flyte/golang_dockerfile/update.sh | 13 - .../flyte/golang_support_tools/go.sum | 1225 --- .../flyte/golang_support_tools/tools.go | 13 - .../flyte/golang_test_targets/Makefile | 57 - .../flyte/golang_test_targets/Readme.rst | 31 - .../golang_test_targets/download_tooling.sh | 38 - .../flyte/golang_test_targets/go-gen.sh | 22 - .../flyte/golang_test_targets/goimports | 9 - .../flyte/golangci_file/.golangci.yml | 40 - .../flyte/golangci_file/Readme.rst | 8 - .../boilerplate/flyte/golangci_file/update.sh | 14 - .../boilerplate/flyte/precommit/Makefile | 9 - .../flyte/precommit/hooks/pre-push | 41 - .../flyte/precommit/hooks/prepare-commit-msg | 16 - .../boilerplate/flyte/precommit/update.sh | 60 - .../flyte/pull_request_template/Readme.rst | 8 - .../pull_request_template.md | 35 - .../flyte/pull_request_template/update.sh | 12 - flytecopilot/boilerplate/update.cfg | 6 - flytecopilot/boilerplate/update.sh | 73 - flytecopilot/cmd/sidecar_test.go | 2 +- flytecopilot/go.mod | 92 +- flytecopilot/go.sum | 217 +- flytectl/.gitattributes | 1 + flytectl/.gitignore | 12 + .../golangci_file => flytectl}/.golangci.yml | 7 + flytectl/.goreleaser.yml | 95 + flytectl/CODEOWNERS | 3 + flytectl/LICENSE | 202 + flytectl/Makefile | 38 + flytectl/NOTICE | 4 + flytectl/README.md | 71 + flytectl/RELEASE.md | 5 + flytectl/clierrors/errors.go | 26 + flytectl/cmd/compile/compile.go | 201 + flytectl/cmd/compile/compile_test.go | 77 + .../compile/testdata/bad-workflow-package.tgz | Bin 0 -> 1289 bytes flytectl/cmd/compile/testdata/invalid.tgz | 1 + .../compile/testdata/invalidlaunchplan.tgz | Bin 0 -> 214 bytes flytectl/cmd/compile/testdata/invalidtask.tgz | Bin 0 -> 200 bytes .../cmd/compile/testdata/invalidworkflow.tgz | Bin 0 -> 217 bytes .../cmd/compile/testdata/launchplan-in-wf.py | 16 + .../cmd/compile/testdata/launchplan-in-wf.tgz | Bin 0 -> 875 bytes .../cmd/compile/testdata/valid-package.tgz | Bin 0 -> 999 bytes flytectl/cmd/completion.go | 107 + flytectl/cmd/completion_test.go | 26 + flytectl/cmd/config/config.go | 44 + flytectl/cmd/config/config_test.go | 32 + .../attrdeleteconfig_flags.go | 56 + .../attrdeleteconfig_flags_test.go | 130 + .../attrfetchconfig_flags.go | 55 + .../attrfetchconfig_flags_test.go | 116 + .../attrupdateconfig_flags.go | 57 + .../attrupdateconfig_flags_test.go | 144 + .../clusterresourceattribute/delete_config.go | 11 + .../clusterresourceattribute/fetch_config.go | 9 + .../clusterresourceattribute/file_config.go | 47 + .../file_config_test.go | 45 + .../clusterresourceattribute/update_config.go | 12 + .../subcommand/compile/compile_config.go | 11 + .../config/subcommand/compile/config_flags.go | 55 + .../subcommand/compile/config_flags_test.go | 116 + .../config/subcommand/config/config_flags.go | 58 + .../subcommand/config/config_flags_test.go | 158 + .../config/subcommand/config/console_flags.go | 20 + .../subcommand/config/consoleconfig_flags.go | 55 + .../config/consoleconfig_flags_test.go | 116 + .../config/subcommand/config/init_flags.go | 17 + .../config/subcommand/docker/config_flags.go | 55 + .../subcommand/docker/config_flags_test.go | 116 + .../config/subcommand/docker/docker_config.go | 13 + .../subcommand/execution/config_flags.go | 61 + .../subcommand/execution/config_flags_test.go | 200 + .../subcommand/execution/delete_config.go | 10 + .../execution/execdeleteconfig_flags.go | 55 + .../execution/execdeleteconfig_flags_test.go | 116 + .../subcommand/execution/execution_config.go | 19 + .../subcommand/execution/update_config.go | 14 + .../execution/updateconfig_flags.go | 58 + .../execution/updateconfig_flags_test.go | 158 + .../attrdeleteconfig_flags.go | 56 + .../attrdeleteconfig_flags_test.go | 130 + .../attrfetchconfig_flags.go | 55 + .../attrfetchconfig_flags_test.go | 116 + .../attrupdateconfig_flags.go | 57 + .../attrupdateconfig_flags_test.go | 144 + .../executionclusterlabel/delete_config.go | 11 + .../executionclusterlabel/fetch_config.go | 9 + .../executionclusterlabel/file_config.go | 47 + .../executionclusterlabel/file_config_test.go | 45 + .../executionclusterlabel/update_config.go | 12 + .../attrdeleteconfig_flags.go | 56 + .../attrdeleteconfig_flags_test.go | 130 + .../attrfetchconfig_flags.go | 55 + .../attrfetchconfig_flags_test.go | 116 + .../attrupdateconfig_flags.go | 57 + .../attrupdateconfig_flags_test.go | 144 + .../executionqueueattribute/delete_config.go | 11 + .../executionqueueattribute/fetch_config.go | 9 + .../executionqueueattribute/file_config.go | 47 + .../file_config_test.go | 45 + .../executionqueueattribute/update_config.go | 12 + .../subcommand/launchplan/config_flags.go | 63 + .../launchplan/config_flags_test.go | 228 + .../launchplan/launchplan_config.go | 21 + .../subcommand/launchplan/updateconfig.go | 16 + .../launchplan/updateconfig_flags.go | 60 + .../launchplan/updateconfig_flags_test.go | 186 + .../matchable_attr_file_config_utils.go | 60 + .../matchable_attribute_decorator.go | 13 + .../plugin_override/attrdeleteconfig_flags.go | 56 + .../attrdeleteconfig_flags_test.go | 130 + .../plugin_override/attrfetchconfig_flags.go | 55 + .../attrfetchconfig_flags_test.go | 116 + .../plugin_override/attrupdateconfig_flags.go | 57 + .../attrupdateconfig_flags_test.go | 144 + .../plugin_override/delete_config.go | 11 + .../plugin_override/fetch_config.go | 9 + .../subcommand/plugin_override/file_config.go | 47 + .../plugin_override/file_config_test.go | 57 + .../plugin_override/update_config.go | 12 + .../config/subcommand/project/config_flags.go | 59 + .../subcommand/project/config_flags_test.go | 172 + .../subcommand/project/configproject_flags.go | 65 + .../project/configproject_flags_test.go | 256 + .../subcommand/project/project_config.go | 114 + .../subcommand/project/project_config_test.go | 81 + .../subcommand/project/testdata/project.yaml | 14 + .../project/testdata/project_error.yaml | 1 + .../project_domain_workflow_getter.go | 40 + .../subcommand/register/files_config.go | 34 + .../subcommand/register/filesconfig_flags.go | 66 + .../register/filesconfig_flags_test.go | 270 + .../config/subcommand/sandbox/config_flags.go | 66 + .../subcommand/sandbox/config_flags_test.go | 268 + .../subcommand/sandbox/sandbox_config.go | 44 + .../cmd/config/subcommand/sandbox/teardown.go | 21 + .../config/subcommand/task/config_flags.go | 62 + .../subcommand/task/config_flags_test.go | 214 + .../cmd/config/subcommand/task/task_config.go | 18 + .../attrdeleteconfig_flags.go | 56 + .../attrdeleteconfig_flags_test.go | 130 + .../attrfetchconfig_flags.go | 55 + .../attrfetchconfig_flags_test.go | 116 + .../attrupdateconfig_flags.go | 57 + .../attrupdateconfig_flags_test.go | 144 + .../taskresourceattribute/delete_config.go | 11 + .../taskresourceattribute/fetch_config.go | 9 + .../taskresourceattribute/file_config.go | 47 + .../taskresourceattribute/file_config_test.go | 52 + .../taskresourceattribute/update_config.go | 12 + .../subcommand/workflow/config_flags.go | 61 + .../subcommand/workflow/config_flags_test.go | 200 + .../subcommand/workflow/workflow_config.go | 24 + .../attrdeleteconfig_flags.go | 56 + .../attrdeleteconfig_flags_test.go | 130 + .../attrfetchconfig_flags.go | 56 + .../attrfetchconfig_flags_test.go | 130 + .../attrupdateconfig_flags.go | 57 + .../attrupdateconfig_flags_test.go | 144 + .../workflowexecutionconfig/delete_config.go | 11 + .../workflowexecutionconfig/fetch_config.go | 10 + .../workflowexecutionconfig/file_config.go | 47 + .../file_config_test.go | 45 + .../workflowexecutionconfig/update_config.go | 12 + flytectl/cmd/configuration/configuration.go | 158 + .../cmd/configuration/configuration_test.go | 98 + flytectl/cmd/core/cmd.go | 96 + flytectl/cmd/core/cmd_ctx.go | 81 + flytectl/cmd/core/cmd_test.go | 37 + flytectl/cmd/core/types.go | 5 + flytectl/cmd/create/create.go | 35 + flytectl/cmd/create/create_test.go | 31 + flytectl/cmd/create/execution.go | 266 + flytectl/cmd/create/execution_test.go | 335 + flytectl/cmd/create/execution_util.go | 269 + flytectl/cmd/create/execution_util_test.go | 328 + flytectl/cmd/create/executionconfig_flags.go | 68 + .../cmd/create/executionconfig_flags_test.go | 298 + flytectl/cmd/create/project.go | 76 + flytectl/cmd/create/project_test.go | 84 + flytectl/cmd/create/serialization_utils.go | 62 + .../cmd/create/serialization_utils_test.go | 148 + flytectl/cmd/delete/delete.go | 57 + flytectl/cmd/delete/delete_test.go | 39 + flytectl/cmd/delete/execution.go | 85 + flytectl/cmd/delete/execution_test.go | 71 + .../cmd/delete/matchable_attribute_util.go | 46 + .../matchable_cluster_resource_attribute.go | 78 + ...tchable_cluster_resource_attribute_test.go | 129 + .../matchable_execution_cluster_label.go | 75 + .../matchable_execution_cluster_label_test.go | 129 + .../matchable_execution_queue_attribute.go | 79 + ...atchable_execution_queue_attribute_test.go | 129 + .../cmd/delete/matchable_plugin_override.go | 80 + .../delete/matchable_plugin_override_test.go | 129 + .../matchable_task_resource_attribute.go | 80 + .../matchable_task_resource_attribute_test.go | 129 + .../matchable_workflow_execution_config.go | 78 + ...atchable_workflow_execution_config_test.go | 129 + .../delete/testdata/invalid_attribute.yaml | 5 + ...alid_project_domain_cluster_attribute.yaml | 5 + ...roject_domain_execution_cluster_label.yaml | 3 + ...ject_domain_execution_queue_attribute.yaml | 7 + .../valid_project_domain_plugin_override.yaml | 8 + .../valid_project_domain_task_attribute.yaml | 8 + ...ject_domain_workflow_execution_config.yaml | 3 + .../valid_workflow_cluster_attribute.yaml | 6 + ...alid_workflow_execution_cluster_label.yaml | 4 + ...id_workflow_execution_queue_attribute.yaml | 8 + .../valid_workflow_plugin_override.yaml | 9 + .../valid_workflow_task_attribute.yaml | 9 + ...id_workflow_workflow_execution_config.yaml | 4 + flytectl/cmd/demo/demo.go | 74 + flytectl/cmd/demo/demo_test.go | 43 + flytectl/cmd/demo/exec.go | 50 + flytectl/cmd/demo/exec_test.go | 76 + flytectl/cmd/demo/reload.go | 119 + flytectl/cmd/demo/reload_test.go | 120 + flytectl/cmd/demo/start.go | 95 + flytectl/cmd/demo/start_test.go | 1 + flytectl/cmd/demo/status.go | 31 + flytectl/cmd/demo/status_test.go | 41 + flytectl/cmd/demo/teardown.go | 31 + flytectl/cmd/demo/teardown_test.go | 93 + flytectl/cmd/get/execution.go | 166 + flytectl/cmd/get/execution_test.go | 376 + flytectl/cmd/get/execution_util.go | 165 + flytectl/cmd/get/execution_util_test.go | 89 + flytectl/cmd/get/get.go | 73 + flytectl/cmd/get/get_test.go | 54 + flytectl/cmd/get/launch_plan.go | 247 + flytectl/cmd/get/launch_plan_test.go | 416 + flytectl/cmd/get/matchable_attribute_util.go | 41 + .../matchable_cluster_resource_attribute.go | 88 + ...tchable_cluster_resource_attribute_test.go | 140 + .../get/matchable_execution_cluster_label.go | 87 + .../matchable_execution_cluster_label_test.go | 140 + .../matchable_execution_queue_attribute.go | 90 + ...atchable_execution_queue_attribute_test.go | 140 + flytectl/cmd/get/matchable_plugin_override.go | 109 + .../cmd/get/matchable_plugin_override_test.go | 150 + .../get/matchable_task_resource_attribute.go | 92 + .../matchable_task_resource_attribute_test.go | 147 + .../matchable_workflow_execution_config.go | 183 + ...atchable_workflow_execution_config_test.go | 140 + flytectl/cmd/get/node_execution.go | 265 + flytectl/cmd/get/node_execution_test.go | 329 + flytectl/cmd/get/project.go | 102 + flytectl/cmd/get/project_test.go | 96 + flytectl/cmd/get/task.go | 204 + flytectl/cmd/get/task_test.go | 550 + flytectl/cmd/get/workflow.go | 203 + flytectl/cmd/get/workflow_test.go | 211 + flytectl/cmd/register/examples.go | 63 + flytectl/cmd/register/examples_test.go | 25 + flytectl/cmd/register/files.go | 171 + flytectl/cmd/register/files_test.go | 219 + flytectl/cmd/register/register.go | 35 + flytectl/cmd/register/register_test.go | 38 + flytectl/cmd/register/register_util.go | 926 ++ flytectl/cmd/register/register_util_test.go | 1004 ++ .../testdata/152_my_cron_scheduled_lp_3.pb | Bin 0 -> 373 bytes .../69_core.flyte_basics.lp.greet_1.pb | Bin 0 -> 718 bytes .../cmd/register/testdata/failure-node.tgz | Bin 0 -> 1671 bytes .../cmd/register/testdata/flyte-package.tgz | Bin 0 -> 162434 bytes .../register/testdata/flytesnacks-core.tgz | Bin 0 -> 51076 bytes .../testdata/invalid-extension-register.zip | 1 + .../cmd/register/testdata/invalid-fast.tgz | Bin 0 -> 56964 bytes flytectl/cmd/register/testdata/invalid.tar | 1 + flytectl/cmd/register/testdata/invalid.tgz | 1 + .../register/testdata/valid-fast-register.tgz | Bin 0 -> 57086 bytes .../testdata/valid-parent-folder-register.tar | Bin 0 -> 7168 bytes .../cmd/register/testdata/valid-register.tar | Bin 0 -> 6656 bytes .../cmd/register/testdata/valid-register.tgz | Bin 0 -> 892 bytes .../testdata/valid-unordered-register.tar | Bin 0 -> 6656 bytes flytectl/cmd/root.go | 161 + flytectl/cmd/root_test.go | 12 + flytectl/cmd/sandbox/exec.go | 50 + flytectl/cmd/sandbox/exec_test.go | 74 + flytectl/cmd/sandbox/sandbox.go | 70 + flytectl/cmd/sandbox/sandbox_test.go | 39 + flytectl/cmd/sandbox/start.go | 84 + flytectl/cmd/sandbox/start_test.go | 1 + flytectl/cmd/sandbox/status.go | 31 + flytectl/cmd/sandbox/status_test.go | 39 + flytectl/cmd/sandbox/teardown.go | 31 + flytectl/cmd/sandbox/teardown_test.go | 35 + flytectl/cmd/testdata/config.yaml | 3 + .../cmd/testdata/invalid_execution_spec.yaml | 12 + .../testdata/launchplan_execution_spec.yaml | 11 + .../cmd/testdata/task_execution_spec.yaml | 15 + .../task_execution_spec_with_iamrole.yaml | 16 + flytectl/cmd/testutils/test_utils.go | 134 + flytectl/cmd/update/diff.go | 68 + flytectl/cmd/update/diff_test.go | 62 + flytectl/cmd/update/execution.go | 100 + flytectl/cmd/update/execution_test.go | 247 + .../cmd/update/interfaces/mocks/updater.go | 50 + flytectl/cmd/update/interfaces/updater.go | 14 + flytectl/cmd/update/launch_plan.go | 121 + flytectl/cmd/update/launch_plan_meta.go | 50 + flytectl/cmd/update/launch_plan_meta_test.go | 189 + flytectl/cmd/update/launch_plan_test.go | 293 + .../cmd/update/matchable_attribute_util.go | 172 + .../matchable_cluster_resource_attribute.go | 81 + ...tchable_cluster_resource_attribute_test.go | 577 ++ .../matchable_execution_cluster_label.go | 74 + .../matchable_execution_cluster_label_test.go | 558 + .../matchable_execution_queue_attribute.go | 85 + ...atchable_execution_queue_attribute_test.go | 575 ++ .../cmd/update/matchable_plugin_override.go | 87 + .../update/matchable_plugin_override_test.go | 588 ++ .../matchable_task_resource_attribute.go | 87 + .../matchable_task_resource_attribute_test.go | 567 ++ .../matchable_workflow_execution_config.go | 83 + ...atchable_workflow_execution_config_test.go | 579 ++ flytectl/cmd/update/named_entity.go | 102 + flytectl/cmd/update/named_entity_test.go | 95 + .../cmd/update/namedentityconfig_flags.go | 59 + .../update/namedentityconfig_flags_test.go | 172 + flytectl/cmd/update/project.go | 190 + flytectl/cmd/update/project_test.go | 276 + flytectl/cmd/update/task_meta.go | 53 + flytectl/cmd/update/task_meta_test.go | 189 + .../update/testdata/invalid_attribute.yaml | 5 + .../valid_project_cluster_attribute.yaml | 4 + ...alid_project_domain_cluster_attribute.yaml | 5 + ...roject_domain_execution_cluster_label.yaml | 3 + ...ject_domain_execution_queue_attribute.yaml | 7 + .../valid_project_domain_plugin_override.yaml | 8 + .../valid_project_domain_task_attribute.yaml | 8 + ...ject_domain_workflow_execution_config.yaml | 3 + ...valid_project_execution_cluster_label.yaml | 2 + ...lid_project_execution_queue_attribute.yaml | 6 + .../valid_project_plugin_override.yaml | 7 + .../valid_project_task_attribute.yaml | 7 + ...lid_project_workflow_execution_config.yaml | 2 + .../valid_workflow_cluster_attribute.yaml | 6 + ...alid_workflow_execution_cluster_label.yaml | 4 + ...id_workflow_execution_queue_attribute.yaml | 8 + .../valid_workflow_plugin_override.yaml | 9 + .../valid_workflow_task_attribute.yaml | 9 + ...id_workflow_workflow_execution_config.yaml | 4 + flytectl/cmd/update/update.go | 65 + flytectl/cmd/update/update_test.go | 39 + flytectl/cmd/update/workflow_meta.go | 51 + flytectl/cmd/update/workflow_meta_test.go | 187 + flytectl/cmd/upgrade/upgrade.go | 144 + flytectl/cmd/upgrade/upgrade_test.go | 173 + flytectl/cmd/version/version.go | 114 + flytectl/cmd/version/version_test.go | 124 + .../config.yaml | 7 +- flytectl/docs/Makefile | 32 + flytectl/docs/coverage.out | 1 + flytectl/docs/make.bat | 36 + flytectl/docs/source/_static/custom.css | 16 + .../docs/source/_templates/sidebar/brand.html | 18 + .../source/cluster-resource-attribute.rst | 11 + flytectl/docs/source/conf.py | 219 + flytectl/docs/source/config.rst | 12 + flytectl/docs/source/contribute.rst | 73 + flytectl/docs/source/demo.rst | 13 + flytectl/docs/source/docs_index.rst | 12 + flytectl/docs/source/examples.rst | 10 + .../docs/source/execution-cluster-label.rst | 11 + .../docs/source/execution-queue-attribute.rst | 11 + flytectl/docs/source/execution.rst | 12 + flytectl/docs/source/files.rst | 11 + .../source/flyte_circle_gradient_1_4x4.png | Bin 0 -> 70985 bytes flytectl/docs/source/gen/flytectl.rst | 99 + flytectl/docs/source/gen/flytectl_compile.rst | 113 + .../docs/source/gen/flytectl_completion.rst | 160 + flytectl/docs/source/gen/flytectl_config.rst | 101 + .../source/gen/flytectl_config_discover.rst | 100 + .../docs/source/gen/flytectl_config_docs.rst | 100 + .../docs/source/gen/flytectl_config_init.rst | 136 + .../source/gen/flytectl_config_validate.rst | 102 + flytectl/docs/source/gen/flytectl_create.rst | 101 + .../source/gen/flytectl_create_execution.rst | 256 + .../source/gen/flytectl_create_project.rst | 136 + flytectl/docs/source/gen/flytectl_delete.rst | 106 + ...ectl_delete_cluster-resource-attribute.rst | 134 + ...lytectl_delete_execution-cluster-label.rst | 131 + ...tectl_delete_execution-queue-attribute.rst | 135 + .../source/gen/flytectl_delete_execution.rst | 142 + .../gen/flytectl_delete_plugin-override.rst | 136 + ...lytectl_delete_task-resource-attribute.rst | 136 + ...tectl_delete_workflow-execution-config.rst | 134 + flytectl/docs/source/gen/flytectl_demo.rst | 122 + .../docs/source/gen/flytectl_demo_exec.rst | 106 + .../docs/source/gen/flytectl_demo_reload.rst | 119 + .../docs/source/gen/flytectl_demo_start.rst | 180 + .../docs/source/gen/flytectl_demo_status.rst | 106 + .../source/gen/flytectl_demo_teardown.rst | 107 + flytectl/docs/source/gen/flytectl_get.rst | 110 + ...lytectl_get_cluster-resource-attribute.rst | 142 + .../flytectl_get_execution-cluster-label.rst | 141 + ...flytectl_get_execution-queue-attribute.rst | 144 + .../source/gen/flytectl_get_execution.rst | 174 + .../source/gen/flytectl_get_launchplan.rst | 209 + .../gen/flytectl_get_plugin-override.rst | 163 + .../docs/source/gen/flytectl_get_project.rst | 146 + .../flytectl_get_task-resource-attribute.rst | 146 + .../docs/source/gen/flytectl_get_task.rst | 190 + ...flytectl_get_workflow-execution-config.rst | 203 + .../docs/source/gen/flytectl_get_workflow.rst | 174 + .../docs/source/gen/flytectl_register.rst | 101 + .../source/gen/flytectl_register_examples.rst | 125 + .../source/gen/flytectl_register_files.rst | 202 + flytectl/docs/source/gen/flytectl_sandbox.rst | 127 + .../docs/source/gen/flytectl_sandbox_exec.rst | 106 + .../source/gen/flytectl_sandbox_start.rst | 175 + .../source/gen/flytectl_sandbox_status.rst | 106 + .../source/gen/flytectl_sandbox_teardown.rst | 106 + flytectl/docs/source/gen/flytectl_update.rst | 112 + ...ectl_update_cluster-resource-attribute.rst | 142 + ...lytectl_update_execution-cluster-label.rst | 135 + ...tectl_update_execution-queue-attribute.rst | 146 + .../source/gen/flytectl_update_execution.rst | 115 + .../gen/flytectl_update_launchplan-meta.rst | 120 + .../source/gen/flytectl_update_launchplan.rst | 116 + .../gen/flytectl_update_plugin-override.rst | 148 + .../source/gen/flytectl_update_project.rst | 186 + .../source/gen/flytectl_update_task-meta.rst | 120 + ...lytectl_update_task-resource-attribute.rst | 148 + ...tectl_update_workflow-execution-config.rst | 144 + .../gen/flytectl_update_workflow-meta.rst | 120 + flytectl/docs/source/gen/flytectl_upgrade.rst | 114 + flytectl/docs/source/gen/flytectl_version.rst | 103 + flytectl/docs/source/generate_docs.go | 9 + flytectl/docs/source/index.rst | 143 + flytectl/docs/source/launchplan.rst | 11 + flytectl/docs/source/nouns.rst | 26 + flytectl/docs/source/overview.rst | 112 + flytectl/docs/source/plugin-override.rst | 11 + flytectl/docs/source/project.rst | 12 + flytectl/docs/source/sandbox.rst | 12 + .../docs/source/task-resource-attribute.rst | 12 + flytectl/docs/source/task.rst | 10 + flytectl/docs/source/verbs.rst | 21 + .../docs/source/workflow-execution-config.rst | 12 + flytectl/docs/source/workflow.rst | 10 + flytectl/go.mod | 195 + .../golang_support_tools => flytectl}/go.sum | 903 +- flytectl/install.sh | 437 + flytectl/main.go | 16 + flytectl/pkg/adminutils/config.go | 22 + flytectl/pkg/adminutils/config_flags.go | 56 + flytectl/pkg/adminutils/config_flags_test.go | 130 + .../pkg/bubbletea/bubbletea_pagination.go | 176 + .../bubbletea/bubbletea_pagination_util.go | 160 + flytectl/pkg/commandutils/command_utils.go | 22 + .../pkg/commandutils/command_utils_test.go | 51 + flytectl/pkg/configutil/configutil.go | 83 + flytectl/pkg/configutil/configutil_test.go | 130 + .../pkg/configutil/version.yaml | 3 +- flytectl/pkg/docker/docker.go | 69 + flytectl/pkg/docker/docker_config.go | 12 + flytectl/pkg/docker/docker_util.go | 403 + flytectl/pkg/docker/docker_util_test.go | 510 + flytectl/pkg/docker/imagepullpolicy_enumer.go | 68 + flytectl/pkg/docker/mocks/docker.go | 652 ++ .../pkg/ext/attribute_match_deleter_test.go | 62 + flytectl/pkg/ext/attribute_match_fetcher.go | 65 + .../pkg/ext/attribute_match_fetcher_test.go | 100 + flytectl/pkg/ext/attribute_match_updater.go | 42 + .../pkg/ext/attribute_match_updater_test.go | 71 + flytectl/pkg/ext/attribute_matcher_deleter.go | 34 + flytectl/pkg/ext/deleter.go | 36 + flytectl/pkg/ext/deleter_test.go | 17 + flytectl/pkg/ext/doc.go | 2 + flytectl/pkg/ext/domain_fetcher.go | 15 + flytectl/pkg/ext/domain_fetcher_test.go | 35 + flytectl/pkg/ext/errors.go | 24 + flytectl/pkg/ext/execution_fetcher.go | 86 + flytectl/pkg/ext/execution_fetcher_test.go | 110 + flytectl/pkg/ext/fetcher.go | 91 + flytectl/pkg/ext/fetcher_test.go | 17 + flytectl/pkg/ext/launch_plan_fetcher.go | 54 + flytectl/pkg/ext/launch_plan_fetcher_test.go | 169 + .../ext/mocks/admin_deleter_ext_interface.go | 148 + .../ext/mocks/admin_fetcher_ext_interface.go | 915 ++ .../admin_service_fetcher_ext_interface.go | 339 + .../ext/mocks/admin_updater_ext_interface.go | 148 + flytectl/pkg/ext/project_fetcher.go | 45 + flytectl/pkg/ext/project_fetcher_test.go | 45 + flytectl/pkg/ext/task_fetcher.go | 54 + flytectl/pkg/ext/task_fetcher_test.go | 147 + flytectl/pkg/ext/updater.go | 36 + flytectl/pkg/ext/updater_test.go | 17 + flytectl/pkg/ext/workflow_fetcher.go | 69 + flytectl/pkg/ext/workflow_fetcher_test.go | 160 + .../pkg/filesystemutils/file_system_utils.go | 70 + .../filesystemutils/file_system_utils_test.go | 112 + flytectl/pkg/filters/filters.go | 178 + flytectl/pkg/filters/filters_test.go | 84 + flytectl/pkg/filters/operator.go | 12 + flytectl/pkg/filters/type.go | 19 + flytectl/pkg/filters/util.go | 86 + flytectl/pkg/filters/util_test.go | 114 + flytectl/pkg/github/githubutil.go | 251 + flytectl/pkg/github/githubutil_test.go | 204 + flytectl/pkg/github/mocks/gh_repo_service.go | 213 + flytectl/pkg/github/provider.go | 175 + flytectl/pkg/github/provider_test.go | 68 + flytectl/pkg/k8s/k8s.go | 133 + flytectl/pkg/k8s/k8s_test.go | 65 + flytectl/pkg/k8s/mocks/context_ops.go | 110 + .../pkg/pkce/testdata/empty_access_token.json | 6 + flytectl/pkg/pkce/testdata/token.json | 6 + flytectl/pkg/pkce/token_cache_keyring.go | 131 + flytectl/pkg/pkce/token_cache_keyring_test.go | 64 + flytectl/pkg/platformutil/platformutil.go | 26 + .../pkg/platformutil/platformutil_test.go | 39 + flytectl/pkg/printer/outputformat_enumer.go | 87 + flytectl/pkg/printer/printer.go | 310 + flytectl/pkg/printer/printer_test.go | 309 + flytectl/pkg/sandbox/start.go | 433 + flytectl/pkg/sandbox/start_test.go | 452 + flytectl/pkg/sandbox/status.go | 22 + flytectl/pkg/sandbox/status_test.go | 39 + flytectl/pkg/sandbox/teardown.go | 49 + flytectl/pkg/sandbox/teardown_test.go | 50 + flytectl/pkg/util/util.go | 151 + flytectl/pkg/util/util_test.go | 103 + flytectl/pkg/util/version.yaml | 0 flytectl/pkg/visualize/graphviz.go | 382 + flytectl/pkg/visualize/graphviz_test.go | 468 + flytectl/pkg/visualize/graphvizer.go | 35 + flytectl/pkg/visualize/mocks/graphvizer.go | 273 + .../compiled_closure_branch_nested.json | 553 + .../testdata/compiled_subworkflows.json | 482 + flytectl/proposal/README.md | 250 + flytectl/proposal/flytectl_interaction.png | Bin 0 -> 24231 bytes flyteidl/.gitignore | 1 + flyteidl/.readthedocs.yml | 21 - flyteidl/Cargo.lock | 922 ++ flyteidl/Cargo.toml | 26 + flyteidl/Makefile | 13 +- flyteidl/RELEASE.md | 4 + .../flyte/code_of_conduct/CODE_OF_CONDUCT.md | 2 - .../flyte/code_of_conduct/README.rst | 2 - .../flyte/code_of_conduct/update.sh | 12 - .../flyte/golang_support_tools/go.mod | 203 - .../flyte/golang_support_tools/tools.go | 13 - .../flyte/golang_test_targets/Makefile | 57 - .../flyte/golang_test_targets/Readme.rst | 31 - .../golang_test_targets/download_tooling.sh | 41 - .../flyte/golang_test_targets/go-gen.sh | 22 - .../flyte/golang_test_targets/goimports | 9 - .../flyte/golangci_file/Readme.rst | 8 - .../boilerplate/flyte/golangci_file/update.sh | 14 - .../flyte/pull_request_template/Readme.rst | 8 - .../pull_request_template.md | 35 - .../flyte/pull_request_template/update.sh | 12 - .../boilerplate/flyte/welcome_bot/Readme.rst | 8 - .../boilerplate/flyte/welcome_bot/config.yml | 16 - .../boilerplate/flyte/welcome_bot/update.sh | 15 - flyteidl/boilerplate/update.cfg | 4 - flyteidl/boilerplate/update.sh | 73 - flyteidl/buf.gen.yaml | 2 + flyteidl/clients/go/admin/auth_interceptor.go | 61 +- .../clients/go/admin/auth_interceptor_test.go | 146 +- .../go/admin/cache/mocks/token_cache.go | 91 + .../clients/go/admin/cache/token_cache.go | 30 +- .../go/admin/cache/token_cache_inmemory.go | 80 +- flyteidl/clients/go/admin/cert_loader.go | 3 +- flyteidl/clients/go/admin/client_builder.go | 2 +- .../clients/go/admin/client_builder_test.go | 4 +- flyteidl/clients/go/admin/client_test.go | 4 +- .../clients/go/admin/deviceflow/payload.go | 3 +- .../go/admin/deviceflow/token_orchestrator.go | 6 +- .../deviceflow/token_orchestrator_test.go | 12 +- flyteidl/clients/go/admin/integration_test.go | 5 +- .../go/admin/mocks/AdminServiceClient.go | 48 + .../go/admin/mocks/AdminServiceServer.go | 41 + .../admin/pkce/auth_flow_orchestrator_test.go | 2 +- .../admin/pkce/handle_app_call_back_test.go | 4 +- flyteidl/clients/go/admin/token_source.go | 2 +- .../clients/go/admin/token_source_provider.go | 6 +- .../go/admin/token_source_provider_test.go | 4 +- .../base_token_orchestrator.go | 23 +- .../base_token_orchestrator_test.go | 8 +- flyteidl/clients/go/assets/admin.swagger.json | 175 +- .../go/coreutils/extract_literal_test.go | 4 +- flyteidl/clients/go/coreutils/literals.go | 9 +- .../clients/go/coreutils/literals_test.go | 7 +- flyteidl/conf.py | 2 +- flyteidl/doc-requirements.in | 10 - flyteidl/doc-requirements.txt | 114 - flyteidl/gen/pb-es/flyteidl/admin/agent_pb.ts | 13 +- .../gen/pb-es/flyteidl/admin/execution_pb.ts | 12 +- .../pb-es/flyteidl/admin/launch_plan_pb.ts | 9 + .../flyteidl/admin/matchable_resource_pb.ts | 9 + .../gen/pb-es/flyteidl/admin/project_pb.ts | 138 + .../pb-es/flyteidl/core/execution_envs_pb.ts | 152 + .../gen/pb-es/flyteidl/core/execution_pb.ts | 12 + .../gen/pb-es/flyteidl/core/workflow_pb.ts | 56 +- flyteidl/gen/pb-es/flyteidl/event/event_pb.ts | 23 + .../gen/pb-es/flyteidl/plugins/common_pb.ts | 98 + .../flyteidl/plugins/kubeflow/common_pb.ts | 26 - .../pb-es/flyteidl/plugins/kubeflow/mpi_pb.ts | 24 +- .../flyteidl/plugins/kubeflow/pytorch_pb.ts | 26 +- .../plugins/kubeflow/tensorflow_pb.ts | 26 +- flyteidl/gen/pb-es/flyteidl/plugins/ray_pb.ts | 12 +- .../pb-es/flyteidl/service/admin_connect.ts | 11 +- flyteidl/gen/pb-go/flyteidl/admin/agent.pb.go | 635 +- .../gen/pb-go/flyteidl/admin/execution.pb.go | 751 +- .../pb-go/flyteidl/admin/launch_plan.pb.go | 437 +- .../flyteidl/admin/matchable_resource.pb.go | 449 +- .../gen/pb-go/flyteidl/admin/project.pb.go | 443 +- .../gen/pb-go/flyteidl/core/execution.pb.go | 98 +- .../pb-go/flyteidl/core/execution_envs.pb.go | 335 + .../gen/pb-go/flyteidl/core/workflow.pb.go | 597 +- flyteidl/gen/pb-go/flyteidl/event/event.pb.go | 483 +- .../gen/pb-go/flyteidl/plugins/common.pb.go | 257 + .../flyteidl/plugins/kubeflow/common.pb.go | 158 +- .../pb-go/flyteidl/plugins/kubeflow/mpi.pb.go | 113 +- .../flyteidl/plugins/kubeflow/pytorch.pb.go | 112 +- .../plugins/kubeflow/tensorflow.pb.go | 117 +- flyteidl/gen/pb-go/flyteidl/plugins/ray.pb.go | 154 +- .../gen/pb-go/flyteidl/service/admin.pb.go | 1102 +- .../pb-go/flyteidl/service/admin_grpc.pb.go | 37 + .../flyteidl/core/execution_envs.swagger.json | 46 + .../flyteidl/plugins/common.swagger.json | 46 + .../gateway/flyteidl/service/admin.pb.gw.go | 87 + .../flyteidl/service/admin.swagger.json | 175 +- .../flyteidl/service/agent.swagger.json | 15 +- flyteidl/gen/pb-js/flyteidl.d.ts | 395 +- flyteidl/gen/pb-js/flyteidl.js | 973 +- .../gen/pb_python/flyteidl/admin/agent_pb2.py | 115 +- .../pb_python/flyteidl/admin/agent_pb2.pyi | 7 +- .../pb_python/flyteidl/admin/execution_pb2.py | 105 +- .../flyteidl/admin/execution_pb2.pyi | 7 +- .../flyteidl/admin/launch_plan_pb2.py | 55 +- .../flyteidl/admin/launch_plan_pb2.pyi | 7 +- .../flyteidl/admin/matchable_resource_pb2.py | 63 +- .../flyteidl/admin/matchable_resource_pb2.pyi | 7 +- .../pb_python/flyteidl/admin/project_pb2.py | 44 +- .../pb_python/flyteidl/admin/project_pb2.pyi | 26 +- .../flyteidl/core/execution_envs_pb2.py | 30 + .../flyteidl/core/execution_envs_pb2.pyi | 31 + .../flyteidl/core/execution_envs_pb2_grpc.py | 4 + .../pb_python/flyteidl/core/execution_pb2.py | 20 +- .../pb_python/flyteidl/core/execution_pb2.pyi | 8 +- .../pb_python/flyteidl/core/workflow_pb2.py | 85 +- .../pb_python/flyteidl/core/workflow_pb2.pyi | 13 +- .../gen/pb_python/flyteidl/event/event_pb2.py | 48 +- .../pb_python/flyteidl/event/event_pb2.pyi | 8 +- .../pb_python/flyteidl/plugins/common_pb2.py | 30 + .../pb_python/flyteidl/plugins/common_pb2.pyi | 28 + .../flyteidl/plugins/common_pb2_grpc.py | 4 + .../flyteidl/plugins/kubeflow/common_pb2.py | 16 +- .../flyteidl/plugins/kubeflow/common_pb2.pyi | 15 +- .../flyteidl/plugins/kubeflow/mpi_pb2.py | 18 +- .../flyteidl/plugins/kubeflow/mpi_pb2.pyi | 9 +- .../flyteidl/plugins/kubeflow/pytorch_pb2.py | 18 +- .../flyteidl/plugins/kubeflow/pytorch_pb2.pyi | 9 +- .../plugins/kubeflow/tensorflow_pb2.py | 18 +- .../plugins/kubeflow/tensorflow_pb2.pyi | 9 +- .../gen/pb_python/flyteidl/plugins/ray_pb2.py | 26 +- .../pb_python/flyteidl/plugins/ray_pb2.pyi | 6 +- .../pb_python/flyteidl/service/admin_pb2.py | 6 +- .../flyteidl/service/admin_pb2_grpc.py | 33 + flyteidl/gen/pb_rust/datacatalog.rs | 3 +- flyteidl/gen/pb_rust/datacatalog.tonic.rs | 999 ++ flyteidl/gen/pb_rust/flyteidl.admin.rs | 47 +- flyteidl/gen/pb_rust/flyteidl.cacheservice.rs | 3 +- .../pb_rust/flyteidl.cacheservice.tonic.rs | 619 ++ flyteidl/gen/pb_rust/flyteidl.core.rs | 105 +- flyteidl/gen/pb_rust/flyteidl.event.rs | 13 + .../gen/pb_rust/flyteidl.plugins.kubeflow.rs | 63 +- flyteidl/gen/pb_rust/flyteidl.plugins.rs | 50 + flyteidl/gen/pb_rust/flyteidl.service.rs | 3 +- .../gen/pb_rust/flyteidl.service.tonic.rs | 8932 +++++++++++++++++ flyteidl/go.mod | 95 +- flyteidl/go.sum | 505 +- flyteidl/lib.rs | 24 + flyteidl/protos/flyteidl/admin/agent.proto | 4 + .../protos/flyteidl/admin/execution.proto | 6 +- .../protos/flyteidl/admin/launch_plan.proto | 4 + .../flyteidl/admin/matchable_resource.proto | 4 + flyteidl/protos/flyteidl/admin/project.proto | 27 +- flyteidl/protos/flyteidl/core/execution.proto | 2 + .../protos/flyteidl/core/execution_envs.proto | 45 + flyteidl/protos/flyteidl/core/workflow.proto | 26 +- flyteidl/protos/flyteidl/event/event.proto | 13 + flyteidl/protos/flyteidl/plugins/common.proto | 27 + .../flyteidl/plugins/kubeflow/common.proto | 11 +- .../flyteidl/plugins/kubeflow/mpi.proto | 18 +- .../flyteidl/plugins/kubeflow/pytorch.proto | 18 +- .../plugins/kubeflow/tensorflow.proto | 16 +- flyteidl/protos/flyteidl/plugins/ray.proto | 5 +- flyteidl/protos/flyteidl/service/admin.proto | 9 + flyteidl/pyproject.toml | 5 +- flyteplugins/Makefile | 9 +- .../flyte/code_of_conduct/CODE_OF_CONDUCT.md | 2 - .../flyte/code_of_conduct/README.rst | 2 - .../flyte/code_of_conduct/update.sh | 12 - .../boilerplate/flyte/docker_build/Makefile | 12 - .../boilerplate/flyte/docker_build/Readme.rst | 23 - .../flyte/docker_build/docker_build.sh | 67 - .../flyte/golang_support_tools/go.mod | 247 - .../flyte/golang_support_tools/go.sum | 1225 --- .../flyte/golang_support_tools/tools.go | 13 - .../flyte/golang_test_targets/Makefile | 57 - .../flyte/golang_test_targets/Readme.rst | 31 - .../golang_test_targets/download_tooling.sh | 38 - .../flyte/golang_test_targets/go-gen.sh | 22 - .../flyte/golang_test_targets/goimports | 9 - .../flyte/golangci_file/.golangci.yml | 40 - .../flyte/golangci_file/Readme.rst | 8 - .../boilerplate/flyte/golangci_file/update.sh | 14 - .../flyte/pull_request_template/Readme.rst | 8 - .../pull_request_template.md | 35 - .../flyte/pull_request_template/update.sh | 12 - flyteplugins/boilerplate/update.cfg | 6 - flyteplugins/boilerplate/update.sh | 73 - flyteplugins/go.mod | 110 +- flyteplugins/go.sum | 261 +- flyteplugins/go/tasks/logs/logging_utils.go | 6 +- .../pluginmachinery/core/exec_context.go | 5 +- .../pluginmachinery/core/exec_metadata.go | 1 + .../core/mocks/task_execution_context.go | 32 - .../core/mocks/task_execution_metadata.go | 32 + .../core/mocks/task_overrides.go | 58 +- .../go/tasks/pluginmachinery/core/phase.go | 2 +- .../go/tasks/pluginmachinery/core/plugin.go | 25 +- .../tasks/pluginmachinery/core/plugin_test.go | 14 + .../pluginmachinery/core/template/template.go | 9 +- .../pluginmachinery/flytek8s/config/config.go | 3 + .../flytek8s/container_helper.go | 40 +- .../flytek8s/container_helper_test.go | 117 +- .../tasks/pluginmachinery/flytek8s/copilot.go | 2 +- .../flytek8s/k8s_resource_adds.go | 22 +- .../flytek8s/k8s_resource_adds_test.go | 63 +- .../pluginmachinery/flytek8s/pod_helper.go | 46 +- .../flytek8s/pod_helper_test.go | 129 +- .../internal/webapi/allocation_token.go | 4 +- .../pluginmachinery/internal/webapi/cache.go | 16 +- .../internal/webapi/cache_test.go | 3 +- .../pluginmachinery/internal/webapi/core.go | 14 +- .../internal/webapi/core_test.go | 4 +- .../internal/webapi/launcher.go | 4 +- .../internal/webapi/launcher_test.go | 3 + .../internal/webapi/monitor.go | 4 +- .../pluginmachinery/internal/webapi/state.go | 6 +- .../ioutils/remote_file_output_reader.go | 8 +- .../k8s/mocks/plugin_context.go | 32 - .../go/tasks/pluginmachinery/k8s/plugin.go | 25 +- .../tasks/pluginmachinery/tasklog/plugin.go | 2 + .../tasks/pluginmachinery/tasklog/template.go | 8 +- .../pluginmachinery/utils/marshal_utils.go | 6 +- .../webapi/mocks/status_context.go | 32 - .../webapi/mocks/task_execution_context.go | 32 - .../go/tasks/pluginmachinery/webapi/plugin.go | 5 +- .../plugins/array/awsbatch/transformer.go | 4 +- .../plugins/array/k8s/management_test.go | 1 + .../go/tasks/plugins/array/outputs.go | 2 +- .../go/tasks/plugins/array/outputs_test.go | 2 - .../go/tasks/plugins/k8s/dask/dask.go | 54 +- .../go/tasks/plugins/k8s/dask/dask_test.go | 62 +- .../k8s/kfoperators/common/common_operator.go | 64 +- .../tasks/plugins/k8s/kfoperators/mpi/mpi.go | 9 +- .../plugins/k8s/kfoperators/mpi/mpi_test.go | 400 +- .../k8s/kfoperators/pytorch/pytorch.go | 9 +- .../k8s/kfoperators/pytorch/pytorch_test.go | 591 +- .../k8s/kfoperators/tensorflow/tensorflow.go | 20 +- .../kfoperators/tensorflow/tensorflow_test.go | 683 +- .../tasks/plugins/k8s/pod/container_test.go | 1 + .../go/tasks/plugins/k8s/pod/plugin.go | 14 +- .../go/tasks/plugins/k8s/pod/sidecar_test.go | 1 + .../go/tasks/plugins/k8s/ray/config.go | 2 - .../go/tasks/plugins/k8s/ray/config_flags.go | 1 + .../plugins/k8s/ray/config_flags_test.go | 14 + flyteplugins/go/tasks/plugins/k8s/ray/ray.go | 349 +- .../go/tasks/plugins/k8s/ray/ray_test.go | 178 +- .../go/tasks/plugins/k8s/spark/spark.go | 107 +- .../go/tasks/plugins/k8s/spark/spark_test.go | 63 +- flyteplugins/go/tasks/plugins/testing/echo.go | 94 +- .../go/tasks/plugins/webapi/agent/client.go | 107 +- .../tasks/plugins/webapi/agent/client_test.go | 4 +- .../go/tasks/plugins/webapi/agent/config.go | 4 + .../plugins/webapi/agent/integration_test.go | 20 +- .../go/tasks/plugins/webapi/agent/plugin.go | 134 +- .../tasks/plugins/webapi/agent/plugin_test.go | 37 +- .../tasks/plugins/webapi/bigquery/plugin.go | 2 +- .../tasks/plugins/webapi/databricks/plugin.go | 22 +- flyteplugins/tests/end_to_end.go | 2 +- flytepropeller/Makefile | 11 +- .../flyte/code_of_conduct/CODE_OF_CONDUCT.md | 2 - .../flyte/code_of_conduct/README.rst | 2 - .../flyte/code_of_conduct/update.sh | 12 - .../boilerplate/flyte/docker_build/Makefile | 12 - .../boilerplate/flyte/docker_build/Readme.rst | 23 - .../flyte/docker_build/docker_build.sh | 67 - .../boilerplate/flyte/end2end/Makefile | 14 - .../boilerplate/flyte/end2end/end2end.sh | 12 - .../flyte/end2end/functional-test-config.yaml | 5 - .../boilerplate/flyte/end2end/run-tests.py | 285 - .../flyte/golang_support_tools/go.mod | 247 - .../flyte/golang_support_tools/go.sum | 1225 --- .../flyte/golang_support_tools/tools.go | 13 - .../flyte/golang_test_targets/Makefile | 57 - .../flyte/golang_test_targets/Readme.rst | 31 - .../golang_test_targets/download_tooling.sh | 38 - .../flyte/golang_test_targets/go-gen.sh | 22 - .../flyte/golang_test_targets/goimports | 9 - .../flyte/golangci_file/.golangci.yml | 40 - .../flyte/golangci_file/Readme.rst | 8 - .../boilerplate/flyte/golangci_file/update.sh | 14 - .../flyte/pull_request_template/Readme.rst | 8 - .../pull_request_template.md | 35 - .../flyte/pull_request_template/update.sh | 12 - flytepropeller/boilerplate/update.cfg | 7 - flytepropeller/boilerplate/update.sh | 73 - flytepropeller/cmd/controller/cmd/root.go | 2 +- .../cmd/kubectl-flyte/cmd/create.go | 14 +- .../kubectl-flyte/cmd/printers/workflow.go | 2 + flytepropeller/events/admin_eventsink.go | 16 +- flytepropeller/events/config.go | 41 +- flytepropeller/events/config_flags.go | 3 + flytepropeller/events/config_flags_test.go | 42 + flytepropeller/go.mod | 110 +- flytepropeller/go.sum | 288 +- .../pkg/apis/flyteworkflow/v1alpha1/array.go | 4 +- .../apis/flyteworkflow/v1alpha1/array_test.go | 4 +- .../pkg/apis/flyteworkflow/v1alpha1/branch.go | 17 +- .../pkg/apis/flyteworkflow/v1alpha1/error.go | 22 +- .../pkg/apis/flyteworkflow/v1alpha1/gate.go | 41 +- .../apis/flyteworkflow/v1alpha1/identifier.go | 19 +- .../pkg/apis/flyteworkflow/v1alpha1/iface.go | 5 +- .../v1alpha1/mocks/ExecutableArrayNode.go | 12 +- .../v1alpha1/mocks/ExecutableWorkflow.go | 32 + .../apis/flyteworkflow/v1alpha1/mocks/Meta.go | 32 + .../v1alpha1/mocks/MetaExtended.go | 32 + .../pkg/apis/flyteworkflow/v1alpha1/nodes.go | 51 +- .../apis/flyteworkflow/v1alpha1/nodes_test.go | 51 + .../flyteworkflow/v1alpha1/subworkflow.go | 10 +- .../pkg/apis/flyteworkflow/v1alpha1/tasks.go | 13 +- .../apis/flyteworkflow/v1alpha1/workflow.go | 31 +- .../pkg/compiler/test/compiler_test.go | 9 +- .../pkg/compiler/transformers/k8s/node.go | 8 +- .../compiler/transformers/k8s/node_test.go | 33 +- .../transformers/k8s/workflow_test.go | 7 +- .../pkg/compiler/validators/typing.go | 24 + .../pkg/compiler/validators/typing_test.go | 55 + .../pkg/controller/config/config.go | 32 +- .../pkg/controller/config/config_flags.go | 3 +- .../controller/config/config_flags_test.go | 30 +- flytepropeller/pkg/controller/controller.go | 21 +- .../controller/executors/execution_context.go | 55 +- .../executors/execution_context_test.go | 12 +- .../executors/mocks/control_flow.go | 128 + .../executors/mocks/execution_context.go | 160 + .../mocks/immutable_execution_context.go | 32 + .../executors/mocks/immutable_parent_info.go | 32 + flytepropeller/pkg/controller/handler.go | 2 +- .../controller/nodes/array/event_recorder.go | 13 +- .../nodes/array/execution_context.go | 11 +- .../pkg/controller/nodes/array/handler.go | 47 +- .../controller/nodes/array/handler_test.go | 130 +- .../nodes/array/node_execution_context.go | 14 +- .../pkg/controller/nodes/array/utils.go | 20 + .../pkg/controller/nodes/array/utils_test.go | 107 + .../pkg/controller/nodes/branch/handler.go | 2 +- .../controller/nodes/branch/handler_test.go | 9 +- flytepropeller/pkg/controller/nodes/cache.go | 7 +- .../pkg/controller/nodes/cache_test.go | 5 +- .../pkg/controller/nodes/catalog/config.go | 44 +- .../controller/nodes/catalog/config_flags.go | 3 + .../nodes/catalog/config_flags_test.go | 42 + .../nodes/catalog/datacatalog/datacatalog.go | 7 +- .../pkg/controller/nodes/common/utils.go | 35 +- .../pkg/controller/nodes/common/utils_test.go | 20 +- .../nodes/dynamic/dynamic_workflow.go | 4 +- .../nodes/dynamic/dynamic_workflow_test.go | 1 - .../pkg/controller/nodes/dynamic/handler.go | 2 +- .../controller/nodes/dynamic/handler_test.go | 4 - .../pkg/controller/nodes/executor.go | 44 +- .../pkg/controller/nodes/executor_test.go | 77 +- .../mocks/node_execution_context.go | 32 - .../mocks/node_execution_metadata.go | 32 + .../nodes/interfaces/node_exec_context.go | 4 +- .../pkg/controller/nodes/node_exec_context.go | 49 +- .../nodes/node_exec_context_test.go | 53 +- .../pkg/controller/nodes/resolve_test.go | 2 + .../nodes/subworkflow/handler_test.go | 7 +- .../nodes/subworkflow/launchplan/admin.go | 12 +- .../subworkflow/launchplan/admin_test.go | 10 +- .../nodes/subworkflow/subworkflow.go | 2 +- .../nodes/subworkflow/subworkflow_test.go | 4 +- .../pkg/controller/nodes/task/handler.go | 50 +- .../pkg/controller/nodes/task/handler_test.go | 31 +- .../nodes/task/k8s/plugin_collector.go | 58 +- .../nodes/task/k8s/plugin_collector_test.go | 59 +- .../nodes/task/k8s/plugin_manager.go | 25 +- .../nodes/task/k8s/plugin_manager_test.go | 11 +- .../controller/nodes/task/plugin_config.go | 2 - .../task/resourcemanager/config/config.go | 2 +- .../resourcemanager/config/config_flags.go | 2 +- .../nodes/task/taskexec_context_test.go | 2 - .../pkg/controller/nodes/transformers.go | 38 +- .../pkg/controller/nodes/transformers_test.go | 9 +- .../pkg/controller/workflow/executor.go | 84 +- .../pkg/controller/workflow/executor_test.go | 54 +- .../workflowstore/execution_stats.go | 170 + .../workflowstore/execution_stats_test.go | 119 + flytestdlib/Makefile | 7 +- flytestdlib/boilerplate/flyte/Readme.rst | 8 - .../flyte/code_of_conduct/CODE_OF_CONDUCT.md | 2 - .../flyte/code_of_conduct/README.rst | 2 - .../flyte/code_of_conduct/update.sh | 12 - flytestdlib/boilerplate/flyte/config.yml | 15 - .../flyte/golang_support_tools/go.mod | 247 - .../flyte/golang_support_tools/go.sum | 1225 --- .../flyte/golang_support_tools/tools.go | 13 - .../flyte/golang_test_targets/Makefile | 57 - .../flyte/golang_test_targets/Readme.rst | 31 - .../golang_test_targets/download_tooling.sh | 38 - .../flyte/golang_test_targets/go-gen.sh | 22 - .../flyte/golang_test_targets/goimports | 9 - .../flyte/golangci_file/.golangci.yml | 40 - .../flyte/golangci_file/Readme.rst | 8 - .../boilerplate/flyte/golangci_file/update.sh | 14 - .../flyte/pull_request_template/Readme.rst | 8 - .../pull_request_template.md | 35 - .../flyte/pull_request_template/update.sh | 12 - flytestdlib/boilerplate/flyte/update.sh | 14 - flytestdlib/boilerplate/update.cfg | 5 - flytestdlib/boilerplate/update.sh | 73 - flytestdlib/cache/auto_refresh.go | 49 +- flytestdlib/cache/auto_refresh_test.go | 85 +- flytestdlib/cache/mocks/AutoRefresh.go | 32 +- flytestdlib/cache/mocks/Item.go | 32 + flytestdlib/cache/mocks/ItemWrapper.go | 16 +- flytestdlib/fastcheck/mocks/filter.go | 16 +- flytestdlib/go.mod | 104 +- flytestdlib/go.sum | 300 +- flytestdlib/otelutils/config.go | 49 +- flytestdlib/otelutils/config_flags.go | 7 +- flytestdlib/otelutils/config_flags_test.go | 42 + flytestdlib/otelutils/factory.go | 62 +- flytestdlib/otelutils/factory_test.go | 11 +- flytestdlib/random/mocks/comparable.go | 8 +- .../random/mocks/weighted_random_list.go | 32 +- .../storage/mocks/composed_protobuf_store.go | 72 +- flytestdlib/storage/mocks/raw_store.go | 56 +- .../storage/mocks/reference_constructor.go | 8 +- flytestdlib/storage/stow_store.go | 4 +- flytestdlib/utils/marshal_utils.go | 30 +- flytestdlib/utils/marshal_utils_test.go | 53 + flytestdlib/utils/mocks/auto_refresh_cache.go | 16 +- flytestdlib/utils/mocks/cache_item.go | 8 +- flytestdlib/utils/mocks/rate_limiter.go | 8 +- flytestdlib/utils/mocks/sequencer.go | 16 +- go.mod | 142 +- go.sum | 340 +- monodocs-environment.lock.yaml | 8776 ++++++++-------- monodocs-environment.yaml | 12 +- rfc/system/5103-offloaded-literal.md | 71 +- script/local_build_docs.sh | 45 + script/prepare_artifacts.sh | 11 +- script/release.sh | 5 +- script/setup_local_dev.sh | 4 +- stats/flyteadmin.dashboard.py | 35 +- stats/flytepropeller.dashboard.py | 679 +- 1404 files changed, 95777 insertions(+), 33587 deletions(-) delete mode 100644 .codespellrc create mode 100644 .github/actions/clear-action-cache/action.yml create mode 100644 .github/codespell-ignored-words delete mode 100644 .github/workflows/end2end.yml create mode 100644 .github/workflows/flytectl-install.yml create mode 100644 .github/workflows/flytectl-release.yml create mode 100644 .run/single-binary.run.xml create mode 100644 CHANGELOG/CHANGELOG-v1.11.1-b1.md create mode 100644 CHANGELOG/CHANGELOG-v1.12.0-b0.md create mode 100644 CHANGELOG/CHANGELOG-v1.12.0.md create mode 100644 CHANGELOG/CHANGELOG-v1.12.1-rc0.md create mode 100644 CHANGELOG/CHANGELOG-v1.13.0-rc0.md create mode 100644 CHANGELOG/CHANGELOG-v1.13.0.md rename {datacatalog/boilerplate => boilerplate}/flyte/docker_build/Makefile (100%) rename {datacatalog/boilerplate => boilerplate}/flyte/docker_build/Readme.rst (100%) rename {datacatalog/boilerplate => boilerplate}/flyte/docker_build/docker_build.sh (100%) rename {datacatalog/boilerplate => boilerplate}/flyte/flyte_golang_compile/Readme.rst (100%) rename {datacatalog/boilerplate => boilerplate}/flyte/flyte_golang_compile/flyte_golang_compile.Template (100%) rename {datacatalog/boilerplate => boilerplate}/flyte/flyte_golang_compile/update.sh (100%) rename {datacatalog/boilerplate => boilerplate}/flyte/github_workflows/Readme.rst (100%) rename {datacatalog/boilerplate => boilerplate}/flyte/github_workflows/boilerplate_automation.yml (96%) rename {datacatalog/boilerplate => boilerplate}/flyte/github_workflows/master.yml (95%) rename {flytecopilot/boilerplate => boilerplate}/flyte/github_workflows/pull_request.yml (93%) rename {datacatalog/boilerplate => boilerplate}/flyte/github_workflows/stale.yml (100%) rename {datacatalog/boilerplate => boilerplate}/flyte/github_workflows/update.sh (100%) rename {flytecopilot/boilerplate => boilerplate}/flyte/golang_support_tools/go.mod (63%) rename {datacatalog/boilerplate => boilerplate}/flyte/golang_support_tools/go.sum (81%) rename {flyteadmin/boilerplate => boilerplate}/flyte/golang_support_tools/tools.go (89%) delete mode 100755 boilerplate/flyte/golang_test_targets/goimports rename {datacatalog/boilerplate => boilerplate}/flyte/golangci_file/.golangci.yml (100%) rename {datacatalog/boilerplate => boilerplate}/flyte/golangci_file/Readme.rst (100%) rename {datacatalog/boilerplate => boilerplate}/flyte/golangci_file/update.sh (100%) rename {datacatalog/boilerplate => boilerplate}/flyte/precommit/Makefile (100%) rename {datacatalog/boilerplate => boilerplate}/flyte/precommit/hooks/pre-push (100%) rename {datacatalog/boilerplate => boilerplate}/flyte/precommit/hooks/prepare-commit-msg (100%) rename {datacatalog/boilerplate => boilerplate}/flyte/precommit/update.sh (100%) rename {datacatalog/boilerplate => boilerplate}/flyte/pull_request_template/Readme.rst (100%) rename {datacatalog/boilerplate => boilerplate}/flyte/pull_request_template/pull_request_template.md (100%) rename {datacatalog/boilerplate => boilerplate}/flyte/pull_request_template/update.sh (100%) delete mode 100644 boilerplate/update.cfg create mode 100644 charts/flyte-core/templates/console/service-monitor.yaml create mode 100644 charts/flyte-core/templates/propeller/webhook-hpa.yaml delete mode 100644 datacatalog/boilerplate/flyte/code_of_conduct/CODE_OF_CONDUCT.md delete mode 100644 datacatalog/boilerplate/flyte/code_of_conduct/README.rst delete mode 100755 datacatalog/boilerplate/flyte/code_of_conduct/update.sh delete mode 100644 datacatalog/boilerplate/flyte/end2end/Makefile delete mode 100755 datacatalog/boilerplate/flyte/end2end/end2end.sh delete mode 100644 datacatalog/boilerplate/flyte/end2end/run-tests.py delete mode 100644 datacatalog/boilerplate/flyte/github_workflows/pull_request.yml delete mode 100644 datacatalog/boilerplate/flyte/golang_dockerfile/Dockerfile.GoTemplate delete mode 100644 datacatalog/boilerplate/flyte/golang_dockerfile/Readme.rst delete mode 100755 datacatalog/boilerplate/flyte/golang_dockerfile/update.sh delete mode 100644 datacatalog/boilerplate/flyte/golang_support_tools/go.mod delete mode 100644 datacatalog/boilerplate/flyte/golang_support_tools/tools.go delete mode 100644 datacatalog/boilerplate/flyte/golang_test_targets/Makefile delete mode 100644 datacatalog/boilerplate/flyte/golang_test_targets/Readme.rst delete mode 100755 datacatalog/boilerplate/flyte/golang_test_targets/download_tooling.sh delete mode 100755 datacatalog/boilerplate/flyte/golang_test_targets/go-gen.sh delete mode 100755 datacatalog/boilerplate/flyte/golang_test_targets/goimports delete mode 100644 datacatalog/boilerplate/update.cfg delete mode 100755 datacatalog/boilerplate/update.sh create mode 100644 docs/Dockerfile.conda-lock create mode 100644 docs/Dockerfile.docs create mode 100644 docs/_static/custom.js create mode 100644 docs/deployment/agents/openai_batch.rst create mode 100644 docs/deprecated_integrations/bigquery_plugin/bigquery_plugin_example.md create mode 100644 docs/deprecated_integrations/bigquery_plugin/index.md create mode 100644 docs/deprecated_integrations/databricks_plugin/databricks_plugin_example.md create mode 100644 docs/deprecated_integrations/databricks_plugin/index.md create mode 100644 docs/deprecated_integrations/index.md create mode 100644 docs/deprecated_integrations/snowflake_plugin/index.md create mode 100644 docs/deprecated_integrations/snowflake_plugin/snowflake_plugin_example.md create mode 100644 docs/flyte_agents/deploying_agents_to_the_flyte_sandbox.md create mode 100644 docs/flyte_agents/how_secret_works_in_agent.md create mode 100644 docs/flyte_agents/implementing_the_agent_metadata_service.md create mode 100644 docs/flyte_agents/testing_agents_in_a_local_development_cluster.md rename docs/flyte_agents/{testing_agents_locally.md => testing_agents_in_a_local_python_environment.md} (73%) delete mode 100644 docs/reference/index.rst delete mode 100644 flyte.yaml delete mode 100644 flyte_local.yaml delete mode 100644 flyte_local_k3d.yaml create mode 100644 flyteadmin/auth/auth_context_test.go delete mode 100644 flyteadmin/boilerplate/flyte/code_of_conduct/CODE_OF_CONDUCT.md delete mode 100644 flyteadmin/boilerplate/flyte/code_of_conduct/README.rst delete mode 100755 flyteadmin/boilerplate/flyte/code_of_conduct/update.sh delete mode 100644 flyteadmin/boilerplate/flyte/docker_build/Makefile delete mode 100644 flyteadmin/boilerplate/flyte/docker_build/Readme.rst delete mode 100755 flyteadmin/boilerplate/flyte/docker_build/docker_build.sh delete mode 100644 flyteadmin/boilerplate/flyte/end2end/Makefile delete mode 100755 flyteadmin/boilerplate/flyte/end2end/end2end.sh delete mode 100644 flyteadmin/boilerplate/flyte/end2end/run-tests.py delete mode 100644 flyteadmin/boilerplate/flyte/flyte_golang_compile/Readme.rst delete mode 100644 flyteadmin/boilerplate/flyte/flyte_golang_compile/flyte_golang_compile.Template delete mode 100755 flyteadmin/boilerplate/flyte/flyte_golang_compile/update.sh delete mode 100644 flyteadmin/boilerplate/flyte/github_workflows/Readme.rst delete mode 100644 flyteadmin/boilerplate/flyte/github_workflows/master.yml delete mode 100644 flyteadmin/boilerplate/flyte/github_workflows/pull_request.yml delete mode 100755 flyteadmin/boilerplate/flyte/github_workflows/update.sh delete mode 100644 flyteadmin/boilerplate/flyte/golang_dockerfile/Dockerfile.GoTemplate delete mode 100644 flyteadmin/boilerplate/flyte/golang_dockerfile/Readme.rst delete mode 100755 flyteadmin/boilerplate/flyte/golang_dockerfile/update.sh delete mode 100644 flyteadmin/boilerplate/flyte/golang_support_tools/go.mod delete mode 100644 flyteadmin/boilerplate/flyte/golang_support_tools/go.sum delete mode 100644 flyteadmin/boilerplate/flyte/golang_test_targets/Makefile delete mode 100644 flyteadmin/boilerplate/flyte/golang_test_targets/Readme.rst delete mode 100755 flyteadmin/boilerplate/flyte/golang_test_targets/download_tooling.sh delete mode 100755 flyteadmin/boilerplate/flyte/golang_test_targets/go-gen.sh delete mode 100755 flyteadmin/boilerplate/flyte/golang_test_targets/goimports delete mode 100644 flyteadmin/boilerplate/flyte/golangci_file/.golangci.yml delete mode 100644 flyteadmin/boilerplate/flyte/golangci_file/Readme.rst delete mode 100755 flyteadmin/boilerplate/flyte/golangci_file/update.sh delete mode 100644 flyteadmin/boilerplate/flyte/pull_request_template/Readme.rst delete mode 100644 flyteadmin/boilerplate/flyte/pull_request_template/pull_request_template.md delete mode 100755 flyteadmin/boilerplate/flyte/pull_request_template/update.sh delete mode 100644 flyteadmin/boilerplate/update.cfg delete mode 100755 flyteadmin/boilerplate/update.sh create mode 100644 flyteadmin/pkg/clusterresource/testdata/imagepullsecrets_templatized.yaml delete mode 100644 flyteadmin/pkg/rpc/adminservice/base_test.go create mode 100644 flyteadmin/pkg/rpc/adminservice/middleware/recovery_interceptor.go create mode 100644 flyteadmin/pkg/rpc/adminservice/middleware/recovery_interceptor_test.go delete mode 100644 flytecopilot/boilerplate/flyte/code_of_conduct/CODE_OF_CONDUCT.md delete mode 100644 flytecopilot/boilerplate/flyte/code_of_conduct/README.rst delete mode 100755 flytecopilot/boilerplate/flyte/code_of_conduct/update.sh delete mode 100644 flytecopilot/boilerplate/flyte/docker_build/Makefile delete mode 100644 flytecopilot/boilerplate/flyte/docker_build/Readme.rst delete mode 100755 flytecopilot/boilerplate/flyte/docker_build/docker_build.sh delete mode 100644 flytecopilot/boilerplate/flyte/end2end/Makefile delete mode 100755 flytecopilot/boilerplate/flyte/end2end/end2end.sh delete mode 100644 flytecopilot/boilerplate/flyte/end2end/functional-test-config.yaml delete mode 100644 flytecopilot/boilerplate/flyte/end2end/run-tests.py delete mode 100644 flytecopilot/boilerplate/flyte/flyte_golang_compile/Readme.rst delete mode 100644 flytecopilot/boilerplate/flyte/flyte_golang_compile/flyte_golang_compile.Template delete mode 100755 flytecopilot/boilerplate/flyte/flyte_golang_compile/update.sh delete mode 100644 flytecopilot/boilerplate/flyte/github_workflows/Readme.rst delete mode 100644 flytecopilot/boilerplate/flyte/github_workflows/boilerplate_automation.yml delete mode 100644 flytecopilot/boilerplate/flyte/github_workflows/master.yml delete mode 100644 flytecopilot/boilerplate/flyte/github_workflows/stale.yml delete mode 100755 flytecopilot/boilerplate/flyte/github_workflows/update.sh delete mode 100644 flytecopilot/boilerplate/flyte/golang_dockerfile/Dockerfile.GoTemplate delete mode 100644 flytecopilot/boilerplate/flyte/golang_dockerfile/Readme.rst delete mode 100755 flytecopilot/boilerplate/flyte/golang_dockerfile/update.sh delete mode 100644 flytecopilot/boilerplate/flyte/golang_support_tools/go.sum delete mode 100644 flytecopilot/boilerplate/flyte/golang_support_tools/tools.go delete mode 100644 flytecopilot/boilerplate/flyte/golang_test_targets/Makefile delete mode 100644 flytecopilot/boilerplate/flyte/golang_test_targets/Readme.rst delete mode 100755 flytecopilot/boilerplate/flyte/golang_test_targets/download_tooling.sh delete mode 100755 flytecopilot/boilerplate/flyte/golang_test_targets/go-gen.sh delete mode 100755 flytecopilot/boilerplate/flyte/golang_test_targets/goimports delete mode 100644 flytecopilot/boilerplate/flyte/golangci_file/.golangci.yml delete mode 100644 flytecopilot/boilerplate/flyte/golangci_file/Readme.rst delete mode 100755 flytecopilot/boilerplate/flyte/golangci_file/update.sh delete mode 100644 flytecopilot/boilerplate/flyte/precommit/Makefile delete mode 100755 flytecopilot/boilerplate/flyte/precommit/hooks/pre-push delete mode 100755 flytecopilot/boilerplate/flyte/precommit/hooks/prepare-commit-msg delete mode 100755 flytecopilot/boilerplate/flyte/precommit/update.sh delete mode 100644 flytecopilot/boilerplate/flyte/pull_request_template/Readme.rst delete mode 100644 flytecopilot/boilerplate/flyte/pull_request_template/pull_request_template.md delete mode 100755 flytecopilot/boilerplate/flyte/pull_request_template/update.sh delete mode 100755 flytecopilot/boilerplate/update.cfg delete mode 100755 flytecopilot/boilerplate/update.sh create mode 100644 flytectl/.gitattributes create mode 100644 flytectl/.gitignore rename {flyteidl/boilerplate/flyte/golangci_file => flytectl}/.golangci.yml (86%) create mode 100644 flytectl/.goreleaser.yml create mode 100644 flytectl/CODEOWNERS create mode 100644 flytectl/LICENSE create mode 100644 flytectl/Makefile create mode 100644 flytectl/NOTICE create mode 100644 flytectl/README.md create mode 100644 flytectl/RELEASE.md create mode 100644 flytectl/clierrors/errors.go create mode 100644 flytectl/cmd/compile/compile.go create mode 100644 flytectl/cmd/compile/compile_test.go create mode 100644 flytectl/cmd/compile/testdata/bad-workflow-package.tgz create mode 100644 flytectl/cmd/compile/testdata/invalid.tgz create mode 100644 flytectl/cmd/compile/testdata/invalidlaunchplan.tgz create mode 100644 flytectl/cmd/compile/testdata/invalidtask.tgz create mode 100644 flytectl/cmd/compile/testdata/invalidworkflow.tgz create mode 100644 flytectl/cmd/compile/testdata/launchplan-in-wf.py create mode 100644 flytectl/cmd/compile/testdata/launchplan-in-wf.tgz create mode 100644 flytectl/cmd/compile/testdata/valid-package.tgz create mode 100644 flytectl/cmd/completion.go create mode 100644 flytectl/cmd/completion_test.go create mode 100644 flytectl/cmd/config/config.go create mode 100644 flytectl/cmd/config/config_test.go create mode 100755 flytectl/cmd/config/subcommand/clusterresourceattribute/attrdeleteconfig_flags.go create mode 100755 flytectl/cmd/config/subcommand/clusterresourceattribute/attrdeleteconfig_flags_test.go create mode 100755 flytectl/cmd/config/subcommand/clusterresourceattribute/attrfetchconfig_flags.go create mode 100755 flytectl/cmd/config/subcommand/clusterresourceattribute/attrfetchconfig_flags_test.go create mode 100755 flytectl/cmd/config/subcommand/clusterresourceattribute/attrupdateconfig_flags.go create mode 100755 flytectl/cmd/config/subcommand/clusterresourceattribute/attrupdateconfig_flags_test.go create mode 100644 flytectl/cmd/config/subcommand/clusterresourceattribute/delete_config.go create mode 100644 flytectl/cmd/config/subcommand/clusterresourceattribute/fetch_config.go create mode 100644 flytectl/cmd/config/subcommand/clusterresourceattribute/file_config.go create mode 100644 flytectl/cmd/config/subcommand/clusterresourceattribute/file_config_test.go create mode 100644 flytectl/cmd/config/subcommand/clusterresourceattribute/update_config.go create mode 100644 flytectl/cmd/config/subcommand/compile/compile_config.go create mode 100755 flytectl/cmd/config/subcommand/compile/config_flags.go create mode 100755 flytectl/cmd/config/subcommand/compile/config_flags_test.go create mode 100755 flytectl/cmd/config/subcommand/config/config_flags.go create mode 100755 flytectl/cmd/config/subcommand/config/config_flags_test.go create mode 100644 flytectl/cmd/config/subcommand/config/console_flags.go create mode 100755 flytectl/cmd/config/subcommand/config/consoleconfig_flags.go create mode 100755 flytectl/cmd/config/subcommand/config/consoleconfig_flags_test.go create mode 100755 flytectl/cmd/config/subcommand/config/init_flags.go create mode 100644 flytectl/cmd/config/subcommand/docker/config_flags.go create mode 100644 flytectl/cmd/config/subcommand/docker/config_flags_test.go create mode 100644 flytectl/cmd/config/subcommand/docker/docker_config.go create mode 100755 flytectl/cmd/config/subcommand/execution/config_flags.go create mode 100755 flytectl/cmd/config/subcommand/execution/config_flags_test.go create mode 100644 flytectl/cmd/config/subcommand/execution/delete_config.go create mode 100755 flytectl/cmd/config/subcommand/execution/execdeleteconfig_flags.go create mode 100755 flytectl/cmd/config/subcommand/execution/execdeleteconfig_flags_test.go create mode 100644 flytectl/cmd/config/subcommand/execution/execution_config.go create mode 100644 flytectl/cmd/config/subcommand/execution/update_config.go create mode 100755 flytectl/cmd/config/subcommand/execution/updateconfig_flags.go create mode 100755 flytectl/cmd/config/subcommand/execution/updateconfig_flags_test.go create mode 100755 flytectl/cmd/config/subcommand/executionclusterlabel/attrdeleteconfig_flags.go create mode 100755 flytectl/cmd/config/subcommand/executionclusterlabel/attrdeleteconfig_flags_test.go create mode 100755 flytectl/cmd/config/subcommand/executionclusterlabel/attrfetchconfig_flags.go create mode 100755 flytectl/cmd/config/subcommand/executionclusterlabel/attrfetchconfig_flags_test.go create mode 100755 flytectl/cmd/config/subcommand/executionclusterlabel/attrupdateconfig_flags.go create mode 100755 flytectl/cmd/config/subcommand/executionclusterlabel/attrupdateconfig_flags_test.go create mode 100644 flytectl/cmd/config/subcommand/executionclusterlabel/delete_config.go create mode 100644 flytectl/cmd/config/subcommand/executionclusterlabel/fetch_config.go create mode 100644 flytectl/cmd/config/subcommand/executionclusterlabel/file_config.go create mode 100644 flytectl/cmd/config/subcommand/executionclusterlabel/file_config_test.go create mode 100644 flytectl/cmd/config/subcommand/executionclusterlabel/update_config.go create mode 100755 flytectl/cmd/config/subcommand/executionqueueattribute/attrdeleteconfig_flags.go create mode 100755 flytectl/cmd/config/subcommand/executionqueueattribute/attrdeleteconfig_flags_test.go create mode 100755 flytectl/cmd/config/subcommand/executionqueueattribute/attrfetchconfig_flags.go create mode 100755 flytectl/cmd/config/subcommand/executionqueueattribute/attrfetchconfig_flags_test.go create mode 100755 flytectl/cmd/config/subcommand/executionqueueattribute/attrupdateconfig_flags.go create mode 100755 flytectl/cmd/config/subcommand/executionqueueattribute/attrupdateconfig_flags_test.go create mode 100644 flytectl/cmd/config/subcommand/executionqueueattribute/delete_config.go create mode 100644 flytectl/cmd/config/subcommand/executionqueueattribute/fetch_config.go create mode 100644 flytectl/cmd/config/subcommand/executionqueueattribute/file_config.go create mode 100644 flytectl/cmd/config/subcommand/executionqueueattribute/file_config_test.go create mode 100644 flytectl/cmd/config/subcommand/executionqueueattribute/update_config.go create mode 100755 flytectl/cmd/config/subcommand/launchplan/config_flags.go create mode 100755 flytectl/cmd/config/subcommand/launchplan/config_flags_test.go create mode 100644 flytectl/cmd/config/subcommand/launchplan/launchplan_config.go create mode 100644 flytectl/cmd/config/subcommand/launchplan/updateconfig.go create mode 100644 flytectl/cmd/config/subcommand/launchplan/updateconfig_flags.go create mode 100755 flytectl/cmd/config/subcommand/launchplan/updateconfig_flags_test.go create mode 100644 flytectl/cmd/config/subcommand/matchable_attr_file_config_utils.go create mode 100644 flytectl/cmd/config/subcommand/matchable_attribute_decorator.go create mode 100755 flytectl/cmd/config/subcommand/plugin_override/attrdeleteconfig_flags.go create mode 100755 flytectl/cmd/config/subcommand/plugin_override/attrdeleteconfig_flags_test.go create mode 100755 flytectl/cmd/config/subcommand/plugin_override/attrfetchconfig_flags.go create mode 100755 flytectl/cmd/config/subcommand/plugin_override/attrfetchconfig_flags_test.go create mode 100755 flytectl/cmd/config/subcommand/plugin_override/attrupdateconfig_flags.go create mode 100755 flytectl/cmd/config/subcommand/plugin_override/attrupdateconfig_flags_test.go create mode 100644 flytectl/cmd/config/subcommand/plugin_override/delete_config.go create mode 100644 flytectl/cmd/config/subcommand/plugin_override/fetch_config.go create mode 100644 flytectl/cmd/config/subcommand/plugin_override/file_config.go create mode 100644 flytectl/cmd/config/subcommand/plugin_override/file_config_test.go create mode 100644 flytectl/cmd/config/subcommand/plugin_override/update_config.go create mode 100755 flytectl/cmd/config/subcommand/project/config_flags.go create mode 100755 flytectl/cmd/config/subcommand/project/config_flags_test.go create mode 100755 flytectl/cmd/config/subcommand/project/configproject_flags.go create mode 100755 flytectl/cmd/config/subcommand/project/configproject_flags_test.go create mode 100644 flytectl/cmd/config/subcommand/project/project_config.go create mode 100644 flytectl/cmd/config/subcommand/project/project_config_test.go create mode 100644 flytectl/cmd/config/subcommand/project/testdata/project.yaml create mode 100644 flytectl/cmd/config/subcommand/project/testdata/project_error.yaml create mode 100644 flytectl/cmd/config/subcommand/project_domain_workflow_getter.go create mode 100644 flytectl/cmd/config/subcommand/register/files_config.go create mode 100755 flytectl/cmd/config/subcommand/register/filesconfig_flags.go create mode 100755 flytectl/cmd/config/subcommand/register/filesconfig_flags_test.go create mode 100755 flytectl/cmd/config/subcommand/sandbox/config_flags.go create mode 100755 flytectl/cmd/config/subcommand/sandbox/config_flags_test.go create mode 100644 flytectl/cmd/config/subcommand/sandbox/sandbox_config.go create mode 100644 flytectl/cmd/config/subcommand/sandbox/teardown.go create mode 100755 flytectl/cmd/config/subcommand/task/config_flags.go create mode 100755 flytectl/cmd/config/subcommand/task/config_flags_test.go create mode 100644 flytectl/cmd/config/subcommand/task/task_config.go create mode 100755 flytectl/cmd/config/subcommand/taskresourceattribute/attrdeleteconfig_flags.go create mode 100755 flytectl/cmd/config/subcommand/taskresourceattribute/attrdeleteconfig_flags_test.go create mode 100755 flytectl/cmd/config/subcommand/taskresourceattribute/attrfetchconfig_flags.go create mode 100755 flytectl/cmd/config/subcommand/taskresourceattribute/attrfetchconfig_flags_test.go create mode 100755 flytectl/cmd/config/subcommand/taskresourceattribute/attrupdateconfig_flags.go create mode 100755 flytectl/cmd/config/subcommand/taskresourceattribute/attrupdateconfig_flags_test.go create mode 100644 flytectl/cmd/config/subcommand/taskresourceattribute/delete_config.go create mode 100644 flytectl/cmd/config/subcommand/taskresourceattribute/fetch_config.go create mode 100644 flytectl/cmd/config/subcommand/taskresourceattribute/file_config.go create mode 100644 flytectl/cmd/config/subcommand/taskresourceattribute/file_config_test.go create mode 100644 flytectl/cmd/config/subcommand/taskresourceattribute/update_config.go create mode 100755 flytectl/cmd/config/subcommand/workflow/config_flags.go create mode 100755 flytectl/cmd/config/subcommand/workflow/config_flags_test.go create mode 100644 flytectl/cmd/config/subcommand/workflow/workflow_config.go create mode 100755 flytectl/cmd/config/subcommand/workflowexecutionconfig/attrdeleteconfig_flags.go create mode 100755 flytectl/cmd/config/subcommand/workflowexecutionconfig/attrdeleteconfig_flags_test.go create mode 100755 flytectl/cmd/config/subcommand/workflowexecutionconfig/attrfetchconfig_flags.go create mode 100755 flytectl/cmd/config/subcommand/workflowexecutionconfig/attrfetchconfig_flags_test.go create mode 100755 flytectl/cmd/config/subcommand/workflowexecutionconfig/attrupdateconfig_flags.go create mode 100755 flytectl/cmd/config/subcommand/workflowexecutionconfig/attrupdateconfig_flags_test.go create mode 100644 flytectl/cmd/config/subcommand/workflowexecutionconfig/delete_config.go create mode 100644 flytectl/cmd/config/subcommand/workflowexecutionconfig/fetch_config.go create mode 100644 flytectl/cmd/config/subcommand/workflowexecutionconfig/file_config.go create mode 100644 flytectl/cmd/config/subcommand/workflowexecutionconfig/file_config_test.go create mode 100644 flytectl/cmd/config/subcommand/workflowexecutionconfig/update_config.go create mode 100644 flytectl/cmd/configuration/configuration.go create mode 100644 flytectl/cmd/configuration/configuration_test.go create mode 100644 flytectl/cmd/core/cmd.go create mode 100644 flytectl/cmd/core/cmd_ctx.go create mode 100644 flytectl/cmd/core/cmd_test.go create mode 100644 flytectl/cmd/core/types.go create mode 100644 flytectl/cmd/create/create.go create mode 100644 flytectl/cmd/create/create_test.go create mode 100644 flytectl/cmd/create/execution.go create mode 100644 flytectl/cmd/create/execution_test.go create mode 100644 flytectl/cmd/create/execution_util.go create mode 100644 flytectl/cmd/create/execution_util_test.go create mode 100755 flytectl/cmd/create/executionconfig_flags.go create mode 100755 flytectl/cmd/create/executionconfig_flags_test.go create mode 100644 flytectl/cmd/create/project.go create mode 100644 flytectl/cmd/create/project_test.go create mode 100644 flytectl/cmd/create/serialization_utils.go create mode 100644 flytectl/cmd/create/serialization_utils_test.go create mode 100644 flytectl/cmd/delete/delete.go create mode 100644 flytectl/cmd/delete/delete_test.go create mode 100644 flytectl/cmd/delete/execution.go create mode 100644 flytectl/cmd/delete/execution_test.go create mode 100644 flytectl/cmd/delete/matchable_attribute_util.go create mode 100644 flytectl/cmd/delete/matchable_cluster_resource_attribute.go create mode 100644 flytectl/cmd/delete/matchable_cluster_resource_attribute_test.go create mode 100644 flytectl/cmd/delete/matchable_execution_cluster_label.go create mode 100644 flytectl/cmd/delete/matchable_execution_cluster_label_test.go create mode 100644 flytectl/cmd/delete/matchable_execution_queue_attribute.go create mode 100644 flytectl/cmd/delete/matchable_execution_queue_attribute_test.go create mode 100644 flytectl/cmd/delete/matchable_plugin_override.go create mode 100644 flytectl/cmd/delete/matchable_plugin_override_test.go create mode 100644 flytectl/cmd/delete/matchable_task_resource_attribute.go create mode 100644 flytectl/cmd/delete/matchable_task_resource_attribute_test.go create mode 100644 flytectl/cmd/delete/matchable_workflow_execution_config.go create mode 100644 flytectl/cmd/delete/matchable_workflow_execution_config_test.go create mode 100644 flytectl/cmd/delete/testdata/invalid_attribute.yaml create mode 100644 flytectl/cmd/delete/testdata/valid_project_domain_cluster_attribute.yaml create mode 100644 flytectl/cmd/delete/testdata/valid_project_domain_execution_cluster_label.yaml create mode 100644 flytectl/cmd/delete/testdata/valid_project_domain_execution_queue_attribute.yaml create mode 100644 flytectl/cmd/delete/testdata/valid_project_domain_plugin_override.yaml create mode 100644 flytectl/cmd/delete/testdata/valid_project_domain_task_attribute.yaml create mode 100644 flytectl/cmd/delete/testdata/valid_project_domain_workflow_execution_config.yaml create mode 100644 flytectl/cmd/delete/testdata/valid_workflow_cluster_attribute.yaml create mode 100644 flytectl/cmd/delete/testdata/valid_workflow_execution_cluster_label.yaml create mode 100644 flytectl/cmd/delete/testdata/valid_workflow_execution_queue_attribute.yaml create mode 100644 flytectl/cmd/delete/testdata/valid_workflow_plugin_override.yaml create mode 100644 flytectl/cmd/delete/testdata/valid_workflow_task_attribute.yaml create mode 100644 flytectl/cmd/delete/testdata/valid_workflow_workflow_execution_config.yaml create mode 100644 flytectl/cmd/demo/demo.go create mode 100644 flytectl/cmd/demo/demo_test.go create mode 100644 flytectl/cmd/demo/exec.go create mode 100644 flytectl/cmd/demo/exec_test.go create mode 100644 flytectl/cmd/demo/reload.go create mode 100644 flytectl/cmd/demo/reload_test.go create mode 100644 flytectl/cmd/demo/start.go create mode 100644 flytectl/cmd/demo/start_test.go create mode 100644 flytectl/cmd/demo/status.go create mode 100644 flytectl/cmd/demo/status_test.go create mode 100644 flytectl/cmd/demo/teardown.go create mode 100644 flytectl/cmd/demo/teardown_test.go create mode 100644 flytectl/cmd/get/execution.go create mode 100644 flytectl/cmd/get/execution_test.go create mode 100644 flytectl/cmd/get/execution_util.go create mode 100644 flytectl/cmd/get/execution_util_test.go create mode 100644 flytectl/cmd/get/get.go create mode 100644 flytectl/cmd/get/get_test.go create mode 100644 flytectl/cmd/get/launch_plan.go create mode 100644 flytectl/cmd/get/launch_plan_test.go create mode 100644 flytectl/cmd/get/matchable_attribute_util.go create mode 100644 flytectl/cmd/get/matchable_cluster_resource_attribute.go create mode 100644 flytectl/cmd/get/matchable_cluster_resource_attribute_test.go create mode 100644 flytectl/cmd/get/matchable_execution_cluster_label.go create mode 100644 flytectl/cmd/get/matchable_execution_cluster_label_test.go create mode 100644 flytectl/cmd/get/matchable_execution_queue_attribute.go create mode 100644 flytectl/cmd/get/matchable_execution_queue_attribute_test.go create mode 100644 flytectl/cmd/get/matchable_plugin_override.go create mode 100644 flytectl/cmd/get/matchable_plugin_override_test.go create mode 100644 flytectl/cmd/get/matchable_task_resource_attribute.go create mode 100644 flytectl/cmd/get/matchable_task_resource_attribute_test.go create mode 100644 flytectl/cmd/get/matchable_workflow_execution_config.go create mode 100644 flytectl/cmd/get/matchable_workflow_execution_config_test.go create mode 100644 flytectl/cmd/get/node_execution.go create mode 100644 flytectl/cmd/get/node_execution_test.go create mode 100644 flytectl/cmd/get/project.go create mode 100644 flytectl/cmd/get/project_test.go create mode 100644 flytectl/cmd/get/task.go create mode 100644 flytectl/cmd/get/task_test.go create mode 100644 flytectl/cmd/get/workflow.go create mode 100644 flytectl/cmd/get/workflow_test.go create mode 100644 flytectl/cmd/register/examples.go create mode 100644 flytectl/cmd/register/examples_test.go create mode 100644 flytectl/cmd/register/files.go create mode 100644 flytectl/cmd/register/files_test.go create mode 100644 flytectl/cmd/register/register.go create mode 100644 flytectl/cmd/register/register_test.go create mode 100644 flytectl/cmd/register/register_util.go create mode 100644 flytectl/cmd/register/register_util_test.go create mode 100644 flytectl/cmd/register/testdata/152_my_cron_scheduled_lp_3.pb create mode 100644 flytectl/cmd/register/testdata/69_core.flyte_basics.lp.greet_1.pb create mode 100644 flytectl/cmd/register/testdata/failure-node.tgz create mode 100644 flytectl/cmd/register/testdata/flyte-package.tgz create mode 100644 flytectl/cmd/register/testdata/flytesnacks-core.tgz create mode 100644 flytectl/cmd/register/testdata/invalid-extension-register.zip create mode 100644 flytectl/cmd/register/testdata/invalid-fast.tgz create mode 100644 flytectl/cmd/register/testdata/invalid.tar create mode 100644 flytectl/cmd/register/testdata/invalid.tgz create mode 100644 flytectl/cmd/register/testdata/valid-fast-register.tgz create mode 100644 flytectl/cmd/register/testdata/valid-parent-folder-register.tar create mode 100644 flytectl/cmd/register/testdata/valid-register.tar create mode 100644 flytectl/cmd/register/testdata/valid-register.tgz create mode 100644 flytectl/cmd/register/testdata/valid-unordered-register.tar create mode 100644 flytectl/cmd/root.go create mode 100644 flytectl/cmd/root_test.go create mode 100644 flytectl/cmd/sandbox/exec.go create mode 100644 flytectl/cmd/sandbox/exec_test.go create mode 100644 flytectl/cmd/sandbox/sandbox.go create mode 100644 flytectl/cmd/sandbox/sandbox_test.go create mode 100644 flytectl/cmd/sandbox/start.go create mode 100644 flytectl/cmd/sandbox/start_test.go create mode 100644 flytectl/cmd/sandbox/status.go create mode 100644 flytectl/cmd/sandbox/status_test.go create mode 100644 flytectl/cmd/sandbox/teardown.go create mode 100644 flytectl/cmd/sandbox/teardown_test.go create mode 100644 flytectl/cmd/testdata/config.yaml create mode 100644 flytectl/cmd/testdata/invalid_execution_spec.yaml create mode 100644 flytectl/cmd/testdata/launchplan_execution_spec.yaml create mode 100644 flytectl/cmd/testdata/task_execution_spec.yaml create mode 100644 flytectl/cmd/testdata/task_execution_spec_with_iamrole.yaml create mode 100644 flytectl/cmd/testutils/test_utils.go create mode 100644 flytectl/cmd/update/diff.go create mode 100644 flytectl/cmd/update/diff_test.go create mode 100644 flytectl/cmd/update/execution.go create mode 100644 flytectl/cmd/update/execution_test.go create mode 100644 flytectl/cmd/update/interfaces/mocks/updater.go create mode 100644 flytectl/cmd/update/interfaces/updater.go create mode 100644 flytectl/cmd/update/launch_plan.go create mode 100644 flytectl/cmd/update/launch_plan_meta.go create mode 100644 flytectl/cmd/update/launch_plan_meta_test.go create mode 100644 flytectl/cmd/update/launch_plan_test.go create mode 100644 flytectl/cmd/update/matchable_attribute_util.go create mode 100644 flytectl/cmd/update/matchable_cluster_resource_attribute.go create mode 100644 flytectl/cmd/update/matchable_cluster_resource_attribute_test.go create mode 100644 flytectl/cmd/update/matchable_execution_cluster_label.go create mode 100644 flytectl/cmd/update/matchable_execution_cluster_label_test.go create mode 100644 flytectl/cmd/update/matchable_execution_queue_attribute.go create mode 100644 flytectl/cmd/update/matchable_execution_queue_attribute_test.go create mode 100644 flytectl/cmd/update/matchable_plugin_override.go create mode 100644 flytectl/cmd/update/matchable_plugin_override_test.go create mode 100644 flytectl/cmd/update/matchable_task_resource_attribute.go create mode 100644 flytectl/cmd/update/matchable_task_resource_attribute_test.go create mode 100644 flytectl/cmd/update/matchable_workflow_execution_config.go create mode 100644 flytectl/cmd/update/matchable_workflow_execution_config_test.go create mode 100644 flytectl/cmd/update/named_entity.go create mode 100644 flytectl/cmd/update/named_entity_test.go create mode 100755 flytectl/cmd/update/namedentityconfig_flags.go create mode 100755 flytectl/cmd/update/namedentityconfig_flags_test.go create mode 100644 flytectl/cmd/update/project.go create mode 100644 flytectl/cmd/update/project_test.go create mode 100644 flytectl/cmd/update/task_meta.go create mode 100644 flytectl/cmd/update/task_meta_test.go create mode 100644 flytectl/cmd/update/testdata/invalid_attribute.yaml create mode 100644 flytectl/cmd/update/testdata/valid_project_cluster_attribute.yaml create mode 100644 flytectl/cmd/update/testdata/valid_project_domain_cluster_attribute.yaml create mode 100644 flytectl/cmd/update/testdata/valid_project_domain_execution_cluster_label.yaml create mode 100644 flytectl/cmd/update/testdata/valid_project_domain_execution_queue_attribute.yaml create mode 100644 flytectl/cmd/update/testdata/valid_project_domain_plugin_override.yaml create mode 100644 flytectl/cmd/update/testdata/valid_project_domain_task_attribute.yaml create mode 100644 flytectl/cmd/update/testdata/valid_project_domain_workflow_execution_config.yaml create mode 100644 flytectl/cmd/update/testdata/valid_project_execution_cluster_label.yaml create mode 100644 flytectl/cmd/update/testdata/valid_project_execution_queue_attribute.yaml create mode 100644 flytectl/cmd/update/testdata/valid_project_plugin_override.yaml create mode 100644 flytectl/cmd/update/testdata/valid_project_task_attribute.yaml create mode 100644 flytectl/cmd/update/testdata/valid_project_workflow_execution_config.yaml create mode 100644 flytectl/cmd/update/testdata/valid_workflow_cluster_attribute.yaml create mode 100644 flytectl/cmd/update/testdata/valid_workflow_execution_cluster_label.yaml create mode 100644 flytectl/cmd/update/testdata/valid_workflow_execution_queue_attribute.yaml create mode 100644 flytectl/cmd/update/testdata/valid_workflow_plugin_override.yaml create mode 100644 flytectl/cmd/update/testdata/valid_workflow_task_attribute.yaml create mode 100644 flytectl/cmd/update/testdata/valid_workflow_workflow_execution_config.yaml create mode 100644 flytectl/cmd/update/update.go create mode 100644 flytectl/cmd/update/update_test.go create mode 100644 flytectl/cmd/update/workflow_meta.go create mode 100644 flytectl/cmd/update/workflow_meta_test.go create mode 100644 flytectl/cmd/upgrade/upgrade.go create mode 100644 flytectl/cmd/upgrade/upgrade_test.go create mode 100644 flytectl/cmd/version/version.go create mode 100644 flytectl/cmd/version/version_test.go rename flyteadmin/boilerplate/flyte/end2end/functional-test-config.yaml => flytectl/config.yaml (64%) create mode 100644 flytectl/docs/Makefile create mode 100644 flytectl/docs/coverage.out create mode 100644 flytectl/docs/make.bat create mode 100644 flytectl/docs/source/_static/custom.css create mode 100644 flytectl/docs/source/_templates/sidebar/brand.html create mode 100644 flytectl/docs/source/cluster-resource-attribute.rst create mode 100644 flytectl/docs/source/conf.py create mode 100644 flytectl/docs/source/config.rst create mode 100644 flytectl/docs/source/contribute.rst create mode 100644 flytectl/docs/source/demo.rst create mode 100644 flytectl/docs/source/docs_index.rst create mode 100644 flytectl/docs/source/examples.rst create mode 100644 flytectl/docs/source/execution-cluster-label.rst create mode 100644 flytectl/docs/source/execution-queue-attribute.rst create mode 100644 flytectl/docs/source/execution.rst create mode 100644 flytectl/docs/source/files.rst create mode 100644 flytectl/docs/source/flyte_circle_gradient_1_4x4.png create mode 100644 flytectl/docs/source/gen/flytectl.rst create mode 100644 flytectl/docs/source/gen/flytectl_compile.rst create mode 100644 flytectl/docs/source/gen/flytectl_completion.rst create mode 100644 flytectl/docs/source/gen/flytectl_config.rst create mode 100644 flytectl/docs/source/gen/flytectl_config_discover.rst create mode 100644 flytectl/docs/source/gen/flytectl_config_docs.rst create mode 100644 flytectl/docs/source/gen/flytectl_config_init.rst create mode 100644 flytectl/docs/source/gen/flytectl_config_validate.rst create mode 100644 flytectl/docs/source/gen/flytectl_create.rst create mode 100644 flytectl/docs/source/gen/flytectl_create_execution.rst create mode 100644 flytectl/docs/source/gen/flytectl_create_project.rst create mode 100644 flytectl/docs/source/gen/flytectl_delete.rst create mode 100644 flytectl/docs/source/gen/flytectl_delete_cluster-resource-attribute.rst create mode 100644 flytectl/docs/source/gen/flytectl_delete_execution-cluster-label.rst create mode 100644 flytectl/docs/source/gen/flytectl_delete_execution-queue-attribute.rst create mode 100644 flytectl/docs/source/gen/flytectl_delete_execution.rst create mode 100644 flytectl/docs/source/gen/flytectl_delete_plugin-override.rst create mode 100644 flytectl/docs/source/gen/flytectl_delete_task-resource-attribute.rst create mode 100644 flytectl/docs/source/gen/flytectl_delete_workflow-execution-config.rst create mode 100644 flytectl/docs/source/gen/flytectl_demo.rst create mode 100644 flytectl/docs/source/gen/flytectl_demo_exec.rst create mode 100644 flytectl/docs/source/gen/flytectl_demo_reload.rst create mode 100644 flytectl/docs/source/gen/flytectl_demo_start.rst create mode 100644 flytectl/docs/source/gen/flytectl_demo_status.rst create mode 100644 flytectl/docs/source/gen/flytectl_demo_teardown.rst create mode 100644 flytectl/docs/source/gen/flytectl_get.rst create mode 100644 flytectl/docs/source/gen/flytectl_get_cluster-resource-attribute.rst create mode 100644 flytectl/docs/source/gen/flytectl_get_execution-cluster-label.rst create mode 100644 flytectl/docs/source/gen/flytectl_get_execution-queue-attribute.rst create mode 100644 flytectl/docs/source/gen/flytectl_get_execution.rst create mode 100644 flytectl/docs/source/gen/flytectl_get_launchplan.rst create mode 100644 flytectl/docs/source/gen/flytectl_get_plugin-override.rst create mode 100644 flytectl/docs/source/gen/flytectl_get_project.rst create mode 100644 flytectl/docs/source/gen/flytectl_get_task-resource-attribute.rst create mode 100644 flytectl/docs/source/gen/flytectl_get_task.rst create mode 100644 flytectl/docs/source/gen/flytectl_get_workflow-execution-config.rst create mode 100644 flytectl/docs/source/gen/flytectl_get_workflow.rst create mode 100644 flytectl/docs/source/gen/flytectl_register.rst create mode 100644 flytectl/docs/source/gen/flytectl_register_examples.rst create mode 100644 flytectl/docs/source/gen/flytectl_register_files.rst create mode 100644 flytectl/docs/source/gen/flytectl_sandbox.rst create mode 100644 flytectl/docs/source/gen/flytectl_sandbox_exec.rst create mode 100644 flytectl/docs/source/gen/flytectl_sandbox_start.rst create mode 100644 flytectl/docs/source/gen/flytectl_sandbox_status.rst create mode 100644 flytectl/docs/source/gen/flytectl_sandbox_teardown.rst create mode 100644 flytectl/docs/source/gen/flytectl_update.rst create mode 100644 flytectl/docs/source/gen/flytectl_update_cluster-resource-attribute.rst create mode 100644 flytectl/docs/source/gen/flytectl_update_execution-cluster-label.rst create mode 100644 flytectl/docs/source/gen/flytectl_update_execution-queue-attribute.rst create mode 100644 flytectl/docs/source/gen/flytectl_update_execution.rst create mode 100644 flytectl/docs/source/gen/flytectl_update_launchplan-meta.rst create mode 100644 flytectl/docs/source/gen/flytectl_update_launchplan.rst create mode 100644 flytectl/docs/source/gen/flytectl_update_plugin-override.rst create mode 100644 flytectl/docs/source/gen/flytectl_update_project.rst create mode 100644 flytectl/docs/source/gen/flytectl_update_task-meta.rst create mode 100644 flytectl/docs/source/gen/flytectl_update_task-resource-attribute.rst create mode 100644 flytectl/docs/source/gen/flytectl_update_workflow-execution-config.rst create mode 100644 flytectl/docs/source/gen/flytectl_update_workflow-meta.rst create mode 100644 flytectl/docs/source/gen/flytectl_upgrade.rst create mode 100644 flytectl/docs/source/gen/flytectl_version.rst create mode 100644 flytectl/docs/source/generate_docs.go create mode 100644 flytectl/docs/source/index.rst create mode 100644 flytectl/docs/source/launchplan.rst create mode 100644 flytectl/docs/source/nouns.rst create mode 100644 flytectl/docs/source/overview.rst create mode 100644 flytectl/docs/source/plugin-override.rst create mode 100644 flytectl/docs/source/project.rst create mode 100644 flytectl/docs/source/sandbox.rst create mode 100644 flytectl/docs/source/task-resource-attribute.rst create mode 100644 flytectl/docs/source/task.rst create mode 100644 flytectl/docs/source/verbs.rst create mode 100644 flytectl/docs/source/workflow-execution-config.rst create mode 100644 flytectl/docs/source/workflow.rst create mode 100644 flytectl/go.mod rename {flyteidl/boilerplate/flyte/golang_support_tools => flytectl}/go.sum (52%) create mode 100755 flytectl/install.sh create mode 100644 flytectl/main.go create mode 100644 flytectl/pkg/adminutils/config.go create mode 100755 flytectl/pkg/adminutils/config_flags.go create mode 100755 flytectl/pkg/adminutils/config_flags_test.go create mode 100644 flytectl/pkg/bubbletea/bubbletea_pagination.go create mode 100644 flytectl/pkg/bubbletea/bubbletea_pagination_util.go create mode 100644 flytectl/pkg/commandutils/command_utils.go create mode 100644 flytectl/pkg/commandutils/command_utils_test.go create mode 100644 flytectl/pkg/configutil/configutil.go create mode 100644 flytectl/pkg/configutil/configutil_test.go rename datacatalog/boilerplate/flyte/end2end/functional-test-config.yaml => flytectl/pkg/configutil/version.yaml (64%) create mode 100644 flytectl/pkg/docker/docker.go create mode 100644 flytectl/pkg/docker/docker_config.go create mode 100644 flytectl/pkg/docker/docker_util.go create mode 100644 flytectl/pkg/docker/docker_util_test.go create mode 100644 flytectl/pkg/docker/imagepullpolicy_enumer.go create mode 100644 flytectl/pkg/docker/mocks/docker.go create mode 100644 flytectl/pkg/ext/attribute_match_deleter_test.go create mode 100644 flytectl/pkg/ext/attribute_match_fetcher.go create mode 100644 flytectl/pkg/ext/attribute_match_fetcher_test.go create mode 100644 flytectl/pkg/ext/attribute_match_updater.go create mode 100644 flytectl/pkg/ext/attribute_match_updater_test.go create mode 100644 flytectl/pkg/ext/attribute_matcher_deleter.go create mode 100644 flytectl/pkg/ext/deleter.go create mode 100644 flytectl/pkg/ext/deleter_test.go create mode 100644 flytectl/pkg/ext/doc.go create mode 100644 flytectl/pkg/ext/domain_fetcher.go create mode 100644 flytectl/pkg/ext/domain_fetcher_test.go create mode 100644 flytectl/pkg/ext/errors.go create mode 100644 flytectl/pkg/ext/execution_fetcher.go create mode 100644 flytectl/pkg/ext/execution_fetcher_test.go create mode 100644 flytectl/pkg/ext/fetcher.go create mode 100644 flytectl/pkg/ext/fetcher_test.go create mode 100644 flytectl/pkg/ext/launch_plan_fetcher.go create mode 100644 flytectl/pkg/ext/launch_plan_fetcher_test.go create mode 100644 flytectl/pkg/ext/mocks/admin_deleter_ext_interface.go create mode 100644 flytectl/pkg/ext/mocks/admin_fetcher_ext_interface.go create mode 100644 flytectl/pkg/ext/mocks/admin_service_fetcher_ext_interface.go create mode 100644 flytectl/pkg/ext/mocks/admin_updater_ext_interface.go create mode 100644 flytectl/pkg/ext/project_fetcher.go create mode 100644 flytectl/pkg/ext/project_fetcher_test.go create mode 100644 flytectl/pkg/ext/task_fetcher.go create mode 100644 flytectl/pkg/ext/task_fetcher_test.go create mode 100644 flytectl/pkg/ext/updater.go create mode 100644 flytectl/pkg/ext/updater_test.go create mode 100644 flytectl/pkg/ext/workflow_fetcher.go create mode 100644 flytectl/pkg/ext/workflow_fetcher_test.go create mode 100644 flytectl/pkg/filesystemutils/file_system_utils.go create mode 100644 flytectl/pkg/filesystemutils/file_system_utils_test.go create mode 100644 flytectl/pkg/filters/filters.go create mode 100644 flytectl/pkg/filters/filters_test.go create mode 100644 flytectl/pkg/filters/operator.go create mode 100644 flytectl/pkg/filters/type.go create mode 100644 flytectl/pkg/filters/util.go create mode 100644 flytectl/pkg/filters/util_test.go create mode 100644 flytectl/pkg/github/githubutil.go create mode 100644 flytectl/pkg/github/githubutil_test.go create mode 100644 flytectl/pkg/github/mocks/gh_repo_service.go create mode 100644 flytectl/pkg/github/provider.go create mode 100644 flytectl/pkg/github/provider_test.go create mode 100644 flytectl/pkg/k8s/k8s.go create mode 100644 flytectl/pkg/k8s/k8s_test.go create mode 100644 flytectl/pkg/k8s/mocks/context_ops.go create mode 100644 flytectl/pkg/pkce/testdata/empty_access_token.json create mode 100644 flytectl/pkg/pkce/testdata/token.json create mode 100644 flytectl/pkg/pkce/token_cache_keyring.go create mode 100644 flytectl/pkg/pkce/token_cache_keyring_test.go create mode 100644 flytectl/pkg/platformutil/platformutil.go create mode 100644 flytectl/pkg/platformutil/platformutil_test.go create mode 100644 flytectl/pkg/printer/outputformat_enumer.go create mode 100644 flytectl/pkg/printer/printer.go create mode 100644 flytectl/pkg/printer/printer_test.go create mode 100644 flytectl/pkg/sandbox/start.go create mode 100644 flytectl/pkg/sandbox/start_test.go create mode 100644 flytectl/pkg/sandbox/status.go create mode 100644 flytectl/pkg/sandbox/status_test.go create mode 100644 flytectl/pkg/sandbox/teardown.go create mode 100644 flytectl/pkg/sandbox/teardown_test.go create mode 100644 flytectl/pkg/util/util.go create mode 100644 flytectl/pkg/util/util_test.go create mode 100755 flytectl/pkg/util/version.yaml create mode 100644 flytectl/pkg/visualize/graphviz.go create mode 100644 flytectl/pkg/visualize/graphviz_test.go create mode 100644 flytectl/pkg/visualize/graphvizer.go create mode 100644 flytectl/pkg/visualize/mocks/graphvizer.go create mode 100644 flytectl/pkg/visualize/testdata/compiled_closure_branch_nested.json create mode 100644 flytectl/pkg/visualize/testdata/compiled_subworkflows.json create mode 100644 flytectl/proposal/README.md create mode 100644 flytectl/proposal/flytectl_interaction.png delete mode 100644 flyteidl/.readthedocs.yml create mode 100644 flyteidl/Cargo.lock create mode 100644 flyteidl/Cargo.toml create mode 100644 flyteidl/RELEASE.md delete mode 100644 flyteidl/boilerplate/flyte/code_of_conduct/CODE_OF_CONDUCT.md delete mode 100644 flyteidl/boilerplate/flyte/code_of_conduct/README.rst delete mode 100755 flyteidl/boilerplate/flyte/code_of_conduct/update.sh delete mode 100644 flyteidl/boilerplate/flyte/golang_support_tools/go.mod delete mode 100644 flyteidl/boilerplate/flyte/golang_support_tools/tools.go delete mode 100644 flyteidl/boilerplate/flyte/golang_test_targets/Makefile delete mode 100644 flyteidl/boilerplate/flyte/golang_test_targets/Readme.rst delete mode 100755 flyteidl/boilerplate/flyte/golang_test_targets/download_tooling.sh delete mode 100755 flyteidl/boilerplate/flyte/golang_test_targets/go-gen.sh delete mode 100755 flyteidl/boilerplate/flyte/golang_test_targets/goimports delete mode 100644 flyteidl/boilerplate/flyte/golangci_file/Readme.rst delete mode 100755 flyteidl/boilerplate/flyte/golangci_file/update.sh delete mode 100644 flyteidl/boilerplate/flyte/pull_request_template/Readme.rst delete mode 100644 flyteidl/boilerplate/flyte/pull_request_template/pull_request_template.md delete mode 100755 flyteidl/boilerplate/flyte/pull_request_template/update.sh delete mode 100644 flyteidl/boilerplate/flyte/welcome_bot/Readme.rst delete mode 100644 flyteidl/boilerplate/flyte/welcome_bot/config.yml delete mode 100755 flyteidl/boilerplate/flyte/welcome_bot/update.sh delete mode 100644 flyteidl/boilerplate/update.cfg delete mode 100755 flyteidl/boilerplate/update.sh delete mode 100644 flyteidl/doc-requirements.in delete mode 100644 flyteidl/doc-requirements.txt create mode 100644 flyteidl/gen/pb-es/flyteidl/core/execution_envs_pb.ts create mode 100644 flyteidl/gen/pb-es/flyteidl/plugins/common_pb.ts create mode 100644 flyteidl/gen/pb-go/flyteidl/core/execution_envs.pb.go create mode 100644 flyteidl/gen/pb-go/flyteidl/plugins/common.pb.go create mode 100644 flyteidl/gen/pb-go/gateway/flyteidl/core/execution_envs.swagger.json create mode 100644 flyteidl/gen/pb-go/gateway/flyteidl/plugins/common.swagger.json create mode 100644 flyteidl/gen/pb_python/flyteidl/core/execution_envs_pb2.py create mode 100644 flyteidl/gen/pb_python/flyteidl/core/execution_envs_pb2.pyi create mode 100644 flyteidl/gen/pb_python/flyteidl/core/execution_envs_pb2_grpc.py create mode 100644 flyteidl/gen/pb_python/flyteidl/plugins/common_pb2.py create mode 100644 flyteidl/gen/pb_python/flyteidl/plugins/common_pb2.pyi create mode 100644 flyteidl/gen/pb_python/flyteidl/plugins/common_pb2_grpc.py create mode 100644 flyteidl/gen/pb_rust/datacatalog.tonic.rs create mode 100644 flyteidl/gen/pb_rust/flyteidl.cacheservice.tonic.rs create mode 100644 flyteidl/gen/pb_rust/flyteidl.service.tonic.rs create mode 100644 flyteidl/lib.rs create mode 100644 flyteidl/protos/flyteidl/core/execution_envs.proto create mode 100644 flyteidl/protos/flyteidl/plugins/common.proto delete mode 100644 flyteplugins/boilerplate/flyte/code_of_conduct/CODE_OF_CONDUCT.md delete mode 100644 flyteplugins/boilerplate/flyte/code_of_conduct/README.rst delete mode 100755 flyteplugins/boilerplate/flyte/code_of_conduct/update.sh delete mode 100644 flyteplugins/boilerplate/flyte/docker_build/Makefile delete mode 100644 flyteplugins/boilerplate/flyte/docker_build/Readme.rst delete mode 100755 flyteplugins/boilerplate/flyte/docker_build/docker_build.sh delete mode 100644 flyteplugins/boilerplate/flyte/golang_support_tools/go.mod delete mode 100644 flyteplugins/boilerplate/flyte/golang_support_tools/go.sum delete mode 100644 flyteplugins/boilerplate/flyte/golang_support_tools/tools.go delete mode 100644 flyteplugins/boilerplate/flyte/golang_test_targets/Makefile delete mode 100644 flyteplugins/boilerplate/flyte/golang_test_targets/Readme.rst delete mode 100755 flyteplugins/boilerplate/flyte/golang_test_targets/download_tooling.sh delete mode 100755 flyteplugins/boilerplate/flyte/golang_test_targets/go-gen.sh delete mode 100755 flyteplugins/boilerplate/flyte/golang_test_targets/goimports delete mode 100644 flyteplugins/boilerplate/flyte/golangci_file/.golangci.yml delete mode 100644 flyteplugins/boilerplate/flyte/golangci_file/Readme.rst delete mode 100755 flyteplugins/boilerplate/flyte/golangci_file/update.sh delete mode 100644 flyteplugins/boilerplate/flyte/pull_request_template/Readme.rst delete mode 100644 flyteplugins/boilerplate/flyte/pull_request_template/pull_request_template.md delete mode 100755 flyteplugins/boilerplate/flyte/pull_request_template/update.sh delete mode 100755 flyteplugins/boilerplate/update.cfg delete mode 100755 flyteplugins/boilerplate/update.sh delete mode 100644 flytepropeller/boilerplate/flyte/code_of_conduct/CODE_OF_CONDUCT.md delete mode 100644 flytepropeller/boilerplate/flyte/code_of_conduct/README.rst delete mode 100755 flytepropeller/boilerplate/flyte/code_of_conduct/update.sh delete mode 100644 flytepropeller/boilerplate/flyte/docker_build/Makefile delete mode 100644 flytepropeller/boilerplate/flyte/docker_build/Readme.rst delete mode 100755 flytepropeller/boilerplate/flyte/docker_build/docker_build.sh delete mode 100644 flytepropeller/boilerplate/flyte/end2end/Makefile delete mode 100755 flytepropeller/boilerplate/flyte/end2end/end2end.sh delete mode 100644 flytepropeller/boilerplate/flyte/end2end/functional-test-config.yaml delete mode 100644 flytepropeller/boilerplate/flyte/end2end/run-tests.py delete mode 100644 flytepropeller/boilerplate/flyte/golang_support_tools/go.mod delete mode 100644 flytepropeller/boilerplate/flyte/golang_support_tools/go.sum delete mode 100644 flytepropeller/boilerplate/flyte/golang_support_tools/tools.go delete mode 100644 flytepropeller/boilerplate/flyte/golang_test_targets/Makefile delete mode 100644 flytepropeller/boilerplate/flyte/golang_test_targets/Readme.rst delete mode 100755 flytepropeller/boilerplate/flyte/golang_test_targets/download_tooling.sh delete mode 100755 flytepropeller/boilerplate/flyte/golang_test_targets/go-gen.sh delete mode 100755 flytepropeller/boilerplate/flyte/golang_test_targets/goimports delete mode 100644 flytepropeller/boilerplate/flyte/golangci_file/.golangci.yml delete mode 100644 flytepropeller/boilerplate/flyte/golangci_file/Readme.rst delete mode 100755 flytepropeller/boilerplate/flyte/golangci_file/update.sh delete mode 100644 flytepropeller/boilerplate/flyte/pull_request_template/Readme.rst delete mode 100644 flytepropeller/boilerplate/flyte/pull_request_template/pull_request_template.md delete mode 100755 flytepropeller/boilerplate/flyte/pull_request_template/update.sh delete mode 100644 flytepropeller/boilerplate/update.cfg delete mode 100755 flytepropeller/boilerplate/update.sh create mode 100644 flytepropeller/pkg/apis/flyteworkflow/v1alpha1/nodes_test.go create mode 100644 flytepropeller/pkg/controller/workflowstore/execution_stats.go create mode 100644 flytepropeller/pkg/controller/workflowstore/execution_stats_test.go delete mode 100644 flytestdlib/boilerplate/flyte/Readme.rst delete mode 100644 flytestdlib/boilerplate/flyte/code_of_conduct/CODE_OF_CONDUCT.md delete mode 100644 flytestdlib/boilerplate/flyte/code_of_conduct/README.rst delete mode 100755 flytestdlib/boilerplate/flyte/code_of_conduct/update.sh delete mode 100644 flytestdlib/boilerplate/flyte/config.yml delete mode 100644 flytestdlib/boilerplate/flyte/golang_support_tools/go.mod delete mode 100644 flytestdlib/boilerplate/flyte/golang_support_tools/go.sum delete mode 100644 flytestdlib/boilerplate/flyte/golang_support_tools/tools.go delete mode 100644 flytestdlib/boilerplate/flyte/golang_test_targets/Makefile delete mode 100644 flytestdlib/boilerplate/flyte/golang_test_targets/Readme.rst delete mode 100755 flytestdlib/boilerplate/flyte/golang_test_targets/download_tooling.sh delete mode 100755 flytestdlib/boilerplate/flyte/golang_test_targets/go-gen.sh delete mode 100755 flytestdlib/boilerplate/flyte/golang_test_targets/goimports delete mode 100644 flytestdlib/boilerplate/flyte/golangci_file/.golangci.yml delete mode 100644 flytestdlib/boilerplate/flyte/golangci_file/Readme.rst delete mode 100755 flytestdlib/boilerplate/flyte/golangci_file/update.sh delete mode 100644 flytestdlib/boilerplate/flyte/pull_request_template/Readme.rst delete mode 100644 flytestdlib/boilerplate/flyte/pull_request_template/pull_request_template.md delete mode 100755 flytestdlib/boilerplate/flyte/pull_request_template/update.sh delete mode 100755 flytestdlib/boilerplate/flyte/update.sh delete mode 100644 flytestdlib/boilerplate/update.cfg delete mode 100755 flytestdlib/boilerplate/update.sh create mode 100755 script/local_build_docs.sh diff --git a/.codespellrc b/.codespellrc deleted file mode 100644 index 0f0abe525bb..00000000000 --- a/.codespellrc +++ /dev/null @@ -1,6 +0,0 @@ -[codespell] -skip = .git,*.pdf,*.svg,go.sum,go.mod,*requirements.txt,gen -# some strings with unicodes, constructs like [o]utput -ignore-regex = ".*\\0[0-9][0-9].*"|json:"[^"]*"|\b[a-z]*\[[a-z]\][a-z]*\b -# some ad-hoc variable names etc -ignore-words-list = te,nd,querys,ser diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 166568ed6df..3956f99afbd 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,11 +1,13 @@ ## Tracking issue -_https://github.com/flyteorg/flyte/issues/_ - - + +If your PR is related to an issue or PR, use `Related to #999` to link your PR. +Example: Related to #999 - +Remove this section if not applicable +--> ## Why are the changes needed? diff --git a/.github/actions/clear-action-cache/action.yml b/.github/actions/clear-action-cache/action.yml new file mode 100644 index 00000000000..a29347b61c0 --- /dev/null +++ b/.github/actions/clear-action-cache/action.yml @@ -0,0 +1,11 @@ +name: 'Clear action cache' +description: 'As suggested by GitHub to prevent low disk space: https://github.com/actions/runner-images/issues/2840#issuecomment-790492173' +runs: + using: 'composite' + steps: + - shell: bash + run: | + rm -rf /usr/share/dotnet + rm -rf /opt/ghc + rm -rf "/usr/local/share/boost" + rm -rf "$AGENT_TOOLSDIRECTORY" diff --git a/.github/codespell-ignored-words b/.github/codespell-ignored-words new file mode 100644 index 00000000000..2947204bddc --- /dev/null +++ b/.github/codespell-ignored-words @@ -0,0 +1,11 @@ +ThirdParty +bootup +crate +fo +lightyear +nd +notin +querys +ser +te +updAt diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 8532179444d..2e61f36f473 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -1,7 +1,7 @@ name: Components Checks concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + group: ${{ github.workflow }}-${{ github.event.pull_request.number }} cancel-in-progress: true on: @@ -10,7 +10,7 @@ on: branches: - master env: - GO_VERSION: "1.21" + GO_VERSION: "1.22" PRIORITIES: "P0" jobs: unpack-envvars: @@ -34,6 +34,7 @@ jobs: - flyteadmin # TODO(monorepo): Enable lint flytecopilot # - flytecopilot + - flytectl - flyteidl - flyteplugins - flytepropeller @@ -53,6 +54,7 @@ jobs: - datacatalog - flyteadmin - flytecopilot + - flytectl - flyteplugins - flytepropeller - flytestdlib @@ -61,35 +63,20 @@ jobs: component: ${{ matrix.component }} go-version: ${{ needs.unpack-envvars.outputs.go-version }} secrets: - FLYTE_BOT_PAT: ${{ secrets.FLYTE_BOT_PAT }} - docker-build: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + + flyteadmin-int-tests-image-build: strategy: fail-fast: false - matrix: - component: - - datacatalog - - flyteadmin - - flytecopilot - - flytepropeller - name: Docker Build Images + name: flyteadmin integration tests image uses: ./.github/workflows/component_docker_build.yml with: - component: ${{ matrix.component }} + component: flyteadmin - # TODO(monorepo): these tests are broken. They never test an actual change. - # endtoend: - # name: End2End Test - # needs: [ docker-build ] - # uses: ./.github/workflows/end2end.yml - # with: - # # Reusing the output of the matrix is ok as they are essentially writing the same value (i.e. the directory artifacts are written + run id) - # cache_key: ${{ needs.docker-build.outputs.cache_key }} - # priorities: "P0" - - integration: + flyteadmin-integration-tests: name: Integration Test needs: - - docker-build + - flyteadmin-int-tests-image-build - unpack-envvars strategy: fail-fast: false @@ -99,7 +86,7 @@ jobs: uses: ./.github/workflows/integration.yml with: component: ${{ matrix.component }} - cache_key: ${{ needs.docker-build.outputs.cache_key }} + cache_key: ${{ needs.flyteadmin-int-tests-image-build.outputs.cache_key }} go-version: ${{ needs.unpack-envvars.outputs.go-version }} generate: @@ -113,6 +100,7 @@ jobs: - datacatalog - flyteadmin - flytecopilot + - flytectl - flytepropeller uses: ./.github/workflows/go_generate.yml with: @@ -129,3 +117,59 @@ jobs: secrets: FLYTE_BOT_PAT: ${{ secrets.FLYTE_BOT_PAT }} FLYTE_BOT_USERNAME: ${{ secrets.FLYTE_BOT_USERNAME }} + + dry_run_goreleaser: + name: Dry Run Goreleaser + runs-on: ubuntu-latest + needs: + - unpack-envvars + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: "0" + - uses: actions/setup-go@v4 + with: + go-version: ${{ needs.unpack-envvars.outputs.go-version }} + - name: Run GoReleaser dry run + uses: goreleaser/goreleaser-action@v5 + with: + distribution: goreleaser-pro + version: latest + args: --snapshot --skip-publish --rm-dist -f flytectl/.goreleaser.yml + env: + GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }} + + sandbox: + name: Test Getting started + runs-on: ubuntu-latest + defaults: + run: + working-directory: flytectl + needs: + - unpack-envvars + steps: + - uses: insightsengineering/disk-space-reclaimer@v1 + - name: Checkout + uses: actions/checkout@v2 + - uses: actions/cache@v2 + with: + path: | + ~/.cache/go-build + ~/go/pkg/mod + key: ${{ runner.os }}-go-${{ hashFiles('go.sum') }} + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: ${{ needs.unpack-envvars.outputs.go-version }} + - name: Build Flytectl binary + run: make compile + - name: Create a sandbox cluster + run: | + bin/flytectl demo start + - name: Setup flytectl config + run: bin/flytectl config init + - name: Register cookbook + run: bin/flytectl register examples -d development -p flytesnacks + - name: Teardown Sandbox cluster + run: bin/flytectl demo teardown diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml index c90557d62d3..83b397bc529 100644 --- a/.github/workflows/codespell.yml +++ b/.github/workflows/codespell.yml @@ -2,7 +2,7 @@ name: Codespell concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + group: ${{ github.workflow }}-${{ github.event.pull_request.number }} cancel-in-progress: true on: @@ -21,8 +21,9 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Codespell uses: codespell-project/actions-codespell@v2 with: - skip: "*.pb,monodocs-environment.lock.yaml" + skip: "*.pb,monodocs-environment.lock.yaml,.git,*.pdf,*.svg,go.sum,go.mod,*requirements.txt,gen" + ignore_words_file: .github/codespell-ignored-words diff --git a/.github/workflows/component_docker_build.yml b/.github/workflows/component_docker_build.yml index f6ef1ae9d66..b4eb882a269 100644 --- a/.github/workflows/component_docker_build.yml +++ b/.github/workflows/component_docker_build.yml @@ -17,7 +17,7 @@ jobs: cache_key: ${{ steps.cache_key.outputs.cache_key }} steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - id: load-docker-cache name: Load Docker Cache uses: actions/cache@v3 diff --git a/.github/workflows/create_release.yml b/.github/workflows/create_release.yml index ff191b346c3..e00c09f2d77 100644 --- a/.github/workflows/create_release.yml +++ b/.github/workflows/create_release.yml @@ -11,7 +11,7 @@ jobs: name: Generate git tags runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: '0' - uses: actions/github-script@v6 @@ -28,7 +28,6 @@ jobs: "datacatalog", "flyteadmin", "flytecopilot", - "flyteidl", "flyteplugins", "flytepropeller", "flytestdlib", @@ -60,7 +59,7 @@ jobs: - generate-tags steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: fetch-depth: "0" @@ -88,6 +87,7 @@ jobs: [ datacatalog, flyteadmin, + flyteagent, flyteconsole, flytecopilot, flytepropeller, @@ -95,7 +95,7 @@ jobs: ] steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: fetch-depth: "0" @@ -107,6 +107,8 @@ jobs: run: | if [ ${{ matrix.component }} = "flytecopilot" ]; then echo ::set-output name=version::$(yq eval '.configmap.copilot.plugins.k8s.co-pilot.image' charts/flyte-core/values.yaml | cut -d ":" -f 2 ) + elif [ ${{ matrix.component }} = "flyteagent" ]; then + echo ::set-output name=version::$(yq eval '.image.tag' charts/flyteagent/values.yaml) else echo ::set-output name=version::$(yq eval '.${{ matrix.component }}.image.tag' charts/flyte-core/values.yaml) fi @@ -132,7 +134,7 @@ jobs: - build-docker-images steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: fetch-depth: "0" @@ -165,7 +167,7 @@ jobs: - build-docker-images steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: fetch-depth: "0" diff --git a/.github/workflows/end2end.yml b/.github/workflows/end2end.yml deleted file mode 100644 index aff4665feea..00000000000 --- a/.github/workflows/end2end.yml +++ /dev/null @@ -1,124 +0,0 @@ -name: End to End tests - -on: - workflow_call: - inputs: - priorities: - description: "Priorities of tests to register (comma-separated)" - required: true - type: string - cache_key: - description: "Cache key for docker image" - required: true - type: string -jobs: - endtoend: - name: End to End tests - runs-on: ubuntu-latest - env: - FLYTESNACKS_VERSION: "" - steps: - - name: Set latest Flytesnacks release - if: ${{ env.FLYTESNACKS_VERSION == '' }} - run: | - FLYTESNACKS_VERSION="$(curl --silent https://api.github.com/repos/flyteorg/flytesnacks/releases/latest | jq -r .tag_name)" - echo "FLYTESNACKS_VERSION=${FLYTESNACKS_VERSION}" >> ${GITHUB_ENV} - - name: Checkout - uses: actions/checkout@v3 - - uses: unionai/flytectl-setup-action@v0.0.1 - name: Setup flytectl - - uses: actions/setup-python@v3 - with: - python-version: 3.11 - - id: load-docker-cache-datacatalog - uses: actions/cache@v3 - with: - path: /tmp/tmp/docker-images-datacatalog - key: ${{ inputs.cache_key }}-datacatalog - - id: load-docker-cache-flyteadmin - uses: actions/cache@v3 - with: - path: /tmp/tmp/docker-images-flyteadmin - key: ${{ inputs.cache_key }}-flyteadmin - - id: load-docker-cache-flytecopilot - uses: actions/cache@v3 - with: - path: /tmp/tmp/docker-images-flytecopilot - key: ${{ inputs.cache_key }}-flytecopilot - - id: load-docker-cache-flytepropeller - uses: actions/cache@v3 - with: - path: /tmp/tmp/docker-images-flytepropeller - key: ${{ inputs.cache_key }}-flytepropeller - - name: Create Sandbox Cluster - run: | - cp /tmp/tmp/docker-images-datacatalog/snapshot-datacatalog.tar snapshot-datacatalog.tar - cp /tmp/tmp/docker-images-flyteadmin/snapshot-flyteadmin.tar snapshot-flyteadmin.tar - cp /tmp/tmp/docker-images-flytecopilot/snapshot-flytecopilot.tar snapshot-flytecopilot.tar - cp /tmp/tmp/docker-images-flytepropeller/snapshot-flytepropeller.tar snapshot-flytepropeller.tar - flytectl config init - flytectl sandbox start --source=$(pwd) - - name: Prime docker cache - run: | - flytectl sandbox exec -- docker load -i /root/snapshot-datacatalog.tar - flytectl sandbox exec -- docker load -i /root/snapshot-flyteadmin.tar - flytectl sandbox exec -- docker load -i /root/snapshot-flytecopilot.tar - flytectl sandbox exec -- docker load -i /root/snapshot-flytepropeller.tar - - name: Setup Flytekit - run: | - python -m pip install --upgrade pip - pip install flytekit flytekitplugins-deck-standard - pip freeze - - name: Checkout flytesnacks - if: ${{ inputs.priorities == 'P0' }} - uses: actions/checkout@v3 - with: - repository: flyteorg/flytesnacks - path: flytesnacks - ref: ${{ env.FLYTESNACKS_VERSION }} - - name: Register P0 tests - if: ${{ inputs.priorities == 'P0' }} - run: | - while read -r line; - do - pyflyte --config ./boilerplate/flyte/end2end/functional-test-config.yaml \ - register \ - --project flytesnacks \ - --domain development \ - --image cr.flyte.org/flyteorg/flytekit:py3.11-latest \ - --version ${{ env.FLYTESNACKS_VERSION }} \ - flytesnacks/$line; - done < flytesnacks/flyte_tests.txt - - name: Register all flytesnacks examples - if: ${{ inputs.priorities != 'P0' }} - uses: unionai/flyte-register-action@v0.0.2 - with: - flytesnacks: true - project: flytesnacks - version: ${{ env.FLYTESNACKS_VERSION }} - domain: development - # - name: Pre Upgrade Tests - # if: ${{ github.event.repository.name == 'flyteadmin' }} - # env: - # PRIORITIES: "${{ inputs.priorities }}" - # run: | - # make end2end_execute - - name: Upgrade Helm charts - run: | - flytectl sandbox exec -- helm repo add flyteorg https://flyteorg.github.io/flyte - flytectl sandbox exec -- helm repo update - flytectl sandbox exec -- helm upgrade flyte -n flyte-core --kubeconfig=/etc/rancher/k3s/k3s.yaml flyteorg/flyte-core -f /flyteorg/share/flyte/values-sandbox.yaml --wait --set datacatalog.image.repository=${{ github.repository_owner }}/datacalog,datacatalog.image.tag=latest - # TODO(monorepo): the following commands are not correct. - # we have to separate the calls to replace the images into different commands. - # flytectl sandbox exec -- helm upgrade flyte -n flyte-core --kubeconfig=/etc/rancher/k3s/k3s.yaml flyteorg/flyte-core -f /flyteorg/share/flyte/values-sandbox.yaml --wait \ - # --set datacatalog.image.repository=${{ github.repository_owner }}/datacalog,datacatalog.image.tag=latest - # --set flyteadmin.image.repository=${{ github.repository_owner }}/datacalog,flyteadmin.image.tag=latest - # --set flytecopilot.image.repository=${{ github.repository_owner }}/datacalog,flytecopilot.image.tag=latest - # --set flytepropeller.image.repository=${{ github.repository_owner }}/datacalog,flytepropeller.image.tag=latest - - flytectl sandbox exec -- k3s kubectl get pods -n flyte -oyaml - - name: Post Upgrade Tests - env: - PRIORITIES: "${{ inputs.priorities }}" - run: | - make end2end_execute diff --git a/.github/workflows/flytectl-install.yml b/.github/workflows/flytectl-install.yml new file mode 100644 index 00000000000..cbdb3795e95 --- /dev/null +++ b/.github/workflows/flytectl-install.yml @@ -0,0 +1,33 @@ +name: Flytectl-specific checks + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number }} + cancel-in-progress: true + +on: + pull_request: + paths: + - flytectl/** + push: + branches: + - master + +jobs: + install-script: + name: Install script + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + version: + - v0.8.20 + - latest + # Test the case where no version is specified + - " " + steps: + - uses: actions/checkout@v4 + - run: | + chmod +x ./flytectl/install.sh + ./flytectl/install.sh ${{ matrix.version }} + ./bin/flytectl version + diff --git a/.github/workflows/flytectl-release.yml b/.github/workflows/flytectl-release.yml new file mode 100644 index 00000000000..2aba67dbe9a --- /dev/null +++ b/.github/workflows/flytectl-release.yml @@ -0,0 +1,48 @@ +name: Flytectl release + +on: + workflow_dispatch: + inputs: + version: + description: "version. Do *not* use the `flytectl/` prefix, e.g. `flytectl/v1.2.3`, instead use only `v1.2.3` (including the `v`)" + required: true + +jobs: + push-flytectl-tag: + name: Push git tag containing the `flyteidl/` prefix + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: '0' + - uses: actions/github-script@v6 + with: + github-token: ${{ secrets.FLYTE_BOT_PAT }} + script: | + github.rest.git.createRef({ + owner: context.repo.owner, + repo: context.repo.repo, + ref: `refs/tags/flytectl/${{ github.event.inputs.version }}`, + sha: context.sha + }) + release: + name: Goreleaser + needs: + - push-flytectl-tag + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: "0" + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: "1.21" + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@v5 + with: + distribution: goreleaser-pro + args: release --rm-dist -f flytectl/.goreleaser.yml + env: + GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }} + GITHUB_TOKEN: ${{ secrets.FLYTE_BOT_PAT }} diff --git a/.github/workflows/flyteidl-buf-publish.yml b/.github/workflows/flyteidl-buf-publish.yml index 96bd0085a67..f11bf3d44a8 100644 --- a/.github/workflows/flyteidl-buf-publish.yml +++ b/.github/workflows/flyteidl-buf-publish.yml @@ -12,7 +12,7 @@ jobs: buf: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - uses: bufbuild/buf-setup-action@v1 - uses: bufbuild/buf-push-action@v1 with: diff --git a/.github/workflows/flyteidl-checks.yml b/.github/workflows/flyteidl-checks.yml index 1811126d917..f8a1d0f4d2e 100644 --- a/.github/workflows/flyteidl-checks.yml +++ b/.github/workflows/flyteidl-checks.yml @@ -1,7 +1,7 @@ name: Flyteidl Verification Tests concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + group: ${{ github.workflow }}-${{ github.event.pull_request.number }} cancel-in-progress: true on: @@ -10,7 +10,7 @@ on: branches: - master env: - GO_VERSION: "1.21" + GO_VERSION: "1.22" jobs: unpack-envvars: runs-on: ubuntu-latest @@ -39,7 +39,7 @@ jobs: component: flyteidl go-version: ${{ needs.unpack-envvars.outputs.go-version }} secrets: - FLYTE_BOT_PAT: ${{ secrets.FLYTE_BOT_PAT }} + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} generate: name: Check Go Generate needs: diff --git a/.github/workflows/flyteidl-release.yml b/.github/workflows/flyteidl-release.yml index 7e34f54f297..c895beba4bb 100644 --- a/.github/workflows/flyteidl-release.yml +++ b/.github/workflows/flyteidl-release.yml @@ -1,17 +1,41 @@ -name: Upload flyteidl to PyPI and npm +name: Release flyteidl on: - release: - types: [created] + workflow_dispatch: + inputs: + version: + description: "version. Do *not* use the `flyteidl/` prefix, e.g. `flyteidl/v1.2.3`, instead use only `v1.2.3` (including the `v`)" + required: true jobs: + push-flyteidl-tag: + name: Push git tag containing the `flyteidl/` prefix + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: '0' + - uses: actions/github-script@v6 + with: + github-token: ${{ secrets.FLYTE_BOT_PAT }} + script: | + github.rest.git.createRef({ + owner: context.repo.owner, + repo: context.repo.repo, + ref: `refs/tags/flyteidl/${{ github.event.inputs.version }}`, + sha: context.sha + }) deploy-to-pypi: + needs: + - push-flyteidl-tag runs-on: ubuntu-latest defaults: run: working-directory: flyteidl steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 + with: + fetch-depth: '0' - name: Set up Python uses: actions/setup-python@v1 with: @@ -28,20 +52,22 @@ jobs: python -m build twine upload dist/* deploy-to-npm: + needs: + - push-flyteidl-tag runs-on: ubuntu-latest defaults: run: working-directory: flyteidl steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - uses: actions/setup-node@v1 with: node-version: "12.x" registry-url: "https://registry.npmjs.org" - name: Set version in npm package run: | - # from refs/tags/v1.2.3 get 1.2.3 - VERSION=$(echo $GITHUB_REF | sed 's#.*/v##') + # v1.2.3 get 1.2.3 + VERSION=$(echo ${{ inputs.version }} | sed 's#.*v##') VERSION=$VERSION make update_npmversion shell: bash - run: | diff --git a/.github/workflows/generate_flyte_manifest.yml b/.github/workflows/generate_flyte_manifest.yml index b2cdb2f2d6d..a8c90a451eb 100644 --- a/.github/workflows/generate_flyte_manifest.yml +++ b/.github/workflows/generate_flyte_manifest.yml @@ -12,12 +12,12 @@ jobs: name: Update Flyte components runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: fetch-depth: "0" - - uses: actions/setup-go@v2 + - uses: actions/setup-go@v5 with: - go-version: "1.21" + go-version: "1.22" - name: Update references env: VERSION: ${{ github.event.inputs.next-version }} diff --git a/.github/workflows/go_generate.yml b/.github/workflows/go_generate.yml index 66d3db9a620..2fb80653ae2 100644 --- a/.github/workflows/go_generate.yml +++ b/.github/workflows/go_generate.yml @@ -20,14 +20,14 @@ jobs: run: working-directory: ${{ inputs.component }} steps: - - uses: actions/checkout@v3 - - uses: arduino/setup-protoc@v1 + - uses: actions/checkout@v4 + - uses: arduino/setup-protoc@v3 with: repo-token: ${{ secrets.FLYTE_BOT_PAT }} - uses: bufbuild/buf-setup-action@v1 with: github_token: ${{ secrets.FLYTE_BOT_PAT }} - - uses: actions/setup-go@v3 + - uses: actions/setup-go@v5 with: go-version: ${{ inputs.go-version }} - name: Go generate and diff diff --git a/.github/workflows/helm-charts.yaml b/.github/workflows/helm-charts.yaml index 5d5f4ca8802..63e81adf3a5 100644 --- a/.github/workflows/helm-charts.yaml +++ b/.github/workflows/helm-charts.yaml @@ -1,7 +1,7 @@ name: Package & Push Flyte Helm Charts concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + group: ${{ github.workflow }}-${{ github.event.pull_request.number }} cancel-in-progress: true on: diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index ba640f851c8..eb0118f6d1e 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -22,7 +22,9 @@ jobs: working-directory: ${{ inputs.component }} steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 + with: + fetch-depth: "0" - id: load-docker-cache name: Load Docker Cache uses: actions/cache@v3 @@ -35,7 +37,7 @@ jobs: with: version: "v0.11.1" - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v5 with: go-version: ${{ inputs.go-version }} - name: Integration diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 5b65cd07367..54793d10029 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -18,9 +18,9 @@ jobs: working-directory: ${{ inputs.component }} steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v5 with: go-version: ${{ inputs.go-version }} - name: Lint diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 3385733b681..fe2f8535af4 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -33,7 +33,7 @@ jobs: name: Push to Github Registry runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: '0' - name: Set up QEMU @@ -66,3 +66,5 @@ jobs: platforms: linux/arm64,linux/amd64 push: ${{ inputs.push }} tags: ${{ steps.tags.outputs.tags }} + cache-from: type=gha + cache-to: type=gha,mode=max diff --git a/.github/workflows/sandbox.yml b/.github/workflows/sandbox.yml index 5b9a6056a44..0899ec83e6b 100644 --- a/.github/workflows/sandbox.yml +++ b/.github/workflows/sandbox.yml @@ -1,7 +1,7 @@ name: Build & Push Sandbox Docker Image concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + group: ${{ github.workflow }}-${{ github.event.pull_request.number }} cancel-in-progress: true on: @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: fetch-depth: "0" - name: Set flyte version to release diff --git a/.github/workflows/single-binary.yml b/.github/workflows/single-binary.yml index 793a08e01b9..d4cb79f4d5a 100644 --- a/.github/workflows/single-binary.yml +++ b/.github/workflows/single-binary.yml @@ -1,7 +1,7 @@ name: Build & Push Flyte Single Binary Images concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + group: ${{ github.workflow }}-${{ github.event.pull_request.number }} cancel-in-progress: true on: @@ -16,10 +16,10 @@ jobs: test-bootstrap: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: actions/setup-go@v3 + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 with: - go-version: "1.21" + go-version: "1.22" - name: golangci-lint uses: golangci/golangci-lint-action@v3 with: @@ -38,7 +38,7 @@ jobs: needs: [test-bootstrap] steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup Golang caches uses: actions/cache@v3 with: @@ -132,7 +132,7 @@ jobs: FLYTESNACKS_VERSION="$(curl --silent https://api.github.com/repos/flyteorg/flytesnacks/releases/latest | jq -r .tag_name)" echo "FLYTESNACKS_VERSION=${FLYTESNACKS_VERSION}" >> ${GITHUB_ENV} - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - uses: actions/download-artifact@v3 with: name: single-binary-image @@ -157,7 +157,7 @@ jobs: uses: actions/setup-python@v4 with: python-version: "3.12" - - uses: unionai/flytectl-setup-action@v0.0.1 + - uses: unionai/flytectl-setup-action@v0.0.3 - name: Setup sandbox run: | mkdir -p ~/.flyte/sandbox @@ -174,10 +174,11 @@ jobs: - name: Install Python dependencies run: | python -m pip install --upgrade pip - pip install flytekit flytekitplugins-deck-standard - pip freeze + pip install uv + uv pip install --system flytekit flytekitplugins-deck-standard flytekitplugins-envd "numpy<2.0.0" pyarrow + uv pip freeze - name: Checkout flytesnacks - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: flyteorg/flytesnacks path: flytesnacks @@ -205,7 +206,7 @@ jobs: needs: [build-and-push-single-binary-image] steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - uses: actions/download-artifact@v3 with: name: single-binary-image diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 28813360deb..1d694664648 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,7 +1,7 @@ name: tests concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + group: ${{ github.workflow }}-${{ github.event.pull_request.number }} cancel-in-progress: true on: @@ -14,11 +14,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Fetch the code - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Set up Go - uses: actions/setup-go@v2 + uses: actions/setup-go@v5 with: - go-version: "1.21" + go-version: "1.22" - name: Compile run: make compile - name: Run tests @@ -30,12 +30,14 @@ jobs: - name: Fetch flyte code uses: actions/checkout@v4 with: - path: "${{ github.workspace }}/flyte" + path: flyte + - name: 'Clear action cache' + uses: ./flyte/.github/actions/clear-action-cache - name: Fetch flytekit code uses: actions/checkout@v4 with: repository: flyteorg/flytekit - path: "${{ github.workspace }}/flytekit" + path: flytekit - uses: conda-incubator/setup-miniconda@v3 with: auto-update-conda: true @@ -44,6 +46,7 @@ jobs: working-directory: ${{ github.workspace }}/flyte run: | conda install -c conda-forge conda-lock + cat monodocs-environment.lock.yaml conda-lock install -n monodocs-env monodocs-environment.lock.yaml - shell: bash -el {0} working-directory: ${{ github.workspace }}/flyte @@ -73,9 +76,9 @@ jobs: generate_helm: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/setup-go@v2 + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 with: - go-version: "1.21" + go-version: "1.22" - name: Helm and diff run: DELTA_CHECK=true make helm diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 475e010496e..3911d640262 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -10,7 +10,7 @@ on: required: true type: string secrets: - FLYTE_BOT_PAT: + CODECOV_TOKEN: required: true jobs: tests: @@ -21,21 +21,17 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v5 with: go-version: ${{ inputs.go-version }} - name: Unit Tests - env: - GITHUB_TOKEN: ${{ secrets.FLYTE_BOT_PAT }} run: make install && make test_unit_codecov - # TODO(monorepo): Figure out how to do code coverage aggregation - name: Push CodeCov - uses: codecov/codecov-action@v3.1.1 - env: - GITHUB_TOKEN: ${{ secrets.FLYTE_BOT_PAT }} + uses: codecov/codecov-action@v4 with: file: coverage.txt - flags: unittests + flags: unittests-${{ inputs.component }} fail_ci_if_error: false + token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/validate-helm-charts.yaml b/.github/workflows/validate-helm-charts.yaml index 7b4ee9cce6d..8e40ffe8d7d 100644 --- a/.github/workflows/validate-helm-charts.yaml +++ b/.github/workflows/validate-helm-charts.yaml @@ -28,7 +28,7 @@ jobs: python-version: "3.10" check-latest: true - - uses: unionai/flytectl-setup-action@v0.0.1 + - uses: unionai/flytectl-setup-action@v0.0.3 name: Setup flytectl - name: Set up chart-testing diff --git a/.gitignore b/.gitignore index 301bf266a85..667375047fe 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ _build/ _bin/ build/ +.tmp_build/ .vscode/ *.swp *.swo diff --git a/.readthedocs.yml b/.readthedocs.yml index 7241b4437ad..6efd1f88cc8 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -10,6 +10,7 @@ build: python: "mambaforge-22.9" jobs: post_install: + - cat monodocs-environment.lock.yaml - conda-lock install --name $READTHEDOCS_VERSION monodocs-environment.lock.yaml - pip install ./flyteidl - conda info diff --git a/.run/single-binary.run.xml b/.run/single-binary.run.xml new file mode 100644 index 00000000000..4b5de3705ae --- /dev/null +++ b/.run/single-binary.run.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/CHANGELOG/CHANGELOG-v0.14.0.md b/CHANGELOG/CHANGELOG-v0.14.0.md index d27dfcabda6..86fbcd902be 100644 --- a/CHANGELOG/CHANGELOG-v0.14.0.md +++ b/CHANGELOG/CHANGELOG-v0.14.0.md @@ -1,7 +1,7 @@ # Flyte v0.14.0 ## Platform -- Update to the Flyte Compiler, to supported nested branches and more. Better +- Update to the Flyte Compiler, to support nested branches and more. Better regression tests - support for iam roles and k8s serviceaccounts - customizable pod specs for pod tasks (add labels and annotations) diff --git a/CHANGELOG/CHANGELOG-v0.17.0.md b/CHANGELOG/CHANGELOG-v0.17.0.md index 68c83e8479b..bd05a8d50ef 100644 --- a/CHANGELOG/CHANGELOG-v0.17.0.md +++ b/CHANGELOG/CHANGELOG-v0.17.0.md @@ -8,7 +8,7 @@ ## Flytekit 1. Great Expectations Integration ([docs](https://docs.flyte.org/en/latest/flytesnacks/examples/greatexpectations_plugin/index.html)). -1. Access to durable blob stores (AWS/GCS/etc) are now pluggable. +1. Access to durable blob stores (AWS/GCS/etc) is now pluggable. 1. Local task execution has been updated to also trigger the type engine. 1. Tasks that have `cache=True` should now be cached when running locally as well ([docs](https://docs.flyte.org/en/latest/user_guide/development_lifecycle/caching.html#how-does-local-caching-work)). diff --git a/CHANGELOG/CHANGELOG-v0.19.4.md b/CHANGELOG/CHANGELOG-v0.19.4.md index cd5875599ba..f78a1b5027e 100644 --- a/CHANGELOG/CHANGELOG-v0.19.4.md +++ b/CHANGELOG/CHANGELOG-v0.19.4.md @@ -17,7 +17,7 @@ ## SDK - Script mode: register and run workflows all in one command using a pre-defined base image -- Flyte remote GA: register workflows and interact with Flyte execution artifacts programmmatically +- Flyte remote GA: register workflows and interact with Flyte execution artifacts programmatically - Configuration overhaul: use the same config across flytekit and flytectl - Fast register without having AWS or other cloud credentials on your laptop, all you need is Flyte access diff --git a/CHANGELOG/CHANGELOG-v0.2.0.md b/CHANGELOG/CHANGELOG-v0.2.0.md index 4c16bb07427..d3c85ff0fba 100644 --- a/CHANGELOG/CHANGELOG-v0.2.0.md +++ b/CHANGELOG/CHANGELOG-v0.2.0.md @@ -16,7 +16,7 @@ - RawOutputDirectories created in FlytePropeller - Improve visibility and observability - User/System error differentiation -- Optional interruptible tasks (lets use spot instances, reduce cost) +- Optional interruptible tasks (let's use spot instances, to reduce cost) - Caps on queue time for workflows - Multi cluster improvements - Visibility into execution cluster for the execution diff --git a/CHANGELOG/CHANGELOG-v1.0.0.md b/CHANGELOG/CHANGELOG-v1.0.0.md index 4c2bea72df9..22a557c661d 100644 --- a/CHANGELOG/CHANGELOG-v1.0.0.md +++ b/CHANGELOG/CHANGELOG-v1.0.0.md @@ -21,7 +21,7 @@ The pyflyte run command has been slightly updated to not need a `:` when selecti $ pyflyte run --remote example.py wf --n 500 --mean 42 --sigma 2 ``` * Script mode: register and run workflows all in one command using a pre-defined base image -* Flyte remote GA: register workflows and interact with Flyte execution artifacts programmmatically +* Flyte remote GA: register workflows and interact with Flyte execution artifacts programmatically * Configuration overhaul: use the same config across flytekit and flytectl * Fast register without having AWS/GCP or other cloud credentials on your laptop, all you need is Flyte access diff --git a/CHANGELOG/CHANGELOG-v1.0.2-b1.md b/CHANGELOG/CHANGELOG-v1.0.2-b1.md index 3ade2ab25e1..ef216a0c25a 100644 --- a/CHANGELOG/CHANGELOG-v1.0.2-b1.md +++ b/CHANGELOG/CHANGELOG-v1.0.2-b1.md @@ -5,7 +5,7 @@ 1. [Bugfix](https://github.com/flyteorg/flyte/issues/2444) With GRPC v1.46.0 non-ascii chars are not permitted in grpc metadata 1. [Housekeeping](https://github.com/flyteorg/flyte/issues/1698) Configure grpc_health_prob in admin 1. [Feature](https://github.com/flyteorg/flyte/issues/2329) In Flytectl use Launchplan with latest version for scheduled workflows -1. [Bugfix](https://github.com/flyteorg/flyte/issues/2262) Pods started before InjectFinalizer is disabled are never deleted +1. [Bugfix](https://github.com/flyteorg/flyte/issues/2262) Pods started before InjectFinalizer was disabled are never deleted 1. [Housekeeping](https://github.com/flyteorg/flyte/issues/2504) Checksum grpc_health_probe 1. [Feature](https://github.com/flyteorg/flyte/issues/2284) Allow to choose Spot Instances at workflow start time 1. [Feature](https://github.com/flyteorg/flyte/pull/2439) Use the same pod annotation formatting in syncresources cronjob diff --git a/CHANGELOG/CHANGELOG-v1.1.0.md b/CHANGELOG/CHANGELOG-v1.1.0.md index 92362709656..1cbad295849 100644 --- a/CHANGELOG/CHANGELOG-v1.1.0.md +++ b/CHANGELOG/CHANGELOG-v1.1.0.md @@ -17,7 +17,7 @@ Support for [Optional types](https://github.com/flyteorg/flyte/issues/2426). Wit ### Bug Fixes * [Propeller](https://github.com/flyteorg/flyte/issues/2298) calling finalize rather than abort -* [Propeller](https://github.com/flyteorg/flyte/issues/2404) correctly identify error when requesting a launch plan that does not exist. +* [Propeller](https://github.com/flyteorg/flyte/issues/2404) correctly identifies an error when requesting a launch plan that does not exist. * Better handle [execution CRDs](https://github.com/flyteorg/flyte/issues/2275) that don't exist in Admin. * [Fix panic](https://github.com/flyteorg/flyte/issues/2597) when creating additional label options. * Check [validity](https://github.com/flyteorg/flyte/issues/2601) of notifications. diff --git a/CHANGELOG/CHANGELOG-v1.11.1-b1.md b/CHANGELOG/CHANGELOG-v1.11.1-b1.md new file mode 100644 index 00000000000..85dcba7b1ab --- /dev/null +++ b/CHANGELOG/CHANGELOG-v1.11.1-b1.md @@ -0,0 +1,45 @@ +# Flyte v1.11.1-b1 + +## What's Changed +* sagemaker agent backend setup documentation by @samhita-alla in https://github.com/flyteorg/flyte/pull/5064 +* add first version of gke-starter values file by @cjidboon94 in https://github.com/flyteorg/flyte/pull/5026 +* Fix open ai secret name by @eapolinario in https://github.com/flyteorg/flyte/pull/5098 +* Allow setting a ExecutionClusterLabel when triggering a Launchplan/Workflow/Task by @RRap0so in https://github.com/flyteorg/flyte/pull/4998 +* Improve audience mismatch debugging by @ddl-rliu in https://github.com/flyteorg/flyte/pull/5078 +* docs(sandbox): Add guide for running newest flyteconsole in flyte sandbox by @MortalHappiness in https://github.com/flyteorg/flyte/pull/5100 +* Remove unnecessary step and fix numbering in code examples by @eapolinario in https://github.com/flyteorg/flyte/pull/5104 +* fix rendering of flyte-core and flyteagent charts by @pbrogan12 in https://github.com/flyteorg/flyte/pull/5048 +* Bump golang.org/x/net from 0.3.1-0.20221206200815-1e63c2f08a10 to 0.7.0 in /docker/sandbox-bundled/bootstrap by @dependabot in https://github.com/flyteorg/flyte/pull/3390 +* Update repeated value filters with ValueNotIn support by @troychiu in https://github.com/flyteorg/flyte/pull/5110 +* Update container builds from go 1.21.5 to 1.21.latest by @ddl-ebrown in https://github.com/flyteorg/flyte/pull/5097 +* Add optional org param to ProjectGetRequest by @katrogan in https://github.com/flyteorg/flyte/pull/5118 +* Stop building read-the-docs for flyteidl by @eapolinario in https://github.com/flyteorg/flyte/pull/5120 +* Bump google.golang.org/grpc and otelgrpc by @eapolinario in https://github.com/flyteorg/flyte/pull/5121 +* Fix broken link in "Mapping Python to Flyte types" table by @neverett in https://github.com/flyteorg/flyte/pull/5122 +* Bump version of otel and grpc in flytestdlib by @eapolinario in https://github.com/flyteorg/flyte/pull/5123 +* [flyteadmin] Show diff structure when re-registration two different task with same ids by @austin362667 in https://github.com/flyteorg/flyte/pull/4924 +* Set flyteadmin grpc port correctly in config / Flyte-core flyteadmin / datacatalog expose ports by @ddl-ebrown in https://github.com/flyteorg/flyte/pull/5013 +* Add flyte-core missing priorityClassName to webhook values by @ddl-ebrown in https://github.com/flyteorg/flyte/pull/4987 +* Update environment_setup.md by @ssen85 in https://github.com/flyteorg/flyte/pull/4963 +* [Docs] Open external links in new tab by @MortalHappiness in https://github.com/flyteorg/flyte/pull/4966 +* Fix separateGrpcIngress flag not working in flyte-binary helm chart by @lowc1012 in https://github.com/flyteorg/flyte/pull/4946 +* docs(contribute): Change go mod tidy to make go-tidy by @MortalHappiness in https://github.com/flyteorg/flyte/pull/5131 +* Fix execution phase by @troychiu in https://github.com/flyteorg/flyte/pull/5127 +* Add trailing slash to compile make target by @eapolinario in https://github.com/flyteorg/flyte/pull/4648 +* Change retry error from RuntimeError to FlyteRecoverableException by @dansola in https://github.com/flyteorg/flyte/pull/5128 +* Adapt ray flyteplugin to Kuberay 1.1.0 by @ByronHsu in https://github.com/flyteorg/flyte/pull/5067 +* Boilerplate simplification by @eapolinario in https://github.com/flyteorg/flyte/pull/5134 +* Upgrade cloudevents to v2.15.2 by @ddl-ebrown in https://github.com/flyteorg/flyte/pull/5142 +* update sagemaker agent setup doc as secrets aren't required anymore by @samhita-alla in https://github.com/flyteorg/flyte/pull/5138 +* Upgrade logrus to v1.9.3 everywhere by @ddl-ebrown in https://github.com/flyteorg/flyte/pull/5139 +* Upgrade go-restful to v3.12.0 by @ddl-ebrown in https://github.com/flyteorg/flyte/pull/5140 +* Regenerate ray pflags by @eapolinario in https://github.com/flyteorg/flyte/pull/5149 +* Split access token into half and store to avoid "securecookie: the value is too long" error by @yubofredwang in https://github.com/flyteorg/flyte/pull/4863 + +## New Contributors +* @cjidboon94 made their first contribution in https://github.com/flyteorg/flyte/pull/5026 +* @ddl-rliu made their first contribution in https://github.com/flyteorg/flyte/pull/5078 +* @pbrogan12 made their first contribution in https://github.com/flyteorg/flyte/pull/5048 +* @austin362667 made their first contribution in https://github.com/flyteorg/flyte/pull/4924 +* @ssen85 made their first contribution in https://github.com/flyteorg/flyte/pull/4963 +* @dansola made their first contribution in https://github.com/flyteorg/flyte/pull/5128 diff --git a/CHANGELOG/CHANGELOG-v1.12.0-b0.md b/CHANGELOG/CHANGELOG-v1.12.0-b0.md new file mode 100644 index 00000000000..e67ded8a27e --- /dev/null +++ b/CHANGELOG/CHANGELOG-v1.12.0-b0.md @@ -0,0 +1,151 @@ +# Flyte v1.12.0-b0 + +## What's Changed +* [Docs] Remove kustomize link in secrets.md doc by @lowc1012 in https://github.com/flyteorg/flyte/pull/5043 +* CI workflow for helm charts and manifests by @lowc1012 in https://github.com/flyteorg/flyte/pull/5027 +* Update spark-on-k8s-operator address in helm charts by @eapolinario in https://github.com/flyteorg/flyte/pull/5057 +* Fix wrong syntax for path filtering in validate-helm-charts.yaml by @lowc1012 in https://github.com/flyteorg/flyte/pull/5056 +* Fix: flyte-secret-auth secret not mounted properly in flyte-core by @lowc1012 in https://github.com/flyteorg/flyte/pull/5054 +* Match flytekit versions used to register and run functional tests by @eapolinario in https://github.com/flyteorg/flyte/pull/5059 +* integration test config by @troychiu in https://github.com/flyteorg/flyte/pull/5058 +* Add org as an optional request param to dataproxy CreateUploadLocation by @katrogan in https://github.com/flyteorg/flyte/pull/5060 +* Add k8s env from by @neilisaur in https://github.com/flyteorg/flyte/pull/4969 +* Implement GetProject endpoint in FlyteAdmin by @RRap0so in https://github.com/flyteorg/flyte/pull/4825 +* Prepopulate ArrayNode output literals with TaskNode interface output variables by @hamersaw in https://github.com/flyteorg/flyte/pull/5080 +* [House Keeping] deprecate MaxDatasetSizeBytes propeller config in favor of GetLimitMegabytes storage config by @pvditt in https://github.com/flyteorg/flyte/pull/4852 +* Fix lint errors caught by `chart-testing` by @eapolinario in https://github.com/flyteorg/flyte/pull/5072 +* Update Flyte components by @flyte-bot in https://github.com/flyteorg/flyte/pull/5093 +* sagemaker agent backend setup documentation by @samhita-alla in https://github.com/flyteorg/flyte/pull/5064 +* add first version of gke-starter values file by @cjidboon94 in https://github.com/flyteorg/flyte/pull/5026 +* Fix open ai secret name by @eapolinario in https://github.com/flyteorg/flyte/pull/5098 +* Allow setting a ExecutionClusterLabel when triggering a Launchplan/Workflow/Task by @RRap0so in https://github.com/flyteorg/flyte/pull/4998 +* Improve audience mismatch debugging by @ddl-rliu in https://github.com/flyteorg/flyte/pull/5078 +* docs(sandbox): Add guide for running newest flyteconsole in flyte sandbox by @MortalHappiness in https://github.com/flyteorg/flyte/pull/5100 +* Remove unnecessary step and fix numbering in code examples by @eapolinario in https://github.com/flyteorg/flyte/pull/5104 +* fix rendering of flyte-core and flyteagent charts by @pbrogan12 in https://github.com/flyteorg/flyte/pull/5048 +* Bump golang.org/x/net from 0.3.1-0.20221206200815-1e63c2f08a10 to 0.7.0 in /docker/sandbox-bundled/bootstrap by @dependabot in https://github.com/flyteorg/flyte/pull/3390 +* Update repeated value filters with ValueNotIn support by @troychiu in https://github.com/flyteorg/flyte/pull/5110 +* Update container builds from go 1.21.5 to 1.21.latest by @ddl-ebrown in https://github.com/flyteorg/flyte/pull/5097 +* Add optional org param to ProjectGetRequest by @katrogan in https://github.com/flyteorg/flyte/pull/5118 +* Stop building read-the-docs for flyteidl by @eapolinario in https://github.com/flyteorg/flyte/pull/5120 +* Bump google.golang.org/grpc and otelgrpc by @eapolinario in https://github.com/flyteorg/flyte/pull/5121 +* Fix broken link in "Mapping Python to Flyte types" table by @neverett in https://github.com/flyteorg/flyte/pull/5122 +* Bump version of otel and grpc in flytestdlib by @eapolinario in https://github.com/flyteorg/flyte/pull/5123 +* [flyteadmin] Show diff structure when re-registration two different task with same ids by @austin362667 in https://github.com/flyteorg/flyte/pull/4924 +* Set flyteadmin grpc port correctly in config / Flyte-core flyteadmin / datacatalog expose ports by @ddl-ebrown in https://github.com/flyteorg/flyte/pull/5013 +* Add flyte-core missing priorityClassName to webhook values by @ddl-ebrown in https://github.com/flyteorg/flyte/pull/4987 +* Update environment_setup.md by @ssen85 in https://github.com/flyteorg/flyte/pull/4963 +* [Docs] Open external links in new tab by @MortalHappiness in https://github.com/flyteorg/flyte/pull/4966 +* Fix separateGrpcIngress flag not working in flyte-binary helm chart by @lowc1012 in https://github.com/flyteorg/flyte/pull/4946 +* docs(contribute): Change go mod tidy to make go-tidy by @MortalHappiness in https://github.com/flyteorg/flyte/pull/5131 +* Fix execution phase by @troychiu in https://github.com/flyteorg/flyte/pull/5127 +* Add trailing slash to compile make target by @eapolinario in https://github.com/flyteorg/flyte/pull/4648 +* Change retry error from RuntimeError to FlyteRecoverableException by @dansola in https://github.com/flyteorg/flyte/pull/5128 +* Adapt ray flyteplugin to Kuberay 1.1.0 by @ByronHsu in https://github.com/flyteorg/flyte/pull/5067 +* Boilerplate simplification by @eapolinario in https://github.com/flyteorg/flyte/pull/5134 +* Upgrade cloudevents to v2.15.2 by @ddl-ebrown in https://github.com/flyteorg/flyte/pull/5142 +* update sagemaker agent setup doc as secrets aren't required anymore by @samhita-alla in https://github.com/flyteorg/flyte/pull/5138 +* Upgrade logrus to v1.9.3 everywhere by @ddl-ebrown in https://github.com/flyteorg/flyte/pull/5139 +* Upgrade go-restful to v3.12.0 by @ddl-ebrown in https://github.com/flyteorg/flyte/pull/5140 +* Regenerate ray pflags by @eapolinario in https://github.com/flyteorg/flyte/pull/5149 +* Split access token into half and store to avoid "securecookie: the value is too long" error by @yubofredwang in https://github.com/flyteorg/flyte/pull/4863 +* Update Flyte components by @flyte-bot in https://github.com/flyteorg/flyte/pull/5150 +* Bump golang.org/x/crypto from 0.11.0 to 0.17.0 in /boilerplate/flyte/golang_support_tools by @dependabot in https://github.com/flyteorg/flyte/pull/5148 +* use javascript to open new tab for external links by @cosmicBboy in https://github.com/flyteorg/flyte/pull/5159 +* Update K8s plugin config docs by @davidmirror-ops in https://github.com/flyteorg/flyte/pull/5070 +* Update Propeller architecture documentation by @davidmirror-ops in https://github.com/flyteorg/flyte/pull/5117 +* update protobuf v1.32.0 -> v1.33.0 by @ddl-ebrown in https://github.com/flyteorg/flyte/pull/5156 +* Update boilerplate version by @flyte-bot in https://github.com/flyteorg/flyte/pull/5143 +* Upgrade grpc health probe 0.4.11 -> 0.4.25 by @ddl-ebrown in https://github.com/flyteorg/flyte/pull/5153 +* Upgrade go-jose v3.0.0 -> v3.0.3 by @ddl-ebrown in https://github.com/flyteorg/flyte/pull/5154 +* docs: update agent development documentation by @pingsutw in https://github.com/flyteorg/flyte/pull/5130 +* Add variables to ease separate bucket config by @davidmirror-ops in https://github.com/flyteorg/flyte/pull/5015 +* Bump golang.org/x/net from 0.12.0 to 0.17.0 in /boilerplate/flyte/golang_support_tools by @dependabot in https://github.com/flyteorg/flyte/pull/5146 +* Bump google.golang.org/protobuf from 1.30.0 to 1.33.0 in /boilerplate/flyte/golang_support_tools by @dependabot in https://github.com/flyteorg/flyte/pull/5147 +* Upgrade lestrrat-go/jwx to v1.2.29 by @ddl-ebrown in https://github.com/flyteorg/flyte/pull/5141 +* Revert "Pin flyteconsole version in release process (#5037)" by @eapolinario in https://github.com/flyteorg/flyte/pull/5176 +* Add identity to task execution metadata by @noahjax in https://github.com/flyteorg/flyte/pull/5105 +* Bump k8s.io/client-go from 0.0.0-20210217172142-7279fc64d847 to 0.17.16 in /boilerplate/flyte/golang_support_tools by @dependabot in https://github.com/flyteorg/flyte/pull/5145 +* Upgrade jackc/pgconn v1.14.1 -> v1.14.3 / pgx/v5 v5.4.3 -> v5.5.5 / pgproto3 v2.3.2 -> v2.3.3 by @ddl-ebrown in https://github.com/flyteorg/flyte/pull/5155 +* fix make link error by @novahow in https://github.com/flyteorg/flyte/pull/5175 +* Stop admin launcher copying shard key from parent workflow by @Tom-Newton in https://github.com/flyteorg/flyte/pull/5174 +* Fix Id bigint conversation for not yet created table by @ongkong in https://github.com/flyteorg/flyte/pull/5157 +* Add tracking for active node and task execution counts in propeller by @sshardool in https://github.com/flyteorg/flyte/pull/4986 +* [House keeping] include container statuses for all container exit errors by @pvditt in https://github.com/flyteorg/flyte/pull/5161 +* docs: add missing key in auth guide by @Jeinhaus in https://github.com/flyteorg/flyte/pull/5169 +* Shallow copying EnvironmentVariables map before injecting ArrayNode env vars by @hamersaw in https://github.com/flyteorg/flyte/pull/5182 +* Feature/array node workflow parallelism by @pvditt in https://github.com/flyteorg/flyte/pull/5062 +* Fix streak length metric reporting by @Tom-Newton in https://github.com/flyteorg/flyte/pull/5172 +* Fix path to AuthMetadataService in flyte-binary chart by @eapolinario in https://github.com/flyteorg/flyte/pull/5185 +* Change phase to queue on job submit for webapi plugins by @pingsutw in https://github.com/flyteorg/flyte/pull/5188 +* [Docs] Testing agents in the development environment by @Future-Outlier in https://github.com/flyteorg/flyte/pull/5106 +* Use ratelimiter config in webapi plugins by @kumare3 in https://github.com/flyteorg/flyte/pull/5190 +* docs(ray): Update kuberay documentation by @MortalHappiness in https://github.com/flyteorg/flyte/pull/5179 +* Change phase to WaitingForResources when quota exceeded by @pingsutw in https://github.com/flyteorg/flyte/pull/5195 +* Fix: Update spark operator helm repository by @fg91 in https://github.com/flyteorg/flyte/pull/5198 +* docs(troubleshoot): Add docker error troubleshooting guide by @MortalHappiness in https://github.com/flyteorg/flyte/pull/4972 +* add cache client read and write otel tracing by @pvditt in https://github.com/flyteorg/flyte/pull/5184 +* Fix FlyteIDL docs link by @neverett in https://github.com/flyteorg/flyte/pull/5199 +* [easy] [flyteagent] Add `ExecuteTaskSync` function timeout setting by @Future-Outlier in https://github.com/flyteorg/flyte/pull/5209 +* [easy] [flyteagent] Add `agent-service` endpoint settings for `flyte-core` deployment by @Future-Outlier in https://github.com/flyteorg/flyte/pull/5208 +* Update Monitoring documentation by @davidmirror-ops in https://github.com/flyteorg/flyte/pull/5206 +* chore: remove obsolete flyte config files by @pingsutw in https://github.com/flyteorg/flyte/pull/5196 +* Generate rust grpc using tonic by @eapolinario in https://github.com/flyteorg/flyte/pull/5187 +* enable parallelism to be set to nil for array node by @pvditt in https://github.com/flyteorg/flyte/pull/5214 +* Fix mounting secrets by @yini7777 in https://github.com/flyteorg/flyte/pull/5063 +* Update "Creating a Flyte project" with link to new Dockerfile project template by @neverett in https://github.com/flyteorg/flyte/pull/5215 +* Re-apply changes to dataclass docs from flytesnacks#1553 by @neverett in https://github.com/flyteorg/flyte/pull/5211 +* feat(ray): Remove initContainers by @MortalHappiness in https://github.com/flyteorg/flyte/pull/5178 +* fix(databricks): Check the response body before unmarshal by @pingsutw in https://github.com/flyteorg/flyte/pull/5226 +* perf(cache): Use AddRateLimited for batch enqueue by @pingsutw in https://github.com/flyteorg/flyte/pull/5228 +* update scroll behavior so that sidebar maintains location by @cosmicBboy in https://github.com/flyteorg/flyte/pull/5229 +* propagate dark/light theme to algolia search bar by @cosmicBboy in https://github.com/flyteorg/flyte/pull/5231 +* Added additional port configuration for flyte services by @hamersaw in https://github.com/flyteorg/flyte/pull/5233 +* [BUG] fix(doc): Wrong configuration in spark plugin with binary chart by @lowc1012 in https://github.com/flyteorg/flyte/pull/5230 +* Fix grammatical error in workflow lifecycle docs by @Sovietaced in https://github.com/flyteorg/flyte/pull/5227 +* add plugins support for k8s imagepullpolicy by @novahow in https://github.com/flyteorg/flyte/pull/5167 +* Added section on overriding lp config in loop by @pryce-turner in https://github.com/flyteorg/flyte/pull/5223 +* Added unmarshal attribute for expires_in for device flow auth token by @eapolinario in https://github.com/flyteorg/flyte/pull/4319 +* Update template to link issue for closing by @thomasjpfan in https://github.com/flyteorg/flyte/pull/5239 +* [Feature] add retries and backoffs for propeller sending events to admin by @pvditt in https://github.com/flyteorg/flyte/pull/5166 +* Explain how to enable/disable local caching by @eapolinario in https://github.com/flyteorg/flyte/pull/5242 +* [House keeping] remove setting max size bytes in node context by @pvditt in https://github.com/flyteorg/flyte/pull/5092 +* Fix support for limit-namespace in FlytePropeller by @hamersaw in https://github.com/flyteorg/flyte/pull/5238 +* [WAIT TO MERGE] Use remoteliteralinclude for code in user guide docs by @neverett in https://github.com/flyteorg/flyte/pull/5207 +* refactor(python): Replace os.path with pathlib by @MortalHappiness in https://github.com/flyteorg/flyte/pull/5243 +* Containerize documentation build environment and add sphinx-autobuild for hot-reload by @MortalHappiness in https://github.com/flyteorg/flyte/pull/4960 +* Finalize flyteidl Rust crate by @austin362667 in https://github.com/flyteorg/flyte/pull/5219 +* Use sphinx design instead of sphinx panels by @cosmicBboy in https://github.com/flyteorg/flyte/pull/5254 +* [Docs] add envd plugin installation command to the environment setup guide by @Future-Outlier in https://github.com/flyteorg/flyte/pull/5257 +* [Docs] add colon rule in version by @Future-Outlier in https://github.com/flyteorg/flyte/pull/5258 +* [easy] [Docs] Raw Container Local Execution by @Future-Outlier in https://github.com/flyteorg/flyte/pull/5262 +* [Docs] add validation file type by @jasonlai1218 in https://github.com/flyteorg/flyte/pull/5259 +* WebAPI plugins optimization by @pingsutw in https://github.com/flyteorg/flyte/pull/5237 +* fix(webapi): Ensure cache deletion on abort workflow by @pingsutw in https://github.com/flyteorg/flyte/pull/5235 +* RunLLM Widget Configuration by @agiron123 in https://github.com/flyteorg/flyte/pull/5266 +* fix dropdown formatting by @cosmicBboy in https://github.com/flyteorg/flyte/pull/5276 +* added configuration for arraynode default parallelism behavior by @hamersaw in https://github.com/flyteorg/flyte/pull/5268 +* Improve error message for limit exceeded by @pingsutw in https://github.com/flyteorg/flyte/pull/5275 +* test sphinx-reredirects by @cosmicBboy in https://github.com/flyteorg/flyte/pull/5281 +* enabling parallelism controls on arraynode by @hamersaw in https://github.com/flyteorg/flyte/pull/5284 +* Move deprecated integrations docs to flyte by @neverett in https://github.com/flyteorg/flyte/pull/5283 +* Fix rli number ranges in Snowflake plugin example doc by @neverett in https://github.com/flyteorg/flyte/pull/5287 +* Fix broken gpu resource override when using pod templates by @fg91 in https://github.com/flyteorg/flyte/pull/4925 +* Fix order of arguments in copilot log by @eapolinario in https://github.com/flyteorg/flyte/pull/5292 +* fix(databricks): Handle FAILED state as retryable error by @pingsutw in https://github.com/flyteorg/flyte/pull/5277 + +## New Contributors +* @RRap0so made their first contribution in https://github.com/flyteorg/flyte/pull/4825 +* @cjidboon94 made their first contribution in https://github.com/flyteorg/flyte/pull/5026 +* @ddl-rliu made their first contribution in https://github.com/flyteorg/flyte/pull/5078 +* @pbrogan12 made their first contribution in https://github.com/flyteorg/flyte/pull/5048 +* @austin362667 made their first contribution in https://github.com/flyteorg/flyte/pull/4924 +* @ssen85 made their first contribution in https://github.com/flyteorg/flyte/pull/4963 +* @dansola made their first contribution in https://github.com/flyteorg/flyte/pull/5128 +* @noahjax made their first contribution in https://github.com/flyteorg/flyte/pull/5105 +* @ongkong made their first contribution in https://github.com/flyteorg/flyte/pull/5157 +* @sshardool made their first contribution in https://github.com/flyteorg/flyte/pull/4986 +* @Jeinhaus made their first contribution in https://github.com/flyteorg/flyte/pull/5169 +* @yini7777 made their first contribution in https://github.com/flyteorg/flyte/pull/5063 +* @Sovietaced made their first contribution in https://github.com/flyteorg/flyte/pull/5227 +* @agiron123 made their first contribution in https://github.com/flyteorg/flyte/pull/5266 diff --git a/CHANGELOG/CHANGELOG-v1.12.0.md b/CHANGELOG/CHANGELOG-v1.12.0.md new file mode 100644 index 00000000000..5c377253c20 --- /dev/null +++ b/CHANGELOG/CHANGELOG-v1.12.0.md @@ -0,0 +1,56 @@ +# Flyte 1.12.0 Release Notes + +Flyte 1.12.0 brings a host of new features, optimizations, and fixes, enhancing the platform's functionality and user experience. This release also welcomes several new contributors to the Flyte community. Below are the highlights of this release. + +## 🚀 New Features & Improvements + +1. **Admin & Core Enhancements** + - [Implemented the `GetProject` endpoint](https://github.com/flyteorg/flyte/pull/4825) in FlyteAdmin. + - [Added tracking for active node and task execution counts](https://github.com/flyteorg/flyte/pull/4986) in Propeller. + - [Set FlyteAdmin gRPC port correctly in config](https://github.com/flyteorg/flyte/pull/5013) and included [separate gRPC Ingress flag](https://github.com/flyteorg/flyte/pull/4946). + +2. **Helm Charts & Manifests** + - [CI workflow enhancements](https://github.com/flyteorg/flyte/pull/5027) for Helm charts and manifests. + - [Fixed syntax issues](https://github.com/flyteorg/flyte/pull/5056) and [rendering errors](https://github.com/flyteorg/flyte/pull/5048) in Helm charts. + - [Updated Spark-on-K8s-operator address in Helm charts](https://github.com/flyteorg/flyte/pull/5198). + +3. **Documentation Improvements** + - Enhanced documentation across various modules, including [a guide for running the newest Flyteconsole in Flyte sandbox](https://github.com/flyteorg/flyte/pull/5100) and [a troubleshooting guide for Docker errors](https://github.com/flyteorg/flyte/pull/4972). + - [Updated Propeller architecture documentation](https://github.com/flyteorg/flyte/pull/5117) and [added a guide for enabling/disabling local caching](https://github.com/flyteorg/flyte/pull/5242). + +4. **Performance & Bug Fixes** + - [Improved lint error detection](https://github.com/flyteorg/flyte/pull/5072), fixing multiple issues across components. + - [Optimized Flyte components](https://github.com/flyteorg/flyte/pull/5097), including Golang, Protobuf, and GRPC versions. + - Fixed several bugs related to execution phases, [GPU resource overrides](https://github.com/flyteorg/flyte/pull/4925), and [Databricks errors](https://github.com/flyteorg/flyte/pull/5226). + +## 🔧 Housekeeping & Deprecations + +1. **Deprecated Configuration** + - [Deprecated `MaxDatasetSizeBytes` propeller config](https://github.com/flyteorg/flyte/pull/4852) in favor of `GetLimitMegabytes` storage config. + - [Removed obsolete Flyte config files](https://github.com/flyteorg/flyte/pull/5196). + +2. **Miscellaneous** + - [Simplified boilerplate](https://github.com/flyteorg/flyte/pull/5134). + - [Regenerated Ray pflags](https://github.com/flyteorg/flyte/pull/5149). + - Upgraded various dependencies, including [cloudevents](https://github.com/flyteorg/flyte/pull/5142), [logrus](https://github.com/flyteorg/flyte/pull/5139), and [go-restful](https://github.com/flyteorg/flyte/pull/5140). + +## 🆕 New Contributors + +- **@RRap0so** for [implementing the `GetProject` endpoint](https://github.com/flyteorg/flyte/pull/4825). +- **@cjidboon94** for [adding the GKE starter values file](https://github.com/flyteorg/flyte/pull/5026). +- **@ddl-rliu** for [improving audience mismatch debugging](https://github.com/flyteorg/flyte/pull/5078). +- **@pbrogan12** for [fixing Helm chart rendering](https://github.com/flyteorg/flyte/pull/5048). +- **@austin362667** for [showing diff structure when re-registering tasks](https://github.com/flyteorg/flyte/pull/4924). +- **@ssen85** for [updating environment setup documentation](https://github.com/flyteorg/flyte/pull/4963). +- **@dansola** for [changing retry error types](https://github.com/flyteorg/flyte/pull/5128). +- **@noahjax** for [adding identity to task execution metadata](https://github.com/flyteorg/flyte/pull/5105). +- **@ongkong** for [fixing ID bigint conversion issues](https://github.com/flyteorg/flyte/pull/5157). +- **@sshardool** for [tracking active node and task execution counts](https://github.com/flyteorg/flyte/pull/4986). +- **@Jeinhaus** for [adding a missing key in the auth guide](https://github.com/flyteorg/flyte/pull/5169). +- **@yini7777** for [fixing secret mounting issues](https://github.com/flyteorg/flyte/pull/5063). +- **@Sovietaced** for [fixing grammatical errors in the documentation](https://github.com/flyteorg/flyte/pull/5227). +- **@agiron123** for [configuring the RunLLM widget](https://github.com/flyteorg/flyte/pull/5266). +- **@mark-thm** for [removing the upper bound on FlyteIDL's protobuf dependency](https://github.com/flyteorg/flyte/pull/5285). + +**[Full Changelog](https://github.com/flyteorg/flyte/compare/v1.11.0...v1.12.0)** + diff --git a/CHANGELOG/CHANGELOG-v1.12.1-rc0.md b/CHANGELOG/CHANGELOG-v1.12.1-rc0.md new file mode 100644 index 00000000000..9e89c25ddbe --- /dev/null +++ b/CHANGELOG/CHANGELOG-v1.12.1-rc0.md @@ -0,0 +1,37 @@ +# Flyte 1.12.1-rc0 Release Notes + +Flyte 1.12.1-rc0 is a release candidate that focuses on documentation enhancements, bug fixes, and improvements to the core infrastructure. This release also includes contributions from a new member of the Flyte community. Below are the highlights of this release. + +## 🚀 New Features & Improvements + +1. **Documentation Improvements** + - [Removed the source code renderer section from the Decks article](https://github.com/flyteorg/flyte/pull/5397). + - Added [documentation for OpenAI batch agent backend setup](https://github.com/flyteorg/flyte/pull/5291). + - [Updated the example Flyte agent Dockerfile](https://github.com/flyteorg/flyte/pull/5412). + - Fixed [documentation link to testing agent on local cluster](https://github.com/flyteorg/flyte/pull/5398). + - [Fixed Kubeflow webhook error](https://github.com/flyteorg/flyte/pull/5410) in the documentation. + - [Updated Flytekit version to 1.12.1b2](https://github.com/flyteorg/flyte/pull/5411) in monodocs requirements. + - [Updated Flytefile.md](https://github.com/flyteorg/flyte/pull/5428) and replaced [SHA instead of master in RLI links](https://github.com/flyteorg/flyte/pull/5434). + +2. **Infrastructure and Configuration** + - [Reverted "Ensure token is refreshed on Unauthenticated"](https://github.com/flyteorg/flyte/pull/5404). + - [Updated core Helm chart for propeller configuration of agent service](https://github.com/flyteorg/flyte/pull/5402). + - [Fixed Flytectl install script](https://github.com/flyteorg/flyte/pull/5405) in the monorepo. + - [Moved to upstream mockery](https://github.com/flyteorg/flyte/pull/4937). + - [Used a different git command to match the Flyteidl tags](https://github.com/flyteorg/flyte/pull/5419). + +3. **Bug Fixes** + - [Handled auto-refresh cache race condition](https://github.com/flyteorg/flyte/pull/5406). + - [Fixed typos using codespell CI job](https://github.com/flyteorg/flyte/pull/5418). + - [Fixed build failure](https://github.com/flyteorg/flyte/pull/5425) in monodocs. + - [Replaced Azure AD OIDC URL with the correct one](https://github.com/flyteorg/flyte/pull/4075). + +4. **Miscellaneous** + - [Updated the lock file](https://github.com/flyteorg/flyte/pull/5416). + - [Added executionClusterLabel](https://github.com/flyteorg/flyte/pull/5394) for better execution cluster management. + +## 🆕 New Contributors + +- **@EraYaN** for [replacing Azure AD OIDC URL with the correct one](https://github.com/flyteorg/flyte/pull/4075). + +**[Full Changelog](https://github.com/flyteorg/flyte/compare/flytectl/v0.8.21...v1.12.1-rc0)** diff --git a/CHANGELOG/CHANGELOG-v1.13.0-rc0.md b/CHANGELOG/CHANGELOG-v1.13.0-rc0.md new file mode 100644 index 00000000000..09bd7e92ca9 --- /dev/null +++ b/CHANGELOG/CHANGELOG-v1.13.0-rc0.md @@ -0,0 +1,40 @@ +# Flyte v1.13.0-rc0 Release Notes + +## Major Features and Improvements + +- **Key-value execution tags**: Enhanced execution tagging capabilities. (#5453) +- **Watch agent metadata service**: Improved monitoring of agent metadata. (#5017) +- **Distributed job refactoring**: Refactored distributed job using common ReplicaSpec. (#5355) +- **Execution cluster label inheritance**: Executions now inherit cluster labels from source executions. (#5431) +- **Domain API**: Added new API to retrieve domain information. (#5443) +- **Execution environment versioning**: Added version to ExecutionEnv proto message. (#5506) +- **OTLP and sampling in otelutils**: Enhanced observability with OpenTelemetry Protocol (OTLP) support. (#5504) + +## Notable Changes + +- Removed mmcloud plugin. (#5468) +- Updated k3s version to 1.29.0. (#5475) +- Improved auth flow to support custom base URLs in deployments. (#5192) +- Added flyteconsole URL to FlyteWorkflow CRD. (#5449) +- Enhanced 'flytectl compile' to consider launch plans within workflows. (#5463) +- Introduced control over task phases for log link display. (#4726) +- Improved Helm chart configurations for Prometheus, Webhook HPA, and Flyteconsole probes. (#5508) + +## Bug Fixes and Optimizations + +- Fixed flaky auto_refresh_test. (#5438) +- Corrected NULL to empty string in SQL insert for migrations. (#5482) +- Resolved issues with broken mermaid diagrams in documentation. (#5498) +- Fixed Ray plugin to use default service account if not set in task metadata. (#5499) + +## Documentation and Usability + +- Updated community page. (#5496) +- Improved documentation on logging link lifetime configuration. (#5503) +- Replaced 'uctl' with 'flytectl' in OSS docs for consistency. (#5501) + +## New Contributors + +- @Dlougach, @flixr, @trevormcguire, @va6996, @mhotan, and @eltociear made their first contributions to the project. + +For a complete list of changes, please refer to the [full changelog](https://github.com/flyteorg/flyte/compare/flytectl/v0.8.24...v1.13.0-rc0). diff --git a/CHANGELOG/CHANGELOG-v1.13.0.md b/CHANGELOG/CHANGELOG-v1.13.0.md new file mode 100644 index 00000000000..0c338f003d5 --- /dev/null +++ b/CHANGELOG/CHANGELOG-v1.13.0.md @@ -0,0 +1,55 @@ +# Flyte 1.13.0 Release Notes + +Flyte 1.13.0 brings a host of new features, optimizations, and fixes, enhancing the platform's functionality and user experience. This release also welcomes several new contributors to the Flyte community. Below are the highlights of this release. + +## 🚀 New Features & Improvements + +1. **Features** + - [Watch agent metadata service](https://github.com/flyteorg/flyte/pull/5017) + - [Allow controlling in which task phases log links are shown](https://github.com/flyteorg/flyte/pull/4726) + - [Add executionClusterLabel](https://github.com/flyteorg/flyte/pull/5394) + +2. **Helm Charts & Manifests** + - [Grafana dashboard updates](https://github.com/flyteorg/flyte/pull/5255) for better monitoring and observability. + - [Core helm chart updates for propeller configuration of agent service](https://github.com/flyteorg/flyte/pull/5402). + - [Helm chart updates related to Prometheus, Webhook HPA, and Flyteconsole probes](https://github.com/flyteorg/flyte/pull/5508). + +3. **Documentation Improvements** + - Added examples and guides, including [a guide for setting up the OpenAI batch agent backend](https://github.com/flyteorg/flyte/pull/5291) and [updated Optimization Performance docs](https://github.com/flyteorg/flyte/pull/5278). + - [Fix doc link to testing agent on local cluster](https://github.com/flyteorg/flyte/pull/5398) and [replace Azure AD OIDC URL](https://github.com/flyteorg/flyte/pull/4075). + - [Clarify networking configurations between data plane propeller and control plane data catalog in multi-cluster deployments](https://github.com/flyteorg/flyte/pull/5345). + +4. **Performance & Bug Fixes** + - [Fix cache and token management issues](https://github.com/flyteorg/flyte/pull/5388), including addressing auto-refresh cache race conditions and improving token refresh mechanisms. + - [Fix SQL insert operations](https://github.com/flyteorg/flyte/pull/5482) to handle NULL values appropriately. + - [Keep EnvFrom from pod template](https://github.com/flyteorg/flyte/pull/5423) + - [Miscellaneous fixes](https://github.com/flyteorg/flyte/pull/5416) for pod templates, Kubeflow webhook errors, and logging configurations. + +5. **Flytectl** + - [Add prefetch functionality for paginator](https://github.com/flyteorg/flyte/pull/5310) + - [Fix `upgrade` and `version` commands](https://github.com/flyteorg/flyte/pull/5470) + + +## 🔧 Housekeeping & Deprecations + +1. **Miscellaneous** + - [Add OTLP and sampling to otelutils](https://github.com/flyteorg/flyte/pull/5504) + - [Refactor distributed job using common ReplicaSpec](https://github.com/flyteorg/flyte/pull/5355) + - [Fix typos using codespell CI job](https://github.com/flyteorg/flyte/pull/5418). + - [Remove obsolete Flyte config files](https://github.com/flyteorg/flyte/pull/5495). + - [Upgraded various dependencies](https://github.com/flyteorg/flyte/pull/5313), including Golang, Docker, and others. + - [Move to upstream mockery](https://github.com/flyteorg/flyte/pull/4937), which simplifies the migration to mockery-v2 + - [Key-value execution tags](https://github.com/flyteorg/flyte/pull/5453) + +## 🆕 New Contributors + +- **@zychen5186** for [adding prefetch functionality for paginator](https://github.com/flyteorg/flyte/pull/5310). +- **@EraYaN** for [replacing Azure AD OIDC URL](https://github.com/flyteorg/flyte/pull/4075). +- **@Dlougach** for [making BaseURL insensitive to trailing slashes for metadata endpoint redirect](https://github.com/flyteorg/flyte/pull/5458). +- **@flixr** for [honoring redoc.enabled=false in charts](https://github.com/flyteorg/flyte/pull/5452). +- **@trevormcguire** for [including group in apiVersion in plugin_collector](https://github.com/flyteorg/flyte/pull/5457). +- **@va6996** for [inheriting execution cluster label from source execution](https://github.com/flyteorg/flyte/pull/5431). +- **@mhotan** for [Helm chart updates related to Prometheus, Webhook HPA, and Flyteconsole probes](https://github.com/flyteorg/flyte/pull/5508). +- **@eltociear** for [updating token_source.go](https://github.com/flyteorg/flyte/pull/5396). + +**[Full Changelog](https://github.com/flyteorg/flyte/compare/v1.12.0...v1.13.0)** diff --git a/CHANGELOG/CHANGELOG-v1.3.0.md b/CHANGELOG/CHANGELOG-v1.3.0.md index c15224d4a69..0591f676ef6 100644 --- a/CHANGELOG/CHANGELOG-v1.3.0.md +++ b/CHANGELOG/CHANGELOG-v1.3.0.md @@ -7,7 +7,7 @@ The main features of this 1.3 release are * Signaling/gate node support (human in the loop tasks) * User documentation support (backend and flytekit only, limited types) -The latter two are pending some work in Flyte console, they will be piped through fully by the end of Q1. Support for setting and approving gate nodes is supported in `FlyteRemote` however, though only a limited set of types can be passed in. +The latter two are pending some work in Flyte console, they will be piped through fully by the end of Q1. Support for setting and approving gate nodes is supported in `FlyteRemote` however, only a limited set of types can be passed in. ## Notes There are a couple things to point out with this release. diff --git a/Dockerfile b/Dockerfile index 6ce448399b1..fc32351ebe0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ ARG FLYTECONSOLE_VERSION=latest FROM ghcr.io/flyteorg/flyteconsole:${FLYTECONSOLE_VERSION} AS flyteconsole -FROM --platform=${BUILDPLATFORM} golang:1.21.5-bookworm AS flytebuilder +FROM --platform=${BUILDPLATFORM} golang:1.22-bookworm AS flytebuilder ARG TARGETARCH ENV GOARCH "${TARGETARCH}" diff --git a/Dockerfile.datacatalog b/Dockerfile.datacatalog index 065eb287220..b6bfc8707df 100644 --- a/Dockerfile.datacatalog +++ b/Dockerfile.datacatalog @@ -1,9 +1,10 @@ # WARNING: THIS FILE IS MANAGED IN THE 'BOILERPLATE' REPO AND COPIED TO OTHER REPOSITORIES. # ONLY EDIT THIS FILE FROM WITHIN THE 'FLYTEORG/BOILERPLATE' REPOSITORY: -# +# # TO OPT OUT OF UPDATES, SEE https://github.com/flyteorg/boilerplate/blob/master/Readme.rst -FROM --platform=${BUILDPLATFORM} golang:1.21.5-alpine3.18 as builder +FROM --platform=${BUILDPLATFORM} golang:1.22-alpine3.18 as builder + ARG TARGETARCH ENV GOARCH "${TARGETARCH}" @@ -15,14 +16,15 @@ RUN apk add git openssh-client make curl RUN mkdir /artifacts # Pull GRPC health probe binary for liveness and readiness checks -RUN GRPC_HEALTH_PROBE_VERSION=v0.4.11 && \ +RUN GRPC_HEALTH_PROBE_VERSION=v0.4.25 && \ wget -qO/artifacts/grpc_health_probe https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/${GRPC_HEALTH_PROBE_VERSION}/grpc_health_probe-linux-amd64 && \ chmod +x /artifacts/grpc_health_probe && \ - echo 'ded15e598d887ccc47bf2321371950bbf930f5e4856b9f75712ce4b2b5120480 /artifacts/grpc_health_probe' > .grpc_checksum && \ + echo 'd14037ad94518eac8dbe57c146d6c2ca808f7f32600ee0c4057ef4b03ee0e42e /artifacts/grpc_health_probe' > .grpc_checksum && \ sha256sum -c .grpc_checksum WORKDIR /go/src/github.com/flyteorg/datacatalog +COPY boilerplate ../boilerplate COPY datacatalog . COPY flyteadmin ../flyteadmin COPY flytecopilot ../flytecopilot diff --git a/Dockerfile.flyteadmin b/Dockerfile.flyteadmin index 993949b2214..2fe21cccc2e 100644 --- a/Dockerfile.flyteadmin +++ b/Dockerfile.flyteadmin @@ -1,9 +1,9 @@ # WARNING: THIS FILE IS MANAGED IN THE 'BOILERPLATE' REPO AND COPIED TO OTHER REPOSITORIES. # ONLY EDIT THIS FILE FROM WITHIN THE 'LYFT/BOILERPLATE' REPOSITORY: -# +# # TO OPT OUT OF UPDATES, SEE https://github.com/lyft/boilerplate/blob/master/Readme.rst -FROM --platform=${BUILDPLATFORM} golang:1.21.5-alpine3.18 as builder +FROM --platform=${BUILDPLATFORM} golang:1.22-alpine3.18 as builder ARG TARGETARCH ENV GOARCH "${TARGETARCH}" @@ -15,14 +15,15 @@ RUN apk add git openssh-client make curl RUN mkdir /artifacts # Pull GRPC health probe binary for liveness and readiness checks -RUN GRPC_HEALTH_PROBE_VERSION=v0.4.11 && \ +RUN GRPC_HEALTH_PROBE_VERSION=v0.4.25 && \ wget -qO/artifacts/grpc_health_probe https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/${GRPC_HEALTH_PROBE_VERSION}/grpc_health_probe-linux-amd64 && \ chmod +x /artifacts/grpc_health_probe && \ - echo 'ded15e598d887ccc47bf2321371950bbf930f5e4856b9f75712ce4b2b5120480 /artifacts/grpc_health_probe' > .grpc_checksum && \ + echo 'd14037ad94518eac8dbe57c146d6c2ca808f7f32600ee0c4057ef4b03ee0e42e /artifacts/grpc_health_probe' > .grpc_checksum && \ sha256sum -c .grpc_checksum WORKDIR /go/src/github.com/flyteorg/flyteadmin +COPY boilerplate ../boilerplate COPY datacatalog ../datacatalog COPY flyteadmin . COPY flytecopilot ../flytecopilot diff --git a/Dockerfile.flytecopilot b/Dockerfile.flytecopilot index 247a04e9690..44107f10974 100644 --- a/Dockerfile.flytecopilot +++ b/Dockerfile.flytecopilot @@ -1,9 +1,10 @@ # WARNING: THIS FILE IS MANAGED IN THE 'BOILERPLATE' REPO AND COPIED TO OTHER REPOSITORIES. # ONLY EDIT THIS FILE FROM WITHIN THE 'LYFT/BOILERPLATE' REPOSITORY: -# +# # TO OPT OUT OF UPDATES, SEE https://github.com/lyft/boilerplate/blob/master/Readme.rst -FROM --platform=${BUILDPLATFORM} golang:1.21.5-alpine3.18 as builder +FROM --platform=${BUILDPLATFORM} golang:1.22-alpine3.18 as builder + ARG TARGETARCH ENV GOARCH "${TARGETARCH}" @@ -13,6 +14,7 @@ RUN apk add git openssh-client make curl WORKDIR /go/src/github.com/flyteorg/flytecopilot +COPY boilerplate ../boilerplate COPY datacatalog ../datacatalog COPY flyteadmin ../flyteadmin COPY flytecopilot . diff --git a/Dockerfile.flytepropeller b/Dockerfile.flytepropeller index 8da39815be2..058d78b219f 100644 --- a/Dockerfile.flytepropeller +++ b/Dockerfile.flytepropeller @@ -1,9 +1,11 @@ # WARNING: THIS FILE IS MANAGED IN THE 'BOILERPLATE' REPO AND COPIED TO OTHER REPOSITORIES. # ONLY EDIT THIS FILE FROM WITHIN THE 'LYFT/BOILERPLATE' REPOSITORY: -# +# # TO OPT OUT OF UPDATES, SEE https://github.com/lyft/boilerplate/blob/master/Readme.rst -FROM --platform=${BUILDPLATFORM} golang:1.21.5-alpine3.18 as builder + +FROM --platform=${BUILDPLATFORM} golang:1.22-alpine3.18 as builder + ARG TARGETARCH ENV GOARCH "${TARGETARCH}" @@ -13,6 +15,7 @@ RUN apk add git openssh-client make curl WORKDIR /go/src/github.com/flyteorg/flytepropeller +COPY boilerplate ../boilerplate COPY datacatalog ../datacatalog COPY flyteadmin ../flyteadmin COPY flytecopilot ../flytecopilot diff --git a/Dockerfile.flytescheduler b/Dockerfile.flytescheduler index 2956d939590..b22d050fc99 100644 --- a/Dockerfile.flytescheduler +++ b/Dockerfile.flytescheduler @@ -1,9 +1,11 @@ # WARNING: THIS FILE IS MANAGED IN THE 'BOILERPLATE' REPO AND COPIED TO OTHER REPOSITORIES. # ONLY EDIT THIS FILE FROM WITHIN THE 'LYFT/BOILERPLATE' REPOSITORY: -# +# # TO OPT OUT OF UPDATES, SEE https://github.com/lyft/boilerplate/blob/master/Readme.rst -FROM --platform=${BUILDPLATFORM} golang:1.21.5-alpine3.18 as builder + +FROM --platform=${BUILDPLATFORM} golang:1.22-alpine3.18 as builder + ARG TARGETARCH ENV GOARCH "${TARGETARCH}" @@ -16,6 +18,7 @@ RUN mkdir /artifacts WORKDIR /go/src/github.com/flyteorg/flyteadmin +COPY boilerplate ../boilerplate COPY datacatalog ../datacatalog COPY flyteadmin . COPY flytecopilot ../flytecopilot diff --git a/Makefile b/Makefile index 6eab674b17f..b3a37c85c46 100644 --- a/Makefile +++ b/Makefile @@ -11,6 +11,7 @@ GIT_HASH := $(shell git rev-parse --short HEAD) TIMESTAMP := $(shell date '+%Y-%m-%d') PACKAGE ?=github.com/flyteorg/flytestdlib LD_FLAGS="-s -w -X $(PACKAGE)/version.Version=$(GIT_VERSION) -X $(PACKAGE)/version.Build=$(GIT_HASH) -X $(PACKAGE)/version.BuildTime=$(TIMESTAMP)" +TMP_BUILD_DIR := .tmp_build .PHONY: cmd/single/dist cmd/single/dist: export FLYTECONSOLE_VERSION ?= latest @@ -20,7 +21,7 @@ cmd/single/dist: .PHONY: compile compile: cmd/single/dist go build -tags console -v -o flyte -ldflags=$(LD_FLAGS) ./cmd/ - mv ./flyte ${GOPATH}/bin || echo "Skipped copying 'flyte' to ${GOPATH}/bin" + mv ./flyte ${GOPATH}/bin/ || echo "Skipped copying 'flyte' to ${GOPATH}/bin" .PHONY: linux_compile linux_compile: cmd/single/dist @@ -43,7 +44,7 @@ release_automation: $(MAKE) -C docker/sandbox-bundled manifests .PHONY: deploy_sandbox -deploy_sandbox: +deploy_sandbox: bash script/deploy.sh .PHONY: install-piptools @@ -56,7 +57,9 @@ install-conda-lock: .PHONY: conda-lock conda-lock: install-conda-lock - conda-lock -f monodocs-environment.yaml --without-cuda --lockfile monodocs-environment.lock.yaml + conda-lock -f monodocs-environment.yaml --without-cuda \ + --lockfile monodocs-environment.lock.yaml \ + --platform=osx-64 --platform=osx-arm64 --platform=linux-64 .PHONY: stats stats: @@ -80,10 +83,30 @@ helm_install: ## Install helm charts helm_upgrade: ## Upgrade helm charts helm upgrade flyte --debug ./charts/flyte -f ./charts/flyte/values.yaml --create-namespace --namespace=flyte +# Used in CI .PHONY: docs docs: make -C docs clean html SPHINXOPTS=-W +$(TMP_BUILD_DIR): + mkdir $@ + +$(TMP_BUILD_DIR)/conda-lock-image: docs/Dockerfile.conda-lock | $(TMP_BUILD_DIR) + docker buildx build --load --platform=linux/amd64 --build-arg USER_UID=$$(id -u) --build-arg USER_GID=$$(id -g) -t flyte-conda-lock:latest -f docs/Dockerfile.conda-lock . + touch $(TMP_BUILD_DIR)/conda-lock-image + +monodocs-environment.lock.yaml: monodocs-environment.yaml $(TMP_BUILD_DIR)/conda-lock-image + docker run --platform=linux/amd64 --rm --pull never -v ./:/flyte flyte-conda-lock:latest lock --file monodocs-environment.yaml --lockfile monodocs-environment.lock.yaml + +$(TMP_BUILD_DIR)/dev-docs-image: docs/Dockerfile.docs monodocs-environment.lock.yaml | $(TMP_BUILD_DIR) + docker buildx build --load --platform=linux/amd64 --build-arg USER_UID=$$(id -u) --build-arg USER_GID=$$(id -g) -t flyte-dev-docs:latest -f docs/Dockerfile.docs . + touch $(TMP_BUILD_DIR)/dev-docs-image + +# Build docs in docker container for local development +.PHONY: dev-docs +dev-docs: $(TMP_BUILD_DIR)/dev-docs-image + bash script/local_build_docs.sh + .PHONY: help help: SHELL := /bin/sh help: ## List available commands and their usage @@ -118,6 +141,10 @@ lint-helm-charts: # This pressuposes that you have act installed act pull_request -W .github/workflows/validate-helm-charts.yaml --container-architecture linux/amd64 -e charts/event.json +.PHONY: spellcheck +spellcheck: + act pull_request --container-architecture linux/amd64 -W .github/workflows/codespell.yml + .PHONY: clean -clean: ## Remove the HTML files related to the Flyteconsole. - rm -rf cmd/single/dist +clean: ## Remove the HTML files related to the Flyteconsole and Makefile + rm -rf cmd/single/dist .tmp_build diff --git a/README.md b/README.md index 6049f262ef8..3bf96ba0c6d 100644 --- a/README.md +++ b/README.md @@ -137,7 +137,6 @@ Join the likes of LinkedIn, Spotify, Freenome, Pachama, Warner Bros. and many ot ## How to stay involved -📆 [Weekly office hours](https://calendly.com/flyte-office-hours-01/30min): Live informal sessions with the Flyte team held every week. Book a 30-minute slot and get your questions answered.
👥 [Monthly community sync](https://www.addevent.com/event/EA7823958): Happening the first Tuesday of every month, this is where the Flyte team provides updates on the project, and community members can share their progress and ask questions.
💬 [Slack](https://slack.flyte.org/): Join the Flyte community on Slack to chat with other users, ask questions, and get help.
⚠️ [Newsletter](https://lists.lfaidata.foundation/g/flyte-announce/join): join this group to receive the Flyte Monthly newsletter.
@@ -166,3 +165,5 @@ There are many ways to get involved in Flyte, including: ## License Flyte is available under the Apache License 2.0. Use it wisely. + + \ No newline at end of file diff --git a/datacatalog/boilerplate/flyte/docker_build/Makefile b/boilerplate/flyte/docker_build/Makefile similarity index 100% rename from datacatalog/boilerplate/flyte/docker_build/Makefile rename to boilerplate/flyte/docker_build/Makefile diff --git a/datacatalog/boilerplate/flyte/docker_build/Readme.rst b/boilerplate/flyte/docker_build/Readme.rst similarity index 100% rename from datacatalog/boilerplate/flyte/docker_build/Readme.rst rename to boilerplate/flyte/docker_build/Readme.rst diff --git a/datacatalog/boilerplate/flyte/docker_build/docker_build.sh b/boilerplate/flyte/docker_build/docker_build.sh similarity index 100% rename from datacatalog/boilerplate/flyte/docker_build/docker_build.sh rename to boilerplate/flyte/docker_build/docker_build.sh diff --git a/boilerplate/flyte/end2end/run-tests.py b/boilerplate/flyte/end2end/run-tests.py index 905f29079ce..f6558247a6e 100644 --- a/boilerplate/flyte/end2end/run-tests.py +++ b/boilerplate/flyte/end2end/run-tests.py @@ -75,9 +75,11 @@ def schedule_workflow_groups( workflow_group_item = list( filter(lambda item: item["name"] == wf_group, parsed_manifest) ) - workflows = [] - if workflow_group_item: - workflows = workflow_group_item[0]["examples"] + if not workflow_group_item: + continue + workflows = workflow_group_item[0].get("examples") + if not workflows: + continue executions_by_wfgroup[wf_group] = [ execute_workflow(remote, tag, workflow[0], workflow[1], cluster_pool_name) for workflow in workflows diff --git a/datacatalog/boilerplate/flyte/flyte_golang_compile/Readme.rst b/boilerplate/flyte/flyte_golang_compile/Readme.rst similarity index 100% rename from datacatalog/boilerplate/flyte/flyte_golang_compile/Readme.rst rename to boilerplate/flyte/flyte_golang_compile/Readme.rst diff --git a/datacatalog/boilerplate/flyte/flyte_golang_compile/flyte_golang_compile.Template b/boilerplate/flyte/flyte_golang_compile/flyte_golang_compile.Template similarity index 100% rename from datacatalog/boilerplate/flyte/flyte_golang_compile/flyte_golang_compile.Template rename to boilerplate/flyte/flyte_golang_compile/flyte_golang_compile.Template diff --git a/datacatalog/boilerplate/flyte/flyte_golang_compile/update.sh b/boilerplate/flyte/flyte_golang_compile/update.sh similarity index 100% rename from datacatalog/boilerplate/flyte/flyte_golang_compile/update.sh rename to boilerplate/flyte/flyte_golang_compile/update.sh diff --git a/datacatalog/boilerplate/flyte/github_workflows/Readme.rst b/boilerplate/flyte/github_workflows/Readme.rst similarity index 100% rename from datacatalog/boilerplate/flyte/github_workflows/Readme.rst rename to boilerplate/flyte/github_workflows/Readme.rst diff --git a/datacatalog/boilerplate/flyte/github_workflows/boilerplate_automation.yml b/boilerplate/flyte/github_workflows/boilerplate_automation.yml similarity index 96% rename from datacatalog/boilerplate/flyte/github_workflows/boilerplate_automation.yml rename to boilerplate/flyte/github_workflows/boilerplate_automation.yml index 9bda305d4f9..4e586a2e7e6 100644 --- a/datacatalog/boilerplate/flyte/github_workflows/boilerplate_automation.yml +++ b/boilerplate/flyte/github_workflows/boilerplate_automation.yml @@ -6,7 +6,7 @@ jobs: name: Update Boilerplate runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: fetch-depth: "0" - name: Update Boilerplate diff --git a/datacatalog/boilerplate/flyte/github_workflows/master.yml b/boilerplate/flyte/github_workflows/master.yml similarity index 95% rename from datacatalog/boilerplate/flyte/github_workflows/master.yml rename to boilerplate/flyte/github_workflows/master.yml index a8eab5af0e1..8007b291d0b 100644 --- a/datacatalog/boilerplate/flyte/github_workflows/master.yml +++ b/boilerplate/flyte/github_workflows/master.yml @@ -9,7 +9,7 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@master + - uses: actions/checkout@v4 with: fetch-depth: '0' - name: Bump version and push tag diff --git a/flytecopilot/boilerplate/flyte/github_workflows/pull_request.yml b/boilerplate/flyte/github_workflows/pull_request.yml similarity index 93% rename from flytecopilot/boilerplate/flyte/github_workflows/pull_request.yml rename to boilerplate/flyte/github_workflows/pull_request.yml index 932400bc4f3..f4e9a5252a4 100644 --- a/flytecopilot/boilerplate/flyte/github_workflows/pull_request.yml +++ b/boilerplate/flyte/github_workflows/pull_request.yml @@ -7,7 +7,7 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 - name: Push Docker Image to Github Registry uses: whoan/docker-build-with-cache-action@v5 with: diff --git a/datacatalog/boilerplate/flyte/github_workflows/stale.yml b/boilerplate/flyte/github_workflows/stale.yml similarity index 100% rename from datacatalog/boilerplate/flyte/github_workflows/stale.yml rename to boilerplate/flyte/github_workflows/stale.yml diff --git a/datacatalog/boilerplate/flyte/github_workflows/update.sh b/boilerplate/flyte/github_workflows/update.sh similarity index 100% rename from datacatalog/boilerplate/flyte/github_workflows/update.sh rename to boilerplate/flyte/github_workflows/update.sh diff --git a/flytecopilot/boilerplate/flyte/golang_support_tools/go.mod b/boilerplate/flyte/golang_support_tools/go.mod similarity index 63% rename from flytecopilot/boilerplate/flyte/golang_support_tools/go.mod rename to boilerplate/flyte/golang_support_tools/go.mod index 2cfeb8aa3a2..c7676dd9072 100644 --- a/flytecopilot/boilerplate/flyte/golang_support_tools/go.mod +++ b/boilerplate/flyte/golang_support_tools/go.mod @@ -1,37 +1,33 @@ module github.com/flyteorg/boilerplate -go 1.19 +go 1.22 require ( - github.com/EngHabu/mockery v0.0.0-20220405200825-3f76291311cf + github.com/EngHabu/mockery v0.0.0-20220916190332-dde70e38baba github.com/alvaroloes/enumer v1.1.2 - github.com/flyteorg/flytestdlib v0.4.16 + github.com/flyteorg/flyte/flytestdlib v1.11.0 github.com/golangci/golangci-lint v1.53.3 github.com/pseudomuto/protoc-gen-doc v1.4.1 + github.com/vektra/mockery/v2 v2.40.3 ) require ( 4d63.com/gocheckcompilerdirectives v1.2.1 // indirect 4d63.com/gochecknoglobals v0.2.1 // indirect - cloud.google.com/go v0.110.2 // indirect - cloud.google.com/go/compute v1.19.3 // indirect + cloud.google.com/go v0.112.0 // indirect + cloud.google.com/go/compute v1.23.3 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v1.1.2 // indirect - cloud.google.com/go/storage v1.29.0 // indirect + cloud.google.com/go/iam v1.1.5 // indirect + cloud.google.com/go/storage v1.36.0 // indirect github.com/4meepo/tagalign v1.2.2 // indirect github.com/Abirdcfly/dupword v0.0.11 // indirect github.com/Antonboom/errname v0.1.10 // indirect github.com/Antonboom/nilnil v0.1.5 // indirect - github.com/Azure/azure-sdk-for-go v62.3.0+incompatible // indirect - github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1 // indirect - github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3 // indirect - github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0 // indirect - github.com/Azure/go-autorest v14.2.0+incompatible // indirect - github.com/Azure/go-autorest/autorest v0.11.17 // indirect - github.com/Azure/go-autorest/autorest/adal v0.9.10 // indirect - github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect - github.com/Azure/go-autorest/logger v0.2.0 // indirect - github.com/Azure/go-autorest/tracing v0.6.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/azcore v1.13.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.4.0 // indirect + github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect github.com/BurntSushi/toml v1.3.2 // indirect github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0 // indirect @@ -44,7 +40,7 @@ require ( github.com/aokoli/goutils v1.0.1 // indirect github.com/ashanbrown/forbidigo v1.5.3 // indirect github.com/ashanbrown/makezero v1.1.1 // indirect - github.com/aws/aws-sdk-go v1.37.1 // indirect + github.com/aws/aws-sdk-go v1.44.2 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bkielbasa/cyclop v1.2.1 // indirect github.com/blizzy78/varnamelen v0.8.0 // indirect @@ -57,25 +53,32 @@ require ( github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/charithe/durationcheck v0.0.10 // indirect github.com/chavacava/garif v0.0.0-20230227094218-b8c73b2037b8 // indirect + github.com/chigopher/pathlib v0.19.1 // indirect github.com/coocood/freecache v1.1.1 // indirect github.com/curioswitch/go-reassign v0.2.0 // indirect github.com/daixiang0/gci v0.10.1 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/denis-tingaikin/go-header v0.4.3 // indirect - github.com/envoyproxy/protoc-gen-validate v0.10.0 // indirect + github.com/emicklei/go-restful/v3 v3.9.0 // indirect + github.com/envoyproxy/protoc-gen-validate v1.0.4 // indirect github.com/ernesto-jimenez/gogen v0.0.0-20180125220232-d7d4131e6607 // indirect github.com/esimonov/ifshort v1.0.4 // indirect github.com/ettle/strcase v0.1.1 // indirect + github.com/evanphx/json-patch/v5 v5.6.0 // indirect github.com/fatih/color v1.15.0 // indirect github.com/fatih/structtag v1.2.0 // indirect + github.com/felixge/httpsnoop v1.0.4 // indirect github.com/firefart/nonamedreturns v1.0.4 // indirect - github.com/flyteorg/stow v0.3.1 // indirect - github.com/form3tech-oss/jwt-go v3.2.2+incompatible // indirect - github.com/fsnotify/fsnotify v1.5.4 // indirect + github.com/flyteorg/stow v0.3.10 // indirect + github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/fzipp/gocyclo v0.6.0 // indirect github.com/ghodss/yaml v1.0.0 // indirect github.com/go-critic/go-critic v0.8.1 // indirect - github.com/go-logr/logr v1.2.4 // indirect + github.com/go-logr/logr v1.3.0 // indirect + github.com/go-logr/stdr v1.2.2 // indirect + github.com/go-openapi/jsonpointer v0.19.6 // indirect + github.com/go-openapi/jsonreference v0.20.2 // indirect + github.com/go-openapi/swag v0.22.3 // indirect github.com/go-toolsmith/astcast v1.1.0 // indirect github.com/go-toolsmith/astcopy v1.1.0 // indirect github.com/go-toolsmith/astequal v1.1.0 // indirect @@ -86,10 +89,10 @@ require ( github.com/go-xmlfmt/xmlfmt v1.1.2 // indirect github.com/gobwas/glob v0.2.3 // indirect github.com/gofrs/flock v0.8.1 // indirect - github.com/gofrs/uuid v4.2.0+incompatible // indirect github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang-jwt/jwt/v5 v5.2.1 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.3 // indirect + github.com/golang/protobuf v1.5.4 // indirect github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 // indirect github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe // indirect @@ -99,52 +102,63 @@ require ( github.com/golangci/misspell v0.4.0 // indirect github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6 // indirect github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 // indirect - github.com/google/go-cmp v0.5.9 // indirect - github.com/google/s2a-go v0.1.4 // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect - github.com/googleapis/gax-go/v2 v2.11.0 // indirect + github.com/google/gnostic-models v0.6.8 // indirect + github.com/google/go-cmp v0.6.0 // indirect + github.com/google/gofuzz v1.2.0 // indirect + github.com/google/s2a-go v0.1.7 // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect + github.com/googleapis/gax-go/v2 v2.12.0 // indirect github.com/gordonklaus/ineffassign v0.0.0-20230610083614-0e73809eb601 // indirect github.com/gostaticanalysis/analysisutil v0.7.1 // indirect github.com/gostaticanalysis/comment v1.4.2 // indirect github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect github.com/gostaticanalysis/nilerr v0.1.1 // indirect - github.com/hashicorp/errwrap v1.0.0 // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/go-version v1.6.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/hexops/gotextdiff v1.0.3 // indirect - github.com/huandu/xstrings v1.0.0 // indirect - github.com/imdario/mergo v0.3.5 // indirect + github.com/huandu/xstrings v1.4.0 // indirect + github.com/iancoleman/strcase v0.3.0 // indirect + github.com/imdario/mergo v0.3.6 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jgautheron/goconst v1.5.1 // indirect github.com/jingyugao/rowserrcheck v1.1.1 // indirect + github.com/jinzhu/copier v0.3.5 // indirect github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect + github.com/josharian/intern v1.0.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect github.com/julz/importas v0.1.0 // indirect github.com/kisielk/errcheck v1.6.3 // indirect github.com/kisielk/gotool v1.0.0 // indirect github.com/kkHAIKE/contextcheck v1.1.4 // indirect github.com/kulti/thelper v0.6.3 // indirect github.com/kunwardeep/paralleltest v1.0.7 // indirect + github.com/kylelemons/godebug v1.1.0 // indirect github.com/kyoh86/exportloopref v0.1.11 // indirect github.com/ldez/gomoddirectives v0.2.3 // indirect github.com/ldez/tagliatelle v0.5.0 // indirect github.com/leonklingele/grouper v1.1.1 // indirect github.com/lufeee/execinquery v1.2.1 // indirect - github.com/magiconair/properties v1.8.6 // indirect + github.com/magiconair/properties v1.8.7 // indirect + github.com/mailru/easyjson v0.7.7 // indirect github.com/maratori/testableexamples v1.0.0 // indirect github.com/maratori/testpackage v1.1.1 // indirect github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.17 // indirect github.com/mattn/go-runewidth v0.0.9 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mbilski/exhaustivestruct v1.2.0 // indirect github.com/mgechev/revive v1.3.2 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect github.com/moricho/tparallel v0.3.1 // indirect + github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007 // indirect github.com/nakabonne/nestif v0.3.1 // indirect github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354 // indirect @@ -154,20 +168,21 @@ require ( github.com/nunnatsa/ginkgolinter v0.12.1 // indirect github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/pascaldekloe/name v0.0.0-20180628100202-0fd16699aae1 // indirect - github.com/pelletier/go-toml v1.9.5 // indirect - github.com/pelletier/go-toml/v2 v2.0.5 // indirect + github.com/pelletier/go-toml/v2 v2.0.6 // indirect + github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/polyfloyd/go-errorlint v1.4.2 // indirect - github.com/prometheus/client_golang v1.12.1 // indirect - github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.32.1 // indirect - github.com/prometheus/procfs v0.7.3 // indirect + github.com/prometheus/client_golang v1.16.0 // indirect + github.com/prometheus/client_model v0.4.0 // indirect + github.com/prometheus/common v0.44.0 // indirect + github.com/prometheus/procfs v0.10.1 // indirect github.com/pseudomuto/protokit v0.2.0 // indirect github.com/quasilyte/go-ruleguard v0.3.19 // indirect github.com/quasilyte/gogrep v0.5.0 // indirect github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect + github.com/rs/zerolog v1.29.0 // indirect github.com/ryancurrah/gomodguard v1.3.0 // indirect github.com/ryanrolds/sqlclosecheck v0.4.0 // indirect github.com/sanposhiho/wastedassign/v2 v2.0.7 // indirect @@ -181,17 +196,17 @@ require ( github.com/sivchari/tenv v1.7.1 // indirect github.com/sonatard/noctx v0.0.2 // indirect github.com/sourcegraph/go-diff v0.7.0 // indirect - github.com/spf13/afero v1.8.2 // indirect + github.com/spf13/afero v1.10.0 // indirect github.com/spf13/cast v1.5.0 // indirect github.com/spf13/cobra v1.7.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.12.0 // indirect + github.com/spf13/viper v1.15.0 // indirect github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect github.com/stbenjam/no-sprintf-host-port v0.1.1 // indirect - github.com/stretchr/objx v0.5.0 // indirect - github.com/stretchr/testify v1.8.4 // indirect - github.com/subosito/gotenv v1.4.1 // indirect + github.com/stretchr/objx v0.5.2 // indirect + github.com/stretchr/testify v1.9.0 // indirect + github.com/subosito/gotenv v1.4.2 // indirect github.com/t-yuki/gocover-cobertura v0.0.0-20180217150009-aaee18c8195c // indirect github.com/tdakkota/asciicheck v0.2.0 // indirect github.com/tetafro/godot v1.4.11 // indirect @@ -208,40 +223,58 @@ require ( github.com/ykadowak/zerologlint v0.1.2 // indirect gitlab.com/bosi/decorder v0.2.3 // indirect go.opencensus.io v0.24.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 // indirect + go.opentelemetry.io/otel v1.21.0 // indirect + go.opentelemetry.io/otel/exporters/jaeger v1.17.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.19.0 // indirect + go.opentelemetry.io/otel/metric v1.21.0 // indirect + go.opentelemetry.io/otel/sdk v1.21.0 // indirect + go.opentelemetry.io/otel/trace v1.21.0 // indirect go.tmz.dev/musttag v0.7.0 // indirect - go.uber.org/atomic v1.7.0 // indirect - go.uber.org/multierr v1.6.0 // indirect - go.uber.org/zap v1.24.0 // indirect - golang.org/x/crypto v0.11.0 // indirect + go.uber.org/multierr v1.11.0 // indirect + go.uber.org/zap v1.25.0 // indirect + golang.org/x/crypto v0.25.0 // indirect golang.org/x/exp v0.0.0-20230510235704-dd950f8aeaea // indirect golang.org/x/exp/typeparams v0.0.0-20230224173230-c95f2b4c22f2 // indirect - golang.org/x/mod v0.12.0 // indirect - golang.org/x/net v0.12.0 // indirect - golang.org/x/oauth2 v0.8.0 // indirect - golang.org/x/sync v0.3.0 // indirect - golang.org/x/sys v0.10.0 // indirect - golang.org/x/text v0.11.0 // indirect - golang.org/x/time v0.0.0-20201208040808-7e3f01d25324 // indirect - golang.org/x/tools v0.11.1 // indirect - golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - google.golang.org/api v0.126.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc // indirect - google.golang.org/grpc v1.55.0 // indirect - google.golang.org/protobuf v1.30.0 // indirect + golang.org/x/mod v0.17.0 // indirect + golang.org/x/net v0.27.0 // indirect + golang.org/x/oauth2 v0.16.0 // indirect + golang.org/x/sync v0.7.0 // indirect + golang.org/x/sys v0.22.0 // indirect + golang.org/x/term v0.22.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/time v0.5.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect + google.golang.org/api v0.155.0 // indirect + google.golang.org/appengine v1.6.8 // indirect + google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240123012728-ef4313101c80 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 // indirect + google.golang.org/grpc v1.62.1 // indirect + google.golang.org/protobuf v1.33.0 // indirect + gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect honnef.co/go/tools v0.4.3 // indirect - k8s.io/apimachinery v0.20.2 // indirect - k8s.io/client-go v0.0.0-20210217172142-7279fc64d847 // indirect - k8s.io/klog/v2 v2.5.0 // indirect + k8s.io/api v0.28.2 // indirect + k8s.io/apimachinery v0.28.2 // indirect + k8s.io/client-go v0.28.1 // indirect + k8s.io/klog/v2 v2.100.1 // indirect + k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect + k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect mvdan.cc/gofumpt v0.5.0 // indirect mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed // indirect mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b // indirect mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d // indirect + sigs.k8s.io/controller-runtime v0.0.0-00010101000000-000000000000 // indirect + sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect + sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect + sigs.k8s.io/yaml v1.3.0 // indirect ) -replace github.com/pseudomuto/protoc-gen-doc => github.com/flyteorg/protoc-gen-doc v1.4.2 +replace ( + github.com/pseudomuto/protoc-gen-doc => github.com/flyteorg/protoc-gen-doc v1.4.2 + sigs.k8s.io/controller-runtime => sigs.k8s.io/controller-runtime v0.16.2 +) diff --git a/datacatalog/boilerplate/flyte/golang_support_tools/go.sum b/boilerplate/flyte/golang_support_tools/go.sum similarity index 81% rename from datacatalog/boilerplate/flyte/golang_support_tools/go.sum rename to boilerplate/flyte/golang_support_tools/go.sum index 4cc434803e2..6aa6b8d9695 100644 --- a/datacatalog/boilerplate/flyte/golang_support_tools/go.sum +++ b/boilerplate/flyte/golang_support_tools/go.sum @@ -21,22 +21,22 @@ cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHOb cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go v0.110.2 h1:sdFPBr6xG9/wkBbfhmUz/JmZC7X6LavQgcrVINrKiVA= -cloud.google.com/go v0.110.2/go.mod h1:k04UEeEtb6ZBRTv3dZz4CeJC3jKGxyhl0sAiVVquxiw= +cloud.google.com/go v0.112.0 h1:tpFCD7hpHFlQ8yPwT3x+QeXqc2T6+n6T+hmABHfDUSM= +cloud.google.com/go v0.112.0/go.mod h1:3jEEVwZ/MHU4djK5t5RHuKOA/GbLddgTdVubX1qnPD4= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute v1.19.3 h1:DcTwsFgGev/wV5+q8o2fzgcHOaac+DKGC91ZlvpsQds= -cloud.google.com/go/compute v1.19.3/go.mod h1:qxvISKp/gYnXkSAD1ppcSOveRAmzxicEv/JlizULFrI= +cloud.google.com/go/compute v1.23.3 h1:6sVlXXBmbd7jNX0Ipq0trII3e4n1/MsADLK6a+aiVlk= +cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzcFZeQ+h8CI= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/iam v1.1.2 h1:gacbrBdWcoVmGLozRuStX45YKvJtzIjJdAolzUs1sm4= -cloud.google.com/go/iam v1.1.2/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU= +cloud.google.com/go/iam v1.1.5 h1:1jTsCu4bcsNsE4iiqNT5SHwrDRCfRmIaaaVFhRveTJI= +cloud.google.com/go/iam v1.1.5/go.mod h1:rB6P/Ic3mykPbFio+vo7403drjlgvoWfYpJhMXEbzv8= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= @@ -47,8 +47,8 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -cloud.google.com/go/storage v1.29.0 h1:6weCgzRvMg7lzuUurI4697AqIRPU1SvzHhynwpW31jI= -cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4= +cloud.google.com/go/storage v1.36.0 h1:P0mOkAcaJxhCTvAkMhxMfrTKiNcub4YmmPBtlhAyTr8= +cloud.google.com/go/storage v1.36.0/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/4meepo/tagalign v1.2.2 h1:kQeUTkFTaBRtd/7jm8OKJl9iHk0gAO+TDFPHGSna0aw= github.com/4meepo/tagalign v1.2.2/go.mod h1:Q9c1rYMZJc9dPRkbQPpcBNCLEmY2njbAsXhQOZFE2dE= @@ -58,39 +58,26 @@ github.com/Antonboom/errname v0.1.10 h1:RZ7cYo/GuZqjr1nuJLNe8ZH+a+Jd9DaZzttWzak9 github.com/Antonboom/errname v0.1.10/go.mod h1:xLeiCIrvVNpUtsN0wxAh05bNIZpqE22/qDMnTBTttiA= github.com/Antonboom/nilnil v0.1.5 h1:X2JAdEVcbPaOom2TUa1FxZ3uyuUlex0XMLGYMemu6l0= github.com/Antonboom/nilnil v0.1.5/go.mod h1:I24toVuBKhfP5teihGWctrRiPbRKHwZIFOvc6v3HZXk= -github.com/Azure/azure-sdk-for-go v62.3.0+incompatible h1:Ctfsn9UoA/BB4HMYQlbPPgNXdX0tZ4tmb85+KFb2+RE= -github.com/Azure/azure-sdk-for-go v62.3.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1 h1:qoVeMsc9/fh/yhxVaA0obYjVH/oI/ihrOoMwsLS9KSA= -github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1/go.mod h1:fBF9PQNqB8scdgpZ3ufzaLntG0AG7C1WjPMsiFOmfHM= -github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3 h1:E+m3SkZCN0Bf5q7YdTs5lSm2CYY3CK4spn5OmUIiQtk= -github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3/go.mod h1:KLF4gFr6DcKFZwSuH8w8yEK6DpFl3LP5rhdvAb7Yz5I= -github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0 h1:Px2UA+2RvSSvv+RvJNuUB6n7rs5Wsel4dXLe90Um2n4= -github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0/go.mod h1:tPaiy8S5bQ+S5sOiDlINkp7+Ef339+Nz5L5XO+cnOHo= -github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= -github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.11.12/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw= -github.com/Azure/go-autorest/autorest v0.11.17 h1:2zCdHwNgRH+St1J+ZMf66xI8aLr/5KMy+wWLH97zwYM= -github.com/Azure/go-autorest/autorest v0.11.17/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw= -github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= -github.com/Azure/go-autorest/autorest/adal v0.9.10 h1:r6fZHMaHD8B6LDCn0o5vyBFHIHrM6Ywwx7mb49lPItI= -github.com/Azure/go-autorest/autorest/adal v0.9.10/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= -github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= -github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.4.1 h1:K0laFcLE6VLTOwNgSxaGbUcLPuGXlNkbVvq4cW4nIHk= -github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/autorest/to v0.4.0 h1:oXVqrxakqqV1UZdSazDOPOLvOIz+XA683u8EctwboHk= -github.com/Azure/go-autorest/logger v0.2.0 h1:e4RVHVZKC5p6UANLJHkM4OfR1UKZPj8Wt8Pcx+3oqrE= -github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= -github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.13.0 h1:GJHeeA2N7xrG3q30L2UXDyuWRzDM900/65j70wcM4Ww= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.13.0/go.mod h1:l38EPgmsp71HHLq9j7De57JcKOWPyhrsW1Awm1JS6K0= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 h1:tfLQ34V6F7tVSwoTf/4lH5sE0o6eCJuNDTmH09nDpbc= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0/go.mod h1:9kIvujWAA58nmPmWB1m23fyWic1kYZMxD9CxaWn4Qpg= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 h1:ywEEhmNahHBihViHepv3xPBn1663uRv2t2q/ESv9seY= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0/go.mod h1:iZDifYGJTIgIIkYRNWPENUnqx6bJ2xnSDFI2tjwZNuY= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.6.0 h1:PiSrjRPpkQNjrM8H0WwKMnZUdu1RGMtd/LdGKUrOo+c= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.6.0/go.mod h1:oDrbWx4ewMylP7xHivfgixbfGBT6APAwsSoHRKotnIc= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.4.0 h1:Be6KInmFEKV81c0pOAEbRYehLMwmmGI1exuFj248AMk= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.4.0/go.mod h1:WCPBHsOXfBVnivScjs2ypRfimjEW0qPVLGgJkZlrIOA= +github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 h1:XHOnouVk1mxXfQidrMEnLlPk9UMeRtyBTnEFtxkV0kU= +github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 h1:sHglBQTwgx+rWPdisA5ynNEsoARbiCBOyGcJM4/OzsM= github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= -github.com/EngHabu/mockery v0.0.0-20220405200825-3f76291311cf h1:M7A2Tn3R8rVgsoJHHKkmkpiNOItys4GxJj6JytRjdDg= -github.com/EngHabu/mockery v0.0.0-20220405200825-3f76291311cf/go.mod h1:Kya4Y46gyq/3TEyAzeNe5UkCk+W9apy5KbuX+5KnZ6M= +github.com/EngHabu/mockery v0.0.0-20220916190332-dde70e38baba h1:HDBbUo0odjuCCtStDS//vNd3CeP1GdjQVhFmSZLnFwU= +github.com/EngHabu/mockery v0.0.0-20220916190332-dde70e38baba/go.mod h1:DjqxgJ6VUERvvVE41d4Rrn72K29MXwk9ziY18bi36BU= github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0 h1:+r1rSv4gvYn0wmRjC8X7IAzX8QezqtFV9m0MUHFJgts= github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0/go.mod h1:b3g59n2Y+T5xmcxJL+UEG2f8cQploZm1mR/v6BW0mU0= github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= @@ -98,13 +85,10 @@ github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3Q github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/sprig v2.15.0+incompatible h1:0gSxPGWS9PAr7U2NsQ2YQg6juRDINkUyuvbb4b2Xm8w= github.com/Masterminds/sprig v2.15.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= -github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OpenPeeDeeP/depguard/v2 v2.1.0 h1:aQl70G173h/GZYhWf36aE5H0KaujXfVMnn/f1kSDVYY= github.com/OpenPeeDeeP/depguard/v2 v2.1.0/go.mod h1:PUBgk35fX4i7JDmwzlJwJ+GMe6NfO1723wmJMgPThNQ= -github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -118,17 +102,16 @@ github.com/alingse/asasalint v0.0.11 h1:SFwnQXJ49Kx/1GghOFz1XGqHYKp21Kq1nHad/0WQ github.com/alingse/asasalint v0.0.11/go.mod h1:nCaoMhw7a9kSJObvQyVzNTPBDbNpdocqrSP7t/cW5+I= github.com/alvaroloes/enumer v1.1.2 h1:5khqHB33TZy1GWCO/lZwcroBFh7u+0j40T83VUbfAMY= github.com/alvaroloes/enumer v1.1.2/go.mod h1:FxrjvuXoDAx9isTJrv4c+T410zFi0DtXIT0m65DJ+Wo= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/aokoli/goutils v1.0.1 h1:7fpzNGoJ3VA8qcrm++XEE1QUe0mIwNeLa02Nwq7RDkg= github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= -github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/ashanbrown/forbidigo v1.5.3 h1:jfg+fkm/snMx+V9FBwsl1d340BV/99kZGv5jN9hBoXk= github.com/ashanbrown/forbidigo v1.5.3/go.mod h1:Y8j9jy9ZYAEHXdu723cUlraTqbzjKF1MUyfOKL+AjcU= github.com/ashanbrown/makezero v1.1.1 h1:iCQ87C0V0vSyO+M9E/FZYbu65auqH0lnsOkf5FcB28s= github.com/ashanbrown/makezero v1.1.1/go.mod h1:i1bJLCRSCHOcOa9Y6MyF2FTfMZMFdHvxKHxgO5Z1axI= -github.com/aws/aws-sdk-go v1.37.1 h1:BTHmuN+gzhxkvU9sac2tZvaY0gV9ihbHw+KxZOecYvY= -github.com/aws/aws-sdk-go v1.37.1/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= +github.com/aws/aws-sdk-go v1.44.2 h1:5VBk5r06bgxgRKVaUtm1/4NT/rtrnH2E4cnAYv5zgQc= +github.com/aws/aws-sdk-go v1.44.2/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= +github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -159,6 +142,9 @@ github.com/charithe/durationcheck v0.0.10/go.mod h1:bCWXb7gYRysD1CU3C+u4ceO49LoG github.com/chavacava/garif v0.0.0-20230227094218-b8c73b2037b8 h1:W9o46d2kbNL06lq7UNDPV0zYLzkrde/bjIqO02eoll0= github.com/chavacava/garif v0.0.0-20230227094218-b8c73b2037b8/go.mod h1:gakxgyXaaPkxvLw1XQxNGK4I37ys9iBRzNUx/B7pUCo= github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927 h1:SKI1/fuSdodxmNNyVBR8d7X/HuLnRpvvFO0AgyQk764= +github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927/go.mod h1:h/aW8ynjgkuj+NQRlZcDbAbM1ORAbXjXX77sX7T289U= +github.com/chigopher/pathlib v0.19.1 h1:RoLlUJc0CqBGwq239cilyhxPNLXTK+HXoASGyGznx5A= +github.com/chigopher/pathlib v0.19.1/go.mod h1:tzC1dZLW8o33UQpWkNkhvPwL5n4yyFRFm/jL1YGWFvY= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= @@ -166,13 +152,13 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa h1:jQCWAUqqlij9Pgj2i/PB79y4KOPYVyFYdROxgaCwdTQ= +github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa/go.mod h1:x/1Gn8zydmfq8dk6e9PdstVsDgu9RuyIIJqAaF//0IM= github.com/coocood/freecache v1.1.1 h1:uukNF7QKCZEdZ9gAV7WQzvh0SbjwdMF6m3x3rxEkaPc= github.com/coocood/freecache v1.1.1/go.mod h1:OKrEjkGVoxZhyWAJoeFi5BMLUJm2Tit0kpGkIr7NGYY= +github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/curioswitch/go-reassign v0.2.0 h1:G9UZyOcpk/d7Gd6mqYgd8XYWFMw/znxwGDUstnC9DIo= github.com/curioswitch/go-reassign v0.2.0/go.mod h1:x6OpXuWvgfQaMGks2BZybTngWjT84hqJfKoO8Tt/Roc= github.com/daixiang0/gci v0.10.1 h1:eheNA3ljF6SxnPD/vE4lCBusVHmV3Rs3dkKvFrJ7MR0= @@ -183,52 +169,45 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/denis-tingaikin/go-header v0.4.3 h1:tEaZKAlqql6SKCY++utLmkPLd6K8IBM20Ha7UVm+mtU= github.com/denis-tingaikin/go-header v0.4.3/go.mod h1:0wOCWuN71D5qIgE2nz9KrKmuYBAC2Mra5RassOIQ2/c= -github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= -github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI= -github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= -github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= -github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= +github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.3.0-java/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v0.10.0 h1:oIfnZFdC0YhpNNEX+SuIqko4cqqVZeN9IGTrhZje83Y= -github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= +github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= +github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= github.com/ernesto-jimenez/gogen v0.0.0-20180125220232-d7d4131e6607 h1:cTavhURetDkezJCvxFggiyLeP40Mrk/TtVg2+ycw1Es= github.com/ernesto-jimenez/gogen v0.0.0-20180125220232-d7d4131e6607/go.mod h1:Cg4fM0vhYWOZdgM7RIOSTRNIc8/VT7CXClC3Ni86lu4= github.com/esimonov/ifshort v1.0.4 h1:6SID4yGWfRae/M7hkVDVVyppy8q/v9OuxNdmjLQStBA= github.com/esimonov/ifshort v1.0.4/go.mod h1:Pe8zjlRrJ80+q2CxHLfEOfTwxCZ4O+MuhcHcfgNWTk0= github.com/ettle/strcase v0.1.1 h1:htFueZyVeE1XNnMEfbqp5r67qAN/4r6ya1ysq8Q+Zcw= github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= -github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch/v5 v5.6.0 h1:b91NhWfaz02IuVxO9faSllyAtNXHMPkC5J8sJCLunww= +github.com/evanphx/json-patch/v5 v5.6.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4= github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= +github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/firefart/nonamedreturns v1.0.4 h1:abzI1p7mAEPYuR4A+VLKn4eNDOycjYo2phmY9sfv40Y= github.com/firefart/nonamedreturns v1.0.4/go.mod h1:TDhe/tjI1BXo48CmYbUduTV7BdIga8MAO/xbKdcVsGI= -github.com/flyteorg/flytestdlib v0.4.16 h1:r4dCPUOqoE9xCAhOw9KDB7O6cBoCxyEtepIWYcj93H0= -github.com/flyteorg/flytestdlib v0.4.16/go.mod h1:WA5Y4hrcgD0ybGOKJVOQ4sP8q7NLRV+S5SWOlH0axgM= +github.com/flyteorg/flyte/flytestdlib v1.11.0 h1:DxM/sf6H0ong8LIjgh0YwXK+abnGV8kWVi6EgfVCkO8= +github.com/flyteorg/flyte/flytestdlib v1.11.0/go.mod h1:AmgNCq/tGEDwVfilW1nFtgPQn8vQ9gcDu6SNwz1YY+M= github.com/flyteorg/protoc-gen-doc v1.4.2 h1:Otw0F+RHaPQ8XlpzhLLgjsCMcrAIcMO01Zh+ALe3rrE= github.com/flyteorg/protoc-gen-doc v1.4.2/go.mod h1:exDTOVwqpp30eV/EDPFLZy3Pwr2sn6hBC1WIYH/UbIg= -github.com/flyteorg/stow v0.3.1 h1:cBMbWl03Gsy5KoA5mutUYTuYpqtT7Pb8+ANGCLnmFEs= -github.com/flyteorg/stow v0.3.1/go.mod h1:HBld7ud0i4khMHwJjkO8v+NSP7ddKa/ruhf4I8fliaA= -github.com/form3tech-oss/jwt-go v3.2.2+incompatible h1:TcekIExNqud5crz4xD2pavyTgWiPvpYe4Xau31I0PRk= -github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/flyteorg/stow v0.3.10 h1:uEe+tI+CGKn21H93uXp9z05hqynEki2BO9KkW/GweY8= +github.com/flyteorg/stow v0.3.10/go.mod h1:fArjMpsYJNWkp/hyDKKdbcv07gxbuLmKFcb7YT1aSOM= github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= -github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= +github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= +github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= +github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo= github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= -github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-critic/go-critic v0.8.1 h1:16omCF1gN3gTzt4j4J6fKI/HnRojhEp+Eks6EuKw3vw= @@ -242,20 +221,23 @@ github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vb github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= -github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= -github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= -github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= -github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY= +github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-logr/zapr v1.2.4 h1:QHVo+6stLbfJmYGkQ7uGHUCu5hnAFAj6mDe6Ea0SeOo= +github.com/go-logr/zapr v1.2.4/go.mod h1:FyHWQIzQORZ0QVE1BtVHv3cKtNLuXsbNLtpuhNapBOA= +github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= +github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= +github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= +github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= +github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= +github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/go-toolsmith/astcast v1.1.0 h1:+JN9xZV1A+Re+95pgnMgDboWNVnIMMQXwfBwLRPgSC8= github.com/go-toolsmith/astcast v1.1.0/go.mod h1:qdcuFWeGGS2xX5bLM/c3U9lewg7+Zu4mr+xPwZIB4ZU= github.com/go-toolsmith/astcopy v1.1.0 h1:YGwBN0WM+ekI/6SS6+52zLDEf8Yvp3n2seZITCUBt5s= @@ -268,6 +250,7 @@ github.com/go-toolsmith/astfmt v1.1.0/go.mod h1:OrcLlRwu0CuiIBp/8b5PYF9ktGVZUjlN github.com/go-toolsmith/astp v1.1.0 h1:dXPuCl6u2llURjdPLLDxJeZInAeZ0/eZwFJmqZMnpQA= github.com/go-toolsmith/astp v1.1.0/go.mod h1:0T1xFGz9hicKs8Z5MfAqSUitoUYS30pDMsRVIDHs8CA= github.com/go-toolsmith/pkgload v1.2.2 h1:0CtmHq/02QhxcF7E9N5LIFcYFsMR5rdovfqTtRKkgIk= +github.com/go-toolsmith/pkgload v1.2.2/go.mod h1:R2hxLNRKuAsiXCo2i5J6ZQPhnPMOVtU+f0arbFPWCus= github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8= github.com/go-toolsmith/strparse v1.1.0 h1:GAioeZUK9TGxnLS+qfdqNbA4z0SSm5zVNtCQiyP2Bvw= github.com/go-toolsmith/strparse v1.1.0/go.mod h1:7ksGy58fsaQkGQlY8WVoBFNyEPMGuJin1rfoPS4lBSQ= @@ -277,14 +260,14 @@ github.com/go-xmlfmt/xmlfmt v1.1.2 h1:Nea7b4icn8s57fTx1M5AI4qQT5HEM3rVUO8MuE6g80 github.com/go-xmlfmt/xmlfmt v1.1.2/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= -github.com/gofrs/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZgBrnJfGa0= -github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk= +github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -314,8 +297,8 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 h1:23T5iq8rbUYlhpt5DB4XJkc6BU31uODLD1o1gKvZmD0= github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4= github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a h1:w8hkcTqaFpzKqonE9uMCefW1WDie15eSP/4MssdenaM= @@ -338,6 +321,8 @@ github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 h1:zwtduBRr5SSW github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= +github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -351,15 +336,17 @@ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= +github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= @@ -370,26 +357,24 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 h1:yAJXTCF9TqKcTiHJAE8dj7HMvPfh66eeA2JYW7eFpSE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 h1:K6RDEckDVWvDI9JAJYCmNdQXq6neHJOYx3V6jnqNEec= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/s2a-go v0.1.4 h1:1kZ/sQM3srePvKs3tXAvQzo66XfcReoqFpIpIccE7Oc= -github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= +github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= +github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= github.com/google/uuid v0.0.0-20161128191214-064e2069ce9c/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/enterprise-certificate-proxy v0.2.3 h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k= -github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= +github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.11.0 h1:9V9PWXEsWnPpQhu/PeQIkS4eGzMlTLGgt80cUUI8Ki4= -github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= -github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= +github.com/googleapis/gax-go/v2 v2.12.0 h1:A+gCJKdRfqXkr+BIRGtZLibNXf0m1f9E4HG56etFpas= +github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gordonklaus/ineffassign v0.0.0-20230610083614-0e73809eb601 h1:mrEEilTAUmaAORhssPPkxj84TsHrPMLBGW2Z4SoTxm8= github.com/gordonklaus/ineffassign v0.0.0-20230610083614-0e73809eb601/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gostaticanalysis/analysisutil v0.7.1 h1:ZMCjoue3DtDWQ5WyU16YbjbQEQ3VuzwxALrpYd+HeKk= github.com/gostaticanalysis/analysisutil v0.7.1/go.mod h1:v21E3hY37WKMGSnbsw2S/ojApNWb6C1//mXO48CXbVc= github.com/gostaticanalysis/comment v1.4.1/go.mod h1:ih6ZxzTHLdadaiSnF5WY3dxUoXfXAlTaRzuaNDlSado= @@ -401,10 +386,10 @@ github.com/gostaticanalysis/nilerr v0.1.1 h1:ThE+hJP0fEp4zWLkWHWcRyI2Od0p7DlgYG3 github.com/gostaticanalysis/nilerr v0.1.1/go.mod h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW0HU0GPE3+5PWN4A= github.com/gostaticanalysis/testutil v0.3.1-0.20210208050101-bfb5c8eec0e4/go.mod h1:D+FIZ+7OahH3ePw/izIEeH5I06eKs1IKI4Xr64/Am3M= github.com/gostaticanalysis/testutil v0.4.0 h1:nhdCmubdmDF6VEatUNjgUZBJKWRqugoISdUv3PPQgHY= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= +github.com/gostaticanalysis/testutil v0.4.0/go.mod h1:bLIoPefWXrRi/ssLFWX1dx7Repi5x3CuviD3dgAZaBU= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= @@ -416,30 +401,38 @@ github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/huandu/xstrings v1.0.0 h1:pO2K/gKgKaat5LdpAhxhluX2GPQMaI3W5FUz/I/UnWk= github.com/huandu/xstrings v1.0.0/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo= +github.com/huandu/xstrings v1.4.0 h1:D17IlohoQq4UcpqD7fDk80P7l+lwAmlFaBHgOipl2FU= +github.com/huandu/xstrings v1.4.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= +github.com/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI= +github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.5 h1:JboBksRwiiAJWvIYJVo46AfV+IAIKZpfrSzVKj42R4Q= -github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= +github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jgautheron/goconst v1.5.1 h1:HxVbL1MhydKs8R8n/HE5NPvzfaYmQJA3o879lE4+WcM= github.com/jgautheron/goconst v1.5.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4= github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjzq7gFzUs= github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c= +github.com/jinzhu/copier v0.3.5 h1:GlvfUwHk62RokgqVNvYsku0TATCF7bAHVwEXoBh3iJg= +github.com/jinzhu/copier v0.3.5/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg= github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af h1:KA9BjwUk7KlCh6S9EAGWBt1oExIUv9WyNCiRz5amv48= github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= @@ -447,7 +440,6 @@ github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7V github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/julz/importas v0.1.0 h1:F78HnrsjY3cR7j0etXy5+TU1Zuy7Xt08X/1aJnH5xXY= github.com/julz/importas v0.1.0/go.mod h1:oSFU2R4XK/P7kNBrnL/FEQlDGN1/6WoxXEjSSXO0DV0= -github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/errcheck v1.6.3 h1:dEKh+GLHcWm2oN34nMvDzn1sqI0i0WxPvrgiJA5JuM8= github.com/kisielk/errcheck v1.6.3/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d8NLy0LPw= @@ -460,17 +452,19 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxv github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kulti/thelper v0.6.3 h1:ElhKf+AlItIu+xGnI990no4cE2+XaSu1ULymV2Yulxs= github.com/kulti/thelper v0.6.3/go.mod h1:DsqKShOvP40epevkFrvIwkCMNYxMeTNjdWL4dqWHZ6I= github.com/kunwardeep/paralleltest v1.0.7 h1:2uCk94js0+nVNQoHZNLBkAR1DQJrVzw6T0RMzJn55dQ= github.com/kunwardeep/paralleltest v1.0.7/go.mod h1:2C7s65hONVqY7Q5Efj5aLzRCNLjw2h4eMc9EcypGjcY= +github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= +github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/kyoh86/exportloopref v0.1.11 h1:1Z0bcmTypkL3Q4k+IDHMWTcnCliEZcaPiIe0/ymEyhQ= github.com/kyoh86/exportloopref v0.1.11/go.mod h1:qkV4UF1zGl6EkF1ox8L5t9SwyeBAZ3qLMd6up458uqA= github.com/ldez/gomoddirectives v0.2.3 h1:y7MBaisZVDYmKvt9/l1mjNCiSA1BVn34U0ObUcJwlhA= @@ -481,10 +475,10 @@ github.com/leonklingele/grouper v1.1.1 h1:suWXRU57D4/Enn6pXR0QVqqWWrnJ9Osrz+5rjt github.com/leonklingele/grouper v1.1.1/go.mod h1:uk3I3uDfi9B6PeUjsCKi6ndcf63Uy7snXgR4yDYQVDY= github.com/lufeee/execinquery v1.2.1 h1:hf0Ems4SHcUGBxpGN7Jz78z1ppVkP/837ZlETPCEtOM= github.com/lufeee/execinquery v1.2.1/go.mod h1:EC7DrEKView09ocscGHC+apXMIaorh4xqSxS/dy8SbM= -github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= -github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= +github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/maratori/testableexamples v1.0.0 h1:dU5alXRrD8WKSjOUnmJZuzdxWOEQ57+7s93SLMxb2vI= github.com/maratori/testableexamples v1.0.0/go.mod h1:4rhjL1n20TUTT4vdh3RDqSizKLyXp7K2u6HgraZCGzE= github.com/maratori/testpackage v1.1.1 h1:S58XVV5AD7HADMmD0fNnziNHqKvSdDuEKdPD1rNTU04= @@ -493,39 +487,41 @@ github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26 h1:gWg6ZQ4JhDfJPqlo2 github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= github.com/matryer/is v1.4.0 h1:sosSmIWwkYITGrxZ25ULNDeKiMNzFSr4V/eqBQP0PeE= github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= +github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/mbilski/exhaustivestruct v1.2.0 h1:wCBmUnSYufAHO6J4AVWY6ff+oxWxsVFrwgOdMUQePUo= github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= github.com/mgechev/revive v1.3.2 h1:Wb8NQKBaALBJ3xrrj4zpwJwqwNA6nDpyJSEQWcCka6U= github.com/mgechev/revive v1.3.2/go.mod h1:UCLtc7o5vg5aXCwdUTU1kEBQ1v+YXPAkYDIDXbrs5I0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= github.com/moricho/tparallel v0.3.1 h1:fQKD4U1wRMAYNngDonW5XupoB/ZGJHdpzrWqgyg9krA= github.com/moricho/tparallel v0.3.1/go.mod h1:leENX2cUv7Sv2qDgdi0D0fCftN8fRC67Bcn8pqzeYNI= -github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007 h1:28i1IjGcx8AofiB4N3q5Yls55VEaitzuEPkFJEVgGkA= github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007/go.mod h1:m2XC9Qq0AlmmVksL6FktJCdTYyLk7V3fKyp0sl1yWQo= -github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/nakabonne/nestif v0.3.1 h1:wm28nZjhQY5HyYPx+weN3Q65k6ilSBxDb8v5S81B81U= github.com/nakabonne/nestif v0.3.1/go.mod h1:9EtoZochLn5iUprVDmDjqGKPofoUEBL8U4Ngq6aY7OE= github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354 h1:4kuARK6Y6FxaNu/BnU2OAaLF86eTVhP2hjTB6iMvItA= @@ -540,14 +536,10 @@ github.com/nunnatsa/ginkgolinter v0.12.1 h1:vwOqb5Nu05OikTXqhvLdHCGcx5uthIYIl0t7 github.com/nunnatsa/ginkgolinter v0.12.1/go.mod h1:AK8Ab1PypVrcGUusuKD8RDcl2KgsIwvNaaxAlyHSzso= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= -github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.11.0 h1:JAKSXpt1YjtLA7YpPiqO9ss6sNXEsPfSGdwN0UHqzrw= -github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo/v2 v2.9.4 h1:xR7vG4IXt5RWx6FfIjyAtsoMAtnc3C/rFXBBd2AjZwE= -github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.27.6 h1:ENqfyGeS5AX/rlXDd/ETokDz93u0YufY1Pgxuy/PvWE= +github.com/onsi/ginkgo/v2 v2.11.0 h1:WgqUCUt/lT6yXoQ8Wef0fsNn5cAuMK7+KT9UFRz2tcU= +github.com/onsi/ginkgo/v2 v2.11.0/go.mod h1:ZhrRA5XmEE3x3rhlzamx/JJvujdZoJ2uvgI7kR0iZvM= +github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= +github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= github.com/otiai10/copy v1.2.0 h1:HvG945u96iNadPoG2/Ja2+AUJeW5YuFQMixq9yirC+k= github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw= github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= @@ -556,11 +548,10 @@ github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT9 github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= github.com/pascaldekloe/name v0.0.0-20180628100202-0fd16699aae1 h1:/I3lTljEEDNYLho3/FUB7iD/oc2cEFgVmbHzV+O0PtU= github.com/pascaldekloe/name v0.0.0-20180628100202-0fd16699aae1/go.mod h1:eD5JxqMiuNYyFNmyY9rkJ/slN8y59oEu4Ei7F8OoKWQ= -github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= -github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml/v2 v2.0.5 h1:ipoSadvV8oGUjnUbMub59IDPPwfxF694nG/jwbMiyQg= -github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= -github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= +github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= +github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= +github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= +github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -575,24 +566,28 @@ github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXP github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1 h1:ZiaPsmm9uiBeaSMRznKsCDNtPCS0T3JVDGF+06gjBzk= github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_golang v1.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8= +github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY= +github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4= github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdOOfY= +github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.10.1 h1:kYK1Va/YMlutzCGazswoHKo//tZVlFpKYh+PymziUAg= +github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= github.com/pseudomuto/protokit v0.2.0 h1:hlnBDcy3YEDXH7kc9gV+NLaN0cDzhDvD1s7Y6FZ8RpM= github.com/pseudomuto/protokit v0.2.0/go.mod h1:2PdH30hxVHsup8KpBTOXTBeMVhJZVio3Q8ViKSAXT0Q= github.com/quasilyte/go-ruleguard v0.3.19 h1:tfMnabXle/HzOb5Xe9CUZYWXKfkS1KwRmZyPmD9nVcc= @@ -603,9 +598,12 @@ github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 h1:TCg2WBOl github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 h1:M8mH9eK4OUR4lu7Gd+PU1fV2/qnDNfzT635KRSObncs= github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/zerolog v1.29.0 h1:Zes4hju04hjbvkVkOhdl2HpZa+0PmVwigmo8XoORE5w= +github.com/rs/zerolog v1.29.0/go.mod h1:NILgTygv/Uej1ra5XxGf82ZFSLk58MFGAUS2o6usyD0= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryancurrah/gomodguard v1.3.0 h1:q15RT/pd6UggBXVBuLps8BXRvl5GPBcwVA7BJHMLuTw= github.com/ryancurrah/gomodguard v1.3.0/go.mod h1:ggBxb3luypPEzqVtq33ee7YSN35V28XeGnid8dnni50= @@ -640,46 +638,43 @@ github.com/sourcegraph/go-diff v0.7.0 h1:9uLlrd5T46OXs5qpp8L/MTltk0zikUGi0sNNyCp github.com/sourcegraph/go-diff v0.7.0/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/afero v1.8.2 h1:xehSyVa0YnHWsJ49JFljMpg1HX19V6NDZ1fkm1Xznbo= -github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= +github.com/spf13/afero v1.10.0 h1:EaGW2JJh15aKOejeuJ+wpFSHnbd7GE6Wvp3TsNhb6LY= +github.com/spf13/afero v1.10.0/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.12.0 h1:CZ7eSOd3kZoaYDLbXnmzgQI5RlciuXBMA+18HwHRfZQ= -github.com/spf13/viper v1.12.0/go.mod h1:b6COn30jlNxbm/V2IqWiNWkJ+vZNiMNksliPCiuKtSI= +github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU= +github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA= github.com/ssgreg/nlreturn/v2 v2.2.1 h1:X4XDI7jstt3ySqGU86YGAURbxw3oTDPK9sPEi6YEwQ0= github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= github.com/stbenjam/no-sprintf-host-port v0.1.1 h1:tYugd/yrm1O0dV+ThCbaKZh195Dfm07ysF0U6JQXczc= github.com/stbenjam/no-sprintf-host-port v0.1.1/go.mod h1:TLhvtIvONRzdmkFiio4O8LHsN9N74I+PhRquPsxpL0I= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v0.0.0-20170130113145-4d4bfba8f1d1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.1.4/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs= -github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= +github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/t-yuki/gocover-cobertura v0.0.0-20180217150009-aaee18c8195c h1:+aPplBwWcHBo6q9xrfWdMrT9o4kltkmmvpemgIjep/8= github.com/t-yuki/gocover-cobertura v0.0.0-20180217150009-aaee18c8195c/go.mod h1:SbErYREK7xXdsRiigaQiQkI9McGRzYMvlKYaP3Nimdk= github.com/tdakkota/asciicheck v0.2.0 h1:o8jvnUANo0qXtnslk2d3nMKTFNlOnJjRrNcj0j9qkHM= @@ -704,6 +699,8 @@ github.com/ultraware/whitespace v0.0.5 h1:hh+/cpIcopyMYbZNVov9iSxvJU3OYQg78Sfaqz github.com/ultraware/whitespace v0.0.5/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= github.com/uudashr/gocognit v1.0.6 h1:2Cgi6MweCsdB6kpcVQp7EW4U23iBFQWfTXiWlyp842Y= github.com/uudashr/gocognit v1.0.6/go.mod h1:nAIUuVBnYU7pcninia3BHOvQkpQCeO76Uscky5BOwcY= +github.com/vektra/mockery/v2 v2.40.3 h1:IZ2lydSDFsY0khnEsbSu13VLcqSsa6UYSS/8F+uOJmo= +github.com/vektra/mockery/v2 v2.40.3/go.mod h1:KYBZF/7sqOa86BaOZPYsoCZWEWLS90a5oBLg2pVudxY= github.com/xen0n/gosmopolitan v1.2.1 h1:3pttnTuFumELBRSh+KQs1zcz4fN6Zy7aB0xlnQSn1Iw= github.com/xen0n/gosmopolitan v1.2.1/go.mod h1:JsHq/Brs1o050OOdmzHeOr0N7OtlnKRAGAsElF8xBQA= github.com/yagipy/maintidx v1.0.0 h1:h5NvIsCz+nRDapQ0exNv4aJ0yXSI0420omVANTv3GJM= @@ -722,6 +719,7 @@ github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5t gitlab.com/bosi/decorder v0.2.3 h1:gX4/RgK16ijY8V+BRQHAySfQAb354T7/xQpDB2n10P0= gitlab.com/bosi/decorder v0.2.3/go.mod h1:9K1RB5+VPNQYtXtTDAzd2OEftsZb1oV0IrJrzChSdGE= go-simpler.org/assert v0.5.0 h1:+5L/lajuQtzmbtEfh69sr5cRf2/xZzyJhFjoOz/PPqs= +go-simpler.org/assert v0.5.0/go.mod h1:74Eqh5eI6vCK6Y5l3PI8ZYFXG4Sa+tkr70OIPJAUr28= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= @@ -730,32 +728,43 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1 h1:SpGay3w+nEwMpfVnbqOLH5gY52/foP8RE8UzTZ1pdSE= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1/go.mod h1:4UoMYEZOC0yN/sPGH76KPkkU7zgiEWYWL9vwmbnTJPE= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 h1:aFJWCqJMNjENlcleuuOkGAPH82y0yULBScfXcIEdS24= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1/go.mod h1:sEGXWArGqc3tVa+ekntsN65DmVbVeW+7lTKTjZF3/Fo= +go.opentelemetry.io/otel v1.21.0 h1:hzLeKBZEL7Okw2mGzZ0cc4k/A7Fta0uoPgaJCr8fsFc= +go.opentelemetry.io/otel v1.21.0/go.mod h1:QZzNPQPm1zLX4gZK4cMi+71eaorMSGT3A4znnUvNNEo= +go.opentelemetry.io/otel/exporters/jaeger v1.17.0 h1:D7UpUy2Xc2wsi1Ras6V40q806WM07rqoCWzXu7Sqy+4= +go.opentelemetry.io/otel/exporters/jaeger v1.17.0/go.mod h1:nPCqOnEH9rNLKqH/+rrUjiMzHJdV1BlpKcTwRTyKkKI= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.19.0 h1:Nw7Dv4lwvGrI68+wULbcq7su9K2cebeCUrDjVrUJHxM= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.19.0/go.mod h1:1MsF6Y7gTqosgoZvHlzcaaM8DIMNZgJh87ykokoNH7Y= +go.opentelemetry.io/otel/metric v1.21.0 h1:tlYWfeo+Bocx5kLEloTjbcDwBuELRrIFxwdQ36PlJu4= +go.opentelemetry.io/otel/metric v1.21.0/go.mod h1:o1p3CA8nNHW8j5yuQLdc1eeqEaPfzug24uvsyIEJRWM= +go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8= +go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E= +go.opentelemetry.io/otel/trace v1.21.0 h1:WD9i5gzvoUPuXIXH24ZNBudiarZDKuekPqi/E8fpfLc= +go.opentelemetry.io/otel/trace v1.21.0/go.mod h1:LGbsEB0f9LGjN+OZaQQ26sohbOmiMR+BaslueVtS/qQ= go.tmz.dev/musttag v0.7.0 h1:QfytzjTWGXZmChoX0L++7uQN+yRCPfyFm+whsM+lfGc= go.tmz.dev/musttag v0.7.0/go.mod h1:oTFPvgOkJmp5kYL02S8+jrH0eLrBIl57rzWeA26zDEM= -go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= -go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= -go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= +go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= +go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4= +go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= +go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= +go.uber.org/zap v1.25.0 h1:4Hvk6GtkucQ790dqmj7l1eEnRdKm3k3ZUrUMS2d5+5c= +go.uber.org/zap v1.25.0/go.mod h1:JIAUzQIH94IC4fOJQm7gMmBJP5k7wQfdcnYdPoEXJYk= golang.org/x/crypto v0.0.0-20180501155221-613d6eafa307/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= -golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA= -golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= +golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= +golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -802,11 +811,10 @@ golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91 golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= -golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -819,7 +827,6 @@ golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -834,7 +841,6 @@ golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= @@ -843,17 +849,16 @@ golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50= -golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= +golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -864,8 +869,8 @@ golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= -golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= +golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ= +golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -880,11 +885,10 @@ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= -golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -893,11 +897,9 @@ golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -918,7 +920,6 @@ golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -931,27 +932,32 @@ golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211105183446-c75c47738b0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220702020025-31831981b65f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA= -golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= +golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= +golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -964,16 +970,14 @@ golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= -golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20201208040808-7e3f01d25324 h1:Hir2P/De0WpUhtrKGGjvSb2YxUgyZ7EFOSLIcSSpiwE= -golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= +golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= @@ -985,7 +989,6 @@ golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBn golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524210228-3d17549cdc6b/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1045,14 +1048,16 @@ golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= golang.org/x/tools v0.5.0/go.mod h1:N+Kgy78s5I24c24dU8OfWNEotWjutIs8SnJvn5IDq+k= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.11.1 h1:ojD5zOW8+7dOGzdnNgersm8aPfcDjhMp12UfG93NIMc= -golang.org/x/tools v0.11.1/go.mod h1:anzJrxPjNtfgiYQYirP2CPGzGLxrH2u2QBhn6Bf3qY8= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw= +gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -1072,16 +1077,17 @@ google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz513 google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.126.0 h1:q4GJq+cAdMAC7XP7njvQ4tvohGLiSlytuL4BQxbIZ+o= -google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= +google.golang.org/api v0.155.0 h1:vBmGhCYs0djJttDNynWo44zosHlPvHmA0XiN2zP2DtA= +google.golang.org/api v0.155.0/go.mod h1:GI5qK5f40kCpHfPn6+YzGAByIKWv8ujFnmoWm7Igduk= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= +google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20181107211654-5fc9ac540362/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -1106,7 +1112,6 @@ google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= @@ -1120,12 +1125,12 @@ google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc h1:8DyZCyvI8mE1IdLy/60bS+52xfymkE72wv1asokgtao= -google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64= -google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc h1:kVKPf/IiYSBWEWtkIn6wZXwWGCnLKcC8oWfZvXjsGnM= -google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc h1:XSJ8Vk1SWuNr8S18z1NZSziL0CPIXLCCMDOEFtHBOFc= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80 h1:KAeGQVN3M9nD0/bQXnr/ClcEMJ968gUXJQ9pwfSynuQ= +google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80/go.mod h1:cc8bqMqtv9gMOr0zHg2Vzff5ULhhL2IXP4sbcn32Dro= +google.golang.org/genproto/googleapis/api v0.0.0-20240123012728-ef4313101c80 h1:Lj5rbfG876hIAYFjqiJnPHfhXbv+nzTWfm04Fg/XSVU= +google.golang.org/genproto/googleapis/api v0.0.0-20240123012728-ef4313101c80/go.mod h1:4jWUdICTdgc3Ibxmr8nAJiiLHwQBY0UI0XZcEMaFKaA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 h1:AjyfHzEPEFp/NpvfN5g+KDla3EMojjhRVZc1i7cj+oM= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80/go.mod h1:PAREbraiVEVGVdTZsVWjSbbTtSyGbAgIIvni8a8CD5s= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -1139,14 +1144,11 @@ google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3Iji google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= -google.golang.org/grpc v1.55.0 h1:3Oj82/tFSCeUrRTg/5E/7d/W5A1tj6Ky1ABAuZuv5ag= -google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= +google.golang.org/grpc v1.62.1 h1:B4n+nfKzOICUXMgyrNd19h/I9oH0L1pizfk1d4zSgTk= +google.golang.org/grpc v1.62.1/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1159,8 +1161,8 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= -google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -1168,14 +1170,12 @@ gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -1183,7 +1183,6 @@ gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1195,19 +1194,22 @@ honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9 honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.4.3 h1:o/n5/K5gXqk8Gozvs2cnL0F2S1/g1vcGCAx2vETjITw= honnef.co/go/tools v0.4.3/go.mod h1:36ZgoUOrqOk1GxwHhyryEkq8FQWkUO2xGuSMhUCcdvA= -k8s.io/api v0.0.0-20210217171935-8e2decd92398/go.mod h1:60tmSUpHxGPFerNHbo/ayI2lKxvtrhbxFyXuEIWJd78= -k8s.io/apimachinery v0.0.0-20210217011835-527a61b4dffe/go.mod h1:Z7ps/g0rjlTeMstYrMOUttJfT2Gg34DEaG/f2PYLCWY= -k8s.io/apimachinery v0.20.2 h1:hFx6Sbt1oG0n6DZ+g4bFt5f6BoMkOjKWsQFu077M3Vg= -k8s.io/apimachinery v0.20.2/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= -k8s.io/client-go v0.0.0-20210217172142-7279fc64d847 h1:d+LBRNY3c/KGp7lDblRlUJkayx4Vla7WUTIazoGMdYo= -k8s.io/client-go v0.0.0-20210217172142-7279fc64d847/go.mod h1:q0EaghmVye2uui19vxSZ2NG6ssgUWgjudO6vrwXneSI= -k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= -k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/klog/v2 v2.5.0 h1:8mOnjf1RmUPW6KRqQCfYSZq/K20Unmp3IhuZUhxl8KI= -k8s.io/klog/v2 v2.5.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= -k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM= -k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/api v0.28.2 h1:9mpl5mOb6vXZvqbQmankOfPIGiudghwCoLl1EYfUZbw= +k8s.io/api v0.28.2/go.mod h1:RVnJBsjU8tcMq7C3iaRSGMeaKt2TWEUXcpIt/90fjEg= +k8s.io/apiextensions-apiserver v0.28.0 h1:CszgmBL8CizEnj4sj7/PtLGey6Na3YgWyGCPONv7E9E= +k8s.io/apiextensions-apiserver v0.28.0/go.mod h1:uRdYiwIuu0SyqJKriKmqEN2jThIJPhVmOWETm8ud1VE= +k8s.io/apimachinery v0.28.2 h1:KCOJLrc6gu+wV1BYgwik4AF4vXOlVJPdiqn0yAWWwXQ= +k8s.io/apimachinery v0.28.2/go.mod h1:RdzF87y/ngqk9H4z3EL2Rppv5jj95vGS/HaFXrLDApU= +k8s.io/client-go v0.28.1 h1:pRhMzB8HyLfVwpngWKE8hDcXRqifh1ga2Z/PU9SXVK8= +k8s.io/client-go v0.28.1/go.mod h1:pEZA3FqOsVkCc07pFVzK076R+P/eXqsgx5zuuRWukNE= +k8s.io/component-base v0.28.1 h1:LA4AujMlK2mr0tZbQDZkjWbdhTV5bRyEyAFe0TJxlWg= +k8s.io/component-base v0.28.1/go.mod h1:jI11OyhbX21Qtbav7JkhehyBsIRfnO8oEgoAR12ArIU= +k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= +k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= +k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= +k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= +k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= mvdan.cc/gofumpt v0.5.0 h1:0EQ+Z56k8tXjj/6TQD25BFNKQXpCvT0rnansIc7Ug5E= mvdan.cc/gofumpt v0.5.0/go.mod h1:HBeVDtMKRZpXyxFciAirzdKklDlGu8aAy1wEbH5Y9js= mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed h1:WX1yoOaKQfddO/mLzdV4wptyWgoH/6hwLs7QHTixo0I= @@ -1219,7 +1221,11 @@ mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d/go.mod h1:IeHQjmn6TOD+e4Z3RF rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/structured-merge-diff/v4 v4.0.3/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= +sigs.k8s.io/controller-runtime v0.16.2 h1:mwXAVuEk3EQf478PQwQ48zGOXvW27UJc8NHktQVuIPU= +sigs.k8s.io/controller-runtime v0.16.2/go.mod h1:vpMu3LpI5sYWtujJOa2uPK61nB5rbwlN7BAB8aSLvGU= +sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= +sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= +sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= +sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= +sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= +sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/flyteadmin/boilerplate/flyte/golang_support_tools/tools.go b/boilerplate/flyte/golang_support_tools/tools.go similarity index 89% rename from flyteadmin/boilerplate/flyte/golang_support_tools/tools.go rename to boilerplate/flyte/golang_support_tools/tools.go index 6c3da04107b..0a0345f140d 100644 --- a/flyteadmin/boilerplate/flyte/golang_support_tools/tools.go +++ b/boilerplate/flyte/golang_support_tools/tools.go @@ -5,6 +5,7 @@ package tools import ( _ "github.com/EngHabu/mockery/cmd/mockery" + _ "github.com/vektra/mockery/v2/cmd" _ "github.com/alvaroloes/enumer" _ "github.com/golangci/golangci-lint/cmd/golangci-lint" _ "github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc" diff --git a/boilerplate/flyte/golang_test_targets/Makefile b/boilerplate/flyte/golang_test_targets/Makefile index 280e1e55e43..c02409a318e 100644 --- a/boilerplate/flyte/golang_test_targets/Makefile +++ b/boilerplate/flyte/golang_test_targets/Makefile @@ -3,24 +3,23 @@ # # TO OPT OUT OF UPDATES, SEE https://github.com/flyteorg/boilerplate/blob/master/Readme.rst +LINT_FLAGS ?= .PHONY: download_tooling download_tooling: #download dependencies (including test deps) for the package - @boilerplate/flyte/golang_test_targets/download_tooling.sh + @../boilerplate/flyte/golang_test_targets/download_tooling.sh .PHONY: generate generate: download_tooling #generate go code - @boilerplate/flyte/golang_test_targets/go-gen.sh + @../boilerplate/flyte/golang_test_targets/go-gen.sh .PHONY: lint lint: download_tooling #lints the package for common code smells - GL_DEBUG=linters_output,env golangci-lint run --deadline=5m --exclude deprecated -v + GL_DEBUG=linters_output,env golangci-lint run $(LINT_FLAGS) --deadline=5m --exclude deprecated -v -# If code is failing goimports linter, this will fix. -# skips 'vendor' -.PHONY: goimports -goimports: - @boilerplate/flyte/golang_test_targets/goimports +.PHONY: lint-fix +lint-fix: LINT_FLAGS=--fix +lint-fix: lint .PHONY: mod_download mod_download: #download dependencies (including test deps) for the package @@ -50,8 +49,11 @@ test_unit_cover: test_unit_visual: go test ./... -coverprofile /tmp/cover.out -covermode=count go tool cover -html=/tmp/cover.out - + .PHONY: test_unit_codecov test_unit_codecov: go test ./... -race -coverprofile=coverage.txt -covermode=atomic - curl -s https://codecov.io/bash > codecov_bash.sh && bash codecov_bash.sh + +.PHONY: go-tidy +go-tidy: + go mod tidy diff --git a/boilerplate/flyte/golang_test_targets/Readme.rst b/boilerplate/flyte/golang_test_targets/Readme.rst index f9d890fdd70..700feb33a2f 100644 --- a/boilerplate/flyte/golang_test_targets/Readme.rst +++ b/boilerplate/flyte/golang_test_targets/Readme.rst @@ -5,6 +5,8 @@ Provides an ``install`` make target that uses ``go mod`` to install golang depen Provides a ``lint`` make target that uses golangci to lint your code. +Provides a ``lint-fix`` make target that uses golangci to lint and fix your code in place. + Provides a ``test_unit`` target for unit tests. Provides a ``test_unit_cover`` target for analysing coverage of unit tests, which will output the coverage of each function and total statement coverage. diff --git a/boilerplate/flyte/golang_test_targets/download_tooling.sh b/boilerplate/flyte/golang_test_targets/download_tooling.sh index 9cd49959f46..5ba5c6d1da4 100755 --- a/boilerplate/flyte/golang_test_targets/download_tooling.sh +++ b/boilerplate/flyte/golang_test_targets/download_tooling.sh @@ -16,23 +16,42 @@ set -e # List of tools to go get # In the format of ":" or ":" if no cli tools=( - "github.com/EngHabu/mockery/cmd/mockery" - "github.com/flyteorg/flytestdlib/cli/pflags@latest" - "github.com/golangci/golangci-lint/cmd/golangci-lint" - "github.com/daixiang0/gci" - "github.com/alvaroloes/enumer" - "github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc" + "github.com/EngHabu/mockery/cmd/mockery" + "github.com/vektra/mockery/v2@v2.40.3" + "github.com/golangci/golangci-lint/cmd/golangci-lint" + "github.com/daixiang0/gci" + "github.com/alvaroloes/enumer" + "github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc" ) +# This ensures pflags are up to date. +make -C $REPO_ROOT/flytestdlib compile +cp $REPO_ROOT/flytestdlib/bin/pflags $(go env GOPATH)/bin + tmp_dir=$(mktemp -d -t gotooling-XXX) echo "Using temp directory ${tmp_dir}" -cp -R boilerplate/flyte/golang_support_tools/* $tmp_dir +cp -R ../boilerplate/flyte/golang_support_tools/* $tmp_dir pushd "$tmp_dir" -for tool in "${tools[@]}" -do - echo "Installing ${tool}" - GO111MODULE=on go install $tool +for tool in "${tools[@]}"; do + echo "Installing ${tool}" + GO111MODULE=on go install $tool + # If tool is our mockery fork, we need to rename the binary to mockery-fork + if [[ $tool == "github.com/EngHabu/mockery/cmd/mockery" ]]; then + echo "Renaming mockery to mockery-fork" + mv $(go env GOPATH)/bin/mockery $(go env GOPATH)/bin/mockery-fork + fi + # If tool is named vektra/mockery/v2, we need to rename the binary to mockery-v2 + if [[ $tool == "github.com/vektra/mockery/v2@v2.40.3" ]]; then + echo "Renaming mockery to mockery-v2" + mv $(go env GOPATH)/bin/mockery $(go env GOPATH)/bin/mockery-v2 + fi done +# Rename the mockery-fork binary to mockery to maintain compatibility with the existing uses +if [ -f $(go env GOPATH)/bin/mockery-fork ]; then + echo "Renaming mockery-fork to mockery" + mv $(go env GOPATH)/bin/mockery-fork $(go env GOPATH)/bin/mockery +fi + popd diff --git a/boilerplate/flyte/golang_test_targets/goimports b/boilerplate/flyte/golang_test_targets/goimports deleted file mode 100755 index 40f50d106e1..00000000000 --- a/boilerplate/flyte/golang_test_targets/goimports +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash - -# WARNING: THIS FILE IS MANAGED IN THE 'BOILERPLATE' REPO AND COPIED TO OTHER REPOSITORIES. -# ONLY EDIT THIS FILE FROM WITHIN THE 'FLYTEORG/BOILERPLATE' REPOSITORY: -# -# TO OPT OUT OF UPDATES, SEE https://github.com/flyteorg/boilerplate/blob/master/Readme.rst - -goimports -w $(find . -type f -name '*.go' -not -path "./vendor/*" -not -path "./pkg/client/*" -not -path "./boilerplate/*") -gci write -s standard -s default -s "prefix(github.com/flyteorg)" --custom-order --skip-generated . diff --git a/datacatalog/boilerplate/flyte/golangci_file/.golangci.yml b/boilerplate/flyte/golangci_file/.golangci.yml similarity index 100% rename from datacatalog/boilerplate/flyte/golangci_file/.golangci.yml rename to boilerplate/flyte/golangci_file/.golangci.yml diff --git a/datacatalog/boilerplate/flyte/golangci_file/Readme.rst b/boilerplate/flyte/golangci_file/Readme.rst similarity index 100% rename from datacatalog/boilerplate/flyte/golangci_file/Readme.rst rename to boilerplate/flyte/golangci_file/Readme.rst diff --git a/datacatalog/boilerplate/flyte/golangci_file/update.sh b/boilerplate/flyte/golangci_file/update.sh similarity index 100% rename from datacatalog/boilerplate/flyte/golangci_file/update.sh rename to boilerplate/flyte/golangci_file/update.sh diff --git a/datacatalog/boilerplate/flyte/precommit/Makefile b/boilerplate/flyte/precommit/Makefile similarity index 100% rename from datacatalog/boilerplate/flyte/precommit/Makefile rename to boilerplate/flyte/precommit/Makefile diff --git a/datacatalog/boilerplate/flyte/precommit/hooks/pre-push b/boilerplate/flyte/precommit/hooks/pre-push similarity index 100% rename from datacatalog/boilerplate/flyte/precommit/hooks/pre-push rename to boilerplate/flyte/precommit/hooks/pre-push diff --git a/datacatalog/boilerplate/flyte/precommit/hooks/prepare-commit-msg b/boilerplate/flyte/precommit/hooks/prepare-commit-msg similarity index 100% rename from datacatalog/boilerplate/flyte/precommit/hooks/prepare-commit-msg rename to boilerplate/flyte/precommit/hooks/prepare-commit-msg diff --git a/datacatalog/boilerplate/flyte/precommit/update.sh b/boilerplate/flyte/precommit/update.sh similarity index 100% rename from datacatalog/boilerplate/flyte/precommit/update.sh rename to boilerplate/flyte/precommit/update.sh diff --git a/datacatalog/boilerplate/flyte/pull_request_template/Readme.rst b/boilerplate/flyte/pull_request_template/Readme.rst similarity index 100% rename from datacatalog/boilerplate/flyte/pull_request_template/Readme.rst rename to boilerplate/flyte/pull_request_template/Readme.rst diff --git a/datacatalog/boilerplate/flyte/pull_request_template/pull_request_template.md b/boilerplate/flyte/pull_request_template/pull_request_template.md similarity index 100% rename from datacatalog/boilerplate/flyte/pull_request_template/pull_request_template.md rename to boilerplate/flyte/pull_request_template/pull_request_template.md diff --git a/datacatalog/boilerplate/flyte/pull_request_template/update.sh b/boilerplate/flyte/pull_request_template/update.sh similarity index 100% rename from datacatalog/boilerplate/flyte/pull_request_template/update.sh rename to boilerplate/flyte/pull_request_template/update.sh diff --git a/boilerplate/update.cfg b/boilerplate/update.cfg deleted file mode 100644 index 5ba796f048e..00000000000 --- a/boilerplate/update.cfg +++ /dev/null @@ -1,3 +0,0 @@ -flyte/end2end -flyte/code_of_conduct -flyte/golang_test_targets diff --git a/charts/flyte-binary/README.md b/charts/flyte-binary/README.md index 99aa1c40b13..63a351d0f55 100644 --- a/charts/flyte-binary/README.md +++ b/charts/flyte-binary/README.md @@ -42,7 +42,7 @@ Chart for basic single Flyte executable deployment | configuration.auth.oidc.clientId | string | `""` | | | configuration.auth.oidc.clientSecret | string | `""` | | | configuration.co-pilot.image.repository | string | `"cr.flyte.org/flyteorg/flytecopilot"` | | -| configuration.co-pilot.image.tag | string | `"v1.11.0-b0"` | | +| configuration.co-pilot.image.tag | string | `"v1.13.0"` | | | configuration.database.dbname | string | `"flyte"` | | | configuration.database.host | string | `"127.0.0.1"` | | | configuration.database.options | string | `"sslmode=disable"` | | @@ -138,6 +138,7 @@ Chart for basic single Flyte executable deployment | ingress.httpTls | list | `[]` | | | ingress.ingressClassName | string | `""` | | | ingress.labels | object | `{}` | | +| ingress.separateGrpcIngress | bool | `true` | | | ingress.tls | list | `[]` | | | nameOverride | string | `""` | | | rbac.annotations | object | `{}` | | diff --git a/charts/flyte-binary/templates/_helpers.tpl b/charts/flyte-binary/templates/_helpers.tpl index 92e8fa4636b..b95af64a091 100644 --- a/charts/flyte-binary/templates/_helpers.tpl +++ b/charts/flyte-binary/templates/_helpers.tpl @@ -176,6 +176,24 @@ Get the Flyte service GRPC port. {{- default 8089 .Values.service.ports.grpc -}} {{- end -}} +{{/* +Get the Flyte service GRPC paths. +*/}} +{{- define "flyte-binary.ingress.grpcPaths" -}} +- /flyteidl.service.AdminService +- /flyteidl.service.AdminService/* +- /flyteidl.service.AuthMetadataService +- /flyteidl.service.AuthMetadataService/* +- /flyteidl.service.DataProxyService +- /flyteidl.service.DataProxyService/* +- /flyteidl.service.IdentityService +- /flyteidl.service.IdentityService/* +- /flyteidl.service.SignalService +- /flyteidl.service.SignalService/* +- /grpc.health.v1.Health +- /grpc.health.v1.Health/* +{{- end -}} + {{/* Get the Flyte agent service GRPC port. */}} diff --git a/charts/flyte-binary/templates/clusterrole.yaml b/charts/flyte-binary/templates/clusterrole.yaml index adb10afe961..1f78e6df9fe 100644 --- a/charts/flyte-binary/templates/clusterrole.yaml +++ b/charts/flyte-binary/templates/clusterrole.yaml @@ -25,6 +25,7 @@ rules: - namespaces - resourcequotas - secrets + - serviceaccounts verbs: - create - get diff --git a/charts/flyte-binary/templates/ingress/grpc.yaml b/charts/flyte-binary/templates/ingress/grpc.yaml index 427600336b4..bd43185e509 100644 --- a/charts/flyte-binary/templates/ingress/grpc.yaml +++ b/charts/flyte-binary/templates/ingress/grpc.yaml @@ -1,4 +1,5 @@ -{{- if .Values.ingress.create }} +{{- if and .Values.ingress.create .Values.ingress.separateGrpcIngress }} +{{- $paths := (include "flyte-binary.ingress.grpcPaths" .) | fromYamlArray }} apiVersion: networking.k8s.io/v1 kind: Ingress metadata: @@ -38,90 +39,22 @@ spec: {{- if .Values.ingress.grpcExtraPaths.prepend }} {{- tpl ( .Values.ingress.grpcExtraPaths.prepend | toYaml ) . | nindent 6 }} {{- end }} - - backend: - service: - name: {{ include "flyte-binary.service.grpc.name" . }} - port: - number: {{ include "flyte-binary.service.grpc.port" . }} - path: /flyteidl.service.AdminService - pathType: ImplementationSpecific - - backend: - service: - name: {{ include "flyte-binary.service.grpc.name" . }} - port: - number: {{ include "flyte-binary.service.grpc.port" . }} - path: /flyteidl.service.AdminService/* - pathType: ImplementationSpecific - - backend: - service: - name: {{ include "flyte-binary.service.grpc.name" . }} - port: - number: {{ include "flyte-binary.service.grpc.port" . }} - path: /flyteidl.service.DataProxyService - pathType: ImplementationSpecific - - backend: - service: - name: {{ include "flyte-binary.service.grpc.name" . }} - port: - number: {{ include "flyte-binary.service.grpc.port" . }} - path: /flyteidl.service.DataProxyService/* - pathType: ImplementationSpecific - - backend: - service: - name: {{ include "flyte-binary.service.grpc.name" . }} - port: - number: {{ include "flyte-binary.service.grpc.port" . }} - path: /flyteidl.service.AuthMetadataService - pathType: ImplementationSpecific - - backend: - service: - name: {{ include "flyte-binary.service.grpc.name" . }} - port: - number: {{ include "flyte-binary.service.grpc.port" . }} - path: /flyteidl.service.AuthMetadataService/* - pathType: ImplementationSpecific - - backend: - service: - name: {{ include "flyte-binary.service.grpc.name" . }} - port: - number: {{ include "flyte-binary.service.grpc.port" . }} - path: /flyteidl.service.IdentityService - pathType: ImplementationSpecific - - backend: - service: - name: {{ include "flyte-binary.service.grpc.name" . }} - port: - number: {{ include "flyte-binary.service.grpc.port" . }} - path: /flyteidl.service.IdentityService/* - pathType: ImplementationSpecific - - backend: - service: - name: {{ include "flyte-binary.service.grpc.name" . }} - port: - number: {{ include "flyte-binary.service.grpc.port" . }} - path: /grpc.health.v1.Health - pathType: ImplementationSpecific - - backend: - service: - name: {{ include "flyte-binary.service.grpc.name" . }} - port: - number: {{ include "flyte-binary.service.grpc.port" . }} - path: /grpc.health.v1.Health/* - pathType: ImplementationSpecific - - backend: - service: - name: {{ include "flyte-binary.service.grpc.name" . }} - port: - number: {{ include "flyte-binary.service.grpc.port" . }} - path: /flyteidl.service.SignalService - pathType: ImplementationSpecific - - backend: - service: - name: {{ include "flyte-binary.service.grpc.name" . }} - port: - number: {{ include "flyte-binary.service.grpc.port" . }} - path: /flyteidl.service.SignalService/* - pathType: ImplementationSpecific + {{- range $path := $paths }} + - path: {{ $path }} + {{- if semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion }} + pathType: ImplementationSpecific + {{- end }} + backend: + {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} + service: + name: {{ include "flyte-binary.service.grpc.name" $ }} + port: + number: {{ include "flyte-binary.service.grpc.port" $ }} + {{- else }} + serviceName: {{ include "flyte-binary.service.grpc.name" $ }} + servicePort: {{ include "flyte-binary.service.grpc.port" $ }} + {{- end }} + {{- end }} {{- if .Values.ingress.grpcExtraPaths.append }} {{- tpl ( .Values.ingress.grpcExtraPaths.append | toYaml ) . | nindent 6 }} {{- end }} diff --git a/charts/flyte-binary/templates/ingress/http.yaml b/charts/flyte-binary/templates/ingress/http.yaml index 5c2a7ad1c7a..cdce87047bd 100644 --- a/charts/flyte-binary/templates/ingress/http.yaml +++ b/charts/flyte-binary/templates/ingress/http.yaml @@ -171,6 +171,25 @@ spec: number: {{ include "flyte-binary.service.http.port" . }} path: /oauth2/* pathType: ImplementationSpecific + {{- if not .Values.ingress.separateGrpcIngress }} + {{- $paths := (include "flyte-binary.ingress.grpcPaths" .) | fromYamlArray }} + {{- range $path := $paths }} + - path: {{ $path }} + {{- if semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion }} + pathType: ImplementationSpecific + {{- end }} + backend: + {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} + service: + name: {{ include "flyte-binary.service.http.name" $ }} + port: + number: {{ include "flyte-binary.service.grpc.port" $ }} + {{- else }} + serviceName: {{ include "flyte-binary.service.http.name" $ }} + servicePort: {{ include "flyte-binary.service.grpc.port" $ }} + {{- end }} + {{- end }} + {{- end }} {{- if .Values.ingress.httpExtraPaths.append }} {{- tpl ( .Values.ingress.httpExtraPaths.append | toYaml ) . | nindent 6 }} {{- end }} diff --git a/charts/flyte-binary/templates/service/grpc.yaml b/charts/flyte-binary/templates/service/grpc.yaml index eb8d3d00637..1feafa1c5cc 100644 --- a/charts/flyte-binary/templates/service/grpc.yaml +++ b/charts/flyte-binary/templates/service/grpc.yaml @@ -1,3 +1,4 @@ +{{- if .Values.ingress.separateGrpcIngress }} apiVersion: v1 kind: Service metadata: @@ -47,3 +48,4 @@ spec: nodePort: null {{- end }} selector: {{- include "flyte-binary.selectorLabels" . | nindent 4 }} +{{- end }} diff --git a/charts/flyte-binary/templates/service/http.yaml b/charts/flyte-binary/templates/service/http.yaml index 189ea1e0405..3b47e72340e 100644 --- a/charts/flyte-binary/templates/service/http.yaml +++ b/charts/flyte-binary/templates/service/http.yaml @@ -46,6 +46,16 @@ spec: {{- else if eq .Values.service.type "ClusterIP" }} nodePort: null {{- end }} + {{- if not .Values.ingress.separateGrpcIngress }} + - name: grpc + port: {{ include "flyte-binary.service.grpc.port" . }} + targetPort: grpc + {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.grpc)) }} + nodePort: {{ .Values.service.nodePorts.grpc }} + {{- else if eq .Values.service.type "ClusterIP" }} + nodePort: null + {{- end }} + {{- end }} {{- if .Values.service.extraPorts }} {{- tpl ( .Values.service.extraPorts | toYaml ) . | nindent 4 }} {{- end }} diff --git a/charts/flyte-binary/values.yaml b/charts/flyte-binary/values.yaml index f3f8e79528d..66d1e1feae2 100644 --- a/charts/flyte-binary/values.yaml +++ b/charts/flyte-binary/values.yaml @@ -159,7 +159,7 @@ configuration: # repository CoPilot sidecar image repository repository: cr.flyte.org/flyteorg/flytecopilot # FLYTECOPILOT_IMAGE # tag CoPilot sidecar image tag - tag: v1.11.0-b0 # FLYTECOPILOT_TAG + tag: v1.13.0 # FLYTECOPILOT_TAG # agentService Flyte Agent configuration agentService: defaultAgent: @@ -329,6 +329,8 @@ ingress: labels: {} # host Hostname to bind to ingress resources host: "" + # separateGrpcIngress Create a separate ingress resource for GRPC if true. Required for certain ingress controllers like nginx. + separateGrpcIngress: true # commonAnnotations Add common annotations to all ingress resources commonAnnotations: {} # httpAnnotations Add annotations to http ingress resource diff --git a/charts/flyte-core/README.md b/charts/flyte-core/README.md index 33901da7be3..8aaab011724 100644 --- a/charts/flyte-core/README.md +++ b/charts/flyte-core/README.md @@ -60,7 +60,7 @@ helm install gateway bitnami/contour -n flyte | cloud_events.eventsPublisher.eventTypes[0] | string | `"all"` | | | cloud_events.eventsPublisher.topicName | string | `"arn:aws:sns:us-east-2:123456:123-my-topic"` | | | cloud_events.type | string | `"aws"` | | -| cluster_resource_manager | object | `{"config":{"cluster_resources":{"customData":[{"production":[{"projectQuotaCpu":{"value":"5"}},{"projectQuotaMemory":{"value":"4000Mi"}}]},{"staging":[{"projectQuotaCpu":{"value":"2"}},{"projectQuotaMemory":{"value":"3000Mi"}}]},{"development":[{"projectQuotaCpu":{"value":"4"}},{"projectQuotaMemory":{"value":"3000Mi"}}]}],"refreshInterval":"5m","standaloneDeployment":false,"templatePath":"/etc/flyte/clusterresource/templates"}},"enabled":true,"nodeSelector":{},"podAnnotations":{},"podEnv":{},"podLabels":{},"resources":{},"service_account_name":"flyteadmin","standaloneDeployment":false,"templates":[{"key":"aa_namespace","value":"apiVersion: v1\nkind: Namespace\nmetadata:\n name: {{ namespace }}\nspec:\n finalizers:\n - kubernetes\n"},{"key":"ab_project_resource_quota","value":"apiVersion: v1\nkind: ResourceQuota\nmetadata:\n name: project-quota\n namespace: {{ namespace }}\nspec:\n hard:\n limits.cpu: {{ projectQuotaCpu }}\n limits.memory: {{ projectQuotaMemory }}\n"}]}` | Configuration for the Cluster resource manager component. This is an optional component, that enables automatic cluster configuration. This is useful to set default quotas, manage namespaces etc that map to a project/domain | +| cluster_resource_manager | object | `{"config":{"cluster_resources":{"customData":[{"production":[{"projectQuotaCpu":{"value":"5"}},{"projectQuotaMemory":{"value":"4000Mi"}}]},{"staging":[{"projectQuotaCpu":{"value":"2"}},{"projectQuotaMemory":{"value":"3000Mi"}}]},{"development":[{"projectQuotaCpu":{"value":"4"}},{"projectQuotaMemory":{"value":"3000Mi"}}]}],"refreshInterval":"5m","standaloneDeployment":false,"templatePath":"/etc/flyte/clusterresource/templates"}},"enabled":true,"nodeSelector":{},"podAnnotations":{},"podEnv":{},"podLabels":{},"prometheus":{"enabled":false,"path":"/metrics","port":10254},"resources":{},"service_account_name":"flyteadmin","standaloneDeployment":false,"templates":[{"key":"aa_namespace","value":"apiVersion: v1\nkind: Namespace\nmetadata:\n name: {{ namespace }}\nspec:\n finalizers:\n - kubernetes\n"},{"key":"ab_project_resource_quota","value":"apiVersion: v1\nkind: ResourceQuota\nmetadata:\n name: project-quota\n namespace: {{ namespace }}\nspec:\n hard:\n limits.cpu: {{ projectQuotaCpu }}\n limits.memory: {{ projectQuotaMemory }}\n"}]}` | Configuration for the Cluster resource manager component. This is an optional component, that enables automatic cluster configuration. This is useful to set default quotas, manage namespaces etc that map to a project/domain | | cluster_resource_manager.config | object | `{"cluster_resources":{"customData":[{"production":[{"projectQuotaCpu":{"value":"5"}},{"projectQuotaMemory":{"value":"4000Mi"}}]},{"staging":[{"projectQuotaCpu":{"value":"2"}},{"projectQuotaMemory":{"value":"3000Mi"}}]},{"development":[{"projectQuotaCpu":{"value":"4"}},{"projectQuotaMemory":{"value":"3000Mi"}}]}],"refreshInterval":"5m","standaloneDeployment":false,"templatePath":"/etc/flyte/clusterresource/templates"}}` | Configmap for ClusterResource parameters | | cluster_resource_manager.config.cluster_resources | object | `{"customData":[{"production":[{"projectQuotaCpu":{"value":"5"}},{"projectQuotaMemory":{"value":"4000Mi"}}]},{"staging":[{"projectQuotaCpu":{"value":"2"}},{"projectQuotaMemory":{"value":"3000Mi"}}]},{"development":[{"projectQuotaCpu":{"value":"4"}},{"projectQuotaMemory":{"value":"3000Mi"}}]}],"refreshInterval":"5m","standaloneDeployment":false,"templatePath":"/etc/flyte/clusterresource/templates"}` | ClusterResource parameters Refer to the [structure](https://pkg.go.dev/github.com/lyft/flyteadmin@v0.3.37/pkg/runtime/interfaces#ClusterResourceConfig) to customize. | | cluster_resource_manager.config.cluster_resources.refreshInterval | string | `"5m"` | How frequently to run the sync process | @@ -74,12 +74,12 @@ helm install gateway bitnami/contour -n flyte | cluster_resource_manager.service_account_name | string | `"flyteadmin"` | Service account name to run with | | cluster_resource_manager.templates | list | `[{"key":"aa_namespace","value":"apiVersion: v1\nkind: Namespace\nmetadata:\n name: {{ namespace }}\nspec:\n finalizers:\n - kubernetes\n"},{"key":"ab_project_resource_quota","value":"apiVersion: v1\nkind: ResourceQuota\nmetadata:\n name: project-quota\n namespace: {{ namespace }}\nspec:\n hard:\n limits.cpu: {{ projectQuotaCpu }}\n limits.memory: {{ projectQuotaMemory }}\n"}]` | Resource templates that should be applied | | cluster_resource_manager.templates[0] | object | `{"key":"aa_namespace","value":"apiVersion: v1\nkind: Namespace\nmetadata:\n name: {{ namespace }}\nspec:\n finalizers:\n - kubernetes\n"}` | Template for namespaces resources | -| common | object | `{"databaseSecret":{"name":"","secretManifest":{}},"flyteNamespaceTemplate":{"enabled":false},"ingress":{"albSSLRedirect":false,"annotations":{"nginx.ingress.kubernetes.io/app-root":"/console"},"enabled":true,"ingressClassName":null,"separateGrpcIngress":false,"separateGrpcIngressAnnotations":{"nginx.ingress.kubernetes.io/backend-protocol":"GRPC"},"tls":{"enabled":false},"webpackHMR":false}}` | ---------------------------------------------- COMMON SETTINGS | +| common | object | `{"databaseSecret":{"name":"","secretManifest":{}},"flyteNamespaceTemplate":{"enabled":false},"ingress":{"albSSLRedirect":false,"annotations":{"nginx.ingress.kubernetes.io/app-root":"/console","nginx.ingress.kubernetes.io/service-upstream":"true"},"enabled":true,"ingressClassName":null,"separateGrpcIngress":false,"separateGrpcIngressAnnotations":{"nginx.ingress.kubernetes.io/backend-protocol":"GRPC"},"tls":{"enabled":false},"webpackHMR":false}}` | ---------------------------------------------- COMMON SETTINGS | | common.databaseSecret.name | string | `""` | Specify name of K8s Secret which contains Database password. Leave it empty if you don't need this Secret | | common.databaseSecret.secretManifest | object | `{}` | Specify your Secret (with sensitive data) or pseudo-manifest (without sensitive data). See https://github.com/godaddy/kubernetes-external-secrets | | common.flyteNamespaceTemplate.enabled | bool | `false` | - Enable or disable creating Flyte namespace in template. Enable when using helm as template-engine only. Disable when using `helm install ...`. | | common.ingress.albSSLRedirect | bool | `false` | - albSSLRedirect adds a special route for ssl redirect. Only useful in combination with the AWS LoadBalancer Controller. | -| common.ingress.annotations | object | `{"nginx.ingress.kubernetes.io/app-root":"/console"}` | - Ingress annotations applied to both HTTP and GRPC ingresses. | +| common.ingress.annotations | object | `{"nginx.ingress.kubernetes.io/app-root":"/console","nginx.ingress.kubernetes.io/service-upstream":"true"}` | - Ingress annotations applied to both HTTP and GRPC ingresses. | | common.ingress.enabled | bool | `true` | - Enable or disable creating Ingress for Flyte. Relevant to disable when using e.g. Istio as ingress controller. | | common.ingress.ingressClassName | string | `nil` | - Sets the ingressClassName | | common.ingress.separateGrpcIngress | bool | `false` | - separateGrpcIngress puts GRPC routes into a separate ingress if true. Required for certain ingress controllers like nginx. | @@ -87,7 +87,7 @@ helm install gateway bitnami/contour -n flyte | common.ingress.tls | object | `{"enabled":false}` | - Ingress hostname host: | | common.ingress.webpackHMR | bool | `false` | - Enable or disable HMR route to flyteconsole. This is useful only for frontend development. | | configmap.admin | object | `{"admin":{"clientId":"{{ .Values.secrets.adminOauthClientCredentials.clientId }}","clientSecretLocation":"/etc/secrets/client_secret","endpoint":"flyteadmin:81","insecure":true},"event":{"capacity":1000,"rate":500,"type":"admin"}}` | Admin Client configuration [structure](https://pkg.go.dev/github.com/flyteorg/flytepropeller/pkg/controller/nodes/subworkflow/launchplan#AdminConfig) | -| configmap.adminServer | object | `{"auth":{"appAuth":{"thirdPartyConfig":{"flyteClient":{"clientId":"flytectl","redirectUri":"http://localhost:53593/callback","scopes":["offline","all"]}}},"authorizedUris":["https://localhost:30081","http://flyteadmin:80","http://flyteadmin.flyte.svc.cluster.local:80"],"userAuth":{"openId":{"baseUrl":"https://accounts.google.com","clientId":"657465813211-6eog7ek7li5k7i7fvgv2921075063hpe.apps.googleusercontent.com","scopes":["profile","openid"]}}},"flyteadmin":{"eventVersion":2,"metadataStoragePrefix":["metadata","admin"],"metricsScope":"flyte:","profilerPort":10254,"roleNameKey":"iam.amazonaws.com/role","testing":{"host":"http://flyteadmin"}},"server":{"grpcPort":8089,"httpPort":8088,"security":{"allowCors":true,"allowedHeaders":["Content-Type","flyte-authorization"],"allowedOrigins":["*"],"secure":false,"useAuth":false}}}` | FlyteAdmin server configuration | +| configmap.adminServer | object | `{"auth":{"appAuth":{"thirdPartyConfig":{"flyteClient":{"clientId":"flytectl","redirectUri":"http://localhost:53593/callback","scopes":["offline","all"]}}},"authorizedUris":["https://localhost:30081","http://flyteadmin:80","http://flyteadmin.flyte.svc.cluster.local:80"],"userAuth":{"openId":{"baseUrl":"https://accounts.google.com","clientId":"657465813211-6eog7ek7li5k7i7fvgv2921075063hpe.apps.googleusercontent.com","scopes":["profile","openid"]}}},"flyteadmin":{"eventVersion":2,"metadataStoragePrefix":["metadata","admin"],"metricsScope":"flyte:","profilerPort":10254,"roleNameKey":"iam.amazonaws.com/role","testing":{"host":"http://flyteadmin"}},"server":{"grpc":{"port":8089},"httpPort":8088,"security":{"allowCors":true,"allowedHeaders":["Content-Type","flyte-authorization"],"allowedOrigins":["*"],"secure":false,"useAuth":false}}}` | FlyteAdmin server configuration | | configmap.adminServer.auth | object | `{"appAuth":{"thirdPartyConfig":{"flyteClient":{"clientId":"flytectl","redirectUri":"http://localhost:53593/callback","scopes":["offline","all"]}}},"authorizedUris":["https://localhost:30081","http://flyteadmin:80","http://flyteadmin.flyte.svc.cluster.local:80"],"userAuth":{"openId":{"baseUrl":"https://accounts.google.com","clientId":"657465813211-6eog7ek7li5k7i7fvgv2921075063hpe.apps.googleusercontent.com","scopes":["profile","openid"]}}}` | Authentication configuration | | configmap.adminServer.server.security.secure | bool | `false` | Controls whether to serve requests over SSL/TLS. | | configmap.adminServer.server.security.useAuth | bool | `false` | Controls whether to enforce authentication. Follow the guide in https://docs.flyte.org/ on how to setup authentication. | @@ -95,8 +95,8 @@ helm install gateway bitnami/contour -n flyte | configmap.clusters.clusterConfigs | list | `[]` | | | configmap.clusters.labelClusterMap | object | `{}` | | | configmap.console | object | `{"BASE_URL":"/console","CONFIG_DIR":"/etc/flyte/config"}` | Configuration for Flyte console UI | -| configmap.copilot | object | `{"plugins":{"k8s":{"co-pilot":{"image":"cr.flyte.org/flyteorg/flytecopilot:v1.11.0-b0","name":"flyte-copilot-","start-timeout":"30s"}}}}` | Copilot configuration | -| configmap.copilot.plugins.k8s.co-pilot | object | `{"image":"cr.flyte.org/flyteorg/flytecopilot:v1.11.0-b0","name":"flyte-copilot-","start-timeout":"30s"}` | Structure documented [here](https://pkg.go.dev/github.com/lyft/flyteplugins@v0.5.28/go/tasks/pluginmachinery/flytek8s/config#FlyteCoPilotConfig) | +| configmap.copilot | object | `{"plugins":{"k8s":{"co-pilot":{"image":"cr.flyte.org/flyteorg/flytecopilot:v1.13.0","name":"flyte-copilot-","start-timeout":"30s"}}}}` | Copilot configuration | +| configmap.copilot.plugins.k8s.co-pilot | object | `{"image":"cr.flyte.org/flyteorg/flytecopilot:v1.13.0","name":"flyte-copilot-","start-timeout":"30s"}` | Structure documented [here](https://pkg.go.dev/github.com/lyft/flyteplugins@v0.5.28/go/tasks/pluginmachinery/flytek8s/config#FlyteCoPilotConfig) | | configmap.core | object | `{"manager":{"pod-application":"flytepropeller","pod-template-container-name":"flytepropeller","pod-template-name":"flytepropeller-template"},"propeller":{"downstream-eval-duration":"30s","enable-admin-launcher":true,"leader-election":{"enabled":true,"lease-duration":"15s","lock-config-map":{"name":"propeller-leader","namespace":"flyte"},"renew-deadline":"10s","retry-period":"2s"},"limit-namespace":"all","max-workflow-retries":30,"metadata-prefix":"metadata/propeller","metrics-prefix":"flyte","prof-port":10254,"queue":{"batch-size":-1,"batching-interval":"2s","queue":{"base-delay":"5s","capacity":1000,"max-delay":"120s","rate":100,"type":"maxof"},"sub-queue":{"capacity":100,"rate":10,"type":"bucket"},"type":"batch"},"rawoutput-prefix":"s3://my-s3-bucket/","workers":4,"workflow-reeval-duration":"30s"},"webhook":{"certDir":"/etc/webhook/certs","serviceName":"flyte-pod-webhook"}}` | Core propeller configuration | | configmap.core.manager | object | `{"pod-application":"flytepropeller","pod-template-container-name":"flytepropeller","pod-template-name":"flytepropeller-template"}` | follows the structure specified [here](https://pkg.go.dev/github.com/flyteorg/flytepropeller/manager/config#Config). | | configmap.core.propeller | object | `{"downstream-eval-duration":"30s","enable-admin-launcher":true,"leader-election":{"enabled":true,"lease-duration":"15s","lock-config-map":{"name":"propeller-leader","namespace":"flyte"},"renew-deadline":"10s","retry-period":"2s"},"limit-namespace":"all","max-workflow-retries":30,"metadata-prefix":"metadata/propeller","metrics-prefix":"flyte","prof-port":10254,"queue":{"batch-size":-1,"batching-interval":"2s","queue":{"base-delay":"5s","capacity":1000,"max-delay":"120s","rate":100,"type":"maxof"},"sub-queue":{"capacity":100,"rate":10,"type":"bucket"},"type":"batch"},"rawoutput-prefix":"s3://my-s3-bucket/","workers":4,"workflow-reeval-duration":"30s"}` | follows the structure specified [here](https://pkg.go.dev/github.com/flyteorg/flytepropeller/pkg/controller/config). | @@ -130,7 +130,7 @@ helm install gateway bitnami/contour -n flyte | datacatalog.extraArgs | object | `{}` | Appends extra command line arguments to the main command | | datacatalog.image.pullPolicy | string | `"IfNotPresent"` | Docker image pull policy | | datacatalog.image.repository | string | `"cr.flyte.org/flyteorg/datacatalog"` | Docker image for Datacatalog deployment | -| datacatalog.image.tag | string | `"v1.11.0-b0"` | Docker image tag | +| datacatalog.image.tag | string | `"v1.13.0"` | Docker image tag | | datacatalog.nodeSelector | object | `{}` | nodeSelector for Datacatalog deployment | | datacatalog.podAnnotations | object | `{}` | Annotations for Datacatalog pods | | datacatalog.podEnv | object | `{}` | Additional Datacatalog container environment variables | @@ -139,7 +139,8 @@ helm install gateway bitnami/contour -n flyte | datacatalog.replicaCount | int | `1` | Replicas count for Datacatalog deployment | | datacatalog.resources | object | `{"limits":{"cpu":"500m","ephemeral-storage":"100Mi","memory":"500Mi"},"requests":{"cpu":"10m","ephemeral-storage":"50Mi","memory":"50Mi"}}` | Default resources requests and limits for Datacatalog deployment | | datacatalog.securityContext | object | `{"fsGroup":1001,"fsGroupChangePolicy":"OnRootMismatch","runAsNonRoot":true,"runAsUser":1001,"seLinuxOptions":{"type":"spc_t"}}` | Sets securityContext for datacatalog pod(s). | -| datacatalog.service | object | `{"annotations":{"projectcontour.io/upstream-protocol.h2c":"grpc"},"type":"NodePort"}` | Service settings for Datacatalog | +| datacatalog.service | object | `{"additionalPorts":[],"annotations":{"projectcontour.io/upstream-protocol.h2c":"grpc"},"type":"NodePort"}` | Service settings for Datacatalog | +| datacatalog.service.additionalPorts | list | `[]` | Appends additional ports to the service spec. | | datacatalog.serviceAccount | object | `{"annotations":{},"create":true,"imagePullSecrets":[]}` | Configuration for service accounts for Datacatalog | | datacatalog.serviceAccount.annotations | object | `{}` | Annotations for ServiceAccount attached to Datacatalog pods | | datacatalog.serviceAccount.create | bool | `true` | Should a service account be created for Datacatalog | @@ -165,7 +166,7 @@ helm install gateway bitnami/contour -n flyte | flyteadmin.extraArgs | object | `{}` | Appends extra command line arguments to the serve command | | flyteadmin.image.pullPolicy | string | `"IfNotPresent"` | | | flyteadmin.image.repository | string | `"cr.flyte.org/flyteorg/flyteadmin"` | Docker image for Flyteadmin deployment | -| flyteadmin.image.tag | string | `"v1.11.0-b0"` | | +| flyteadmin.image.tag | string | `"v1.13.0"` | | | flyteadmin.initialProjects | list | `["flytesnacks","flytetester","flyteexamples"]` | Initial projects to create | | flyteadmin.nodeSelector | object | `{}` | nodeSelector for Flyteadmin deployment | | flyteadmin.podAnnotations | object | `{}` | Annotations for Flyteadmin pods | @@ -175,7 +176,8 @@ helm install gateway bitnami/contour -n flyte | flyteadmin.resources | object | `{"limits":{"cpu":"250m","ephemeral-storage":"100Mi","memory":"500Mi"},"requests":{"cpu":"10m","ephemeral-storage":"50Mi","memory":"50Mi"}}` | Default resources requests and limits for Flyteadmin deployment | | flyteadmin.secrets | object | `{}` | | | flyteadmin.securityContext | object | `{"fsGroup":65534,"fsGroupChangePolicy":"Always","runAsNonRoot":true,"runAsUser":1001,"seLinuxOptions":{"type":"spc_t"}}` | Sets securityContext for flyteadmin pod(s). | -| flyteadmin.service | object | `{"annotations":{"projectcontour.io/upstream-protocol.h2c":"grpc"},"loadBalancerSourceRanges":[],"type":"ClusterIP"}` | Service settings for Flyteadmin | +| flyteadmin.service | object | `{"additionalPorts":[],"annotations":{"projectcontour.io/upstream-protocol.h2c":"grpc"},"loadBalancerSourceRanges":[],"type":"ClusterIP"}` | Service settings for Flyteadmin | +| flyteadmin.service.additionalPorts | list | `[]` | Appends additional ports to the service spec. | | flyteadmin.serviceAccount | object | `{"alwaysCreate":false,"annotations":{},"clusterRole":{"apiGroups":["","flyte.lyft.com","rbac.authorization.k8s.io"],"resources":["configmaps","flyteworkflows","namespaces","pods","resourcequotas","roles","rolebindings","secrets","services","serviceaccounts","spark-role","limitranges"],"verbs":["*"]},"create":true,"createClusterRole":true,"imagePullSecrets":[]}` | Configuration for service accounts for FlyteAdmin | | flyteadmin.serviceAccount.alwaysCreate | bool | `false` | Should a service account always be created for flyteadmin even without an actual flyteadmin deployment running (e.g. for multi-cluster setups) | | flyteadmin.serviceAccount.annotations | object | `{}` | Annotations for ServiceAccount attached to Flyteadmin pods | @@ -193,8 +195,11 @@ helm install gateway bitnami/contour -n flyte | flyteadmin.serviceMonitor.scrapeTimeout | string | `"30s"` | Sets the timeout after which request to scrape metrics will time out | | flyteadmin.tolerations | list | `[]` | tolerations for Flyteadmin deployment | | flyteagent.enabled | bool | `false` | | -| flyteagent.plugin_config.plugins.agentService.defaultAgent.endpoint | string | `"dns:///flyteagent.flyte.svc.cluster.local:8000"` | | -| flyteagent.plugin_config.plugins.agentService.defaultAgent.insecure | bool | `true` | | +| flyteagent.plugin_config.plugins.agent-service | object | `{"defaultAgent":{"endpoint":"dns:///flyteagent.flyte.svc.cluster.local:8000","insecure":true},"supportedTaskTypes":["sensor"]}` | Agent service configuration for propeller. | +| flyteagent.plugin_config.plugins.agent-service.defaultAgent | object | `{"endpoint":"dns:///flyteagent.flyte.svc.cluster.local:8000","insecure":true}` | The default agent service to use for plugin tasks. | +| flyteagent.plugin_config.plugins.agent-service.defaultAgent.endpoint | string | `"dns:///flyteagent.flyte.svc.cluster.local:8000"` | The agent service endpoint propeller should connect to. | +| flyteagent.plugin_config.plugins.agent-service.defaultAgent.insecure | bool | `true` | Whether the connection from propeller to the agent service should use TLS. | +| flyteagent.plugin_config.plugins.agent-service.supportedTaskTypes | list | `["sensor"]` | The task types supported by the default agent. | | flyteagent.podLabels | object | `{}` | Labels for flyteagent pods | | flyteconsole.affinity | object | `{}` | affinity for Flyteconsole deployment | | flyteconsole.enabled | bool | `true` | | @@ -202,17 +207,24 @@ helm install gateway bitnami/contour -n flyte | flyteconsole.ga.tracking_id | string | `"G-0QW4DJWJ20"` | | | flyteconsole.image.pullPolicy | string | `"IfNotPresent"` | | | flyteconsole.image.repository | string | `"cr.flyte.org/flyteorg/flyteconsole"` | Docker image for Flyteconsole deployment | -| flyteconsole.image.tag | string | `"v1.10.3"` | | +| flyteconsole.image.tag | string | `"v1.15.1"` | | | flyteconsole.imagePullSecrets | list | `[]` | ImagePullSecrets to assign to the Flyteconsole deployment | +| flyteconsole.livenessProbe | object | `{}` | | | flyteconsole.nodeSelector | object | `{}` | nodeSelector for Flyteconsole deployment | | flyteconsole.podAnnotations | object | `{}` | Annotations for Flyteconsole pods | | flyteconsole.podEnv | object | `{}` | Additional Flyteconsole container environment variables | | flyteconsole.podLabels | object | `{}` | Labels for Flyteconsole pods | | flyteconsole.priorityClassName | string | `""` | Sets priorityClassName for flyte console pod(s). | +| flyteconsole.readinessProbe | object | `{}` | | | flyteconsole.replicaCount | int | `1` | Replicas count for Flyteconsole deployment | | flyteconsole.resources | object | `{"limits":{"cpu":"500m","memory":"250Mi"},"requests":{"cpu":"10m","memory":"50Mi"}}` | Default resources requests and limits for Flyteconsole deployment | | flyteconsole.securityContext | object | `{"fsGroupChangePolicy":"OnRootMismatch","runAsNonRoot":true,"runAsUser":1000,"seLinuxOptions":{"type":"spc_t"}}` | Sets securityContext for flyteconsole pod(s). | | flyteconsole.service | object | `{"annotations":{},"type":"ClusterIP"}` | Service settings for Flyteconsole | +| flyteconsole.serviceMonitor | object | `{"enabled":false,"interval":"60s","labels":{},"scrapeTimeout":"30s"}` | Settings for flyteconsole service monitor | +| flyteconsole.serviceMonitor.enabled | bool | `false` | If enabled create the flyteconsole service monitor | +| flyteconsole.serviceMonitor.interval | string | `"60s"` | Sets the interval at which metrics will be scraped by prometheus | +| flyteconsole.serviceMonitor.labels | object | `{}` | Sets the labels for the service monitor which are required by the prometheus to auto-detect the service monitor and start scrapping the metrics | +| flyteconsole.serviceMonitor.scrapeTimeout | string | `"30s"` | Sets the timeout after which request to scrape metrics will time out | | flyteconsole.tolerations | list | `[]` | tolerations for Flyteconsole deployment | | flytepropeller.additionalContainers | list | `[]` | Appends additional containers to the deployment spec. May include template values. | | flytepropeller.additionalVolumeMounts | list | `[]` | Appends additional volume mounts to the main container's spec. May include template values. | @@ -226,17 +238,19 @@ helm install gateway bitnami/contour -n flyte | flytepropeller.extraArgs | object | `{}` | Appends extra command line arguments to the main command | | flytepropeller.image.pullPolicy | string | `"IfNotPresent"` | | | flytepropeller.image.repository | string | `"cr.flyte.org/flyteorg/flytepropeller"` | Docker image for Flytepropeller deployment | -| flytepropeller.image.tag | string | `"v1.11.0-b0"` | | +| flytepropeller.image.tag | string | `"v1.13.0"` | | | flytepropeller.manager | bool | `false` | | | flytepropeller.nodeSelector | object | `{}` | nodeSelector for Flytepropeller deployment | | flytepropeller.podAnnotations | object | `{}` | Annotations for Flytepropeller pods | | flytepropeller.podEnv | object | `{}` | Additional Flytepropeller container environment variables | | flytepropeller.podLabels | object | `{}` | Labels for Flytepropeller pods | | flytepropeller.priorityClassName | string | `""` | Sets priorityClassName for propeller pod(s). | +| flytepropeller.prometheus.enabled | bool | `false` | | | flytepropeller.replicaCount | int | `1` | Replicas count for Flytepropeller deployment | | flytepropeller.resources | object | `{"limits":{"cpu":"200m","ephemeral-storage":"100Mi","memory":"200Mi"},"requests":{"cpu":"10m","ephemeral-storage":"50Mi","memory":"100Mi"}}` | Default resources requests and limits for Flytepropeller deployment | | flytepropeller.securityContext | object | `{"fsGroup":65534,"fsGroupChangePolicy":"Always","runAsUser":1001}` | Sets securityContext for flytepropeller pod(s). | -| flytepropeller.service | object | `{"enabled":false}` | Settings for flytepropeller service | +| flytepropeller.service | object | `{"additionalPorts":[],"enabled":false}` | Settings for flytepropeller service | +| flytepropeller.service.additionalPorts | list | `[]` | Appends additional ports to the service spec. | | flytepropeller.service.enabled | bool | `false` | If enabled create the flytepropeller service | | flytepropeller.serviceAccount | object | `{"annotations":{},"create":true,"imagePullSecrets":[]}` | Configuration for service accounts for FlytePropeller | | flytepropeller.serviceAccount.annotations | object | `{}` | Annotations for ServiceAccount attached to FlytePropeller pods | @@ -256,7 +270,7 @@ helm install gateway bitnami/contour -n flyte | flytescheduler.configPath | string | `"/etc/flyte/config/*.yaml"` | Default regex string for searching configuration files | | flytescheduler.image.pullPolicy | string | `"IfNotPresent"` | Docker image pull policy | | flytescheduler.image.repository | string | `"cr.flyte.org/flyteorg/flytescheduler"` | Docker image for Flytescheduler deployment | -| flytescheduler.image.tag | string | `"v1.11.0-b0"` | Docker image tag | +| flytescheduler.image.tag | string | `"v1.13.0"` | Docker image tag | | flytescheduler.nodeSelector | object | `{}` | nodeSelector for Flytescheduler deployment | | flytescheduler.podAnnotations | object | `{}` | Annotations for Flytescheduler pods | | flytescheduler.podEnv | object | `{}` | Additional Flytescheduler container environment variables | @@ -273,7 +287,7 @@ helm install gateway bitnami/contour -n flyte | flytescheduler.tolerations | list | `[]` | tolerations for Flytescheduler deployment | | secrets.adminOauthClientCredentials.clientId | string | `"flytepropeller"` | | | secrets.adminOauthClientCredentials.clientSecret | string | `"foobar"` | | -| secrets.adminOauthClientCredentials.enabled | bool | `true` | If enabled is true, helm will create and manage `flyte-secret-auth` and populate it with `clientSecret`. If enabled is false, it's up to the user to create `flyte-secret-auth` as described in https://docs.flyte.org/en/latest/deployment/cluster_config/auth_setup.html#oauth2-authorization-server | +| secrets.adminOauthClientCredentials.enabled | bool | `true` | | | sparkoperator | object | `{"enabled":false,"plugin_config":{"plugins":{"spark":{"spark-config-default":[{"spark.hadoop.fs.s3a.aws.credentials.provider":"com.amazonaws.auth.DefaultAWSCredentialsProviderChain"},{"spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version":"2"},{"spark.kubernetes.allocation.batch.size":"50"},{"spark.hadoop.fs.s3a.acl.default":"BucketOwnerFullControl"},{"spark.hadoop.fs.s3n.impl":"org.apache.hadoop.fs.s3a.S3AFileSystem"},{"spark.hadoop.fs.AbstractFileSystem.s3n.impl":"org.apache.hadoop.fs.s3a.S3A"},{"spark.hadoop.fs.s3.impl":"org.apache.hadoop.fs.s3a.S3AFileSystem"},{"spark.hadoop.fs.AbstractFileSystem.s3.impl":"org.apache.hadoop.fs.s3a.S3A"},{"spark.hadoop.fs.s3a.impl":"org.apache.hadoop.fs.s3a.S3AFileSystem"},{"spark.hadoop.fs.AbstractFileSystem.s3a.impl":"org.apache.hadoop.fs.s3a.S3A"},{"spark.hadoop.fs.s3a.multipart.threshold":"536870912"},{"spark.blacklist.enabled":"true"},{"spark.blacklist.timeout":"5m"},{"spark.task.maxfailures":"8"}]}}}}` | Optional: Spark Plugin using the Spark Operator | | sparkoperator.enabled | bool | `false` | - enable or disable Sparkoperator deployment installation | | sparkoperator.plugin_config | object | `{"plugins":{"spark":{"spark-config-default":[{"spark.hadoop.fs.s3a.aws.credentials.provider":"com.amazonaws.auth.DefaultAWSCredentialsProviderChain"},{"spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version":"2"},{"spark.kubernetes.allocation.batch.size":"50"},{"spark.hadoop.fs.s3a.acl.default":"BucketOwnerFullControl"},{"spark.hadoop.fs.s3n.impl":"org.apache.hadoop.fs.s3a.S3AFileSystem"},{"spark.hadoop.fs.AbstractFileSystem.s3n.impl":"org.apache.hadoop.fs.s3a.S3A"},{"spark.hadoop.fs.s3.impl":"org.apache.hadoop.fs.s3a.S3AFileSystem"},{"spark.hadoop.fs.AbstractFileSystem.s3.impl":"org.apache.hadoop.fs.s3a.S3A"},{"spark.hadoop.fs.s3a.impl":"org.apache.hadoop.fs.s3a.S3AFileSystem"},{"spark.hadoop.fs.AbstractFileSystem.s3a.impl":"org.apache.hadoop.fs.s3a.S3A"},{"spark.hadoop.fs.s3a.multipart.threshold":"536870912"},{"spark.blacklist.enabled":"true"},{"spark.blacklist.timeout":"5m"},{"spark.task.maxfailures":"8"}]}}}` | Spark plugin configuration | @@ -289,7 +303,24 @@ helm install gateway bitnami/contour -n flyte | storage.s3.authType | string | `"iam"` | type of authentication to use for S3 buckets, can either be iam or accesskey | | storage.s3.secretKey | string | `""` | AWS IAM user secret access key to use for S3 bucket auth, only used if authType is set to accesskey | | storage.type | string | `"sandbox"` | Sets the storage type. Supported values are sandbox, s3, gcs and custom. | +| webhook.autoscaling.enabled | bool | `false` | | +| webhook.autoscaling.maxReplicas | int | `10` | | +| webhook.autoscaling.metrics[0].resource.name | string | `"cpu"` | | +| webhook.autoscaling.metrics[0].resource.target.averageUtilization | int | `80` | | +| webhook.autoscaling.metrics[0].resource.target.type | string | `"Utilization"` | | +| webhook.autoscaling.metrics[0].type | string | `"Resource"` | | +| webhook.autoscaling.metrics[1].resource.name | string | `"memory"` | | +| webhook.autoscaling.metrics[1].resource.target.averageUtilization | int | `80` | | +| webhook.autoscaling.metrics[1].resource.target.type | string | `"Utilization"` | | +| webhook.autoscaling.metrics[1].type | string | `"Resource"` | | +| webhook.autoscaling.minReplicas | int | `1` | | | webhook.enabled | bool | `true` | enable or disable secrets webhook | +| webhook.nodeSelector | object | `{}` | nodeSelector for webhook deployment | +| webhook.podAnnotations | object | `{}` | Annotations for webhook pods | +| webhook.podEnv | object | `{}` | Additional webhook container environment variables | +| webhook.podLabels | object | `{}` | Labels for webhook pods | +| webhook.priorityClassName | string | `""` | Sets priorityClassName for webhook pod | +| webhook.prometheus.enabled | bool | `false` | | | webhook.resources.requests.cpu | string | `"200m"` | | | webhook.resources.requests.ephemeral-storage | string | `"500Mi"` | | | webhook.resources.requests.memory | string | `"500Mi"` | | diff --git a/charts/flyte-core/templates/_helpers.tpl b/charts/flyte-core/templates/_helpers.tpl index 98a42655e3f..f7b50c0b29d 100755 --- a/charts/flyte-core/templates/_helpers.tpl +++ b/charts/flyte-core/templates/_helpers.tpl @@ -79,7 +79,6 @@ app.kubernetes.io/managed-by: {{ .Release.Service }} {{ toYaml . }} {{- end }} {{- end -}} - {{- define "datacatalog.name" -}} datacatalog {{- end -}} @@ -102,28 +101,6 @@ app.kubernetes.io/managed-by: {{ .Release.Service }} {{- end }} {{- end -}} -{{- define "flyteagent.name" -}} -flyteagent -{{- end -}} - -{{- define "flyteagent.selectorLabels" -}} -app.kubernetes.io/name: {{ template "flyteagent.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end -}} - -{{- define "flyteagent.labels" -}} -{{ include "flyteagent.selectorLabels" . }} -helm.sh/chart: {{ include "flyte.chart" . }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end -}} - -{{- define "flyteagent.podLabels" -}} -{{ include "flyteagent.labels" . }} -{{- with .Values.flyteagent.podLabels }} -{{ toYaml . }} -{{- end }} -{{- end -}} - {{- define "flytepropeller.name" -}} flytepropeller {{- end -}} diff --git a/charts/flyte-core/templates/admin/deployment.yaml b/charts/flyte-core/templates/admin/deployment.yaml index dc61d29c28e..23ea9966dfc 100755 --- a/charts/flyte-core/templates/admin/deployment.yaml +++ b/charts/flyte-core/templates/admin/deployment.yaml @@ -151,8 +151,8 @@ spec: imagePullPolicy: "{{ .Values.flyteadmin.image.pullPolicy }}" name: flyteadmin ports: - - containerPort: 8088 - - containerPort: 8089 + - containerPort: {{ .Values.configmap.adminServer.server.httpPort }} + - containerPort: {{ .Values.configmap.adminServer.server.grpc.port }} - containerPort: {{ .Values.configmap.adminServer.flyteadmin.profilerPort }} readinessProbe: exec: diff --git a/charts/flyte-core/templates/admin/service.yaml b/charts/flyte-core/templates/admin/service.yaml index 577533e48b0..9974fcdc4dc 100644 --- a/charts/flyte-core/templates/admin/service.yaml +++ b/charts/flyte-core/templates/admin/service.yaml @@ -20,17 +20,25 @@ spec: - name: http port: 80 protocol: TCP + appProtocol: TCP targetPort: 8088 - name: grpc port: 81 protocol: TCP + # intentionally set to TCP instead of grpc + appProtocol: TCP targetPort: 8089 - name: redoc protocol: TCP + appProtocol: TCP port: 87 targetPort: 8087 - name: http-metrics protocol: TCP + appProtocol: TCP port: 10254 + {{- with .Values.flyteadmin.service.additionalPorts -}} + {{ tpl (toYaml .) $ | nindent 4 }} + {{- end }} selector: {{ include "flyteadmin.selectorLabels" . | nindent 4 }} {{- end }} diff --git a/charts/flyte-core/templates/clusterresourcesync/deployment.yaml b/charts/flyte-core/templates/clusterresourcesync/deployment.yaml index a2fb5d04ae0..9108a0b3354 100644 --- a/charts/flyte-core/templates/clusterresourcesync/deployment.yaml +++ b/charts/flyte-core/templates/clusterresourcesync/deployment.yaml @@ -16,6 +16,11 @@ spec: {{- with .Values.cluster_resource_manager.podAnnotations }} {{- toYaml . | nindent 8 }} {{- end }} + prometheus.io/path: {{ .Values.cluster_resource_manager.prometheus.path | quote }} + prometheus.io/port: {{ .Values.cluster_resource_manager.prometheus.port | quote }} + {{- with .Values.cluster_resource_manager.prometheus.enabled }} + prometheus.io/scrape: "true" + {{- end }} labels: {{ include "flyteclusterresourcesync.podLabels" . | nindent 8 }} spec: containers: @@ -55,6 +60,12 @@ spec: - mountPath: /var/run/credentials name: cluster-secrets {{- end }} + {{- if .Values.cluster_resource_manager.prometheus.enabled }} + ports: + - containerPort: {{ .Values.cluster_resource_manager.prometheus.port }} + name: debug + protocol: TCP + {{- end }} serviceAccountName: {{ .Values.cluster_resource_manager.service_account_name }} volumes: {{- include "databaseSecret.volume" . | nindent 8 }} - configMap: diff --git a/charts/flyte-core/templates/common/secret-auth.yaml b/charts/flyte-core/templates/common/secret-auth.yaml index 50290357d8e..d13247bd9a1 100644 --- a/charts/flyte-core/templates/common/secret-auth.yaml +++ b/charts/flyte-core/templates/common/secret-auth.yaml @@ -1,4 +1,4 @@ -{{- if .Values.secrets.adminOauthClientCredentials.enabled }} +{{- if and (.Values.secrets.adminOauthClientCredentials.enabled) (not (empty .Values.secrets.adminOauthClientCredentials.clientSecret)) }} apiVersion: v1 kind: Secret metadata: diff --git a/charts/flyte-core/templates/console/deployment.yaml b/charts/flyte-core/templates/console/deployment.yaml index 2d89e0265a6..834b3cf84c5 100644 --- a/charts/flyte-core/templates/console/deployment.yaml +++ b/charts/flyte-core/templates/console/deployment.yaml @@ -37,6 +37,11 @@ spec: name: flyte-console-config ports: - containerPort: 8080 + {{- if .Values.flyteconsole.serviceMonitor.enabled }} + - containerPort: 8081 + name: http-metrics + protocol: TCP + {{- end }} {{- if or .Values.flyteconsole.ga.enabled .Values.flyteconsole.podEnv }} env: {{- end }} @@ -59,6 +64,14 @@ spec: volumeMounts: - mountPath: /srv/flyte name: shared-data + {{- with .Values.flyteconsole.livenessProbe }} + livenessProbe: + {{- toYaml . | nindent 10 }} + {{- end }} + {{- with .Values.flyteconsole.readinessProbe }} + readinessProbe: + {{- toYaml . | nindent 10 }} + {{- end }} volumes: - emptyDir: {} name: shared-data diff --git a/charts/flyte-core/templates/console/service-monitor.yaml b/charts/flyte-core/templates/console/service-monitor.yaml new file mode 100644 index 00000000000..84c9b217521 --- /dev/null +++ b/charts/flyte-core/templates/console/service-monitor.yaml @@ -0,0 +1,19 @@ +{{- if and .Values.flyteconsole.serviceMonitor.enabled .Values.flyteconsole.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ template "flyteconsole.name" . }} + namespace: {{ template "flyte.namespace" . }} + labels: + {{- with .Values.flyteconsole.serviceMonitor.labels }} + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + endpoints: + - interval: {{ .Values.flyteconsole.serviceMonitor.interval }} + port: http-metrics + path: /metrics + scrapeTimeout: {{ .Values.flyteconsole.serviceMonitor.scrapeTimeout }} + selector: + matchLabels: {{ include "flyteconsole.selectorLabels" . | nindent 6 }} +{{- end }} diff --git a/charts/flyte-core/templates/console/service.yaml b/charts/flyte-core/templates/console/service.yaml index b907b909604..7760cb6fcc8 100644 --- a/charts/flyte-core/templates/console/service.yaml +++ b/charts/flyte-core/templates/console/service.yaml @@ -16,6 +16,12 @@ spec: - name: http port: 80 protocol: TCP + appProtocol: TCP targetPort: 8080 + {{- if .Values.flyteconsole.serviceMonitor.enabled }} + - name: http-metrics + port: 8081 + protocol: TCP + {{- end }} selector: {{ include "flyteconsole.selectorLabels" . | nindent 4 }} {{- end }} diff --git a/charts/flyte-core/templates/datacatalog/deployment.yaml b/charts/flyte-core/templates/datacatalog/deployment.yaml index 94e096466d9..c58452f4ce9 100644 --- a/charts/flyte-core/templates/datacatalog/deployment.yaml +++ b/charts/flyte-core/templates/datacatalog/deployment.yaml @@ -66,8 +66,8 @@ spec: imagePullPolicy: "{{ .Values.datacatalog.image.pullPolicy }}" name: datacatalog ports: - - containerPort: 8088 - - containerPort: 8089 + - containerPort: {{ .Values.configmap.datacatalogServer.application.httpPort }} + - containerPort: {{ .Values.configmap.datacatalogServer.application.grpcPort }} - containerPort: {{ index .Values.configmap.datacatalogServer.datacatalog "profiler-port" }} securityContext: allowPrivilegeEscalation: false diff --git a/charts/flyte-core/templates/datacatalog/service.yaml b/charts/flyte-core/templates/datacatalog/service.yaml index 494d7c2b385..95a1b1c29b3 100644 --- a/charts/flyte-core/templates/datacatalog/service.yaml +++ b/charts/flyte-core/templates/datacatalog/service.yaml @@ -21,5 +21,8 @@ spec: port: 89 protocol: TCP targetPort: 8089 + {{- with .Values.datacatalog.service.additionalPorts -}} + {{ tpl (toYaml .) $ | nindent 2 }} + {{- end }} selector: {{ include "datacatalog.selectorLabels" . | nindent 4 }} {{- end }} diff --git a/charts/flyte-core/templates/propeller/deployment.yaml b/charts/flyte-core/templates/propeller/deployment.yaml index 5fd09e5d5da..4308f2d6fa8 100644 --- a/charts/flyte-core/templates/propeller/deployment.yaml +++ b/charts/flyte-core/templates/propeller/deployment.yaml @@ -25,6 +25,11 @@ spec: {{- with .Values.flytepropeller.podAnnotations }} {{- toYaml . | nindent 8 }} {{- end }} + prometheus.io/path: "/metrics" + prometheus.io/port: {{ index .Values.configmap.core.propeller "prof-port" | quote }} + {{- with .Values.flytepropeller.prometheus.enabled }} + prometheus.io/scrape: "true" + {{- end }} {{- if .Values.flytepropeller.manager }} labels: {{ include "flytepropeller-manager.podLabels" . | nindent 8 }} {{- else }} diff --git a/charts/flyte-core/templates/propeller/service.yaml b/charts/flyte-core/templates/propeller/service.yaml index 7569f3e6fcb..9679759d661 100644 --- a/charts/flyte-core/templates/propeller/service.yaml +++ b/charts/flyte-core/templates/propeller/service.yaml @@ -10,6 +10,9 @@ spec: ports: - name: http-metrics protocol: TCP - port: 10254 + port: {{ index .Values.configmap.core.propeller "prof-port" }} + {{- with .Values.flytepropeller.service.additionalPorts -}} + {{ tpl (toYaml .) $ | nindent 4 }} + {{- end }} selector: {{ include "flytepropeller.selectorLabels" . | nindent 4 }} {{- end }} diff --git a/charts/flyte-core/templates/propeller/webhook-hpa.yaml b/charts/flyte-core/templates/propeller/webhook-hpa.yaml new file mode 100644 index 00000000000..9562287fe71 --- /dev/null +++ b/charts/flyte-core/templates/propeller/webhook-hpa.yaml @@ -0,0 +1,17 @@ +{{- if .Values.webhook.autoscaling.enabled }} +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: {{ template "flyte-pod-webhook.name" . }} + labels: + app: {{ template "flyte-pod-webhook.name" . }} +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ template "flyte-pod-webhook.name" . }} + minReplicas: {{ .Values.webhook.autoscaling.minReplicas }} + maxReplicas: {{ .Values.webhook.autoscaling.maxReplicas }} + metrics: + {{ .Values.webhook.autoscaling.metrics | toYaml | nindent 4 }} +{{- end }} diff --git a/charts/flyte-core/templates/propeller/webhook.yaml b/charts/flyte-core/templates/propeller/webhook.yaml index e34241d905c..365b1ec800b 100644 --- a/charts/flyte-core/templates/propeller/webhook.yaml +++ b/charts/flyte-core/templates/propeller/webhook.yaml @@ -26,19 +26,27 @@ spec: app: {{ template "flyte-pod-webhook.name" . }} app.kubernetes.io/name: {{ template "flyte-pod-webhook.name" . }} app.kubernetes.io/version: {{ .Values.flytepropeller.image.tag }} - {{- with .Values.flytepropeller.podLabels }} + {{- with .Values.webhook.podLabels }} {{- toYaml . | nindent 8 }} {{- end }} annotations: configChecksum: {{ include (print .Template.BasePath "/propeller/configmap.yaml") . | sha256sum | trunc 63 | quote }} - {{- with .Values.flytepropeller.podAnnotations }} + {{- with .Values.webhook.podAnnotations }} {{- toYaml . | nindent 8 }} {{- end }} + prometheus.io/path: "/metrics" + prometheus.io/port: {{ index .Values.configmap.core.propeller "prof-port" | quote }} + {{- with .Values.webhook.prometheus.enabled }} + prometheus.io/scrape: "true" + {{- end }} spec: {{- with .Values.webhook.securityContext }} securityContext: {{ tpl (toYaml .) $ | nindent 8 }} {{- end }} serviceAccountName: {{ template "flyte-pod-webhook.name" . }} + {{- if .Values.webhook.priorityClassName }} + priorityClassName: {{ .Values.webhook.priorityClassName }} + {{- end }} {{- if .Values.webhook.enabled }} initContainers: - name: generate-secrets @@ -60,8 +68,8 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - {{- if .Values.flytepropeller.podEnv -}} - {{- with .Values.flytepropeller.podEnv -}} + {{- if .Values.webhook.podEnv -}} + {{- with .Values.webhook.podEnv -}} {{- toYaml . | nindent 10 }} {{- end }} {{- end }} @@ -92,13 +100,18 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - {{- if .Values.flytepropeller.podEnv -}} - {{- with .Values.flytepropeller.podEnv -}} + {{- if .Values.webhook.podEnv -}} + {{- with .Values.webhook.podEnv -}} {{- toYaml . | nindent 12 }} {{- end }} {{- end }} ports: - containerPort: 9443 + {{- if .Values.webhook.prometheus.enabled }} + - containerPort: {{ index .Values.configmap.core.propeller "prof-port" }} + name: debug + protocol: TCP + {{- end }} securityContext: allowPrivilegeEscalation: false capabilities: @@ -120,7 +133,7 @@ spec: - name: webhook-certs secret: secretName: flyte-pod-webhook - {{- with .Values.flytepropeller.nodeSelector }} + {{- with .Values.webhook.nodeSelector }} nodeSelector: {{ tpl (toYaml .) $ | nindent 8 }} {{- end }} --- diff --git a/charts/flyte-core/values-eks.yaml b/charts/flyte-core/values-eks.yaml index 1dbaded1c7e..0ab0dfc1506 100644 --- a/charts/flyte-core/values-eks.yaml +++ b/charts/flyte-core/values-eks.yaml @@ -4,7 +4,10 @@ userSettings: certificateArn: dbPassword: rdsHost: - bucketName: +# These two storage buckets could be the same or you could specify different buckets if required. Both keys are required. +# Learn more https://docs.flyte.org/en/latest/concepts/data_management.html#understand-how-flyte-handles-data + bucketName: + rawDataBucketName: logGroup: redisHostUrl: redisHostKey: @@ -147,7 +150,7 @@ common: kubernetes.io/ingress.class: alb alb.ingress.kubernetes.io/tags: service_instance=production alb.ingress.kubernetes.io/scheme: internet-facing - alb.ingress.kubernetes.io/target-type: ip + alb.ingress.kubernetes.io/target-type: ip # -- This is the certificate arn of the cert imported in AWS certificate manager. alb.ingress.kubernetes.io/certificate-arn: "{{ .Values.userSettings.certificateArn }}" alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]' @@ -216,7 +219,8 @@ configmap: adminServer: server: httpPort: 8088 - grpcPort: 8089 + grpc: + port: 8089 security: secure: false useAuth: false @@ -238,7 +242,7 @@ configmap: core: propeller: - rawoutput-prefix: "s3://{{ .Values.userSettings.bucketName }}/" + rawoutput-prefix: "s3://{{ .Values.userSettings.rawDataBucketName }}/" workers: 40 gc-interval: 12h max-workflow-retries: 50 diff --git a/charts/flyte-core/values-gcp.yaml b/charts/flyte-core/values-gcp.yaml index 181772c0c6e..b402924699a 100644 --- a/charts/flyte-core/values-gcp.yaml +++ b/charts/flyte-core/values-gcp.yaml @@ -5,7 +5,10 @@ userSettings: googleProjectId: dbHost: dbPassword: - bucketName: +# These two storage buckets could be the same or you could specify different buckets if required. Both keys are required. +# Learn more https://docs.flyte.org/en/latest/concepts/data_management.html#understand-how-flyte-handles-data + bucketName: + rawDataBucketName: hostName: # @@ -232,7 +235,8 @@ configmap: adminServer: server: httpPort: 8088 - grpcPort: 8089 + grpc: + port: 8089 security: secure: false useAuth: false @@ -267,7 +271,7 @@ configmap: core: propeller: - rawoutput-prefix: "gs://{{ .Values.userSettings.bucketName }}/" + rawoutput-prefix: "gs://{{ .Values.userSettings.rawDataBucketName }}/" workers: 40 gc-interval: 12h max-workflow-retries: 50 diff --git a/charts/flyte-core/values-keycloak-idp-flyteclients-without-browser.yaml b/charts/flyte-core/values-keycloak-idp-flyteclients-without-browser.yaml index edfd9478bcd..22624d8775b 100644 --- a/charts/flyte-core/values-keycloak-idp-flyteclients-without-browser.yaml +++ b/charts/flyte-core/values-keycloak-idp-flyteclients-without-browser.yaml @@ -81,7 +81,7 @@ flyteadmin: - configMap: name: sslcerts # name of the ca-certificates.crt configmap in the cluster name: sslcerts - additionalVolumeMounts: + additionalVolumeMounts: - mountPath: /etc/ssl/certs/ # where to mount the above certificate name: sslcerts # -- Appends extra command line arguments to the serve command @@ -298,9 +298,12 @@ deployRedoc: false secrets: adminOauthClientCredentials: - # -- If enabled is true, helm will create and manage `flyte-secret-auth` and populate it with `clientSecret`. - # If enabled is false, it's up to the user to create `flyte-secret-auth` as described in + # If enabled is true, and `clientSecret` is specified, helm will create and mount `flyte-secret-auth`. + # If enabled is true, and `clientSecret` is null, it's up to the user to create `flyte-secret-auth` as described in # https://docs.flyte.org/en/latest/deployment/cluster_config/auth_setup.html#oauth2-authorization-server + # and helm will mount `flyte-secret-auth`. + # If enabled is false, auth is not turned on. + # Note: Unsupported combination: enabled.false and clientSecret.someValue enabled: true clientSecret: "<>" # put the secret for the confidential client flytepropeller defined in the IDP clientId: "flytepropeller" #use this client id and secret in the flytectl config with ClientSecret option @@ -459,11 +462,11 @@ configmap: console: BASE_URL: /console CONFIG_DIR: /etc/flyte/config - + logger: show-source: true level: 6 - + # -- Domains configuration for Flyte projects. This enables the specified number of domains across all projects in Flyte. domain: domains: @@ -485,7 +488,8 @@ configmap: # Refer to the [server config](https://pkg.go.dev/github.com/lyft/flyteadmin@v0.3.37/pkg/config#ServerConfig). server: httpPort: 8088 - grpcPort: 8089 + grpc: + port: 8089 security: # -- Controls whether to serve requests over SSL/TLS. secure: false @@ -552,7 +556,7 @@ configmap: - profile - openid - offline_access - clientId: + clientId: # -- Datacatalog server config datacatalogServer: diff --git a/charts/flyte-core/values.yaml b/charts/flyte-core/values.yaml index b8d4431e78b..01508385e9f 100755 --- a/charts/flyte-core/values.yaml +++ b/charts/flyte-core/values.yaml @@ -16,7 +16,7 @@ flyteadmin: image: # -- Docker image for Flyteadmin deployment repository: cr.flyte.org/flyteorg/flyteadmin # FLYTEADMIN_IMAGE - tag: v1.11.0-b0 # FLYTEADMIN_TAG + tag: v1.13.0 # FLYTEADMIN_TAG pullPolicy: IfNotPresent # -- Additional flyteadmin container environment variables # @@ -54,6 +54,8 @@ flyteadmin: projectcontour.io/upstream-protocol.h2c: grpc type: ClusterIP loadBalancerSourceRanges: [] + # -- Appends additional ports to the service spec. + additionalPorts: [] # -- Configuration for service accounts for FlyteAdmin serviceAccount: # -- Should a service account be created for flyteadmin @@ -142,7 +144,7 @@ flytescheduler: # -- Docker image for Flytescheduler deployment repository: cr.flyte.org/flyteorg/flytescheduler # FLYTESCHEDULER_IMAGE # -- Docker image tag - tag: v1.11.0-b0 # FLYTESCHEDULER_TAG + tag: v1.13.0 # FLYTESCHEDULER_TAG # -- Docker image pull policy pullPolicy: IfNotPresent # -- Default resources requests and limits for Flytescheduler deployment @@ -208,7 +210,7 @@ datacatalog: # -- Docker image for Datacatalog deployment repository: cr.flyte.org/flyteorg/datacatalog # DATACATALOG_IMAGE # -- Docker image tag - tag: v1.11.0-b0 # DATACATALOG_TAG + tag: v1.13.0 # DATACATALOG_TAG # -- Docker image pull policy pullPolicy: IfNotPresent # -- Default resources requests and limits for Datacatalog deployment @@ -228,6 +230,8 @@ datacatalog: annotations: projectcontour.io/upstream-protocol.h2c: grpc type: NodePort + # -- Appends additional ports to the service spec. + additionalPorts: [] # -- Configuration for service accounts for Datacatalog serviceAccount: # -- Should a service account be created for Datacatalog @@ -275,10 +279,19 @@ flyteagent: enabled: false plugin_config: plugins: - agentService: + # -- Agent service configuration for propeller. + agent-service: + # -- The default agent service to use for plugin tasks. defaultAgent: + # -- The agent service endpoint propeller should connect to. endpoint: "dns:///flyteagent.flyte.svc.cluster.local:8000" + # -- Whether the connection from propeller to the agent service should use TLS. insecure: true + # -- The task types supported by the default agent. + supportedTaskTypes: + - sensor + # -- Uncomment to enable task type that uses Flyte Agent + # - bigquery_query_job_task # -- Labels for flyteagent pods podLabels: {} @@ -296,7 +309,7 @@ flytepropeller: image: # -- Docker image for Flytepropeller deployment repository: cr.flyte.org/flyteorg/flytepropeller # FLYTEPROPELLER_IMAGE - tag: v1.11.0-b0 # FLYTEPROPELLER_TAG + tag: v1.13.0 # FLYTEPROPELLER_TAG pullPolicy: IfNotPresent # -- Default resources requests and limits for Flytepropeller deployment resources: @@ -356,6 +369,8 @@ flytepropeller: service: # -- If enabled create the flytepropeller service enabled: false + # -- Appends additional ports to the service spec. + additionalPorts: [] # -- Settings for flytepropeller service monitor serviceMonitor: @@ -368,6 +383,10 @@ flytepropeller: interval: 60s # -- Sets the timeout after which request to scrape metrics will time out scrapeTimeout: 30s + + prometheus: + enabled: false + # # FLYTECONSOLE SETTINGS # @@ -379,7 +398,7 @@ flyteconsole: image: # -- Docker image for Flyteconsole deployment repository: cr.flyte.org/flyteorg/flyteconsole # FLYTECONSOLE_IMAGE - tag: v1.10.3 # FLYTECONSOLE_TAG + tag: v1.15.1 # FLYTECONSOLE_TAG pullPolicy: IfNotPresent # -- Default resources requests and limits for Flyteconsole deployment resources: @@ -421,6 +440,21 @@ flyteconsole: seLinuxOptions: type: spc_t + # -- Settings for flyteconsole service monitor + serviceMonitor: + # -- If enabled create the flyteconsole service monitor + enabled: false + # -- Sets the interval at which metrics will be scraped by prometheus + interval: 60s + # -- Sets the timeout after which request to scrape metrics will time out + scrapeTimeout: 30s + # -- Sets the labels for the service monitor which are required by the + # prometheus to auto-detect the service monitor and start scrapping the metrics + labels: {} + + livenessProbe: {} + readinessProbe: {} + # It will enable the redoc route in ingress deployRedoc: false @@ -430,9 +464,12 @@ deployRedoc: false secrets: adminOauthClientCredentials: - # -- If enabled is true, helm will create and manage `flyte-secret-auth` and populate it with `clientSecret`. - # If enabled is false, it's up to the user to create `flyte-secret-auth` as described in + # If enabled is true, and `clientSecret` is specified, helm will create and mount `flyte-secret-auth`. + # If enabled is true, and `clientSecret` is null, it's up to the user to create `flyte-secret-auth` as described in # https://docs.flyte.org/en/latest/deployment/cluster_config/auth_setup.html#oauth2-authorization-server + # and helm will mount `flyte-secret-auth`. + # If enabled is false, auth is not turned on. + # Note: Unsupported combination: enabled.false and clientSecret.someValue enabled: true clientSecret: foobar clientId: flytepropeller @@ -444,6 +481,8 @@ secrets: webhook: # -- enable or disable secrets webhook enabled: true + # -- Sets priorityClassName for webhook pod + priorityClassName: "" # -- Configuration for service accounts for the webhook serviceAccount: # -- Should a service account be created for the webhook @@ -457,6 +496,14 @@ webhook: annotations: projectcontour.io/upstream-protocol.h2c: grpc type: ClusterIP + # -- Annotations for webhook pods + podAnnotations: {} + # -- Additional webhook container environment variables + podEnv: {} + # -- Labels for webhook pods + podLabels: {} + # -- nodeSelector for webhook deployment + nodeSelector: {} # -- Sets securityContext for webhook pod(s). securityContext: fsGroup: 65534 @@ -472,6 +519,27 @@ webhook: ephemeral-storage: 500Mi memory: 500Mi + autoscaling: + enabled: false + minReplicas: 1 + maxReplicas: 10 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: 80 + + prometheus: + enabled: false + # ------------------------------------------------ # # COMMON SETTINGS @@ -498,6 +566,7 @@ common: # --- Ingress annotations applied to both HTTP and GRPC ingresses. annotations: nginx.ingress.kubernetes.io/app-root: /console + nginx.ingress.kubernetes.io/service-upstream: "true" # --- albSSLRedirect adds a special route for ssl redirect. Only useful in combination with the AWS LoadBalancer Controller. albSSLRedirect: false # --- Ingress hostname @@ -626,7 +695,8 @@ configmap: # Refer to the [server config](https://pkg.go.dev/github.com/lyft/flyteadmin@v0.3.37/pkg/config#ServerConfig). server: httpPort: 8088 - grpcPort: 8089 + grpc: + port: 8089 security: # -- Controls whether to serve requests over SSL/TLS. secure: false @@ -731,7 +801,7 @@ configmap: # -- Structure documented [here](https://pkg.go.dev/github.com/lyft/flyteplugins@v0.5.28/go/tasks/pluginmachinery/flytek8s/config#FlyteCoPilotConfig) co-pilot: name: flyte-copilot- - image: cr.flyte.org/flyteorg/flytecopilot:v1.11.0-b0 # FLYTECOPILOT_IMAGE + image: cr.flyte.org/flyteorg/flytecopilot:v1.13.0 # FLYTECOPILOT_IMAGE start-timeout: 30s # -- Core propeller configuration @@ -930,6 +1000,11 @@ cluster_resource_manager: - projectQuotaMemory: value: "3000Mi" + prometheus: + enabled: false + path: "/metrics" + port: 10254 + # -- Resource templates that should be applied templates: # -- Template for namespaces resources diff --git a/charts/flyte-deps/README.md b/charts/flyte-deps/README.md index 014e19c2513..9127d8098e5 100644 --- a/charts/flyte-deps/README.md +++ b/charts/flyte-deps/README.md @@ -103,19 +103,19 @@ helm upgrade -f values.yaml flyte . | postgres.service | object | `{"annotations":{},"type":"NodePort"}` | Service settings for Postgres | | postgres.tolerations | list | `[]` | tolerations for Postgres deployment | | redis.enabled | bool | `false` | - enable or disable Redis Statefulset installation | -| redoc.affinity | object | `{}` | affinity for Minio deployment | -| redoc.enabled | bool | `false` | - enable or disable Minio deployment installation | +| redoc.affinity | object | `{}` | affinity for redoc deployment | +| redoc.enabled | bool | `false` | - enable or disable redoc deployment installation | | redoc.image.pullPolicy | string | `"IfNotPresent"` | Docker image pull policy | -| redoc.image.repository | string | `"docker.io/redocly/redoc"` | Docker image for Minio deployment | +| redoc.image.repository | string | `"docker.io/redocly/redoc"` | Docker image for redoc deployment | | redoc.image.tag | string | `"latest"` | Docker image tag | -| redoc.nodeSelector | object | `{}` | nodeSelector for Minio deployment | -| redoc.podAnnotations | object | `{}` | Annotations for Minio pods | -| redoc.replicaCount | int | `1` | Replicas count for Minio deployment | -| redoc.resources | object | `{"limits":{"cpu":"200m","memory":"512Mi"},"requests":{"cpu":"10m","memory":"128Mi"}}` | Default resources requests and limits for Minio deployment | +| redoc.nodeSelector | object | `{}` | nodeSelector for redoc deployment | +| redoc.podAnnotations | object | `{}` | Annotations for redoc pods | +| redoc.replicaCount | int | `1` | Replicas count for redoc deployment | +| redoc.resources | object | `{"limits":{"cpu":"200m","memory":"512Mi"},"requests":{"cpu":"10m","memory":"128Mi"}}` | Default resources requests and limits for redoc deployment | | redoc.resources.limits | object | `{"cpu":"200m","memory":"512Mi"}` | Limits are the maximum set of resources needed for this pod | | redoc.resources.requests | object | `{"cpu":"10m","memory":"128Mi"}` | Requests are the minimum set of resources needed for this pod | -| redoc.service | object | `{"type":"ClusterIP"}` | Service settings for Minio | -| redoc.tolerations | list | `[]` | tolerations for Minio deployment | +| redoc.service | object | `{"type":"ClusterIP"}` | Service settings for redoc | +| redoc.tolerations | list | `[]` | tolerations for redoc deployment | | sparkoperator | object | `{"enabled":false}` | Optional: Spark Plugin using the Spark Operator | | sparkoperator.enabled | bool | `false` | - enable or disable Sparkoperator deployment installation | | webhook.enabled | bool | `true` | | diff --git a/charts/flyte-deps/templates/redoc/deployment.yaml b/charts/flyte-deps/templates/redoc/deployment.yaml index a2cd199f958..db96f4e2e61 100644 --- a/charts/flyte-deps/templates/redoc/deployment.yaml +++ b/charts/flyte-deps/templates/redoc/deployment.yaml @@ -34,7 +34,7 @@ spec: ports: - containerPort: 8087 resources: {{ toYaml .Values.redoc.resources | nindent 10 }} - {{- with .Values.minio.nodeSelector }} + {{- with .Values.redoc.nodeSelector }} nodeSelector: {{ tpl (toYaml .) $ | nindent 8 }} {{- end }} {{- with .Values.redoc.affinity }} diff --git a/charts/flyte-deps/templates/redoc/service.yaml b/charts/flyte-deps/templates/redoc/service.yaml index 9f9eace0738..6924557ccde 100644 --- a/charts/flyte-deps/templates/redoc/service.yaml +++ b/charts/flyte-deps/templates/redoc/service.yaml @@ -1,3 +1,4 @@ +{{- if .Values.redoc.enabled }} apiVersion: v1 kind: Service metadata: @@ -17,3 +18,4 @@ spec: port: 87 targetPort: 8087 selector: {{ include "redoc.selectorLabels" . | nindent 4 }} +{{- end }} diff --git a/charts/flyte-deps/values.yaml b/charts/flyte-deps/values.yaml index 58aef813604..af6114bc7dd 100755 --- a/charts/flyte-deps/values.yaml +++ b/charts/flyte-deps/values.yaml @@ -87,18 +87,18 @@ minio: affinity: {} redoc: - # --- enable or disable Minio deployment installation + # --- enable or disable redoc deployment installation enabled: false - # -- Replicas count for Minio deployment + # -- Replicas count for redoc deployment replicaCount: 1 image: - # -- Docker image for Minio deployment + # -- Docker image for redoc deployment repository: docker.io/redocly/redoc # -- Docker image tag tag: latest # -- Docker image pull policy pullPolicy: IfNotPresent - # -- Default resources requests and limits for Minio deployment + # -- Default resources requests and limits for redoc deployment resources: # -- Requests are the minimum set of resources needed for this pod requests: @@ -108,16 +108,16 @@ redoc: limits: cpu: 200m memory: 512Mi - # -- Service settings for Minio + # -- Service settings for redoc service: type: ClusterIP - # -- Annotations for Minio pods + # -- Annotations for redoc pods podAnnotations: {} - # -- nodeSelector for Minio deployment + # -- nodeSelector for redoc deployment nodeSelector: {} - # -- tolerations for Minio deployment + # -- tolerations for redoc deployment tolerations: [] - # -- affinity for Minio deployment + # -- affinity for redoc deployment affinity: {} # diff --git a/charts/flyte/README.md b/charts/flyte/README.md index 4accdb711c6..4df222dbd4d 100644 --- a/charts/flyte/README.md +++ b/charts/flyte/README.md @@ -71,7 +71,7 @@ helm upgrade -f values-sandbox.yaml flyte . | contour.tolerations | list | `[]` | tolerations for Contour deployment | | daskoperator | object | `{"enabled":false}` | Optional: Dask Plugin using the Dask Operator | | daskoperator.enabled | bool | `false` | - enable or disable the dask operator deployment installation | -| flyte | object | `{"cluster_resource_manager":{"config":{"cluster_resources":{"customData":[{"production":[{"projectQuotaCpu":{"value":"5"}},{"projectQuotaMemory":{"value":"4000Mi"}}]},{"staging":[{"projectQuotaCpu":{"value":"2"}},{"projectQuotaMemory":{"value":"3000Mi"}}]},{"development":[{"projectQuotaCpu":{"value":"4"}},{"projectQuotaMemory":{"value":"3000Mi"}}]}],"refresh":"5m","refreshInterval":"5m","standaloneDeployment":false,"templatePath":"/etc/flyte/clusterresource/templates"}},"enabled":true,"service_account_name":"flyteadmin","templates":[{"key":"aa_namespace","value":"apiVersion: v1\nkind: Namespace\nmetadata:\n name: {{ namespace }}\nspec:\n finalizers:\n - kubernetes\n"},{"key":"ab_project_resource_quota","value":"apiVersion: v1\nkind: ResourceQuota\nmetadata:\n name: project-quota\n namespace: {{ namespace }}\nspec:\n hard:\n limits.cpu: {{ projectQuotaCpu }}\n limits.memory: {{ projectQuotaMemory }}\n"}]},"common":{"databaseSecret":{"name":"","secretManifest":{}},"flyteNamespaceTemplate":{"enabled":false},"ingress":{"albSSLRedirect":false,"annotations":{"nginx.ingress.kubernetes.io/app-root":"/console"},"enabled":true,"host":"","separateGrpcIngress":false,"separateGrpcIngressAnnotations":{"nginx.ingress.kubernetes.io/backend-protocol":"GRPC"},"tls":{"enabled":false},"webpackHMR":true}},"configmap":{"adminServer":{"auth":{"appAuth":{"thirdPartyConfig":{"flyteClient":{"clientId":"flytectl","redirectUri":"http://localhost:53593/callback","scopes":["offline","all"]}}},"authorizedUris":["https://localhost:30081","http://flyteadmin:80","http://flyteadmin.flyte.svc.cluster.local:80"],"userAuth":{"openId":{"baseUrl":"https://accounts.google.com","clientId":"657465813211-6eog7ek7li5k7i7fvgv2921075063hpe.apps.googleusercontent.com","scopes":["profile","openid"]}}},"flyteadmin":{"eventVersion":2,"metadataStoragePrefix":["metadata","admin"],"metricsScope":"flyte:","profilerPort":10254,"roleNameKey":"iam.amazonaws.com/role","testing":{"host":"http://flyteadmin"}},"server":{"grpcPort":8089,"httpPort":8088,"security":{"allowCors":true,"allowedHeaders":["Content-Type","flyte-authorization"],"allowedOrigins":["*"],"secure":false,"useAuth":false}}},"catalog":{"catalog-cache":{"endpoint":"datacatalog:89","insecure":true,"type":"datacatalog"}},"console":{"BASE_URL":"/console","CONFIG_DIR":"/etc/flyte/config"},"copilot":{"plugins":{"k8s":{"co-pilot":{"image":"cr.flyte.org/flyteorg/flytecopilot:v1.11.0-b0","name":"flyte-copilot-","start-timeout":"30s"}}}},"core":{"propeller":{"downstream-eval-duration":"30s","enable-admin-launcher":true,"leader-election":{"enabled":true,"lease-duration":"15s","lock-config-map":{"name":"propeller-leader","namespace":"flyte"},"renew-deadline":"10s","retry-period":"2s"},"limit-namespace":"all","max-workflow-retries":30,"metadata-prefix":"metadata/propeller","metrics-prefix":"flyte","prof-port":10254,"queue":{"batch-size":-1,"batching-interval":"2s","queue":{"base-delay":"5s","capacity":1000,"max-delay":"120s","rate":100,"type":"maxof"},"sub-queue":{"capacity":100,"rate":10,"type":"bucket"},"type":"batch"},"rawoutput-prefix":"s3://my-s3-bucket/","workers":4,"workflow-reeval-duration":"30s"},"webhook":{"certDir":"/etc/webhook/certs","serviceName":"flyte-pod-webhook"}},"datacatalogServer":{"application":{"grpcPort":8089,"grpcServerReflection":true,"httpPort":8080},"datacatalog":{"metrics-scope":"datacatalog","profiler-port":10254,"storage-prefix":"metadata/datacatalog"}},"domain":{"domains":[{"id":"development","name":"development"},{"id":"staging","name":"staging"},{"id":"production","name":"production"}]},"enabled_plugins":{"tasks":{"task-plugins":{"default-for-task-types":{"bigquery_query_job_task":"agent-service","container":"container","container_array":"k8s-array","sidecar":"sidecar"},"enabled-plugins":["container","sidecar","k8s-array","agent-service"]}}},"k8s":{"plugins":{"k8s":{"default-cpus":"100m","default-env-from-configmaps":[],"default-env-from-secrets":[],"default-env-vars":[{"FLYTE_AWS_ENDPOINT":"http://minio.flyte:9000"},{"FLYTE_AWS_ACCESS_KEY_ID":"minio"},{"FLYTE_AWS_SECRET_ACCESS_KEY":"miniostorage"}],"default-memory":"200Mi"}}},"logger":{"logger":{"level":5,"show-source":true}},"remoteData":{"remoteData":{"region":"us-east-1","scheme":"local","signedUrls":{"durationMinutes":3}}},"resource_manager":{"propeller":{"resourcemanager":{"redis":null,"type":"noop"}}},"task_logs":{"plugins":{"logs":{"cloudwatch-enabled":false,"kubernetes-enabled":true,"kubernetes-template-uri":"http://localhost:30082/#/log/{{ \"{{\" }} .namespace {{ \"}}\" }}/{{ \"{{\" }} .podName {{ \"}}\" }}/pod?namespace={{ \"{{\" }} .namespace {{ \"}}\" }}"}}},"task_resource_defaults":{"task_resources":{"defaults":{"cpu":"100m","memory":"200Mi","storage":"5Mi"},"limits":{"cpu":2,"gpu":1,"memory":"1Gi","storage":"20Mi"}}}},"datacatalog":{"affinity":{},"configPath":"/etc/datacatalog/config/*.yaml","image":{"pullPolicy":"IfNotPresent","repository":"cr.flyte.org/flyteorg/datacatalog","tag":"v1.11.0-b0"},"nodeSelector":{},"podAnnotations":{},"replicaCount":1,"resources":{"limits":{"cpu":"500m","ephemeral-storage":"100Mi","memory":"500Mi"},"requests":{"cpu":"10m","ephemeral-storage":"50Mi","memory":"50Mi"}},"service":{"annotations":{"projectcontour.io/upstream-protocol.h2c":"grpc"},"type":"NodePort"},"serviceAccount":{"annotations":{},"create":true,"imagePullSecrets":[]},"tolerations":[]},"db":{"admin":{"database":{"dbname":"flyteadmin","host":"postgres","port":5432,"username":"postgres"}},"datacatalog":{"database":{"dbname":"datacatalog","host":"postgres","port":5432,"username":"postgres"}}},"deployRedoc":true,"flyteadmin":{"additionalVolumeMounts":[],"additionalVolumes":[],"affinity":{},"configPath":"/etc/flyte/config/*.yaml","env":[],"image":{"pullPolicy":"IfNotPresent","repository":"cr.flyte.org/flyteorg/flyteadmin","tag":"v1.11.0-b0"},"initialProjects":["flytesnacks","flytetester","flyteexamples"],"nodeSelector":{},"podAnnotations":{},"replicaCount":1,"resources":{"limits":{"cpu":"250m","ephemeral-storage":"100Mi","memory":"500Mi"},"requests":{"cpu":"10m","ephemeral-storage":"50Mi","memory":"50Mi"}},"secrets":{},"service":{"annotations":{"projectcontour.io/upstream-protocol.h2c":"grpc"},"loadBalancerSourceRanges":[],"type":"ClusterIP"},"serviceAccount":{"annotations":{},"create":true,"imagePullSecrets":[]},"tolerations":[]},"flyteconsole":{"affinity":{},"ga":{"enabled":true,"tracking_id":"G-0QW4DJWJ20"},"image":{"pullPolicy":"IfNotPresent","repository":"cr.flyte.org/flyteorg/flyteconsole","tag":"v1.10.3"},"nodeSelector":{},"podAnnotations":{},"replicaCount":1,"resources":{"limits":{"cpu":"500m","memory":"275Mi"},"requests":{"cpu":"10m","memory":"250Mi"}},"service":{"annotations":{},"type":"ClusterIP"},"tolerations":[]},"flytepropeller":{"affinity":{},"cacheSizeMbs":0,"configPath":"/etc/flyte/config/*.yaml","image":{"pullPolicy":"IfNotPresent","repository":"cr.flyte.org/flyteorg/flytepropeller","tag":"v1.11.0-b0"},"manager":false,"nodeSelector":{},"podAnnotations":{},"replicaCount":1,"resources":{"limits":{"cpu":"200m","ephemeral-storage":"100Mi","memory":"200Mi"},"requests":{"cpu":"10m","ephemeral-storage":"50Mi","memory":"50Mi"}},"serviceAccount":{"annotations":{},"create":true,"imagePullSecrets":[]},"tolerations":[]},"flytescheduler":{"affinity":{},"configPath":"/etc/flyte/config/*.yaml","image":{"pullPolicy":"IfNotPresent","repository":"cr.flyte.org/flyteorg/flytescheduler","tag":"v1.11.0-b0"},"nodeSelector":{},"podAnnotations":{},"resources":{"limits":{"cpu":"250m","ephemeral-storage":"100Mi","memory":"500Mi"},"requests":{"cpu":"10m","ephemeral-storage":"50Mi","memory":"50Mi"}},"secrets":{},"serviceAccount":{"annotations":{},"create":true,"imagePullSecrets":[]},"tolerations":[]},"storage":{"bucketName":"my-s3-bucket","custom":{},"gcs":null,"s3":{"region":"us-east-1"},"type":"sandbox"},"webhook":{"enabled":true,"service":{"annotations":{"projectcontour.io/upstream-protocol.h2c":"grpc"},"type":"ClusterIP"},"serviceAccount":{"annotations":{},"create":true,"imagePullSecrets":[]}},"workflow_notifications":{"config":{},"enabled":false},"workflow_scheduler":{"enabled":true,"type":"native"}}` | ------------------------------------------------------------------- Core System settings This section consists of Core components of Flyte and their deployment settings. This includes FlyteAdmin service, Datacatalog, FlytePropeller and Flyteconsole | +| flyte | object | `{"cluster_resource_manager":{"config":{"cluster_resources":{"customData":[{"production":[{"projectQuotaCpu":{"value":"5"}},{"projectQuotaMemory":{"value":"4000Mi"}}]},{"staging":[{"projectQuotaCpu":{"value":"2"}},{"projectQuotaMemory":{"value":"3000Mi"}}]},{"development":[{"projectQuotaCpu":{"value":"4"}},{"projectQuotaMemory":{"value":"3000Mi"}}]}],"refresh":"5m","refreshInterval":"5m","standaloneDeployment":false,"templatePath":"/etc/flyte/clusterresource/templates"}},"enabled":true,"service_account_name":"flyteadmin","templates":[{"key":"aa_namespace","value":"apiVersion: v1\nkind: Namespace\nmetadata:\n name: {{ namespace }}\nspec:\n finalizers:\n - kubernetes\n"},{"key":"ab_project_resource_quota","value":"apiVersion: v1\nkind: ResourceQuota\nmetadata:\n name: project-quota\n namespace: {{ namespace }}\nspec:\n hard:\n limits.cpu: {{ projectQuotaCpu }}\n limits.memory: {{ projectQuotaMemory }}\n"}]},"common":{"databaseSecret":{"name":"","secretManifest":{}},"flyteNamespaceTemplate":{"enabled":false},"ingress":{"albSSLRedirect":false,"annotations":{"nginx.ingress.kubernetes.io/app-root":"/console"},"enabled":true,"host":"","separateGrpcIngress":false,"separateGrpcIngressAnnotations":{"nginx.ingress.kubernetes.io/backend-protocol":"GRPC"},"tls":{"enabled":false},"webpackHMR":true}},"configmap":{"adminServer":{"auth":{"appAuth":{"thirdPartyConfig":{"flyteClient":{"clientId":"flytectl","redirectUri":"http://localhost:53593/callback","scopes":["offline","all"]}}},"authorizedUris":["https://localhost:30081","http://flyteadmin:80","http://flyteadmin.flyte.svc.cluster.local:80"],"userAuth":{"openId":{"baseUrl":"https://accounts.google.com","clientId":"657465813211-6eog7ek7li5k7i7fvgv2921075063hpe.apps.googleusercontent.com","scopes":["profile","openid"]}}},"flyteadmin":{"eventVersion":2,"metadataStoragePrefix":["metadata","admin"],"metricsScope":"flyte:","profilerPort":10254,"roleNameKey":"iam.amazonaws.com/role","testing":{"host":"http://flyteadmin"}},"server":{"grpc":{"port":8089},"httpPort":8088,"security":{"allowCors":true,"allowedHeaders":["Content-Type","flyte-authorization"],"allowedOrigins":["*"],"secure":false,"useAuth":false}}},"catalog":{"catalog-cache":{"endpoint":"datacatalog:89","insecure":true,"type":"datacatalog"}},"console":{"BASE_URL":"/console","CONFIG_DIR":"/etc/flyte/config"},"copilot":{"plugins":{"k8s":{"co-pilot":{"image":"cr.flyte.org/flyteorg/flytecopilot:v1.13.0","name":"flyte-copilot-","start-timeout":"30s"}}}},"core":{"propeller":{"downstream-eval-duration":"30s","enable-admin-launcher":true,"leader-election":{"enabled":true,"lease-duration":"15s","lock-config-map":{"name":"propeller-leader","namespace":"flyte"},"renew-deadline":"10s","retry-period":"2s"},"limit-namespace":"all","max-workflow-retries":30,"metadata-prefix":"metadata/propeller","metrics-prefix":"flyte","prof-port":10254,"queue":{"batch-size":-1,"batching-interval":"2s","queue":{"base-delay":"5s","capacity":1000,"max-delay":"120s","rate":100,"type":"maxof"},"sub-queue":{"capacity":100,"rate":10,"type":"bucket"},"type":"batch"},"rawoutput-prefix":"s3://my-s3-bucket/","workers":4,"workflow-reeval-duration":"30s"},"webhook":{"certDir":"/etc/webhook/certs","serviceName":"flyte-pod-webhook"}},"datacatalogServer":{"application":{"grpcPort":8089,"grpcServerReflection":true,"httpPort":8080},"datacatalog":{"metrics-scope":"datacatalog","profiler-port":10254,"storage-prefix":"metadata/datacatalog"}},"domain":{"domains":[{"id":"development","name":"development"},{"id":"staging","name":"staging"},{"id":"production","name":"production"}]},"enabled_plugins":{"tasks":{"task-plugins":{"default-for-task-types":{"container":"container","container_array":"k8s-array","sensor":"agent-service","sidecar":"sidecar"},"enabled-plugins":["container","sidecar","k8s-array","agent-service"]}}},"k8s":{"plugins":{"k8s":{"default-cpus":"100m","default-env-from-configmaps":[],"default-env-from-secrets":[],"default-env-vars":[{"FLYTE_AWS_ENDPOINT":"http://minio.flyte:9000"},{"FLYTE_AWS_ACCESS_KEY_ID":"minio"},{"FLYTE_AWS_SECRET_ACCESS_KEY":"miniostorage"}],"default-memory":"200Mi"}}},"logger":{"logger":{"level":5,"show-source":true}},"remoteData":{"remoteData":{"region":"us-east-1","scheme":"local","signedUrls":{"durationMinutes":3}}},"resource_manager":{"propeller":{"resourcemanager":{"redis":null,"type":"noop"}}},"task_logs":{"plugins":{"logs":{"cloudwatch-enabled":false,"kubernetes-enabled":true,"kubernetes-template-uri":"http://localhost:30082/#/log/{{ \"{{\" }} .namespace {{ \"}}\" }}/{{ \"{{\" }} .podName {{ \"}}\" }}/pod?namespace={{ \"{{\" }} .namespace {{ \"}}\" }}"}}},"task_resource_defaults":{"task_resources":{"defaults":{"cpu":"100m","memory":"200Mi","storage":"5Mi"},"limits":{"cpu":2,"gpu":1,"memory":"1Gi","storage":"20Mi"}}}},"datacatalog":{"affinity":{},"configPath":"/etc/datacatalog/config/*.yaml","image":{"pullPolicy":"IfNotPresent","repository":"cr.flyte.org/flyteorg/datacatalog","tag":"v1.13.0"},"nodeSelector":{},"podAnnotations":{},"replicaCount":1,"resources":{"limits":{"cpu":"500m","ephemeral-storage":"100Mi","memory":"500Mi"},"requests":{"cpu":"10m","ephemeral-storage":"50Mi","memory":"50Mi"}},"service":{"annotations":{"projectcontour.io/upstream-protocol.h2c":"grpc"},"type":"NodePort"},"serviceAccount":{"annotations":{},"create":true,"imagePullSecrets":[]},"tolerations":[]},"db":{"admin":{"database":{"dbname":"flyteadmin","host":"postgres","port":5432,"username":"postgres"}},"datacatalog":{"database":{"dbname":"datacatalog","host":"postgres","port":5432,"username":"postgres"}}},"deployRedoc":true,"flyteadmin":{"additionalVolumeMounts":[],"additionalVolumes":[],"affinity":{},"configPath":"/etc/flyte/config/*.yaml","env":[],"image":{"pullPolicy":"IfNotPresent","repository":"cr.flyte.org/flyteorg/flyteadmin","tag":"v1.13.0"},"initialProjects":["flytesnacks","flytetester","flyteexamples"],"nodeSelector":{},"podAnnotations":{},"replicaCount":1,"resources":{"limits":{"cpu":"250m","ephemeral-storage":"100Mi","memory":"500Mi"},"requests":{"cpu":"10m","ephemeral-storage":"50Mi","memory":"50Mi"}},"secrets":{},"service":{"annotations":{"projectcontour.io/upstream-protocol.h2c":"grpc"},"loadBalancerSourceRanges":[],"type":"ClusterIP"},"serviceAccount":{"annotations":{},"create":true,"imagePullSecrets":[]},"tolerations":[]},"flyteconsole":{"affinity":{},"ga":{"enabled":true,"tracking_id":"G-0QW4DJWJ20"},"image":{"pullPolicy":"IfNotPresent","repository":"cr.flyte.org/flyteorg/flyteconsole","tag":"v1.15.1"},"nodeSelector":{},"podAnnotations":{},"replicaCount":1,"resources":{"limits":{"cpu":"500m","memory":"275Mi"},"requests":{"cpu":"10m","memory":"250Mi"}},"service":{"annotations":{},"type":"ClusterIP"},"tolerations":[]},"flytepropeller":{"affinity":{},"cacheSizeMbs":0,"configPath":"/etc/flyte/config/*.yaml","image":{"pullPolicy":"IfNotPresent","repository":"cr.flyte.org/flyteorg/flytepropeller","tag":"v1.13.0"},"manager":false,"nodeSelector":{},"podAnnotations":{},"replicaCount":1,"resources":{"limits":{"cpu":"200m","ephemeral-storage":"100Mi","memory":"200Mi"},"requests":{"cpu":"10m","ephemeral-storage":"50Mi","memory":"50Mi"}},"serviceAccount":{"annotations":{},"create":true,"imagePullSecrets":[]},"tolerations":[]},"flytescheduler":{"affinity":{},"configPath":"/etc/flyte/config/*.yaml","image":{"pullPolicy":"IfNotPresent","repository":"cr.flyte.org/flyteorg/flytescheduler","tag":"v1.13.0"},"nodeSelector":{},"podAnnotations":{},"resources":{"limits":{"cpu":"250m","ephemeral-storage":"100Mi","memory":"500Mi"},"requests":{"cpu":"10m","ephemeral-storage":"50Mi","memory":"50Mi"}},"secrets":{},"serviceAccount":{"annotations":{},"create":true,"imagePullSecrets":[]},"tolerations":[]},"storage":{"bucketName":"my-s3-bucket","custom":{},"gcs":null,"s3":{"region":"us-east-1"},"type":"sandbox"},"webhook":{"enabled":true,"service":{"annotations":{"projectcontour.io/upstream-protocol.h2c":"grpc"},"type":"ClusterIP"},"serviceAccount":{"annotations":{},"create":true,"imagePullSecrets":[]}},"workflow_notifications":{"config":{},"enabled":false},"workflow_scheduler":{"enabled":true,"type":"native"}}` | ------------------------------------------------------------------- Core System settings This section consists of Core components of Flyte and their deployment settings. This includes FlyteAdmin service, Datacatalog, FlytePropeller and Flyteconsole | | flyte.cluster_resource_manager | object | `{"config":{"cluster_resources":{"customData":[{"production":[{"projectQuotaCpu":{"value":"5"}},{"projectQuotaMemory":{"value":"4000Mi"}}]},{"staging":[{"projectQuotaCpu":{"value":"2"}},{"projectQuotaMemory":{"value":"3000Mi"}}]},{"development":[{"projectQuotaCpu":{"value":"4"}},{"projectQuotaMemory":{"value":"3000Mi"}}]}],"refresh":"5m","refreshInterval":"5m","standaloneDeployment":false,"templatePath":"/etc/flyte/clusterresource/templates"}},"enabled":true,"service_account_name":"flyteadmin","templates":[{"key":"aa_namespace","value":"apiVersion: v1\nkind: Namespace\nmetadata:\n name: {{ namespace }}\nspec:\n finalizers:\n - kubernetes\n"},{"key":"ab_project_resource_quota","value":"apiVersion: v1\nkind: ResourceQuota\nmetadata:\n name: project-quota\n namespace: {{ namespace }}\nspec:\n hard:\n limits.cpu: {{ projectQuotaCpu }}\n limits.memory: {{ projectQuotaMemory }}\n"}]}` | Configuration for the Cluster resource manager component. This is an optional component, that enables automatic cluster configuration. This is useful to set default quotas, manage namespaces etc that map to a project/domain | | flyte.cluster_resource_manager.config.cluster_resources | object | `{"customData":[{"production":[{"projectQuotaCpu":{"value":"5"}},{"projectQuotaMemory":{"value":"4000Mi"}}]},{"staging":[{"projectQuotaCpu":{"value":"2"}},{"projectQuotaMemory":{"value":"3000Mi"}}]},{"development":[{"projectQuotaCpu":{"value":"4"}},{"projectQuotaMemory":{"value":"3000Mi"}}]}],"refresh":"5m","refreshInterval":"5m","standaloneDeployment":false,"templatePath":"/etc/flyte/clusterresource/templates"}` | ClusterResource parameters Refer to the [structure](https://pkg.go.dev/github.com/lyft/flyteadmin@v0.3.37/pkg/runtime/interfaces#ClusterResourceConfig) to customize. | | flyte.cluster_resource_manager.config.cluster_resources.standaloneDeployment | bool | `false` | Starts the cluster resource manager in standalone mode with requisite auth credentials to call flyteadmin service endpoints | @@ -91,21 +91,21 @@ helm upgrade -f values-sandbox.yaml flyte . | flyte.common.ingress.separateGrpcIngressAnnotations | object | `{"nginx.ingress.kubernetes.io/backend-protocol":"GRPC"}` | - Extra Ingress annotations applied only to the GRPC ingress. Only makes sense if `separateGrpcIngress` is enabled. | | flyte.common.ingress.tls | object | `{"enabled":false}` | - TLS Settings | | flyte.common.ingress.webpackHMR | bool | `true` | - Enable or disable HMR route to flyteconsole. This is useful only for frontend development. | -| flyte.configmap | object | `{"adminServer":{"auth":{"appAuth":{"thirdPartyConfig":{"flyteClient":{"clientId":"flytectl","redirectUri":"http://localhost:53593/callback","scopes":["offline","all"]}}},"authorizedUris":["https://localhost:30081","http://flyteadmin:80","http://flyteadmin.flyte.svc.cluster.local:80"],"userAuth":{"openId":{"baseUrl":"https://accounts.google.com","clientId":"657465813211-6eog7ek7li5k7i7fvgv2921075063hpe.apps.googleusercontent.com","scopes":["profile","openid"]}}},"flyteadmin":{"eventVersion":2,"metadataStoragePrefix":["metadata","admin"],"metricsScope":"flyte:","profilerPort":10254,"roleNameKey":"iam.amazonaws.com/role","testing":{"host":"http://flyteadmin"}},"server":{"grpcPort":8089,"httpPort":8088,"security":{"allowCors":true,"allowedHeaders":["Content-Type","flyte-authorization"],"allowedOrigins":["*"],"secure":false,"useAuth":false}}},"catalog":{"catalog-cache":{"endpoint":"datacatalog:89","insecure":true,"type":"datacatalog"}},"console":{"BASE_URL":"/console","CONFIG_DIR":"/etc/flyte/config"},"copilot":{"plugins":{"k8s":{"co-pilot":{"image":"cr.flyte.org/flyteorg/flytecopilot:v1.11.0-b0","name":"flyte-copilot-","start-timeout":"30s"}}}},"core":{"propeller":{"downstream-eval-duration":"30s","enable-admin-launcher":true,"leader-election":{"enabled":true,"lease-duration":"15s","lock-config-map":{"name":"propeller-leader","namespace":"flyte"},"renew-deadline":"10s","retry-period":"2s"},"limit-namespace":"all","max-workflow-retries":30,"metadata-prefix":"metadata/propeller","metrics-prefix":"flyte","prof-port":10254,"queue":{"batch-size":-1,"batching-interval":"2s","queue":{"base-delay":"5s","capacity":1000,"max-delay":"120s","rate":100,"type":"maxof"},"sub-queue":{"capacity":100,"rate":10,"type":"bucket"},"type":"batch"},"rawoutput-prefix":"s3://my-s3-bucket/","workers":4,"workflow-reeval-duration":"30s"},"webhook":{"certDir":"/etc/webhook/certs","serviceName":"flyte-pod-webhook"}},"datacatalogServer":{"application":{"grpcPort":8089,"grpcServerReflection":true,"httpPort":8080},"datacatalog":{"metrics-scope":"datacatalog","profiler-port":10254,"storage-prefix":"metadata/datacatalog"}},"domain":{"domains":[{"id":"development","name":"development"},{"id":"staging","name":"staging"},{"id":"production","name":"production"}]},"enabled_plugins":{"tasks":{"task-plugins":{"default-for-task-types":{"bigquery_query_job_task":"agent-service","container":"container","container_array":"k8s-array","sidecar":"sidecar"},"enabled-plugins":["container","sidecar","k8s-array","agent-service"]}}},"k8s":{"plugins":{"k8s":{"default-cpus":"100m","default-env-from-configmaps":[],"default-env-from-secrets":[],"default-env-vars":[{"FLYTE_AWS_ENDPOINT":"http://minio.flyte:9000"},{"FLYTE_AWS_ACCESS_KEY_ID":"minio"},{"FLYTE_AWS_SECRET_ACCESS_KEY":"miniostorage"}],"default-memory":"200Mi"}}},"logger":{"logger":{"level":5,"show-source":true}},"remoteData":{"remoteData":{"region":"us-east-1","scheme":"local","signedUrls":{"durationMinutes":3}}},"resource_manager":{"propeller":{"resourcemanager":{"redis":null,"type":"noop"}}},"task_logs":{"plugins":{"logs":{"cloudwatch-enabled":false,"kubernetes-enabled":true,"kubernetes-template-uri":"http://localhost:30082/#/log/{{ \"{{\" }} .namespace {{ \"}}\" }}/{{ \"{{\" }} .podName {{ \"}}\" }}/pod?namespace={{ \"{{\" }} .namespace {{ \"}}\" }}"}}},"task_resource_defaults":{"task_resources":{"defaults":{"cpu":"100m","memory":"200Mi","storage":"5Mi"},"limits":{"cpu":2,"gpu":1,"memory":"1Gi","storage":"20Mi"}}}}` | ----------------------------------------------------------------- CONFIGMAPS SETTINGS | -| flyte.configmap.adminServer | object | `{"auth":{"appAuth":{"thirdPartyConfig":{"flyteClient":{"clientId":"flytectl","redirectUri":"http://localhost:53593/callback","scopes":["offline","all"]}}},"authorizedUris":["https://localhost:30081","http://flyteadmin:80","http://flyteadmin.flyte.svc.cluster.local:80"],"userAuth":{"openId":{"baseUrl":"https://accounts.google.com","clientId":"657465813211-6eog7ek7li5k7i7fvgv2921075063hpe.apps.googleusercontent.com","scopes":["profile","openid"]}}},"flyteadmin":{"eventVersion":2,"metadataStoragePrefix":["metadata","admin"],"metricsScope":"flyte:","profilerPort":10254,"roleNameKey":"iam.amazonaws.com/role","testing":{"host":"http://flyteadmin"}},"server":{"grpcPort":8089,"httpPort":8088,"security":{"allowCors":true,"allowedHeaders":["Content-Type","flyte-authorization"],"allowedOrigins":["*"],"secure":false,"useAuth":false}}}` | FlyteAdmin server configuration | +| flyte.configmap | object | `{"adminServer":{"auth":{"appAuth":{"thirdPartyConfig":{"flyteClient":{"clientId":"flytectl","redirectUri":"http://localhost:53593/callback","scopes":["offline","all"]}}},"authorizedUris":["https://localhost:30081","http://flyteadmin:80","http://flyteadmin.flyte.svc.cluster.local:80"],"userAuth":{"openId":{"baseUrl":"https://accounts.google.com","clientId":"657465813211-6eog7ek7li5k7i7fvgv2921075063hpe.apps.googleusercontent.com","scopes":["profile","openid"]}}},"flyteadmin":{"eventVersion":2,"metadataStoragePrefix":["metadata","admin"],"metricsScope":"flyte:","profilerPort":10254,"roleNameKey":"iam.amazonaws.com/role","testing":{"host":"http://flyteadmin"}},"server":{"grpc":{"port":8089},"httpPort":8088,"security":{"allowCors":true,"allowedHeaders":["Content-Type","flyte-authorization"],"allowedOrigins":["*"],"secure":false,"useAuth":false}}},"catalog":{"catalog-cache":{"endpoint":"datacatalog:89","insecure":true,"type":"datacatalog"}},"console":{"BASE_URL":"/console","CONFIG_DIR":"/etc/flyte/config"},"copilot":{"plugins":{"k8s":{"co-pilot":{"image":"cr.flyte.org/flyteorg/flytecopilot:v1.13.0","name":"flyte-copilot-","start-timeout":"30s"}}}},"core":{"propeller":{"downstream-eval-duration":"30s","enable-admin-launcher":true,"leader-election":{"enabled":true,"lease-duration":"15s","lock-config-map":{"name":"propeller-leader","namespace":"flyte"},"renew-deadline":"10s","retry-period":"2s"},"limit-namespace":"all","max-workflow-retries":30,"metadata-prefix":"metadata/propeller","metrics-prefix":"flyte","prof-port":10254,"queue":{"batch-size":-1,"batching-interval":"2s","queue":{"base-delay":"5s","capacity":1000,"max-delay":"120s","rate":100,"type":"maxof"},"sub-queue":{"capacity":100,"rate":10,"type":"bucket"},"type":"batch"},"rawoutput-prefix":"s3://my-s3-bucket/","workers":4,"workflow-reeval-duration":"30s"},"webhook":{"certDir":"/etc/webhook/certs","serviceName":"flyte-pod-webhook"}},"datacatalogServer":{"application":{"grpcPort":8089,"grpcServerReflection":true,"httpPort":8080},"datacatalog":{"metrics-scope":"datacatalog","profiler-port":10254,"storage-prefix":"metadata/datacatalog"}},"domain":{"domains":[{"id":"development","name":"development"},{"id":"staging","name":"staging"},{"id":"production","name":"production"}]},"enabled_plugins":{"tasks":{"task-plugins":{"default-for-task-types":{"container":"container","container_array":"k8s-array","sensor":"agent-service","sidecar":"sidecar"},"enabled-plugins":["container","sidecar","k8s-array","agent-service"]}}},"k8s":{"plugins":{"k8s":{"default-cpus":"100m","default-env-from-configmaps":[],"default-env-from-secrets":[],"default-env-vars":[{"FLYTE_AWS_ENDPOINT":"http://minio.flyte:9000"},{"FLYTE_AWS_ACCESS_KEY_ID":"minio"},{"FLYTE_AWS_SECRET_ACCESS_KEY":"miniostorage"}],"default-memory":"200Mi"}}},"logger":{"logger":{"level":5,"show-source":true}},"remoteData":{"remoteData":{"region":"us-east-1","scheme":"local","signedUrls":{"durationMinutes":3}}},"resource_manager":{"propeller":{"resourcemanager":{"redis":null,"type":"noop"}}},"task_logs":{"plugins":{"logs":{"cloudwatch-enabled":false,"kubernetes-enabled":true,"kubernetes-template-uri":"http://localhost:30082/#/log/{{ \"{{\" }} .namespace {{ \"}}\" }}/{{ \"{{\" }} .podName {{ \"}}\" }}/pod?namespace={{ \"{{\" }} .namespace {{ \"}}\" }}"}}},"task_resource_defaults":{"task_resources":{"defaults":{"cpu":"100m","memory":"200Mi","storage":"5Mi"},"limits":{"cpu":2,"gpu":1,"memory":"1Gi","storage":"20Mi"}}}}` | ----------------------------------------------------------------- CONFIGMAPS SETTINGS | +| flyte.configmap.adminServer | object | `{"auth":{"appAuth":{"thirdPartyConfig":{"flyteClient":{"clientId":"flytectl","redirectUri":"http://localhost:53593/callback","scopes":["offline","all"]}}},"authorizedUris":["https://localhost:30081","http://flyteadmin:80","http://flyteadmin.flyte.svc.cluster.local:80"],"userAuth":{"openId":{"baseUrl":"https://accounts.google.com","clientId":"657465813211-6eog7ek7li5k7i7fvgv2921075063hpe.apps.googleusercontent.com","scopes":["profile","openid"]}}},"flyteadmin":{"eventVersion":2,"metadataStoragePrefix":["metadata","admin"],"metricsScope":"flyte:","profilerPort":10254,"roleNameKey":"iam.amazonaws.com/role","testing":{"host":"http://flyteadmin"}},"server":{"grpc":{"port":8089},"httpPort":8088,"security":{"allowCors":true,"allowedHeaders":["Content-Type","flyte-authorization"],"allowedOrigins":["*"],"secure":false,"useAuth":false}}}` | FlyteAdmin server configuration | | flyte.configmap.adminServer.auth | object | `{"appAuth":{"thirdPartyConfig":{"flyteClient":{"clientId":"flytectl","redirectUri":"http://localhost:53593/callback","scopes":["offline","all"]}}},"authorizedUris":["https://localhost:30081","http://flyteadmin:80","http://flyteadmin.flyte.svc.cluster.local:80"],"userAuth":{"openId":{"baseUrl":"https://accounts.google.com","clientId":"657465813211-6eog7ek7li5k7i7fvgv2921075063hpe.apps.googleusercontent.com","scopes":["profile","openid"]}}}` | Authentication configuration | | flyte.configmap.adminServer.server.security.secure | bool | `false` | Controls whether to serve requests over SSL/TLS. | | flyte.configmap.adminServer.server.security.useAuth | bool | `false` | Controls whether to enforce authentication. Follow the guide in https://docs.flyte.org/ on how to setup authentication. | | flyte.configmap.catalog | object | `{"catalog-cache":{"endpoint":"datacatalog:89","insecure":true,"type":"datacatalog"}}` | Catalog Client configuration [structure](https://pkg.go.dev/github.com/flyteorg/flytepropeller/pkg/controller/nodes/task/catalog#Config) Additional advanced Catalog configuration [here](https://pkg.go.dev/github.com/lyft/flyteplugins/go/tasks/pluginmachinery/catalog#Config) | | flyte.configmap.console | object | `{"BASE_URL":"/console","CONFIG_DIR":"/etc/flyte/config"}` | Configuration for Flyte console UI | -| flyte.configmap.copilot | object | `{"plugins":{"k8s":{"co-pilot":{"image":"cr.flyte.org/flyteorg/flytecopilot:v1.11.0-b0","name":"flyte-copilot-","start-timeout":"30s"}}}}` | Copilot configuration | -| flyte.configmap.copilot.plugins.k8s.co-pilot | object | `{"image":"cr.flyte.org/flyteorg/flytecopilot:v1.11.0-b0","name":"flyte-copilot-","start-timeout":"30s"}` | Structure documented [here](https://pkg.go.dev/github.com/lyft/flyteplugins@v0.5.28/go/tasks/pluginmachinery/flytek8s/config#FlyteCoPilotConfig) | +| flyte.configmap.copilot | object | `{"plugins":{"k8s":{"co-pilot":{"image":"cr.flyte.org/flyteorg/flytecopilot:v1.13.0","name":"flyte-copilot-","start-timeout":"30s"}}}}` | Copilot configuration | +| flyte.configmap.copilot.plugins.k8s.co-pilot | object | `{"image":"cr.flyte.org/flyteorg/flytecopilot:v1.13.0","name":"flyte-copilot-","start-timeout":"30s"}` | Structure documented [here](https://pkg.go.dev/github.com/lyft/flyteplugins@v0.5.28/go/tasks/pluginmachinery/flytek8s/config#FlyteCoPilotConfig) | | flyte.configmap.core | object | `{"propeller":{"downstream-eval-duration":"30s","enable-admin-launcher":true,"leader-election":{"enabled":true,"lease-duration":"15s","lock-config-map":{"name":"propeller-leader","namespace":"flyte"},"renew-deadline":"10s","retry-period":"2s"},"limit-namespace":"all","max-workflow-retries":30,"metadata-prefix":"metadata/propeller","metrics-prefix":"flyte","prof-port":10254,"queue":{"batch-size":-1,"batching-interval":"2s","queue":{"base-delay":"5s","capacity":1000,"max-delay":"120s","rate":100,"type":"maxof"},"sub-queue":{"capacity":100,"rate":10,"type":"bucket"},"type":"batch"},"rawoutput-prefix":"s3://my-s3-bucket/","workers":4,"workflow-reeval-duration":"30s"},"webhook":{"certDir":"/etc/webhook/certs","serviceName":"flyte-pod-webhook"}}` | Core propeller configuration | | flyte.configmap.core.propeller | object | `{"downstream-eval-duration":"30s","enable-admin-launcher":true,"leader-election":{"enabled":true,"lease-duration":"15s","lock-config-map":{"name":"propeller-leader","namespace":"flyte"},"renew-deadline":"10s","retry-period":"2s"},"limit-namespace":"all","max-workflow-retries":30,"metadata-prefix":"metadata/propeller","metrics-prefix":"flyte","prof-port":10254,"queue":{"batch-size":-1,"batching-interval":"2s","queue":{"base-delay":"5s","capacity":1000,"max-delay":"120s","rate":100,"type":"maxof"},"sub-queue":{"capacity":100,"rate":10,"type":"bucket"},"type":"batch"},"rawoutput-prefix":"s3://my-s3-bucket/","workers":4,"workflow-reeval-duration":"30s"}` | follows the structure specified [here](https://pkg.go.dev/github.com/flyteorg/flytepropeller/pkg/controller/config). | | flyte.configmap.datacatalogServer | object | `{"application":{"grpcPort":8089,"grpcServerReflection":true,"httpPort":8080},"datacatalog":{"metrics-scope":"datacatalog","profiler-port":10254,"storage-prefix":"metadata/datacatalog"}}` | Datacatalog server config | | flyte.configmap.domain | object | `{"domains":[{"id":"development","name":"development"},{"id":"staging","name":"staging"},{"id":"production","name":"production"}]}` | Domains configuration for Flyte projects. This enables the specified number of domains across all projects in Flyte. | -| flyte.configmap.enabled_plugins.tasks | object | `{"task-plugins":{"default-for-task-types":{"bigquery_query_job_task":"agent-service","container":"container","container_array":"k8s-array","sidecar":"sidecar"},"enabled-plugins":["container","sidecar","k8s-array","agent-service"]}}` | Tasks specific configuration [structure](https://pkg.go.dev/github.com/flyteorg/flytepropeller/pkg/controller/nodes/task/config#GetConfig) | -| flyte.configmap.enabled_plugins.tasks.task-plugins | object | `{"default-for-task-types":{"bigquery_query_job_task":"agent-service","container":"container","container_array":"k8s-array","sidecar":"sidecar"},"enabled-plugins":["container","sidecar","k8s-array","agent-service"]}` | Plugins configuration, [structure](https://pkg.go.dev/github.com/flyteorg/flytepropeller/pkg/controller/nodes/task/config#TaskPluginConfig) | +| flyte.configmap.enabled_plugins.tasks | object | `{"task-plugins":{"default-for-task-types":{"container":"container","container_array":"k8s-array","sensor":"agent-service","sidecar":"sidecar"},"enabled-plugins":["container","sidecar","k8s-array","agent-service"]}}` | Tasks specific configuration [structure](https://pkg.go.dev/github.com/flyteorg/flytepropeller/pkg/controller/nodes/task/config#GetConfig) | +| flyte.configmap.enabled_plugins.tasks.task-plugins | object | `{"default-for-task-types":{"container":"container","container_array":"k8s-array","sensor":"agent-service","sidecar":"sidecar"},"enabled-plugins":["container","sidecar","k8s-array","agent-service"]}` | Plugins configuration, [structure](https://pkg.go.dev/github.com/flyteorg/flytepropeller/pkg/controller/nodes/task/config#TaskPluginConfig) | | flyte.configmap.enabled_plugins.tasks.task-plugins.enabled-plugins | list | `["container","sidecar","k8s-array","agent-service"]` | [Enabled Plugins](https://pkg.go.dev/github.com/lyft/flyteplugins/go/tasks/config#Config). Enable sagemaker*, athena if you install the backend plugins | | flyte.configmap.k8s | object | `{"plugins":{"k8s":{"default-cpus":"100m","default-env-from-configmaps":[],"default-env-from-secrets":[],"default-env-vars":[{"FLYTE_AWS_ENDPOINT":"http://minio.flyte:9000"},{"FLYTE_AWS_ACCESS_KEY_ID":"minio"},{"FLYTE_AWS_SECRET_ACCESS_KEY":"miniostorage"}],"default-memory":"200Mi"}}}` | Kubernetes specific Flyte configuration | | flyte.configmap.k8s.plugins.k8s | object | `{"default-cpus":"100m","default-env-from-configmaps":[],"default-env-from-secrets":[],"default-env-vars":[{"FLYTE_AWS_ENDPOINT":"http://minio.flyte:9000"},{"FLYTE_AWS_ACCESS_KEY_ID":"minio"},{"FLYTE_AWS_SECRET_ACCESS_KEY":"miniostorage"}],"default-memory":"200Mi"}` | Configuration section for all K8s specific plugins [Configuration structure](https://pkg.go.dev/github.com/lyft/flyteplugins/go/tasks/pluginmachinery/flytek8s/config) | @@ -120,7 +120,7 @@ helm upgrade -f values-sandbox.yaml flyte . | flyte.datacatalog.configPath | string | `"/etc/datacatalog/config/*.yaml"` | Default regex string for searching configuration files | | flyte.datacatalog.image.pullPolicy | string | `"IfNotPresent"` | Docker image pull policy | | flyte.datacatalog.image.repository | string | `"cr.flyte.org/flyteorg/datacatalog"` | Docker image for Datacatalog deployment | -| flyte.datacatalog.image.tag | string | `"v1.11.0-b0"` | Docker image tag | +| flyte.datacatalog.image.tag | string | `"v1.13.0"` | Docker image tag | | flyte.datacatalog.nodeSelector | object | `{}` | nodeSelector for Datacatalog deployment | | flyte.datacatalog.podAnnotations | object | `{}` | Annotations for Datacatalog pods | | flyte.datacatalog.replicaCount | int | `1` | Replicas count for Datacatalog deployment | @@ -136,7 +136,7 @@ helm upgrade -f values-sandbox.yaml flyte . | flyte.flyteadmin.env | list | `[]` | Additional flyteadmin container environment variables e.g. SendGrid's API key - name: SENDGRID_API_KEY value: "" e.g. secret environment variable (you can combine it with .additionalVolumes): - name: SENDGRID_API_KEY valueFrom: secretKeyRef: name: sendgrid-secret key: api_key | | flyte.flyteadmin.image.pullPolicy | string | `"IfNotPresent"` | Docker image pull policy | | flyte.flyteadmin.image.repository | string | `"cr.flyte.org/flyteorg/flyteadmin"` | Docker image for Flyteadmin deployment | -| flyte.flyteadmin.image.tag | string | `"v1.11.0-b0"` | Docker image tag | +| flyte.flyteadmin.image.tag | string | `"v1.13.0"` | Docker image tag | | flyte.flyteadmin.initialProjects | list | `["flytesnacks","flytetester","flyteexamples"]` | Initial projects to create | | flyte.flyteadmin.nodeSelector | object | `{}` | nodeSelector for Flyteadmin deployment | | flyte.flyteadmin.podAnnotations | object | `{}` | Annotations for Flyteadmin pods | @@ -151,7 +151,7 @@ helm upgrade -f values-sandbox.yaml flyte . | flyte.flyteconsole.affinity | object | `{}` | affinity for Flyteconsole deployment | | flyte.flyteconsole.image.pullPolicy | string | `"IfNotPresent"` | Docker image pull policy | | flyte.flyteconsole.image.repository | string | `"cr.flyte.org/flyteorg/flyteconsole"` | Docker image for Flyteconsole deployment | -| flyte.flyteconsole.image.tag | string | `"v1.10.3"` | Docker image tag | +| flyte.flyteconsole.image.tag | string | `"v1.15.1"` | Docker image tag | | flyte.flyteconsole.nodeSelector | object | `{}` | nodeSelector for Flyteconsole deployment | | flyte.flyteconsole.podAnnotations | object | `{}` | Annotations for Flyteconsole pods | | flyte.flyteconsole.replicaCount | int | `1` | Replicas count for Flyteconsole deployment | @@ -162,7 +162,7 @@ helm upgrade -f values-sandbox.yaml flyte . | flyte.flytepropeller.configPath | string | `"/etc/flyte/config/*.yaml"` | Default regex string for searching configuration files | | flyte.flytepropeller.image.pullPolicy | string | `"IfNotPresent"` | Docker image pull policy | | flyte.flytepropeller.image.repository | string | `"cr.flyte.org/flyteorg/flytepropeller"` | Docker image for Flytepropeller deployment | -| flyte.flytepropeller.image.tag | string | `"v1.11.0-b0"` | Docker image tag | +| flyte.flytepropeller.image.tag | string | `"v1.13.0"` | Docker image tag | | flyte.flytepropeller.nodeSelector | object | `{}` | nodeSelector for Flytepropeller deployment | | flyte.flytepropeller.podAnnotations | object | `{}` | Annotations for Flytepropeller pods | | flyte.flytepropeller.replicaCount | int | `1` | Replicas count for Flytepropeller deployment | @@ -176,7 +176,7 @@ helm upgrade -f values-sandbox.yaml flyte . | flyte.flytescheduler.configPath | string | `"/etc/flyte/config/*.yaml"` | Default regex string for searching configuration files | | flyte.flytescheduler.image.pullPolicy | string | `"IfNotPresent"` | Docker image pull policy | | flyte.flytescheduler.image.repository | string | `"cr.flyte.org/flyteorg/flytescheduler"` | Docker image for Flytescheduler deployment | -| flyte.flytescheduler.image.tag | string | `"v1.11.0-b0"` | Docker image tag | +| flyte.flytescheduler.image.tag | string | `"v1.13.0"` | Docker image tag | | flyte.flytescheduler.nodeSelector | object | `{}` | nodeSelector for Flytescheduler deployment | | flyte.flytescheduler.podAnnotations | object | `{}` | Annotations for Flytescheduler pods | | flyte.flytescheduler.resources | object | `{"limits":{"cpu":"250m","ephemeral-storage":"100Mi","memory":"500Mi"},"requests":{"cpu":"10m","ephemeral-storage":"50Mi","memory":"50Mi"}}` | Default resources requests and limits for Flytescheduler deployment | @@ -235,18 +235,18 @@ helm upgrade -f values-sandbox.yaml flyte . | postgres.tolerations | list | `[]` | tolerations for Postgres deployment | | redis | object | `{"enabled":false}` | --------------------------------------------- REDIS SETTINGS | | redis.enabled | bool | `false` | - enable or disable Redis Statefulset installation | -| redoc.affinity | object | `{}` | affinity for Minio deployment | -| redoc.enabled | bool | `true` | - enable or disable Minio deployment installation | +| redoc.affinity | object | `{}` | affinity for redoc deployment | +| redoc.enabled | bool | `true` | - enable or disable redoc deployment installation | | redoc.image.pullPolicy | string | `"IfNotPresent"` | Docker image pull policy | -| redoc.image.repository | string | `"docker.io/redocly/redoc"` | Docker image for Minio deployment | +| redoc.image.repository | string | `"docker.io/redocly/redoc"` | Docker image for redoc deployment | | redoc.image.tag | string | `"latest"` | Docker image tag | -| redoc.nodeSelector | object | `{}` | nodeSelector for Minio deployment | -| redoc.podAnnotations | object | `{}` | Annotations for Minio pods | -| redoc.replicaCount | int | `1` | Replicas count for Minio deployment | -| redoc.resources | object | `{"limits":{"cpu":"200m","memory":"512Mi"},"requests":{"cpu":"10m","memory":"128Mi"}}` | Default resources requests and limits for Minio deployment | +| redoc.nodeSelector | object | `{}` | nodeSelector for redoc deployment | +| redoc.podAnnotations | object | `{}` | Annotations for redoc pods | +| redoc.replicaCount | int | `1` | Replicas count for redoc deployment | +| redoc.resources | object | `{"limits":{"cpu":"200m","memory":"512Mi"},"requests":{"cpu":"10m","memory":"128Mi"}}` | Default resources requests and limits for redoc deployment | | redoc.resources.limits | object | `{"cpu":"200m","memory":"512Mi"}` | Limits are the maximum set of resources needed for this pod | | redoc.resources.requests | object | `{"cpu":"10m","memory":"128Mi"}` | Requests are the minimum set of resources needed for this pod | -| redoc.service | object | `{"type":"ClusterIP"}` | Service settings for Minio | -| redoc.tolerations | list | `[]` | tolerations for Minio deployment | +| redoc.service | object | `{"type":"ClusterIP"}` | Service settings for redoc | +| redoc.tolerations | list | `[]` | tolerations for redoc deployment | | sparkoperator | object | `{"enabled":false}` | Optional: Spark Plugin using the Spark Operator | | sparkoperator.enabled | bool | `false` | - enable or disable Sparkoperator deployment installation | diff --git a/charts/flyte/templates/redoc/deployment.yaml b/charts/flyte/templates/redoc/deployment.yaml index f194672ccfe..808c9c42f8f 100644 --- a/charts/flyte/templates/redoc/deployment.yaml +++ b/charts/flyte/templates/redoc/deployment.yaml @@ -1,3 +1,4 @@ +{{- if .Values.redoc.enabled }} apiVersion: apps/v1 kind: Deployment metadata: @@ -33,7 +34,7 @@ spec: ports: - containerPort: 8087 resources: {{ toYaml .Values.redoc.resources | nindent 10 }} - {{- with .Values.minio.nodeSelector }} + {{- with .Values.redoc.nodeSelector }} nodeSelector: {{ tpl (toYaml .) $ | nindent 8 }} {{- end }} {{- with .Values.redoc.affinity }} @@ -42,4 +43,4 @@ spec: {{- with .Values.redoc.tolerations }} tolerations: {{ tpl (toYaml .) $ | nindent 8 }} {{- end }} - +{{- end }} diff --git a/charts/flyte/templates/redoc/service.yaml b/charts/flyte/templates/redoc/service.yaml index 9f9eace0738..6924557ccde 100644 --- a/charts/flyte/templates/redoc/service.yaml +++ b/charts/flyte/templates/redoc/service.yaml @@ -1,3 +1,4 @@ +{{- if .Values.redoc.enabled }} apiVersion: v1 kind: Service metadata: @@ -17,3 +18,4 @@ spec: port: 87 targetPort: 8087 selector: {{ include "redoc.selectorLabels" . | nindent 4 }} +{{- end }} diff --git a/charts/flyte/values.yaml b/charts/flyte/values.yaml index 71069a73181..9d4940537fc 100755 --- a/charts/flyte/values.yaml +++ b/charts/flyte/values.yaml @@ -15,7 +15,7 @@ flyte: # -- Docker image for Flyteadmin deployment repository: cr.flyte.org/flyteorg/flyteadmin # FLYTEADMIN_IMAGE # -- Docker image tag - tag: v1.11.0-b0 # FLYTEADMIN_TAG + tag: v1.13.0 # FLYTEADMIN_TAG # -- Docker image pull policy pullPolicy: IfNotPresent # -- Additional flyteadmin container environment variables @@ -83,7 +83,7 @@ flyte: # -- Docker image for Flytescheduler deployment repository: cr.flyte.org/flyteorg/flytescheduler # FLYTESCHEDULER_IMAGE # -- Docker image tag - tag: v1.11.0-b0 # FLYTESCHEDULER_TAG + tag: v1.13.0 # FLYTESCHEDULER_TAG # -- Docker image pull policy pullPolicy: IfNotPresent # -- Default resources requests and limits for Flytescheduler deployment @@ -128,7 +128,7 @@ flyte: # -- Docker image for Datacatalog deployment repository: cr.flyte.org/flyteorg/datacatalog # DATACATALOG_IMAGE # -- Docker image tag - tag: v1.11.0-b0 # DATACATALOG_TAG + tag: v1.13.0 # DATACATALOG_TAG # -- Docker image pull policy pullPolicy: IfNotPresent # -- Default resources requests and limits for Datacatalog deployment @@ -177,7 +177,7 @@ flyte: # -- Docker image for Flytepropeller deployment repository: cr.flyte.org/flyteorg/flytepropeller # FLYTEPROPELLER_IMAGE # -- Docker image tag - tag: v1.11.0-b0 # FLYTEPROPELLER_TAG + tag: v1.13.0 # FLYTEPROPELLER_TAG # -- Docker image pull policy pullPolicy: IfNotPresent # -- Default resources requests and limits for Flytepropeller deployment @@ -222,7 +222,7 @@ flyte: # -- Docker image for Flyteconsole deployment repository: cr.flyte.org/flyteorg/flyteconsole # FLYTECONSOLE_IMAGE # -- Docker image tag - tag: v1.10.3 # FLYTECONSOLE_TAG + tag: v1.15.1 # FLYTECONSOLE_TAG # -- Docker image pull policy pullPolicy: IfNotPresent # -- Default resources requests and limits for Flyteconsole deployment @@ -377,7 +377,8 @@ flyte: # Refer to the [server config](https://pkg.go.dev/github.com/lyft/flyteadmin@v0.3.37/pkg/config#ServerConfig). server: httpPort: 8088 - grpcPort: 8089 + grpc: + port: 8089 security: # -- Controls whether to serve requests over SSL/TLS. secure: false @@ -470,7 +471,7 @@ flyte: # -- Structure documented [here](https://pkg.go.dev/github.com/lyft/flyteplugins@v0.5.28/go/tasks/pluginmachinery/flytek8s/config#FlyteCoPilotConfig) co-pilot: name: flyte-copilot- - image: cr.flyte.org/flyteorg/flytecopilot:v1.11.0-b0 # FLYTECOPILOT_IMAGE + image: cr.flyte.org/flyteorg/flytecopilot:v1.13.0 # FLYTECOPILOT_IMAGE start-timeout: 30s # -- Core propeller configuration @@ -531,7 +532,7 @@ flyte: container: container sidecar: sidecar container_array: k8s-array - bigquery_query_job_task: agent-service + sensor: agent-service # -- Kubernetes specific Flyte configuration @@ -750,18 +751,18 @@ minio: affinity: {} redoc: - # --- enable or disable Minio deployment installation + # --- enable or disable redoc deployment installation enabled: true - # -- Replicas count for Minio deployment + # -- Replicas count for redoc deployment replicaCount: 1 image: - # -- Docker image for Minio deployment + # -- Docker image for redoc deployment repository: docker.io/redocly/redoc # -- Docker image tag tag: latest # -- Docker image pull policy pullPolicy: IfNotPresent - # -- Default resources requests and limits for Minio deployment + # -- Default resources requests and limits for redoc deployment resources: # -- Requests are the minimum set of resources needed for this pod requests: @@ -771,16 +772,16 @@ redoc: limits: cpu: 200m memory: 512Mi - # -- Service settings for Minio + # -- Service settings for redoc service: type: ClusterIP - # -- Annotations for Minio pods + # -- Annotations for redoc pods podAnnotations: {} - # -- nodeSelector for Minio deployment + # -- nodeSelector for redoc deployment nodeSelector: {} - # -- tolerations for Minio deployment + # -- tolerations for redoc deployment tolerations: [] - # -- affinity for Minio deployment + # -- affinity for redoc deployment affinity: {} # diff --git a/charts/flyteagent/README.md b/charts/flyteagent/README.md index 18cc0a9ef97..d5a33165f92 100644 --- a/charts/flyteagent/README.md +++ b/charts/flyteagent/README.md @@ -19,8 +19,8 @@ A Helm chart for Flyte agent | extraArgs | object | `{}` | Appends extra command line arguments to the main command | | fullnameOverride | string | `""` | | | image.pullPolicy | string | `"IfNotPresent"` | Docker image pull policy | -| image.repository | string | `"ghcr.io/flyteorg/flyteagent"` | Docker image for flyteagent deployment | -| image.tag | string | `"1.11.0"` | Docker image tag | +| image.repository | string | `"cr.flyte.org/flyteorg/flyteagent"` | Docker image for flyteagent deployment | +| image.tag | string | `"1.13.0"` | Docker image tag | | nameOverride | string | `""` | | | nodeSelector | object | `{}` | nodeSelector for flyteagent deployment | | podAnnotations | object | `{}` | Annotations for flyteagent pods | @@ -32,7 +32,7 @@ A Helm chart for Flyte agent | priorityClassName | string | `""` | Sets priorityClassName for datacatalog pod(s). | | readinessProbe | object | `{"grpc":{"port":8000},"initialDelaySeconds":1,"periodSeconds":3}` | https://kubernetes.io/blog/2022/05/13/grpc-probes-now-in-beta/#trying-the-feature-out | | replicaCount | int | `1` | Replicas count for flyteagent deployment | -| resources | object | `{"limits":{"cpu":"500m","ephemeral-storage":"200Mi","memory":"200Mi"},"requests":{"cpu":"500m","ephemeral-storage":"200Mi","memory":"200Mi"}}` | Default resources requests and limits for flyteagent deployment | +| resources | object | `{"limits":{"cpu":"500m","ephemeral-storage":"200Mi","memory":"300Mi"},"requests":{"cpu":"500m","ephemeral-storage":"200Mi","memory":"200Mi"}}` | Default resources requests and limits for flyteagent deployment | | securityContext | object | `{"allowPrivilegeEscalation":false}` | Security context for container | | service | object | `{"annotations":{"projectcontour.io/upstream-protocol.h2c":"grpc"},"type":"ClusterIP"}` | Service settings for flyteagent | | serviceAccount | object | `{"annotations":{},"create":true,"imagePullSecrets":[]}` | Configuration for service accounts for flyteagent | diff --git a/charts/flyteagent/templates/_helpers.tpl b/charts/flyteagent/templates/_helpers.tpl index 40411a61b93..c8ed80055b7 100755 --- a/charts/flyteagent/templates/_helpers.tpl +++ b/charts/flyteagent/templates/_helpers.tpl @@ -31,7 +31,7 @@ app.kubernetes.io/managed-by: {{ .Release.Service }} {{- define "flyteagent.podLabels" -}} {{ include "flyteagent.labels" . }} {{- with .Values.podLabels }} -{{- toYaml . }} +{{ toYaml . }} {{- end }} {{- end -}} diff --git a/charts/flyteagent/templates/agent/service.yaml b/charts/flyteagent/templates/agent/service.yaml index a6e9908b313..862b01aa022 100644 --- a/charts/flyteagent/templates/agent/service.yaml +++ b/charts/flyteagent/templates/agent/service.yaml @@ -15,5 +15,6 @@ spec: - name: {{ .Values.ports.name }} port: {{ .Values.ports.containerPort }} protocol: TCP + appProtocol: TCP targetPort: {{ .Values.ports.name }} selector: {{ include "flyteagent.selectorLabels" . | nindent 4 }} diff --git a/charts/flyteagent/values.yaml b/charts/flyteagent/values.yaml index ecfc08e40ae..d960a90e8cc 100755 --- a/charts/flyteagent/values.yaml +++ b/charts/flyteagent/values.yaml @@ -21,9 +21,9 @@ agentSecret: replicaCount: 1 image: # -- Docker image for flyteagent deployment - repository: ghcr.io/flyteorg/flyteagent + repository: cr.flyte.org/flyteorg/flyteagent # FLYTEAGENT_IMAGE # -- Docker image tag - tag: 1.11.0 # FLYTEAGENT_TAG + tag: 1.13.0 # FLYTEAGENT_TAG # -- Docker image pull policy pullPolicy: IfNotPresent ports: @@ -34,7 +34,7 @@ resources: limits: cpu: 500m ephemeral-storage: 200Mi - memory: 200Mi + memory: 300Mi requests: cpu: 500m ephemeral-storage: 200Mi diff --git a/cmd/single/start.go b/cmd/single/start.go index d415f821110..e60c0e565f3 100644 --- a/cmd/single/start.go +++ b/cmd/single/start.go @@ -202,7 +202,7 @@ var startCmd = &cobra.Command{ for _, serviceName := range []string{otelutils.AdminClientTracer, otelutils.AdminGormTracer, otelutils.AdminServerTracer, otelutils.BlobstoreClientTracer, otelutils.DataCatalogClientTracer, otelutils.DataCatalogGormTracer, otelutils.DataCatalogServerTracer, otelutils.FlytePropellerTracer, otelutils.K8sClientTracer} { - if err := otelutils.RegisterTracerProvider(serviceName, otelutils.GetConfig()); err != nil { + if err := otelutils.RegisterTracerProviderWithContext(ctx, serviceName, otelutils.GetConfig()); err != nil { logger.Errorf(ctx, "Failed to create otel tracer provider. %v", err) return err } diff --git a/datacatalog/Makefile b/datacatalog/Makefile index 15a9a293417..e4e9b72c426 100644 --- a/datacatalog/Makefile +++ b/datacatalog/Makefile @@ -1,11 +1,7 @@ export REPOSITORY=datacatalog -include boilerplate/flyte/docker_build/Makefile -include boilerplate/flyte/golang_test_targets/Makefile - -.PHONY: update_boilerplate -update_boilerplate: - @curl https://raw.githubusercontent.com/flyteorg/boilerplate/master/boilerplate/update.sh -o boilerplate/update.sh - @boilerplate/update.sh +export REPO_ROOT=.. +include ../boilerplate/flyte/docker_build/Makefile +include ../boilerplate/flyte/golang_test_targets/Makefile .PHONY: compile compile: @@ -17,11 +13,3 @@ linux_compile: export CGO_ENABLED ?= 0 linux_compile: export GOOS ?= linux linux_compile: go build -o /artifacts/datacatalog ./cmd/ - -.PHONY: generate -generate: - @go generate ./... - -.PHONY: go-tidy -go-tidy: - go mod tidy diff --git a/datacatalog/boilerplate/flyte/code_of_conduct/CODE_OF_CONDUCT.md b/datacatalog/boilerplate/flyte/code_of_conduct/CODE_OF_CONDUCT.md deleted file mode 100644 index e12139d6916..00000000000 --- a/datacatalog/boilerplate/flyte/code_of_conduct/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,2 +0,0 @@ -This project is governed by LF AI Foundation's [code of conduct](https://lfprojects.org/policies/code-of-conduct/). -All contributors and participants agree to abide by its terms. diff --git a/datacatalog/boilerplate/flyte/code_of_conduct/README.rst b/datacatalog/boilerplate/flyte/code_of_conduct/README.rst deleted file mode 100644 index 0c9f2f1ec52..00000000000 --- a/datacatalog/boilerplate/flyte/code_of_conduct/README.rst +++ /dev/null @@ -1,2 +0,0 @@ -CODE OF CONDUCT -~~~~~~~~~~~~~~~ diff --git a/datacatalog/boilerplate/flyte/code_of_conduct/update.sh b/datacatalog/boilerplate/flyte/code_of_conduct/update.sh deleted file mode 100755 index 42f61584603..00000000000 --- a/datacatalog/boilerplate/flyte/code_of_conduct/update.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash - -# WARNING: THIS FILE IS MANAGED IN THE 'BOILERPLATE' REPO AND COPIED TO OTHER REPOSITORIES. -# ONLY EDIT THIS FILE FROM WITHIN THE 'FLYTEORG/BOILERPLATE' REPOSITORY: -# -# TO OPT OUT OF UPDATES, SEE https://github.com/flyteorg/boilerplate/blob/master/Readme.rst - -set -e - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" - -cp ${DIR}/CODE_OF_CONDUCT.md ${DIR}/../../../CODE_OF_CONDUCT.md diff --git a/datacatalog/boilerplate/flyte/end2end/Makefile b/datacatalog/boilerplate/flyte/end2end/Makefile deleted file mode 100644 index 98ee63ae7a3..00000000000 --- a/datacatalog/boilerplate/flyte/end2end/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -# WARNING: THIS FILE IS MANAGED IN THE 'BOILERPLATE' REPO AND COPIED TO OTHER REPOSITORIES. -# ONLY EDIT THIS FILE FROM WITHIN THE 'FLYTEORG/BOILERPLATE' REPOSITORY: -# -# TO OPT OUT OF UPDATES, SEE https://github.com/flyteorg/boilerplate/blob/master/Readme.rst - -.PHONY: end2end_execute -end2end_execute: export FLYTESNACKS_PRIORITIES ?= P0 -end2end_execute: export FLYTESNACKS_VERSION ?= $(shell curl --silent "https://api.github.com/repos/flyteorg/flytesnacks/releases/latest" | jq -r .tag_name) -end2end_execute: - ./boilerplate/flyte/end2end/end2end.sh ./boilerplate/flyte/end2end/functional-test-config.yaml --return_non_zero_on_failure - -.PHONY: k8s_integration_execute -k8s_integration_execute: - echo "pass" diff --git a/datacatalog/boilerplate/flyte/end2end/end2end.sh b/datacatalog/boilerplate/flyte/end2end/end2end.sh deleted file mode 100755 index 5dd825c1a08..00000000000 --- a/datacatalog/boilerplate/flyte/end2end/end2end.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash - -# WARNING: THIS FILE IS MANAGED IN THE 'BOILERPLATE' REPO AND COPIED TO OTHER REPOSITORIES. -# ONLY EDIT THIS FILE FROM WITHIN THE 'FLYTEORG/BOILERPLATE' REPOSITORY: -# -# TO OPT OUT OF UPDATES, SEE https://github.com/flyteorg/boilerplate/blob/master/Readme.rst -set -eu - -CONFIG_FILE=$1; shift -EXTRA_FLAGS=( "$@" ) - -python ./boilerplate/flyte/end2end/run-tests.py $FLYTESNACKS_VERSION $FLYTESNACKS_PRIORITIES $CONFIG_FILE ${EXTRA_FLAGS[@]} diff --git a/datacatalog/boilerplate/flyte/end2end/run-tests.py b/datacatalog/boilerplate/flyte/end2end/run-tests.py deleted file mode 100644 index 5365da006e7..00000000000 --- a/datacatalog/boilerplate/flyte/end2end/run-tests.py +++ /dev/null @@ -1,285 +0,0 @@ -#!/usr/bin/env python3 - -import datetime -import json -import sys -import time -import traceback -from typing import Dict, List, Mapping, Tuple - -import click -import requests -from flytekit.configuration import Config -from flytekit.models.core.execution import WorkflowExecutionPhase -from flytekit.remote import FlyteRemote -from flytekit.remote.executions import FlyteWorkflowExecution - -WAIT_TIME = 10 -MAX_ATTEMPTS = 200 - -# This dictionary maps the names found in the flytesnacks manifest to a list of workflow names and -# inputs. This is so we can progressively cover all priorities in the original flytesnacks manifest, -# starting with "core". -FLYTESNACKS_WORKFLOW_GROUPS: Mapping[str, List[Tuple[str, dict]]] = { - "lite": [ - ("basics.hello_world.hello_world_wf", {}), - ], - "core": [ - # ("development_lifecycle.decks.image_renderer_wf", {}), - # The chain_workflows example in flytesnacks expects to be running in a sandbox. - ("advanced_composition.chain_entities.chain_workflows_wf", {}), - ("advanced_composition.dynamics.wf", {"s1": "Pear", "s2": "Earth"}), - ("advanced_composition.map_task.my_map_workflow", {"a": [1, 2, 3, 4, 5]}), - # Workflows that use nested executions cannot be launched via flyteremote. - # This issue is being tracked in https://github.com/flyteorg/flyte/issues/1482. - # ("control_flow.run_conditions.multiplier", {"my_input": 0.5}), - # ("control_flow.run_conditions.multiplier_2", {"my_input": 10}), - # ("control_flow.run_conditions.multiplier_3", {"my_input": 5}), - # ("control_flow.run_conditions.basic_boolean_wf", {"seed": 5}), - # ("control_flow.run_conditions.bool_input_wf", {"b": True}), - # ("control_flow.run_conditions.nested_conditions", {"my_input": 0.4}), - # ("control_flow.run_conditions.consume_outputs", {"my_input": 0.4, "seed": 7}), - # ("control_flow.run_merge_sort.merge_sort", {"numbers": [5, 4, 3, 2, 1], "count": 5}), - ("advanced_composition.subworkflows.parent_workflow", {"my_input1": "hello"}), - ("advanced_composition.subworkflows.nested_parent_wf", {"a": 3}), - ("basics.workflow.simple_wf", {"x": [1, 2, 3], "y": [1, 2, 3]}), - # TODO: enable new files and folders workflows - # ("basics.files.rotate_one_workflow", {"in_image": "https://upload.wikimedia.org/wikipedia/commons/d/d2/Julia_set_%28C_%3D_0.285%2C_0.01%29.jpg"}), - # ("basics.folders.download_and_rotate", {}), - ("basics.hello_world.hello_world_wf", {}), - ("basics.named_outputs.simple_wf_with_named_outputs", {}), - # # Getting a 403 for the wikipedia image - # # ("basics.reference_task.wf", {}), - ("data_types_and_io.custom_objects.wf", {"x": 10, "y": 20}), - # Enums are not supported in flyteremote - # ("type_system.enums.enum_wf", {"c": "red"}), - ("data_types_and_io.schema.df_wf", {"a": 42}), - ("data_types_and_io.typed_schema.wf", {}), - # ("my.imperative.workflow.example", {"in1": "hello", "in2": "foo"}), - ], - "integrations-k8s-spark": [ - ("k8s_spark_plugin.pyspark_pi.my_spark", {"triggered_date": datetime.datetime.now()}), - ], - "integrations-kfpytorch": [ - ("kfpytorch_plugin.pytorch_mnist.pytorch_training_wf", {}), - ], - "integrations-kftensorflow": [ - ("kftensorflow_plugin.tf_mnist.mnist_tensorflow_workflow", {}), - ], - # "integrations-pod": [ - # ("pod.pod.pod_workflow", {}), - # ], - "integrations-pandera_examples": [ - ("pandera_plugin.basic_schema_example.process_data", {}), - # TODO: investigate type mismatch float -> numpy.float64 - # ("pandera_plugin.validating_and_testing_ml_pipelines.pipeline", {"data_random_state": 42, "model_random_state": 99}), - ], - "integrations-modin_examples": [ - ("modin_plugin.knn_classifier.pipeline", {}), - ], - "integrations-papermilltasks": [ - ("papermill_plugin.simple.nb_to_python_wf", {"f": 3.1415926535}), - ], - "integrations-greatexpectations": [ - ("greatexpectations_plugin.task_example.simple_wf", {}), - ("greatexpectations_plugin.task_example.file_wf", {}), - ("greatexpectations_plugin.task_example.schema_wf", {}), - ("greatexpectations_plugin.task_example.runtime_wf", {}), - ], -} - - -def execute_workflow(remote, version, workflow_name, inputs): - print(f"Fetching workflow={workflow_name} and version={version}") - wf = remote.fetch_workflow(name=workflow_name, version=version) - return remote.execute(wf, inputs=inputs, wait=False) - - -def executions_finished(executions_by_wfgroup: Dict[str, List[FlyteWorkflowExecution]]) -> bool: - for executions in executions_by_wfgroup.values(): - if not all([execution.is_done for execution in executions]): - return False - return True - - -def sync_executions(remote: FlyteRemote, executions_by_wfgroup: Dict[str, List[FlyteWorkflowExecution]]): - try: - for executions in executions_by_wfgroup.values(): - for execution in executions: - print(f"About to sync execution_id={execution.id.name}") - remote.sync(execution) - except Exception: - print(traceback.format_exc()) - print("GOT TO THE EXCEPT") - print("COUNT THIS!") - - -def report_executions(executions_by_wfgroup: Dict[str, List[FlyteWorkflowExecution]]): - for executions in executions_by_wfgroup.values(): - for execution in executions: - print(execution) - - -def schedule_workflow_groups( - tag: str, - workflow_groups: List[str], - remote: FlyteRemote, - terminate_workflow_on_failure: bool, -) -> Dict[str, bool]: - """ - Schedule workflows executions for all workflow groups and return True if all executions succeed, otherwise - return False. - """ - executions_by_wfgroup = {} - # Schedule executions for each workflow group, - for wf_group in workflow_groups: - workflows = FLYTESNACKS_WORKFLOW_GROUPS.get(wf_group, []) - executions_by_wfgroup[wf_group] = [ - execute_workflow(remote, tag, workflow[0], workflow[1]) for workflow in workflows - ] - - # Wait for all executions to finish - attempt = 0 - while attempt == 0 or (not executions_finished(executions_by_wfgroup) and attempt < MAX_ATTEMPTS): - attempt += 1 - print(f"Not all executions finished yet. Sleeping for some time, will check again in {WAIT_TIME}s") - time.sleep(WAIT_TIME) - sync_executions(remote, executions_by_wfgroup) - - report_executions(executions_by_wfgroup) - - results = {} - for wf_group, executions in executions_by_wfgroup.items(): - non_succeeded_executions = [] - for execution in executions: - if execution.closure.phase != WorkflowExecutionPhase.SUCCEEDED: - non_succeeded_executions.append(execution) - # Report failing cases - if len(non_succeeded_executions) != 0: - print(f"Failed executions for {wf_group}:") - for execution in non_succeeded_executions: - print(f" workflow={execution.spec.launch_plan.name}, execution_id={execution.id.name}") - if terminate_workflow_on_failure: - remote.terminate(execution, "aborting execution scheduled in functional test") - # A workflow group succeeds iff all of its executions succeed - results[wf_group] = len(non_succeeded_executions) == 0 - return results - - -def valid(workflow_group): - """ - Return True if a workflow group is contained in FLYTESNACKS_WORKFLOW_GROUPS, - False otherwise. - """ - return workflow_group in FLYTESNACKS_WORKFLOW_GROUPS.keys() - - -def run( - flytesnacks_release_tag: str, - priorities: List[str], - config_file_path, - terminate_workflow_on_failure: bool, -) -> List[Dict[str, str]]: - remote = FlyteRemote( - Config.auto(config_file=config_file_path), - default_project="flytesnacks", - default_domain="development", - ) - - # For a given release tag and priority, this function filters the workflow groups from the flytesnacks - # manifest file. For example, for the release tag "v0.2.224" and the priority "P0" it returns [ "core" ]. - manifest_url = ( - "https://raw.githubusercontent.com/flyteorg/flytesnacks/" f"{flytesnacks_release_tag}/flyte_tests_manifest.json" - ) - r = requests.get(manifest_url) - parsed_manifest = r.json() - workflow_groups = [] - workflow_groups = ( - ["lite"] - if "lite" in priorities - else [group["name"] for group in parsed_manifest if group["priority"] in priorities] - ) - - results = [] - valid_workgroups = [] - for workflow_group in workflow_groups: - if not valid(workflow_group): - results.append( - { - "label": workflow_group, - "status": "coming soon", - "color": "grey", - } - ) - continue - valid_workgroups.append(workflow_group) - - results_by_wfgroup = schedule_workflow_groups( - flytesnacks_release_tag, valid_workgroups, remote, terminate_workflow_on_failure - ) - - for workflow_group, succeeded in results_by_wfgroup.items(): - if succeeded: - background_color = "green" - status = "passing" - else: - background_color = "red" - status = "failing" - - # Workflow groups can be only in one of three states: - # 1. passing: this indicates all the workflow executions for that workflow group - # executed successfully - # 2. failing: this state indicates that at least one execution failed in that - # workflow group - # 3. coming soon: this state is used to indicate that the workflow group was not - # implemented yet. - # - # Each state has a corresponding status and color to be used in the badge for that - # workflow group. - result = { - "label": workflow_group, - "status": status, - "color": background_color, - } - results.append(result) - return results - - -@click.command() -@click.option( - "--return_non_zero_on_failure", - default=False, - is_flag=True, - help="Return a non-zero exit status if any workflow fails", -) -@click.option( - "--terminate_workflow_on_failure", - default=False, - is_flag=True, - help="Abort failing workflows upon exit", -) -@click.argument("flytesnacks_release_tag") -@click.argument("priorities") -@click.argument("config_file") -def cli( - flytesnacks_release_tag, - priorities, - config_file, - return_non_zero_on_failure, - terminate_workflow_on_failure, -): - print(f"return_non_zero_on_failure={return_non_zero_on_failure}") - results = run(flytesnacks_release_tag, priorities, config_file, terminate_workflow_on_failure) - - # Write a json object in its own line describing the result of this run to stdout - print(f"Result of run:\n{json.dumps(results)}") - - # Return a non-zero exit code if core fails - if return_non_zero_on_failure: - for result in results: - if result["status"] not in ("passing", "coming soon"): - sys.exit(1) - - -if __name__ == "__main__": - cli() diff --git a/datacatalog/boilerplate/flyte/github_workflows/pull_request.yml b/datacatalog/boilerplate/flyte/github_workflows/pull_request.yml deleted file mode 100644 index 932400bc4f3..00000000000 --- a/datacatalog/boilerplate/flyte/github_workflows/pull_request.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: Pull Request - -on: - pull_request - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - name: Push Docker Image to Github Registry - uses: whoan/docker-build-with-cache-action@v5 - with: - username: "${{ github.actor }}" - password: "${{ secrets.GITHUB_TOKEN }}" - image_name: ${{ secrets.package_name }} - image_tag: ${{ github.sha }} - push_git_tag: true - registry: docker.pkg.github.com diff --git a/datacatalog/boilerplate/flyte/golang_dockerfile/Dockerfile.GoTemplate b/datacatalog/boilerplate/flyte/golang_dockerfile/Dockerfile.GoTemplate deleted file mode 100644 index a51f8e1b142..00000000000 --- a/datacatalog/boilerplate/flyte/golang_dockerfile/Dockerfile.GoTemplate +++ /dev/null @@ -1,38 +0,0 @@ -# WARNING: THIS FILE IS MANAGED IN THE 'BOILERPLATE' REPO AND COPIED TO OTHER REPOSITORIES. -# ONLY EDIT THIS FILE FROM WITHIN THE 'FLYTEORG/BOILERPLATE' REPOSITORY: -# -# TO OPT OUT OF UPDATES, SEE https://github.com/flyteorg/boilerplate/blob/master/Readme.rst - -FROM golang:1.17.1-alpine3.14 as builder -RUN apk add git openssh-client make curl - -# COPY only the go mod files for efficient caching -COPY go.mod go.sum /go/src/github.com/flyteorg/{{REPOSITORY}}/ -WORKDIR /go/src/github.com/flyteorg/{{REPOSITORY}} - -# Pull dependencies -RUN go mod download - -# COPY the rest of the source code -COPY . /go/src/github.com/flyteorg/{{REPOSITORY}}/ - -# This 'linux_compile' target should compile binaries to the /artifacts directory -# The main entrypoint should be compiled to /artifacts/{{REPOSITORY}} -RUN make linux_compile - -# install grpc-health-probe -RUN curl --silent --fail --show-error --location --output /artifacts/grpc_health_probe "https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/v0.4.5/grpc_health_probe-linux-amd64" && \ - chmod +x /artifacts/grpc_health_probe && \ - echo '8699c46352d752d8f533cae72728b0e65663f399fc28fb9cd854b14ad5f85f44 /artifacts/grpc_health_probe' > .grpc_checksum && \ - sha256sum -c .grpc_checksum - -# update the PATH to include the /artifacts directory -ENV PATH="/artifacts:${PATH}" - -# This will eventually move to centurylink/ca-certs:latest for minimum possible image size -FROM alpine:3.14 -COPY --from=builder /artifacts /bin - -RUN apk --update add ca-certificates - -CMD ["{{REPOSITORY}}"] diff --git a/datacatalog/boilerplate/flyte/golang_dockerfile/Readme.rst b/datacatalog/boilerplate/flyte/golang_dockerfile/Readme.rst deleted file mode 100644 index dba3b34f609..00000000000 --- a/datacatalog/boilerplate/flyte/golang_dockerfile/Readme.rst +++ /dev/null @@ -1,16 +0,0 @@ -Golang Dockerfile -~~~~~~~~~~~~~~~~~ - -Provides a Dockerfile that produces a small image. - -**To Enable:** - -Add ``flyteorg/golang_dockerfile`` to your ``boilerplate/update.cfg`` file. - -Create and configure a ``make linux_compile`` target that compiles your go binaries to the ``/artifacts`` directory :: - - .PHONY: linux_compile - linux_compile: - RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o /artifacts {{ packages }} - -All binaries compiled to ``/artifacts`` will be available at ``/bin`` in your final image. diff --git a/datacatalog/boilerplate/flyte/golang_dockerfile/update.sh b/datacatalog/boilerplate/flyte/golang_dockerfile/update.sh deleted file mode 100755 index 5439bada4f7..00000000000 --- a/datacatalog/boilerplate/flyte/golang_dockerfile/update.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env bash - -# WARNING: THIS FILE IS MANAGED IN THE 'BOILERPLATE' REPO AND COPIED TO OTHER REPOSITORIES. -# ONLY EDIT THIS FILE FROM WITHIN THE 'FLYTEORG/BOILERPLATE' REPOSITORY: -# -# TO OPT OUT OF UPDATES, SEE https://github.com/flyteorg/boilerplate/blob/master/Readme.rst - -set -e - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" - -echo " - generating Dockerfile in root directory." -sed -e "s/{{REPOSITORY}}/${REPOSITORY}/g" ${DIR}/Dockerfile.GoTemplate > ${DIR}/../../../Dockerfile diff --git a/datacatalog/boilerplate/flyte/golang_support_tools/go.mod b/datacatalog/boilerplate/flyte/golang_support_tools/go.mod deleted file mode 100644 index 2cfeb8aa3a2..00000000000 --- a/datacatalog/boilerplate/flyte/golang_support_tools/go.mod +++ /dev/null @@ -1,247 +0,0 @@ -module github.com/flyteorg/boilerplate - -go 1.19 - -require ( - github.com/EngHabu/mockery v0.0.0-20220405200825-3f76291311cf - github.com/alvaroloes/enumer v1.1.2 - github.com/flyteorg/flytestdlib v0.4.16 - github.com/golangci/golangci-lint v1.53.3 - github.com/pseudomuto/protoc-gen-doc v1.4.1 -) - -require ( - 4d63.com/gocheckcompilerdirectives v1.2.1 // indirect - 4d63.com/gochecknoglobals v0.2.1 // indirect - cloud.google.com/go v0.110.2 // indirect - cloud.google.com/go/compute v1.19.3 // indirect - cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v1.1.2 // indirect - cloud.google.com/go/storage v1.29.0 // indirect - github.com/4meepo/tagalign v1.2.2 // indirect - github.com/Abirdcfly/dupword v0.0.11 // indirect - github.com/Antonboom/errname v0.1.10 // indirect - github.com/Antonboom/nilnil v0.1.5 // indirect - github.com/Azure/azure-sdk-for-go v62.3.0+incompatible // indirect - github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1 // indirect - github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3 // indirect - github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0 // indirect - github.com/Azure/go-autorest v14.2.0+incompatible // indirect - github.com/Azure/go-autorest/autorest v0.11.17 // indirect - github.com/Azure/go-autorest/autorest/adal v0.9.10 // indirect - github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect - github.com/Azure/go-autorest/logger v0.2.0 // indirect - github.com/Azure/go-autorest/tracing v0.6.0 // indirect - github.com/BurntSushi/toml v1.3.2 // indirect - github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect - github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0 // indirect - github.com/Masterminds/semver v1.5.0 // indirect - github.com/Masterminds/sprig v2.15.0+incompatible // indirect - github.com/OpenPeeDeeP/depguard/v2 v2.1.0 // indirect - github.com/alexkohler/nakedret/v2 v2.0.2 // indirect - github.com/alexkohler/prealloc v1.0.0 // indirect - github.com/alingse/asasalint v0.0.11 // indirect - github.com/aokoli/goutils v1.0.1 // indirect - github.com/ashanbrown/forbidigo v1.5.3 // indirect - github.com/ashanbrown/makezero v1.1.1 // indirect - github.com/aws/aws-sdk-go v1.37.1 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/bkielbasa/cyclop v1.2.1 // indirect - github.com/blizzy78/varnamelen v0.8.0 // indirect - github.com/bombsimon/wsl/v3 v3.4.0 // indirect - github.com/breml/bidichk v0.2.4 // indirect - github.com/breml/errchkjson v0.3.1 // indirect - github.com/butuzov/ireturn v0.2.0 // indirect - github.com/butuzov/mirror v1.1.0 // indirect - github.com/cespare/xxhash v1.1.0 // indirect - github.com/cespare/xxhash/v2 v2.2.0 // indirect - github.com/charithe/durationcheck v0.0.10 // indirect - github.com/chavacava/garif v0.0.0-20230227094218-b8c73b2037b8 // indirect - github.com/coocood/freecache v1.1.1 // indirect - github.com/curioswitch/go-reassign v0.2.0 // indirect - github.com/daixiang0/gci v0.10.1 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/denis-tingaikin/go-header v0.4.3 // indirect - github.com/envoyproxy/protoc-gen-validate v0.10.0 // indirect - github.com/ernesto-jimenez/gogen v0.0.0-20180125220232-d7d4131e6607 // indirect - github.com/esimonov/ifshort v1.0.4 // indirect - github.com/ettle/strcase v0.1.1 // indirect - github.com/fatih/color v1.15.0 // indirect - github.com/fatih/structtag v1.2.0 // indirect - github.com/firefart/nonamedreturns v1.0.4 // indirect - github.com/flyteorg/stow v0.3.1 // indirect - github.com/form3tech-oss/jwt-go v3.2.2+incompatible // indirect - github.com/fsnotify/fsnotify v1.5.4 // indirect - github.com/fzipp/gocyclo v0.6.0 // indirect - github.com/ghodss/yaml v1.0.0 // indirect - github.com/go-critic/go-critic v0.8.1 // indirect - github.com/go-logr/logr v1.2.4 // indirect - github.com/go-toolsmith/astcast v1.1.0 // indirect - github.com/go-toolsmith/astcopy v1.1.0 // indirect - github.com/go-toolsmith/astequal v1.1.0 // indirect - github.com/go-toolsmith/astfmt v1.1.0 // indirect - github.com/go-toolsmith/astp v1.1.0 // indirect - github.com/go-toolsmith/strparse v1.1.0 // indirect - github.com/go-toolsmith/typep v1.1.0 // indirect - github.com/go-xmlfmt/xmlfmt v1.1.2 // indirect - github.com/gobwas/glob v0.2.3 // indirect - github.com/gofrs/flock v0.8.1 // indirect - github.com/gofrs/uuid v4.2.0+incompatible // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 // indirect - github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect - github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe // indirect - github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2 // indirect - github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 // indirect - github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca // indirect - github.com/golangci/misspell v0.4.0 // indirect - github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6 // indirect - github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 // indirect - github.com/google/go-cmp v0.5.9 // indirect - github.com/google/s2a-go v0.1.4 // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect - github.com/googleapis/gax-go/v2 v2.11.0 // indirect - github.com/gordonklaus/ineffassign v0.0.0-20230610083614-0e73809eb601 // indirect - github.com/gostaticanalysis/analysisutil v0.7.1 // indirect - github.com/gostaticanalysis/comment v1.4.2 // indirect - github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect - github.com/gostaticanalysis/nilerr v0.1.1 // indirect - github.com/hashicorp/errwrap v1.0.0 // indirect - github.com/hashicorp/go-multierror v1.1.1 // indirect - github.com/hashicorp/go-version v1.6.0 // indirect - github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hexops/gotextdiff v1.0.3 // indirect - github.com/huandu/xstrings v1.0.0 // indirect - github.com/imdario/mergo v0.3.5 // indirect - github.com/inconshreveable/mousetrap v1.1.0 // indirect - github.com/jgautheron/goconst v1.5.1 // indirect - github.com/jingyugao/rowserrcheck v1.1.1 // indirect - github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af // indirect - github.com/jmespath/go-jmespath v0.4.0 // indirect - github.com/julz/importas v0.1.0 // indirect - github.com/kisielk/errcheck v1.6.3 // indirect - github.com/kisielk/gotool v1.0.0 // indirect - github.com/kkHAIKE/contextcheck v1.1.4 // indirect - github.com/kulti/thelper v0.6.3 // indirect - github.com/kunwardeep/paralleltest v1.0.7 // indirect - github.com/kyoh86/exportloopref v0.1.11 // indirect - github.com/ldez/gomoddirectives v0.2.3 // indirect - github.com/ldez/tagliatelle v0.5.0 // indirect - github.com/leonklingele/grouper v1.1.1 // indirect - github.com/lufeee/execinquery v1.2.1 // indirect - github.com/magiconair/properties v1.8.6 // indirect - github.com/maratori/testableexamples v1.0.0 // indirect - github.com/maratori/testpackage v1.1.1 // indirect - github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26 // indirect - github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.17 // indirect - github.com/mattn/go-runewidth v0.0.9 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect - github.com/mbilski/exhaustivestruct v1.2.0 // indirect - github.com/mgechev/revive v1.3.2 // indirect - github.com/mitchellh/go-homedir v1.1.0 // indirect - github.com/mitchellh/mapstructure v1.5.0 // indirect - github.com/moricho/tparallel v0.3.1 // indirect - github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007 // indirect - github.com/nakabonne/nestif v0.3.1 // indirect - github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354 // indirect - github.com/ncw/swift v1.0.53 // indirect - github.com/nishanths/exhaustive v0.11.0 // indirect - github.com/nishanths/predeclared v0.2.2 // indirect - github.com/nunnatsa/ginkgolinter v0.12.1 // indirect - github.com/olekukonko/tablewriter v0.0.5 // indirect - github.com/pascaldekloe/name v0.0.0-20180628100202-0fd16699aae1 // indirect - github.com/pelletier/go-toml v1.9.5 // indirect - github.com/pelletier/go-toml/v2 v2.0.5 // indirect - github.com/pkg/errors v0.9.1 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/polyfloyd/go-errorlint v1.4.2 // indirect - github.com/prometheus/client_golang v1.12.1 // indirect - github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.32.1 // indirect - github.com/prometheus/procfs v0.7.3 // indirect - github.com/pseudomuto/protokit v0.2.0 // indirect - github.com/quasilyte/go-ruleguard v0.3.19 // indirect - github.com/quasilyte/gogrep v0.5.0 // indirect - github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect - github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect - github.com/ryancurrah/gomodguard v1.3.0 // indirect - github.com/ryanrolds/sqlclosecheck v0.4.0 // indirect - github.com/sanposhiho/wastedassign/v2 v2.0.7 // indirect - github.com/sashamelentyev/interfacebloat v1.1.0 // indirect - github.com/sashamelentyev/usestdlibvars v1.23.0 // indirect - github.com/securego/gosec/v2 v2.16.0 // indirect - github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c // indirect - github.com/sirupsen/logrus v1.9.3 // indirect - github.com/sivchari/containedctx v1.0.3 // indirect - github.com/sivchari/nosnakecase v1.7.0 // indirect - github.com/sivchari/tenv v1.7.1 // indirect - github.com/sonatard/noctx v0.0.2 // indirect - github.com/sourcegraph/go-diff v0.7.0 // indirect - github.com/spf13/afero v1.8.2 // indirect - github.com/spf13/cast v1.5.0 // indirect - github.com/spf13/cobra v1.7.0 // indirect - github.com/spf13/jwalterweatherman v1.1.0 // indirect - github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.12.0 // indirect - github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect - github.com/stbenjam/no-sprintf-host-port v0.1.1 // indirect - github.com/stretchr/objx v0.5.0 // indirect - github.com/stretchr/testify v1.8.4 // indirect - github.com/subosito/gotenv v1.4.1 // indirect - github.com/t-yuki/gocover-cobertura v0.0.0-20180217150009-aaee18c8195c // indirect - github.com/tdakkota/asciicheck v0.2.0 // indirect - github.com/tetafro/godot v1.4.11 // indirect - github.com/timakin/bodyclose v0.0.0-20230421092635-574207250966 // indirect - github.com/timonwong/loggercheck v0.9.4 // indirect - github.com/tomarrell/wrapcheck/v2 v2.8.1 // indirect - github.com/tommy-muehle/go-mnd/v2 v2.5.1 // indirect - github.com/ultraware/funlen v0.0.3 // indirect - github.com/ultraware/whitespace v0.0.5 // indirect - github.com/uudashr/gocognit v1.0.6 // indirect - github.com/xen0n/gosmopolitan v1.2.1 // indirect - github.com/yagipy/maintidx v1.0.0 // indirect - github.com/yeya24/promlinter v0.2.0 // indirect - github.com/ykadowak/zerologlint v0.1.2 // indirect - gitlab.com/bosi/decorder v0.2.3 // indirect - go.opencensus.io v0.24.0 // indirect - go.tmz.dev/musttag v0.7.0 // indirect - go.uber.org/atomic v1.7.0 // indirect - go.uber.org/multierr v1.6.0 // indirect - go.uber.org/zap v1.24.0 // indirect - golang.org/x/crypto v0.11.0 // indirect - golang.org/x/exp v0.0.0-20230510235704-dd950f8aeaea // indirect - golang.org/x/exp/typeparams v0.0.0-20230224173230-c95f2b4c22f2 // indirect - golang.org/x/mod v0.12.0 // indirect - golang.org/x/net v0.12.0 // indirect - golang.org/x/oauth2 v0.8.0 // indirect - golang.org/x/sync v0.3.0 // indirect - golang.org/x/sys v0.10.0 // indirect - golang.org/x/text v0.11.0 // indirect - golang.org/x/time v0.0.0-20201208040808-7e3f01d25324 // indirect - golang.org/x/tools v0.11.1 // indirect - golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - google.golang.org/api v0.126.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc // indirect - google.golang.org/grpc v1.55.0 // indirect - google.golang.org/protobuf v1.30.0 // indirect - gopkg.in/ini.v1 v1.67.0 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - honnef.co/go/tools v0.4.3 // indirect - k8s.io/apimachinery v0.20.2 // indirect - k8s.io/client-go v0.0.0-20210217172142-7279fc64d847 // indirect - k8s.io/klog/v2 v2.5.0 // indirect - mvdan.cc/gofumpt v0.5.0 // indirect - mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed // indirect - mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b // indirect - mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d // indirect -) - -replace github.com/pseudomuto/protoc-gen-doc => github.com/flyteorg/protoc-gen-doc v1.4.2 diff --git a/datacatalog/boilerplate/flyte/golang_support_tools/tools.go b/datacatalog/boilerplate/flyte/golang_support_tools/tools.go deleted file mode 100644 index 6c3da04107b..00000000000 --- a/datacatalog/boilerplate/flyte/golang_support_tools/tools.go +++ /dev/null @@ -1,13 +0,0 @@ -//go:build tools -// +build tools - -package tools - -import ( - _ "github.com/EngHabu/mockery/cmd/mockery" - _ "github.com/alvaroloes/enumer" - _ "github.com/golangci/golangci-lint/cmd/golangci-lint" - _ "github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc" - - _ "github.com/flyteorg/flyte/flytestdlib/cli/pflags" -) diff --git a/datacatalog/boilerplate/flyte/golang_test_targets/Makefile b/datacatalog/boilerplate/flyte/golang_test_targets/Makefile deleted file mode 100644 index be72275f5ab..00000000000 --- a/datacatalog/boilerplate/flyte/golang_test_targets/Makefile +++ /dev/null @@ -1,57 +0,0 @@ -# WARNING: THIS FILE IS MANAGED IN THE 'BOILERPLATE' REPO AND COPIED TO OTHER REPOSITORIES. -# ONLY EDIT THIS FILE FROM WITHIN THE 'FLYTEORG/BOILERPLATE' REPOSITORY: -# -# TO OPT OUT OF UPDATES, SEE https://github.com/flyteorg/boilerplate/blob/master/Readme.rst - - -.PHONY: download_tooling -download_tooling: #download dependencies (including test deps) for the package - @boilerplate/flyte/golang_test_targets/download_tooling.sh - -.PHONY: generate -generate: download_tooling #generate go code - @boilerplate/flyte/golang_test_targets/go-gen.sh - -.PHONY: lint -lint: download_tooling #lints the package for common code smells - GL_DEBUG=linters_output,env golangci-lint run --fix --deadline=5m --exclude deprecated -v - -# If code is failing goimports linter, this will fix. -# skips 'vendor' -.PHONY: goimports -goimports: - @boilerplate/flyte/golang_test_targets/goimports - -.PHONY: mod_download -mod_download: #download dependencies (including test deps) for the package - go mod download - -.PHONY: install -install: download_tooling mod_download - -.PHONY: show -show: - go list -m all - -.PHONY: test_unit -test_unit: - go test -cover ./... -race - -.PHONY: test_benchmark -test_benchmark: - go test -bench . ./... - -.PHONY: test_unit_cover -test_unit_cover: - go test ./... -coverprofile /tmp/cover.out -covermode=count - go tool cover -func /tmp/cover.out - -.PHONY: test_unit_visual -test_unit_visual: - go test ./... -coverprofile /tmp/cover.out -covermode=count - go tool cover -html=/tmp/cover.out - -.PHONY: test_unit_codecov -test_unit_codecov: - go test ./... -race -coverprofile=coverage.txt -covermode=atomic - curl -s https://codecov.io/bash > codecov_bash.sh && bash codecov_bash.sh diff --git a/datacatalog/boilerplate/flyte/golang_test_targets/Readme.rst b/datacatalog/boilerplate/flyte/golang_test_targets/Readme.rst deleted file mode 100644 index f9d890fdd70..00000000000 --- a/datacatalog/boilerplate/flyte/golang_test_targets/Readme.rst +++ /dev/null @@ -1,31 +0,0 @@ -Golang Test Targets -~~~~~~~~~~~~~~~~~~~ - -Provides an ``install`` make target that uses ``go mod`` to install golang dependencies. - -Provides a ``lint`` make target that uses golangci to lint your code. - -Provides a ``test_unit`` target for unit tests. - -Provides a ``test_unit_cover`` target for analysing coverage of unit tests, which will output the coverage of each function and total statement coverage. - -Provides a ``test_unit_visual`` target for visualizing coverage of unit tests through an interactive html code heat map. - -Provides a ``test_benchmark`` target for benchmark tests. - -**To Enable:** - -Add ``flyteorg/golang_test_targets`` to your ``boilerplate/update.cfg`` file. - -Make sure you're using ``go mod`` for dependency management. - -Provide a ``.golangci`` configuration (the lint target requires it). - -Add ``include boilerplate/flyte/golang_test_targets/Makefile`` in your main ``Makefile`` _after_ your REPOSITORY environment variable - -:: - - REPOSITORY= - include boilerplate/flyte/golang_test_targets/Makefile - -(this ensures the extra make targets get included in your main Makefile) diff --git a/datacatalog/boilerplate/flyte/golang_test_targets/download_tooling.sh b/datacatalog/boilerplate/flyte/golang_test_targets/download_tooling.sh deleted file mode 100755 index 9cd49959f46..00000000000 --- a/datacatalog/boilerplate/flyte/golang_test_targets/download_tooling.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash - -# Everything in this file needs to be installed outside of current module -# The reason we cannot turn off module entirely and install is that we need the replace statement in go.mod -# because we are installing a mockery fork. Turning it off would result installing the original not the fork. -# We also want to version all the other tools. We also want to be able to run go mod tidy without removing the version -# pins. To facilitate this, we're maintaining two sets of go.mod/sum files - the second one only for tooling. This is -# the same approach that go 1.14 will take as well. -# See: -# https://github.com/flyteorg/flyte/issues/129 -# https://github.com/golang/go/issues/30515 for some background context -# https://github.com/go-modules-by-example/index/blob/5ec250b4b78114a55001bd7c9cb88f6e07270ea5/010_tools/README.md - -set -e - -# List of tools to go get -# In the format of ":" or ":" if no cli -tools=( - "github.com/EngHabu/mockery/cmd/mockery" - "github.com/flyteorg/flytestdlib/cli/pflags@latest" - "github.com/golangci/golangci-lint/cmd/golangci-lint" - "github.com/daixiang0/gci" - "github.com/alvaroloes/enumer" - "github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc" -) - -tmp_dir=$(mktemp -d -t gotooling-XXX) -echo "Using temp directory ${tmp_dir}" -cp -R boilerplate/flyte/golang_support_tools/* $tmp_dir -pushd "$tmp_dir" - -for tool in "${tools[@]}" -do - echo "Installing ${tool}" - GO111MODULE=on go install $tool -done - -popd diff --git a/datacatalog/boilerplate/flyte/golang_test_targets/go-gen.sh b/datacatalog/boilerplate/flyte/golang_test_targets/go-gen.sh deleted file mode 100755 index 5ac17fa40ae..00000000000 --- a/datacatalog/boilerplate/flyte/golang_test_targets/go-gen.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -echo "Running go generate" -go generate ./... - -# This section is used by GitHub workflow to ensure that the generation step was run -if [ -n "$DELTA_CHECK" ]; then - DIRTY=$(git status --porcelain) - if [ -n "$DIRTY" ]; then - echo "FAILED: Go code updated without committing generated code." - echo "Ensure make generate has run and all changes are committed." - DIFF=$(git diff) - echo "diff detected: $DIFF" - DIFF=$(git diff --name-only) - echo "files different: $DIFF" - exit 1 - else - echo "SUCCESS: Generated code is up to date." - fi -fi diff --git a/datacatalog/boilerplate/flyte/golang_test_targets/goimports b/datacatalog/boilerplate/flyte/golang_test_targets/goimports deleted file mode 100755 index 40f50d106e1..00000000000 --- a/datacatalog/boilerplate/flyte/golang_test_targets/goimports +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash - -# WARNING: THIS FILE IS MANAGED IN THE 'BOILERPLATE' REPO AND COPIED TO OTHER REPOSITORIES. -# ONLY EDIT THIS FILE FROM WITHIN THE 'FLYTEORG/BOILERPLATE' REPOSITORY: -# -# TO OPT OUT OF UPDATES, SEE https://github.com/flyteorg/boilerplate/blob/master/Readme.rst - -goimports -w $(find . -type f -name '*.go' -not -path "./vendor/*" -not -path "./pkg/client/*" -not -path "./boilerplate/*") -gci write -s standard -s default -s "prefix(github.com/flyteorg)" --custom-order --skip-generated . diff --git a/datacatalog/boilerplate/update.cfg b/datacatalog/boilerplate/update.cfg deleted file mode 100644 index 9d3bd305657..00000000000 --- a/datacatalog/boilerplate/update.cfg +++ /dev/null @@ -1,6 +0,0 @@ -flyte/docker_build -flyte/golang_test_targets -flyte/golangci_file -flyte/golang_support_tools -flyte/pull_request_template -flyte/ diff --git a/datacatalog/boilerplate/update.sh b/datacatalog/boilerplate/update.sh deleted file mode 100755 index 73de4dc91c3..00000000000 --- a/datacatalog/boilerplate/update.sh +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/env bash - -# WARNING: THIS FILE IS MANAGED IN THE 'BOILERPLATE' REPO AND COPIED TO OTHER REPOSITORIES. -# ONLY EDIT THIS FILE FROM WITHIN THE 'FLYTEORG/BOILERPLATE' REPOSITORY: -# -# TO OPT OUT OF UPDATES, SEE https://github.com/flyteorg/boilerplate/blob/master/Readme.rst - -set -e - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" - -OUT="$(mktemp -d)" -trap 'rm -fr $OUT' EXIT - -git clone https://github.com/flyteorg/boilerplate.git "${OUT}" - -echo "Updating the update.sh script." -cp "${OUT}/boilerplate/update.sh" "${DIR}/update.sh" - -CONFIG_FILE="${DIR}/update.cfg" -README="https://github.com/flyteorg/boilerplate/blob/master/Readme.rst" - -if [ ! -f "$CONFIG_FILE" ]; then - echo "$CONFIG_FILE not found." - echo "This file is required in order to select which features to include." - echo "See $README for more details." - exit 1 -fi - -if [ -z "$REPOSITORY" ]; then - echo "$REPOSITORY is required to run this script" - echo "See $README for more details." - exit 1 -fi - -while read -r directory junk; do - # Skip comment lines (which can have leading whitespace) - if [[ "$directory" == '#'* ]]; then - continue - fi - # Skip blank or whitespace-only lines - if [[ "$directory" == "" ]]; then - continue - fi - # Lines like - # valid/path other_junk - # are not acceptable, unless `other_junk` is a comment - if [[ "$junk" != "" ]] && [[ "$junk" != '#'* ]]; then - echo "Invalid config! Only one directory is allowed per line. Found '$junk'" - exit 1 - fi - - dir_path="${OUT}/boilerplate/${directory}" - # Make sure the directory exists - if ! [[ -d "$dir_path" ]]; then - echo "Invalid boilerplate directory: '$directory'" - exit 1 - fi - - echo "***********************************************************************************" - echo "$directory is configured in update.cfg." - echo "-----------------------------------------------------------------------------------" - echo "syncing files from source." - rm -rf "${DIR:?}/${directory}" - mkdir -p "$(dirname "${DIR}"/"${directory}")" - cp -r "$dir_path" "${DIR}/${directory}" - if [ -f "${DIR}/${directory}/update.sh" ]; then - echo "executing ${DIR}/${directory}/update.sh" - "${DIR}/${directory}/update.sh" - fi - echo "***********************************************************************************" - echo "" -done < "$CONFIG_FILE" diff --git a/datacatalog/cmd/entrypoints/serve.go b/datacatalog/cmd/entrypoints/serve.go index 38f4fd07ebd..a641f165e71 100644 --- a/datacatalog/cmd/entrypoints/serve.go +++ b/datacatalog/cmd/entrypoints/serve.go @@ -45,7 +45,7 @@ var serveCmd = &cobra.Command{ // register otel tracer providers for _, serviceName := range []string{otelutils.DataCatalogGormTracer, otelutils.DataCatalogServerTracer} { - if err := otelutils.RegisterTracerProvider(serviceName, otelutils.GetConfig()); err != nil { + if err := otelutils.RegisterTracerProviderWithContext(ctx, serviceName, otelutils.GetConfig()); err != nil { logger.Errorf(ctx, "Failed to create otel tracer provider. %v", err) return err } diff --git a/datacatalog/go.mod b/datacatalog/go.mod index 7c04fd7832b..4662039c7e7 100644 --- a/datacatalog/go.mod +++ b/datacatalog/go.mod @@ -1,22 +1,24 @@ module github.com/flyteorg/flyte/datacatalog -go 1.21 +go 1.22 + +toolchain go1.22.1 require ( github.com/Selvatico/go-mocket v1.0.7 github.com/flyteorg/flyte/flyteidl v0.0.0-00010101000000-000000000000 github.com/flyteorg/flyte/flytestdlib v0.0.0-00010101000000-000000000000 github.com/gofrs/uuid v4.2.0+incompatible - github.com/golang/glog v1.1.0 + github.com/golang/glog v1.2.0 github.com/golang/protobuf v1.5.3 - github.com/jackc/pgconn v1.14.1 + github.com/jackc/pgconn v1.14.3 github.com/mitchellh/mapstructure v1.5.0 github.com/spf13/cobra v1.7.0 github.com/spf13/pflag v1.0.5 - github.com/stretchr/testify v1.8.4 - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.35.0 - go.opentelemetry.io/otel v1.19.0 - google.golang.org/grpc v1.56.1 + github.com/stretchr/testify v1.9.0 + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0 + go.opentelemetry.io/otel v1.24.0 + google.golang.org/grpc v1.62.1 gorm.io/driver/postgres v1.5.3 gorm.io/driver/sqlite v1.5.4 gorm.io/gorm v1.25.4 @@ -24,18 +26,19 @@ require ( ) require ( - cloud.google.com/go v0.110.0 // indirect - cloud.google.com/go/compute v1.19.1 // indirect + cloud.google.com/go v0.112.0 // indirect + cloud.google.com/go/compute v1.23.3 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v0.13.0 // indirect - cloud.google.com/go/storage v1.28.1 // indirect - github.com/Azure/azure-sdk-for-go/sdk/azcore v1.7.2 // indirect - github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.3.1 // indirect - github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0 // indirect - github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.1.0 // indirect - github.com/AzureAD/microsoft-authentication-library-for-go v1.2.0 // indirect + cloud.google.com/go/iam v1.1.5 // indirect + cloud.google.com/go/storage v1.36.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/azcore v1.13.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.4.0 // indirect + github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect github.com/aws/aws-sdk-go v1.44.2 // indirect github.com/beorn7/perks v1.0.1 // indirect + github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/coocood/freecache v1.1.1 // indirect @@ -43,33 +46,37 @@ require ( github.com/emicklei/go-restful/v3 v3.9.0 // indirect github.com/evanphx/json-patch/v5 v5.6.0 // indirect github.com/fatih/color v1.13.0 // indirect + github.com/felixge/httpsnoop v1.0.4 // indirect github.com/flyteorg/stow v0.3.10 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/ghodss/yaml v1.0.0 // indirect github.com/go-gormigrate/gormigrate/v2 v2.1.1 // indirect - github.com/go-logr/logr v1.2.4 // indirect + github.com/go-logr/logr v1.4.1 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-openapi/jsonpointer v0.19.6 // indirect github.com/go-openapi/jsonreference v0.20.2 // indirect github.com/go-openapi/swag v0.22.3 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang-jwt/jwt/v5 v5.0.0 // indirect + github.com/golang-jwt/jwt/v5 v5.2.1 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.5.9 // indirect + github.com/google/go-cmp v0.6.0 // indirect github.com/google/gofuzz v1.2.0 // indirect - github.com/google/uuid v1.3.1 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect - github.com/googleapis/gax-go/v2 v2.7.1 // indirect + github.com/google/s2a-go v0.1.7 // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect + github.com/googleapis/gax-go/v2 v2.12.0 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 // indirect github.com/hashicorp/golang-lru v0.5.4 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jackc/chunkreader/v2 v2.0.1 // indirect github.com/jackc/pgio v1.0.0 // indirect github.com/jackc/pgpassfile v1.0.0 // indirect - github.com/jackc/pgproto3/v2 v2.3.2 // indirect + github.com/jackc/pgproto3/v2 v2.3.3 // indirect github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect - github.com/jackc/pgx/v5 v5.4.3 // indirect + github.com/jackc/pgx/v5 v5.5.5 // indirect + github.com/jackc/puddle/v2 v2.2.1 // indirect github.com/jinzhu/inflection v1.0.0 // indirect github.com/jinzhu/now v1.1.5 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect @@ -88,41 +95,46 @@ require ( github.com/ncw/swift v1.0.53 // indirect github.com/pelletier/go-toml v1.9.4 // indirect github.com/pelletier/go-toml/v2 v2.0.0-beta.8 // indirect - github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect + github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_golang v1.16.0 // indirect github.com/prometheus/client_model v0.4.0 // indirect github.com/prometheus/common v0.44.0 // indirect github.com/prometheus/procfs v0.10.1 // indirect - github.com/sirupsen/logrus v1.9.2 // indirect - github.com/spf13/afero v1.9.2 // indirect + github.com/sirupsen/logrus v1.9.3 // indirect + github.com/spf13/afero v1.8.2 // indirect github.com/spf13/cast v1.4.1 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/viper v1.11.0 // indirect - github.com/stretchr/objx v0.5.0 // indirect + github.com/stretchr/objx v0.5.2 // indirect github.com/subosito/gotenv v1.2.0 // indirect go.opencensus.io v0.24.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 // indirect go.opentelemetry.io/otel/exporters/jaeger v1.17.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.19.0 // indirect - go.opentelemetry.io/otel/metric v1.19.0 // indirect - go.opentelemetry.io/otel/sdk v1.19.0 // indirect - go.opentelemetry.io/otel/trace v1.19.0 // indirect - golang.org/x/crypto v0.13.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.24.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.24.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.22.0 // indirect + go.opentelemetry.io/otel/metric v1.24.0 // indirect + go.opentelemetry.io/otel/sdk v1.24.0 // indirect + go.opentelemetry.io/otel/trace v1.24.0 // indirect + go.opentelemetry.io/proto/otlp v1.1.0 // indirect + golang.org/x/crypto v0.25.0 // indirect golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect - golang.org/x/net v0.15.0 // indirect - golang.org/x/oauth2 v0.8.0 // indirect - golang.org/x/sys v0.12.0 // indirect - golang.org/x/term v0.12.0 // indirect - golang.org/x/text v0.13.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - google.golang.org/api v0.114.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20230526161137-0005af68ea54 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230526161137-0005af68ea54 // indirect - google.golang.org/protobuf v1.30.0 // indirect + golang.org/x/net v0.27.0 // indirect + golang.org/x/oauth2 v0.16.0 // indirect + golang.org/x/sync v0.7.0 // indirect + golang.org/x/sys v0.22.0 // indirect + golang.org/x/term v0.22.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/time v0.5.0 // indirect + google.golang.org/api v0.155.0 // indirect + google.golang.org/appengine v1.6.8 // indirect + google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240123012728-ef4313101c80 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 // indirect + google.golang.org/protobuf v1.33.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.66.4 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/datacatalog/go.sum b/datacatalog/go.sum index b1642f638fe..bd159896d14 100644 --- a/datacatalog/go.sum +++ b/datacatalog/go.sum @@ -17,24 +17,22 @@ cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHOb cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go v0.110.0 h1:Zc8gqp3+a9/Eyph2KDmcGaPtbKRIoqq4YTlL4NMD0Ys= -cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= +cloud.google.com/go v0.112.0 h1:tpFCD7hpHFlQ8yPwT3x+QeXqc2T6+n6T+hmABHfDUSM= +cloud.google.com/go v0.112.0/go.mod h1:3jEEVwZ/MHU4djK5t5RHuKOA/GbLddgTdVubX1qnPD4= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute v1.19.1 h1:am86mquDUgjGNWxiGn+5PGLbmgiWXlE/yNWpIpNvuXY= -cloud.google.com/go/compute v1.19.1/go.mod h1:6ylj3a05WF8leseCdIf77NK0g1ey+nj5IKd5/kvShxE= +cloud.google.com/go/compute v1.23.3 h1:6sVlXXBmbd7jNX0Ipq0trII3e4n1/MsADLK6a+aiVlk= +cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzcFZeQ+h8CI= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k= -cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= -cloud.google.com/go/longrunning v0.4.1 h1:v+yFJOfKC3yZdY6ZUI933pIYdhyhV8S3NpWrXWmg7jM= -cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo= +cloud.google.com/go/iam v1.1.5 h1:1jTsCu4bcsNsE4iiqNT5SHwrDRCfRmIaaaVFhRveTJI= +cloud.google.com/go/iam v1.1.5/go.mod h1:rB6P/Ic3mykPbFio+vo7403drjlgvoWfYpJhMXEbzv8= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= @@ -45,21 +43,21 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -cloud.google.com/go/storage v1.28.1 h1:F5QDG5ChchaAVQhINh24U99OWHURqrW8OmQcGKXcbgI= -cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= +cloud.google.com/go/storage v1.36.0 h1:P0mOkAcaJxhCTvAkMhxMfrTKiNcub4YmmPBtlhAyTr8= +cloud.google.com/go/storage v1.36.0/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.7.2 h1:t5+QXLCK9SVi0PPdaY0PrFvYUo24KwA0QwxnaHRSVd4= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.7.2/go.mod h1:bjGvMhVMb+EEm3VRNQawDMUyMMjo+S5ewNjflkep/0Q= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.3.1 h1:LNHhpdK7hzUcx/k1LIcuh5k7k1LGIWLQfCjaneSj7Fc= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.3.1/go.mod h1:uE9zaUfEQT/nbQjVi2IblCG9iaLtZsuYZ8ne+PuQ02M= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0 h1:sXr+ck84g/ZlZUOZiNELInmMgOsuGwdjjVkEIde0OtY= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0/go.mod h1:okt5dMMTOFjX/aovMlrjvvXoPMBVSPzk9185BT0+eZM= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.2.0 h1:Ma67P/GGprNwsslzEH6+Kb8nybI8jpDTm4Wmzu2ReK8= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.2.0/go.mod h1:c+Lifp3EDEamAkPVzMooRNOK6CZjNSdEnf1A7jsI9u4= -github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.1.0 h1:nVocQV40OQne5613EeLayJiRAJuKlBGy+m22qWG+WRg= -github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.1.0/go.mod h1:7QJP7dr2wznCMeqIrhMgWGf7XpAQnVrJqDm9nvV3Cu4= -github.com/AzureAD/microsoft-authentication-library-for-go v1.2.0 h1:hVeq+yCyUi+MsoO/CU95yqCIcdzra5ovzk8Q2BBpV2M= -github.com/AzureAD/microsoft-authentication-library-for-go v1.2.0/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.13.0 h1:GJHeeA2N7xrG3q30L2UXDyuWRzDM900/65j70wcM4Ww= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.13.0/go.mod h1:l38EPgmsp71HHLq9j7De57JcKOWPyhrsW1Awm1JS6K0= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 h1:tfLQ34V6F7tVSwoTf/4lH5sE0o6eCJuNDTmH09nDpbc= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0/go.mod h1:9kIvujWAA58nmPmWB1m23fyWic1kYZMxD9CxaWn4Qpg= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 h1:ywEEhmNahHBihViHepv3xPBn1663uRv2t2q/ESv9seY= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0/go.mod h1:iZDifYGJTIgIIkYRNWPENUnqx6bJ2xnSDFI2tjwZNuY= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.6.0 h1:PiSrjRPpkQNjrM8H0WwKMnZUdu1RGMtd/LdGKUrOo+c= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.6.0/go.mod h1:oDrbWx4ewMylP7xHivfgixbfGBT6APAwsSoHRKotnIc= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.4.0 h1:Be6KInmFEKV81c0pOAEbRYehLMwmmGI1exuFj248AMk= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.4.0/go.mod h1:WCPBHsOXfBVnivScjs2ypRfimjEW0qPVLGgJkZlrIOA= +github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 h1:XHOnouVk1mxXfQidrMEnLlPk9UMeRtyBTnEFtxkV0kU= +github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= @@ -70,6 +68,8 @@ github.com/aws/aws-sdk-go v1.44.2 h1:5VBk5r06bgxgRKVaUtm1/4NT/rtrnH2E4cnAYv5zgQc github.com/aws/aws-sdk-go v1.44.2/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= +github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= @@ -84,21 +84,15 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 h1:/inchEIKaYC1Akx+H+gqO04wryn5h75LSazbRlnya1k= -github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= +github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa h1:jQCWAUqqlij9Pgj2i/PB79y4KOPYVyFYdROxgaCwdTQ= +github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa/go.mod h1:x/1Gn8zydmfq8dk6e9PdstVsDgu9RuyIIJqAaF//0IM= github.com/coocood/freecache v1.1.1 h1:uukNF7QKCZEdZ9gAV7WQzvh0SbjwdMF6m3x3rxEkaPc= github.com/coocood/freecache v1.1.1/go.mod h1:OKrEjkGVoxZhyWAJoeFi5BMLUJm2Tit0kpGkIr7NGYY= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI= -github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -107,12 +101,14 @@ github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1m github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v0.10.1 h1:c0g45+xCJhdgFGw7a5QAfdS4byAbud7miNWJ1WwEVf8= -github.com/envoyproxy/protoc-gen-validate v0.10.1/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= +github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= +github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= github.com/evanphx/json-patch/v5 v5.6.0 h1:b91NhWfaz02IuVxO9faSllyAtNXHMPkC5J8sJCLunww= github.com/evanphx/json-patch/v5 v5.6.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/flyteorg/stow v0.3.10 h1:uEe+tI+CGKn21H93uXp9z05hqynEki2BO9KkW/GweY8= github.com/flyteorg/stow v0.3.10/go.mod h1:fArjMpsYJNWkp/hyDKKdbcv07gxbuLmKFcb7YT1aSOM= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= @@ -126,8 +122,8 @@ github.com/go-gormigrate/gormigrate/v2 v2.1.1 h1:eGS0WTFRV30r103lU8JNXY27KbviRnq github.com/go-gormigrate/gormigrate/v2 v2.1.1/go.mod h1:L7nJ620PFDKei9QOhJzqA8kRCk+E3UbV2f5gv+1ndLc= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= -github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= +github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-logr/zapr v1.2.4 h1:QHVo+6stLbfJmYGkQ7uGHUCu5hnAFAj6mDe6Ea0SeOo= @@ -138,7 +134,6 @@ github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2Kv github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/go-test/deep v1.0.7 h1:/VSMRlnY/JSyqxQUzQLKVMAskpY/NZKFA5j2P+0pP2M= @@ -147,11 +142,11 @@ github.com/gofrs/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZg github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-jwt/jwt/v5 v5.0.0 h1:1n1XNM9hk7O9mnQoNBGolZvzebBQ7p93ULHRc28XJUE= -github.com/golang-jwt/jwt/v5 v5.0.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= +github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk= +github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= -github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -179,6 +174,7 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= @@ -196,8 +192,8 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -220,16 +216,20 @@ github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 h1:K6RDEckDVWvDI9JAJYCmNdQXq6neHJOYx3V6jnqNEec= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= +github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= -github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/enterprise-certificate-proxy v0.2.3 h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k= -github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= +github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.7.1 h1:gF4c0zjUP2H/s/hEGyLA3I0fA2ZWjzYiONAD6cvPr8A= -github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= +github.com/googleapis/gax-go/v2 v2.12.0 h1:A+gCJKdRfqXkr+BIRGtZLibNXf0m1f9E4HG56etFpas= +github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 h1:Wqo399gCIufwto+VfwCSvsnfGpF/w5E9CNxSwbpD6No= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0/go.mod h1:qmOFXW2epJhM0qSnUUYpldc7gVz2KMQwJ/QYCDIa7XU= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= @@ -242,47 +242,25 @@ github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= github.com/jackc/chunkreader/v2 v2.0.1 h1:i+RDz65UE+mmpjTfyz0MoVTnzeYxroil2G82ki7MGG8= github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= -github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA= -github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE= -github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s= -github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= -github.com/jackc/pgconn v1.9.0/go.mod h1:YctiPyvzfU11JFxoXokUOOKQXQmDMoJL9vJzHH8/2JY= -github.com/jackc/pgconn v1.14.1 h1:smbxIaZA08n6YuxEX1sDyjV/qkbtUtkH20qLkR9MUR4= -github.com/jackc/pgconn v1.14.1/go.mod h1:9mBNlny0UvkgJdCDvdVHYSjI+8tD2rnKK69Wz8ti++E= +github.com/jackc/pgconn v1.14.3 h1:bVoTr12EGANZz66nZPkMInAV/KHD2TxH9npjXXgiB3w= +github.com/jackc/pgconn v1.14.3/go.mod h1:RZbme4uasqzybK2RK5c65VsHxoyaml09lx3tXOcO/VM= github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE= github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= -github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE= -github.com/jackc/pgmock v0.0.0-20201204152224-4fe30f7445fd/go.mod h1:hrBW0Enj2AZTNpt/7Y5rr2xe/9Mn757Wtb2xeBzPv2c= github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65 h1:DadwsjnMwFjfWc9y5Wi/+Zz7xoE5ALHsRQlOctkOiHc= github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65/go.mod h1:5R2h2EEX+qri8jOWMbJCtaPWkrrNc7OHwsp2TCqp7ak= github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= -github.com/jackc/pgproto3 v1.1.0/go.mod h1:eR5FA3leWg7p9aeAqi37XOTgTIbkABlvcPB3E5rlc78= -github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod h1:bhq50y+xrl9n5mRYyCBFKkpRVTLYJVWeCc+mEAI3yXA= -github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg= -github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= -github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= -github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgproto3/v2 v2.1.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgproto3/v2 v2.3.2 h1:7eY55bdBeCz1F2fTzSz69QC+pG46jYq9/jtSPiJ5nn0= -github.com/jackc/pgproto3/v2 v2.3.2/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= +github.com/jackc/pgproto3/v2 v2.3.3 h1:1HLSx5H+tXR9pW3in3zaztoEwQYRC9SQaYUHjTSUOag= +github.com/jackc/pgproto3/v2 v2.3.3/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk= github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= -github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg= -github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= -github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= -github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= -github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= -github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= -github.com/jackc/pgx/v5 v5.4.3 h1:cxFyXhxlvAifxnkKKdlxv8XqUf59tDlYjnV5YYfsJJY= -github.com/jackc/pgx/v5 v5.4.3/go.mod h1:Ig06C2Vu0t5qXC60W8sqIthScaEnFvojjj9dSljmHRA= -github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/pgx/v5 v5.5.5 h1:amBjrZVmksIdNjxGW/IiIMzxMKZFelXbUoPNb+8sjQw= +github.com/jackc/pgx/v5 v5.5.5/go.mod h1:ez9gk+OAat140fv9ErkZDYFWmXLfV+++K0uAOiwgm1A= +github.com/jackc/puddle/v2 v2.2.1 h1:RhxXJtFG022u4ibrCSMSiu5aOq1i77R3OHKNJj77OAk= +github.com/jackc/puddle/v2 v2.2.1/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= @@ -300,33 +278,24 @@ github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1 github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= @@ -353,8 +322,8 @@ github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhEC github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml/v2 v2.0.0-beta.8 h1:dy81yyLYJDwMTifq24Oi/IslOslRrDSb3jwDggjz3Z0= github.com/pelletier/go-toml/v2 v2.0.0-beta.8/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= -github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU= -github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= +github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= +github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -371,22 +340,15 @@ github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO github.com/prometheus/procfs v0.10.1 h1:kYK1Va/YMlutzCGazswoHKo//tZVlFpKYh+PymziUAg= github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= -github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= -github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= -github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= -github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= -github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.9.2 h1:oxx1eChJGI6Uks2ZC4W1zpLlVgqB8ner4EuQwV4Ik1Y= -github.com/sirupsen/logrus v1.9.2/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= -github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= +github.com/spf13/afero v1.8.2 h1:xehSyVa0YnHWsJ49JFljMpg1HX19V6NDZ1fkm1Xznbo= +github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= @@ -398,11 +360,10 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An github.com/spf13/viper v1.11.0 h1:7OX/1FS6n7jHD1zGrZTM7WtY13ZELRyosK4k93oPr44= github.com/spf13/viper v1.11.0/go.mod h1:djo0X/bA5+tYVoCn+C7cAYJGcVn/qYLFTG8gdUsX7Zk= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -411,8 +372,8 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -420,7 +381,6 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= @@ -429,45 +389,46 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.35.0 h1:xFSRQBbXF6VvYRf2lqMJXxoB72XI1K/azav8TekHHSw= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.35.0/go.mod h1:h8TWwRAhQpOd0aM5nYsRD8+flnkj+526GEIVlarH7eY= -go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs= -go.opentelemetry.io/otel v1.19.0/go.mod h1:i0QyjOq3UPoTzff0PJB2N66fb4S0+rSbSB15/oyH9fY= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0 h1:UNQQKPfTDe1J81ViolILjTKPr9WetKW6uei2hFgJmFs= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0/go.mod h1:r9vWsPS/3AQItv3OSlEJ/E4mbrhUbbw18meOjArPtKQ= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 h1:aFJWCqJMNjENlcleuuOkGAPH82y0yULBScfXcIEdS24= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1/go.mod h1:sEGXWArGqc3tVa+ekntsN65DmVbVeW+7lTKTjZF3/Fo= +go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= +go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= go.opentelemetry.io/otel/exporters/jaeger v1.17.0 h1:D7UpUy2Xc2wsi1Ras6V40q806WM07rqoCWzXu7Sqy+4= go.opentelemetry.io/otel/exporters/jaeger v1.17.0/go.mod h1:nPCqOnEH9rNLKqH/+rrUjiMzHJdV1BlpKcTwRTyKkKI= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.19.0 h1:Nw7Dv4lwvGrI68+wULbcq7su9K2cebeCUrDjVrUJHxM= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.19.0/go.mod h1:1MsF6Y7gTqosgoZvHlzcaaM8DIMNZgJh87ykokoNH7Y= -go.opentelemetry.io/otel/metric v1.19.0 h1:aTzpGtV0ar9wlV4Sna9sdJyII5jTVJEvKETPiOKwvpE= -go.opentelemetry.io/otel/metric v1.19.0/go.mod h1:L5rUsV9kM1IxCj1MmSdS+JQAcVm319EUrDVLrt7jqt8= -go.opentelemetry.io/otel/sdk v1.19.0 h1:6USY6zH+L8uMH8L3t1enZPR3WFEmSTADlqldyHtJi3o= -go.opentelemetry.io/otel/sdk v1.19.0/go.mod h1:NedEbbS4w3C6zElbLdPJKOpJQOrGUJ+GfzpjUvI0v1A= -go.opentelemetry.io/otel/trace v1.19.0 h1:DFVQmlVbfVeOuBRrwdtaehRrWiL1JoVs9CPIQ1Dzxpg= -go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo= -go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.24.0 h1:t6wl9SPayj+c7lEIFgm4ooDBZVb01IhLB4InpomhRw8= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.24.0/go.mod h1:iSDOcsnSA5INXzZtwaBPrKp/lWu/V14Dd+llD0oI2EA= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.24.0 h1:Mw5xcxMwlqoJd97vwPxA8isEaIoxsta9/Q51+TTJLGE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.24.0/go.mod h1:CQNu9bj7o7mC6U7+CA/schKEYakYXWr79ucDHTMGhCM= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0 h1:Xw8U6u2f8DK2XAkGRFV7BBLENgnTGX9i4rQRxJf+/vs= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0/go.mod h1:6KW1Fm6R/s6Z3PGXwSJN2K4eT6wQB3vXX6CVnYX9NmM= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.22.0 h1:zr8ymM5OWWjjiWRzwTfZ67c905+2TMHYp2lMJ52QTyM= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.22.0/go.mod h1:sQs7FT2iLVJ+67vYngGJkPe1qr39IzaBzaj9IDNNY8k= +go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI= +go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco= +go.opentelemetry.io/otel/sdk v1.24.0 h1:YMPPDNymmQN3ZgczicBY3B6sf9n62Dlj9pWD3ucgoDw= +go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg= +go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= +go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= +go.opentelemetry.io/proto/otlp v1.1.0 h1:2Di21piLrCqJ3U3eXGCTPHE9R8Nh+0uglSnOyxikMeI= +go.opentelemetry.io/proto/otlp v1.1.0/go.mod h1:GpBHCBWiqvVLDqmHZsoMM3C5ySeKTC7ej/RNTae6MdY= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= -go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.25.0 h1:4Hvk6GtkucQ790dqmj7l1eEnRdKm3k3ZUrUMS2d5+5c= go.uber.org/zap v1.25.0/go.mod h1:JIAUzQIH94IC4fOJQm7gMmBJP5k7wQfdcnYdPoEXJYk= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= -golang.org/x/crypto v0.13.0 h1:mvySKfSWJ+UKUii46M40LOvyWfN0s2U+46/jDd0e6Ck= -golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= +golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= +golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -516,7 +477,6 @@ golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -539,9 +499,8 @@ golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.15.0 h1:ugBLEUaxABaB5AJqW9enI0ACdci2RUd4eP51NTBvuJ8= -golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= +golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= +golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -551,8 +510,8 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= -golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= +golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ= +golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -564,22 +523,18 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -605,7 +560,6 @@ golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -613,31 +567,28 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o= -golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= +golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.12.0 h1:/ZfYdc3zq+q02Rv9vGqTeSItdzZTSNDmfTi0mBAuidU= -golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= +golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= +golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= +golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -645,14 +596,12 @@ golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -690,10 +639,8 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.9.3 h1:Gn1I8+64MsuTb/HpH+LmQtNas23LhUVr3rYZ0eKuaMM= -golang.org/x/tools v0.9.3/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= -golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -721,16 +668,17 @@ google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz513 google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.114.0 h1:1xQPji6cO2E2vLiI+C/XiFAnsn1WV3mjaEwGLhi3grE= -google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= +google.golang.org/api v0.155.0 h1:vBmGhCYs0djJttDNynWo44zosHlPvHmA0XiN2zP2DtA= +google.golang.org/api v0.155.0/go.mod h1:GI5qK5f40kCpHfPn6+YzGAByIKWv8ujFnmoWm7Igduk= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= +google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -767,12 +715,12 @@ google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54 h1:9NWlQfY2ePejTmfwUH1OWwmznFa+0kKcHGPDvcPza9M= -google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= -google.golang.org/genproto/googleapis/api v0.0.0-20230526161137-0005af68ea54 h1:VW/GdnI343CnUKGap8QyxQ204yai8uUsGzGmyOFfwH8= -google.golang.org/genproto/googleapis/api v0.0.0-20230526161137-0005af68ea54/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230526161137-0005af68ea54 h1:wQvmPUaH4JVFCzNAL9ShNjezVoq3OhlinNMLYSAN9Vg= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230526161137-0005af68ea54/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80 h1:KAeGQVN3M9nD0/bQXnr/ClcEMJ968gUXJQ9pwfSynuQ= +google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80/go.mod h1:cc8bqMqtv9gMOr0zHg2Vzff5ULhhL2IXP4sbcn32Dro= +google.golang.org/genproto/googleapis/api v0.0.0-20240123012728-ef4313101c80 h1:Lj5rbfG876hIAYFjqiJnPHfhXbv+nzTWfm04Fg/XSVU= +google.golang.org/genproto/googleapis/api v0.0.0-20240123012728-ef4313101c80/go.mod h1:4jWUdICTdgc3Ibxmr8nAJiiLHwQBY0UI0XZcEMaFKaA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 h1:AjyfHzEPEFp/NpvfN5g+KDla3EMojjhRVZc1i7cj+oM= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80/go.mod h1:PAREbraiVEVGVdTZsVWjSbbTtSyGbAgIIvni8a8CD5s= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -789,8 +737,8 @@ google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.56.1 h1:z0dNfjIl0VpaZ9iSVjA6daGatAYwPGstTjt5vkRMFkQ= -google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= +google.golang.org/grpc v1.62.1 h1:B4n+nfKzOICUXMgyrNd19h/I9oH0L1pizfk1d4zSgTk= +google.golang.org/grpc v1.62.1/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -803,14 +751,13 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= -google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.66.4 h1:SsAcf+mM7mRZo2nJNGt8mZCjG8ZRaNGMURJw7BsIST4= diff --git a/deployment/agent/flyte_agent_helm_generated.yaml b/deployment/agent/flyte_agent_helm_generated.yaml index 01f6f4fa86b..4c9eec59e38 100644 --- a/deployment/agent/flyte_agent_helm_generated.yaml +++ b/deployment/agent/flyte_agent_helm_generated.yaml @@ -40,6 +40,7 @@ spec: - name: agent-grpc port: 8000 protocol: TCP + appProtocol: TCP targetPort: agent-grpc selector: app.kubernetes.io/name: flyteagent @@ -78,7 +79,7 @@ spec: - pyflyte - serve - agent - image: "ghcr.io/flyteorg/flyteagent:1.11.0" + image: "cr.flyte.org/flyteorg/flyteagent:1.13.0" imagePullPolicy: "IfNotPresent" name: flyteagent volumeMounts: @@ -98,7 +99,7 @@ spec: limits: cpu: 500m ephemeral-storage: 200Mi - memory: 200Mi + memory: 300Mi requests: cpu: 500m ephemeral-storage: 200Mi diff --git a/deployment/eks/flyte_aws_scheduler_helm_generated.yaml b/deployment/eks/flyte_aws_scheduler_helm_generated.yaml index 3ae88a9b8fc..0ce940cfa90 100644 --- a/deployment/eks/flyte_aws_scheduler_helm_generated.yaml +++ b/deployment/eks/flyte_aws_scheduler_helm_generated.yaml @@ -162,7 +162,8 @@ data: testing: host: http://flyteadmin server: - grpcPort: 8089 + grpc: + port: 8089 httpPort: 8088 security: allowCors: true @@ -181,7 +182,7 @@ data: storage.yaml: | storage: type: s3 - container: "" + container: "" connection: auth-type: iam region: @@ -390,7 +391,7 @@ data: storage.yaml: | storage: type: s3 - container: "" + container: "" connection: auth-type: iam region: @@ -429,7 +430,7 @@ data: plugins: k8s: co-pilot: - image: cr.flyte.org/flyteorg/flytecopilot:v1.11.0-b0 + image: cr.flyte.org/flyteorg/flytecopilot:v1.13.0 name: flyte-copilot- start-timeout: 30s core.yaml: | @@ -472,7 +473,7 @@ data: rate: 100 type: bucket type: batch - rawoutput-prefix: s3:/// + rawoutput-prefix: s3:/// workers: 40 workflow-reeval-duration: 30s webhook: @@ -503,7 +504,7 @@ data: storage.yaml: | storage: type: s3 - container: "" + container: "" connection: auth-type: iam region: @@ -744,17 +745,22 @@ spec: - name: http port: 80 protocol: TCP + appProtocol: TCP targetPort: 8088 - name: grpc port: 81 protocol: TCP + # intentionally set to TCP instead of grpc + appProtocol: TCP targetPort: 8089 - name: redoc protocol: TCP + appProtocol: TCP port: 87 targetPort: 8087 - name: http-metrics protocol: TCP + appProtocol: TCP port: 10254 selector: app.kubernetes.io/name: flyteadmin @@ -777,6 +783,7 @@ spec: - name: http port: 80 protocol: TCP + appProtocol: TCP targetPort: 8080 selector: app.kubernetes.io/name: flyteconsole @@ -848,7 +855,7 @@ spec: template: metadata: annotations: - configChecksum: "2b5c85969f2bd85bb51a084f9fd72c20c3aca94be99e53cb4c4e9f78e77ebc5" + configChecksum: "618a516ca42e8bbe5222a76f7865a0a444b6048002d7fcc06144c9188f3fd3d" labels: app.kubernetes.io/name: flyteadmin app.kubernetes.io/instance: flyte @@ -869,7 +876,7 @@ spec: - /etc/flyte/config/*.yaml - migrate - run - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: run-migrations securityContext: @@ -890,7 +897,7 @@ spec: - flytesnacks - flytetester - flyteexamples - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: seed-projects securityContext: @@ -908,7 +915,7 @@ spec: - /etc/flyte/config/*.yaml - clusterresource - sync - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: sync-cluster-resources securityContext: @@ -925,7 +932,7 @@ spec: - mountPath: /etc/secrets/ name: admin-secrets - name: generate-secrets - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" command: ["/bin/sh", "-c"] args: @@ -952,7 +959,7 @@ spec: - --config - /etc/flyte/config/*.yaml - serve - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: flyteadmin ports: @@ -1044,6 +1051,8 @@ spec: metadata: annotations: configChecksum: "55ce597c10b17ef6e891f0c9242b17aafb3d7b4e4e414d0a5078d71ad9c804f" + prometheus.io/path: "/metrics" + prometheus.io/port: "10254" labels: app.kubernetes.io/name: flyteclusterresourcesync app.kubernetes.io/instance: flyte @@ -1057,7 +1066,7 @@ spec: - /etc/flyte/config/*.yaml - clusterresource - run - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: sync-cluster-resources volumeMounts: @@ -1113,7 +1122,7 @@ spec: seLinuxOptions: type: spc_t containers: - - image: "cr.flyte.org/flyteorg/flyteconsole:v1.10.3" + - image: "cr.flyte.org/flyteorg/flyteconsole:v1.15.1" imagePullPolicy: "IfNotPresent" name: flyteconsole envFrom: @@ -1166,7 +1175,7 @@ spec: template: metadata: annotations: - configChecksum: "59ef5b555bd41c3e854a315f21031c76dfa876455ff8069b989cb6c28ec1f17" + configChecksum: "c2a15ce5dc2fa465986d6006f93450723da58166b3ad5ee35a91cb37d5c39da" labels: app.kubernetes.io/name: datacatalog app.kubernetes.io/instance: flyte @@ -1187,7 +1196,7 @@ spec: - /etc/datacatalog/config/*.yaml - migrate - run - image: "cr.flyte.org/flyteorg/datacatalog:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/datacatalog:v1.13.0" imagePullPolicy: "IfNotPresent" name: run-migrations volumeMounts: @@ -1205,11 +1214,11 @@ spec: - --config - /etc/datacatalog/config/*.yaml - serve - image: "cr.flyte.org/flyteorg/datacatalog:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/datacatalog:v1.13.0" imagePullPolicy: "IfNotPresent" name: datacatalog ports: - - containerPort: 8088 + - containerPort: 8080 - containerPort: 8089 - containerPort: 10254 securityContext: @@ -1268,7 +1277,9 @@ spec: template: metadata: annotations: - configChecksum: "6b3ace0186a0b36f4d87ebd8ef0b7114608b9ad0b63d9c1af3bb84d4d2da857" + configChecksum: "38c8d0c5ce2cb50f839d3ecda13d881b6bf5a503ac264f0a9a821a9b5a70ca6" + prometheus.io/path: "/metrics" + prometheus.io/port: "10254" labels: app.kubernetes.io/name: flytepropeller app.kubernetes.io/instance: flyte @@ -1294,7 +1305,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: "cr.flyte.org/flyteorg/flytepropeller:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytepropeller:v1.13.0" imagePullPolicy: "IfNotPresent" name: flytepropeller ports: @@ -1348,9 +1359,11 @@ spec: labels: app: flyte-pod-webhook app.kubernetes.io/name: flyte-pod-webhook - app.kubernetes.io/version: v1.11.0-b0 + app.kubernetes.io/version: v1.13.0 annotations: - configChecksum: "6b3ace0186a0b36f4d87ebd8ef0b7114608b9ad0b63d9c1af3bb84d4d2da857" + configChecksum: "38c8d0c5ce2cb50f839d3ecda13d881b6bf5a503ac264f0a9a821a9b5a70ca6" + prometheus.io/path: "/metrics" + prometheus.io/port: "10254" spec: securityContext: fsGroup: 65534 @@ -1362,7 +1375,7 @@ spec: serviceAccountName: flyte-pod-webhook initContainers: - name: generate-secrets - image: "cr.flyte.org/flyteorg/flytepropeller:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytepropeller:v1.13.0" imagePullPolicy: "IfNotPresent" command: - flytepropeller @@ -1389,7 +1402,7 @@ spec: mountPath: /etc/flyte/config containers: - name: webhook - image: "cr.flyte.org/flyteorg/flytepropeller:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytepropeller:v1.13.0" imagePullPolicy: "IfNotPresent" command: - flytepropeller @@ -1449,6 +1462,7 @@ metadata: alb.ingress.kubernetes.io/target-type: ip kubernetes.io/ingress.class: alb nginx.ingress.kubernetes.io/app-root: /console + nginx.ingress.kubernetes.io/service-upstream: "true" spec: ingressClassName: rules: @@ -1619,6 +1633,7 @@ metadata: kubernetes.io/ingress.class: alb nginx.ingress.kubernetes.io/app-root: /console nginx.ingress.kubernetes.io/backend-protocol: GRPC + nginx.ingress.kubernetes.io/service-upstream: "true" spec: ingressClassName: rules: diff --git a/deployment/eks/flyte_helm_controlplane_generated.yaml b/deployment/eks/flyte_helm_controlplane_generated.yaml index 1ae984cf69f..d9ebf1d7bd3 100644 --- a/deployment/eks/flyte_helm_controlplane_generated.yaml +++ b/deployment/eks/flyte_helm_controlplane_generated.yaml @@ -143,7 +143,8 @@ data: testing: host: http://flyteadmin server: - grpcPort: 8089 + grpc: + port: 8089 httpPort: 8088 security: allowCors: true @@ -162,7 +163,7 @@ data: storage.yaml: | storage: type: s3 - container: "" + container: "" connection: auth-type: iam region: @@ -356,7 +357,7 @@ data: storage.yaml: | storage: type: s3 - container: "" + container: "" connection: auth-type: iam region: @@ -467,17 +468,22 @@ spec: - name: http port: 80 protocol: TCP + appProtocol: TCP targetPort: 8088 - name: grpc port: 81 protocol: TCP + # intentionally set to TCP instead of grpc + appProtocol: TCP targetPort: 8089 - name: redoc protocol: TCP + appProtocol: TCP port: 87 targetPort: 8087 - name: http-metrics protocol: TCP + appProtocol: TCP port: 10254 selector: app.kubernetes.io/name: flyteadmin @@ -500,6 +506,7 @@ spec: - name: http port: 80 protocol: TCP + appProtocol: TCP targetPort: 8080 selector: app.kubernetes.io/name: flyteconsole @@ -553,7 +560,7 @@ spec: template: metadata: annotations: - configChecksum: "053b20ebc40227f6ed8ddc61f5997ee7997c604158f773779f20ec61af11a2f" + configChecksum: "5ce6f593fb92c9a6fd183825231d187471b5f10fe948f601f6d5b56edd02b51" labels: app.kubernetes.io/name: flyteadmin app.kubernetes.io/instance: flyte @@ -574,7 +581,7 @@ spec: - /etc/flyte/config/*.yaml - migrate - run - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: run-migrations securityContext: @@ -595,7 +602,7 @@ spec: - flytesnacks - flytetester - flyteexamples - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: seed-projects securityContext: @@ -613,7 +620,7 @@ spec: - /etc/flyte/config/*.yaml - clusterresource - sync - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: sync-cluster-resources securityContext: @@ -630,7 +637,7 @@ spec: - mountPath: /etc/secrets/ name: admin-secrets - name: generate-secrets - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" command: ["/bin/sh", "-c"] args: @@ -657,7 +664,7 @@ spec: - --config - /etc/flyte/config/*.yaml - serve - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: flyteadmin ports: @@ -749,6 +756,8 @@ spec: metadata: annotations: configChecksum: "55ce597c10b17ef6e891f0c9242b17aafb3d7b4e4e414d0a5078d71ad9c804f" + prometheus.io/path: "/metrics" + prometheus.io/port: "10254" labels: app.kubernetes.io/name: flyteclusterresourcesync app.kubernetes.io/instance: flyte @@ -762,7 +771,7 @@ spec: - /etc/flyte/config/*.yaml - clusterresource - run - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: sync-cluster-resources volumeMounts: @@ -818,7 +827,7 @@ spec: seLinuxOptions: type: spc_t containers: - - image: "cr.flyte.org/flyteorg/flyteconsole:v1.10.3" + - image: "cr.flyte.org/flyteorg/flyteconsole:v1.15.1" imagePullPolicy: "IfNotPresent" name: flyteconsole envFrom: @@ -871,7 +880,7 @@ spec: template: metadata: annotations: - configChecksum: "59ef5b555bd41c3e854a315f21031c76dfa876455ff8069b989cb6c28ec1f17" + configChecksum: "c2a15ce5dc2fa465986d6006f93450723da58166b3ad5ee35a91cb37d5c39da" labels: app.kubernetes.io/name: datacatalog app.kubernetes.io/instance: flyte @@ -892,7 +901,7 @@ spec: - /etc/datacatalog/config/*.yaml - migrate - run - image: "cr.flyte.org/flyteorg/datacatalog:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/datacatalog:v1.13.0" imagePullPolicy: "IfNotPresent" name: run-migrations volumeMounts: @@ -910,11 +919,11 @@ spec: - --config - /etc/datacatalog/config/*.yaml - serve - image: "cr.flyte.org/flyteorg/datacatalog:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/datacatalog:v1.13.0" imagePullPolicy: "IfNotPresent" name: datacatalog ports: - - containerPort: 8088 + - containerPort: 8080 - containerPort: 8089 - containerPort: 10254 securityContext: @@ -973,7 +982,7 @@ spec: template: metadata: annotations: - configChecksum: "053b20ebc40227f6ed8ddc61f5997ee7997c604158f773779f20ec61af11a2f" + configChecksum: "5ce6f593fb92c9a6fd183825231d187471b5f10fe948f601f6d5b56edd02b51" labels: app.kubernetes.io/name: flytescheduler app.kubernetes.io/instance: flyte @@ -993,7 +1002,7 @@ spec: - precheck - --config - /etc/flyte/config/*.yaml - image: "cr.flyte.org/flyteorg/flytescheduler:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytescheduler:v1.13.0" imagePullPolicy: "IfNotPresent" name: flytescheduler-check securityContext: @@ -1013,7 +1022,7 @@ spec: - run - --config - /etc/flyte/config/*.yaml - image: "cr.flyte.org/flyteorg/flytescheduler:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytescheduler:v1.13.0" imagePullPolicy: "IfNotPresent" name: flytescheduler ports: @@ -1069,6 +1078,7 @@ metadata: alb.ingress.kubernetes.io/target-type: ip kubernetes.io/ingress.class: alb nginx.ingress.kubernetes.io/app-root: /console + nginx.ingress.kubernetes.io/service-upstream: "true" spec: ingressClassName: rules: @@ -1239,6 +1249,7 @@ metadata: kubernetes.io/ingress.class: alb nginx.ingress.kubernetes.io/app-root: /console nginx.ingress.kubernetes.io/backend-protocol: GRPC + nginx.ingress.kubernetes.io/service-upstream: "true" spec: ingressClassName: rules: diff --git a/deployment/eks/flyte_helm_dataplane_generated.yaml b/deployment/eks/flyte_helm_dataplane_generated.yaml index cada767856f..040cb007f75 100644 --- a/deployment/eks/flyte_helm_dataplane_generated.yaml +++ b/deployment/eks/flyte_helm_dataplane_generated.yaml @@ -94,7 +94,7 @@ data: plugins: k8s: co-pilot: - image: cr.flyte.org/flyteorg/flytecopilot:v1.11.0-b0 + image: cr.flyte.org/flyteorg/flytecopilot:v1.13.0 name: flyte-copilot- start-timeout: 30s core.yaml: | @@ -137,7 +137,7 @@ data: rate: 100 type: bucket type: batch - rawoutput-prefix: s3:/// + rawoutput-prefix: s3:/// workers: 40 workflow-reeval-duration: 30s webhook: @@ -168,7 +168,7 @@ data: storage.yaml: | storage: type: s3 - container: "" + container: "" connection: auth-type: iam region: @@ -428,7 +428,9 @@ spec: template: metadata: annotations: - configChecksum: "6b3ace0186a0b36f4d87ebd8ef0b7114608b9ad0b63d9c1af3bb84d4d2da857" + configChecksum: "38c8d0c5ce2cb50f839d3ecda13d881b6bf5a503ac264f0a9a821a9b5a70ca6" + prometheus.io/path: "/metrics" + prometheus.io/port: "10254" labels: app.kubernetes.io/name: flytepropeller app.kubernetes.io/instance: flyte @@ -454,7 +456,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: "cr.flyte.org/flyteorg/flytepropeller:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytepropeller:v1.13.0" imagePullPolicy: "IfNotPresent" name: flytepropeller ports: @@ -508,9 +510,11 @@ spec: labels: app: flyte-pod-webhook app.kubernetes.io/name: flyte-pod-webhook - app.kubernetes.io/version: v1.11.0-b0 + app.kubernetes.io/version: v1.13.0 annotations: - configChecksum: "6b3ace0186a0b36f4d87ebd8ef0b7114608b9ad0b63d9c1af3bb84d4d2da857" + configChecksum: "38c8d0c5ce2cb50f839d3ecda13d881b6bf5a503ac264f0a9a821a9b5a70ca6" + prometheus.io/path: "/metrics" + prometheus.io/port: "10254" spec: securityContext: fsGroup: 65534 @@ -522,7 +526,7 @@ spec: serviceAccountName: flyte-pod-webhook initContainers: - name: generate-secrets - image: "cr.flyte.org/flyteorg/flytepropeller:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytepropeller:v1.13.0" imagePullPolicy: "IfNotPresent" command: - flytepropeller @@ -549,7 +553,7 @@ spec: mountPath: /etc/flyte/config containers: - name: webhook - image: "cr.flyte.org/flyteorg/flytepropeller:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytepropeller:v1.13.0" imagePullPolicy: "IfNotPresent" command: - flytepropeller @@ -609,6 +613,7 @@ metadata: alb.ingress.kubernetes.io/target-type: ip kubernetes.io/ingress.class: alb nginx.ingress.kubernetes.io/app-root: /console + nginx.ingress.kubernetes.io/service-upstream: "true" spec: ingressClassName: rules: @@ -779,6 +784,7 @@ metadata: kubernetes.io/ingress.class: alb nginx.ingress.kubernetes.io/app-root: /console nginx.ingress.kubernetes.io/backend-protocol: GRPC + nginx.ingress.kubernetes.io/service-upstream: "true" spec: ingressClassName: rules: diff --git a/deployment/eks/flyte_helm_generated.yaml b/deployment/eks/flyte_helm_generated.yaml index 1d4c79874fd..5fc562963e6 100644 --- a/deployment/eks/flyte_helm_generated.yaml +++ b/deployment/eks/flyte_helm_generated.yaml @@ -174,7 +174,8 @@ data: testing: host: http://flyteadmin server: - grpcPort: 8089 + grpc: + port: 8089 httpPort: 8088 security: allowCors: true @@ -193,7 +194,7 @@ data: storage.yaml: | storage: type: s3 - container: "" + container: "" connection: auth-type: iam region: @@ -387,7 +388,7 @@ data: storage.yaml: | storage: type: s3 - container: "" + container: "" connection: auth-type: iam region: @@ -460,7 +461,7 @@ data: plugins: k8s: co-pilot: - image: cr.flyte.org/flyteorg/flytecopilot:v1.11.0-b0 + image: cr.flyte.org/flyteorg/flytecopilot:v1.13.0 name: flyte-copilot- start-timeout: 30s core.yaml: | @@ -503,7 +504,7 @@ data: rate: 100 type: bucket type: batch - rawoutput-prefix: s3:/// + rawoutput-prefix: s3:/// workers: 40 workflow-reeval-duration: 30s webhook: @@ -534,7 +535,7 @@ data: storage.yaml: | storage: type: s3 - container: "" + container: "" connection: auth-type: iam region: @@ -775,17 +776,22 @@ spec: - name: http port: 80 protocol: TCP + appProtocol: TCP targetPort: 8088 - name: grpc port: 81 protocol: TCP + # intentionally set to TCP instead of grpc + appProtocol: TCP targetPort: 8089 - name: redoc protocol: TCP + appProtocol: TCP port: 87 targetPort: 8087 - name: http-metrics protocol: TCP + appProtocol: TCP port: 10254 selector: app.kubernetes.io/name: flyteadmin @@ -808,6 +814,7 @@ spec: - name: http port: 80 protocol: TCP + appProtocol: TCP targetPort: 8080 selector: app.kubernetes.io/name: flyteconsole @@ -879,7 +886,7 @@ spec: template: metadata: annotations: - configChecksum: "053b20ebc40227f6ed8ddc61f5997ee7997c604158f773779f20ec61af11a2f" + configChecksum: "5ce6f593fb92c9a6fd183825231d187471b5f10fe948f601f6d5b56edd02b51" labels: app.kubernetes.io/name: flyteadmin app.kubernetes.io/instance: flyte @@ -900,7 +907,7 @@ spec: - /etc/flyte/config/*.yaml - migrate - run - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: run-migrations securityContext: @@ -921,7 +928,7 @@ spec: - flytesnacks - flytetester - flyteexamples - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: seed-projects securityContext: @@ -939,7 +946,7 @@ spec: - /etc/flyte/config/*.yaml - clusterresource - sync - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: sync-cluster-resources securityContext: @@ -956,7 +963,7 @@ spec: - mountPath: /etc/secrets/ name: admin-secrets - name: generate-secrets - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" command: ["/bin/sh", "-c"] args: @@ -983,7 +990,7 @@ spec: - --config - /etc/flyte/config/*.yaml - serve - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: flyteadmin ports: @@ -1075,6 +1082,8 @@ spec: metadata: annotations: configChecksum: "55ce597c10b17ef6e891f0c9242b17aafb3d7b4e4e414d0a5078d71ad9c804f" + prometheus.io/path: "/metrics" + prometheus.io/port: "10254" labels: app.kubernetes.io/name: flyteclusterresourcesync app.kubernetes.io/instance: flyte @@ -1088,7 +1097,7 @@ spec: - /etc/flyte/config/*.yaml - clusterresource - run - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: sync-cluster-resources volumeMounts: @@ -1144,7 +1153,7 @@ spec: seLinuxOptions: type: spc_t containers: - - image: "cr.flyte.org/flyteorg/flyteconsole:v1.10.3" + - image: "cr.flyte.org/flyteorg/flyteconsole:v1.15.1" imagePullPolicy: "IfNotPresent" name: flyteconsole envFrom: @@ -1197,7 +1206,7 @@ spec: template: metadata: annotations: - configChecksum: "59ef5b555bd41c3e854a315f21031c76dfa876455ff8069b989cb6c28ec1f17" + configChecksum: "c2a15ce5dc2fa465986d6006f93450723da58166b3ad5ee35a91cb37d5c39da" labels: app.kubernetes.io/name: datacatalog app.kubernetes.io/instance: flyte @@ -1218,7 +1227,7 @@ spec: - /etc/datacatalog/config/*.yaml - migrate - run - image: "cr.flyte.org/flyteorg/datacatalog:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/datacatalog:v1.13.0" imagePullPolicy: "IfNotPresent" name: run-migrations volumeMounts: @@ -1236,11 +1245,11 @@ spec: - --config - /etc/datacatalog/config/*.yaml - serve - image: "cr.flyte.org/flyteorg/datacatalog:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/datacatalog:v1.13.0" imagePullPolicy: "IfNotPresent" name: datacatalog ports: - - containerPort: 8088 + - containerPort: 8080 - containerPort: 8089 - containerPort: 10254 securityContext: @@ -1299,7 +1308,7 @@ spec: template: metadata: annotations: - configChecksum: "053b20ebc40227f6ed8ddc61f5997ee7997c604158f773779f20ec61af11a2f" + configChecksum: "5ce6f593fb92c9a6fd183825231d187471b5f10fe948f601f6d5b56edd02b51" labels: app.kubernetes.io/name: flytescheduler app.kubernetes.io/instance: flyte @@ -1319,7 +1328,7 @@ spec: - precheck - --config - /etc/flyte/config/*.yaml - image: "cr.flyte.org/flyteorg/flytescheduler:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytescheduler:v1.13.0" imagePullPolicy: "IfNotPresent" name: flytescheduler-check securityContext: @@ -1339,7 +1348,7 @@ spec: - run - --config - /etc/flyte/config/*.yaml - image: "cr.flyte.org/flyteorg/flytescheduler:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytescheduler:v1.13.0" imagePullPolicy: "IfNotPresent" name: flytescheduler ports: @@ -1398,7 +1407,9 @@ spec: template: metadata: annotations: - configChecksum: "6b3ace0186a0b36f4d87ebd8ef0b7114608b9ad0b63d9c1af3bb84d4d2da857" + configChecksum: "38c8d0c5ce2cb50f839d3ecda13d881b6bf5a503ac264f0a9a821a9b5a70ca6" + prometheus.io/path: "/metrics" + prometheus.io/port: "10254" labels: app.kubernetes.io/name: flytepropeller app.kubernetes.io/instance: flyte @@ -1424,7 +1435,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: "cr.flyte.org/flyteorg/flytepropeller:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytepropeller:v1.13.0" imagePullPolicy: "IfNotPresent" name: flytepropeller ports: @@ -1478,9 +1489,11 @@ spec: labels: app: flyte-pod-webhook app.kubernetes.io/name: flyte-pod-webhook - app.kubernetes.io/version: v1.11.0-b0 + app.kubernetes.io/version: v1.13.0 annotations: - configChecksum: "6b3ace0186a0b36f4d87ebd8ef0b7114608b9ad0b63d9c1af3bb84d4d2da857" + configChecksum: "38c8d0c5ce2cb50f839d3ecda13d881b6bf5a503ac264f0a9a821a9b5a70ca6" + prometheus.io/path: "/metrics" + prometheus.io/port: "10254" spec: securityContext: fsGroup: 65534 @@ -1492,7 +1505,7 @@ spec: serviceAccountName: flyte-pod-webhook initContainers: - name: generate-secrets - image: "cr.flyte.org/flyteorg/flytepropeller:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytepropeller:v1.13.0" imagePullPolicy: "IfNotPresent" command: - flytepropeller @@ -1519,7 +1532,7 @@ spec: mountPath: /etc/flyte/config containers: - name: webhook - image: "cr.flyte.org/flyteorg/flytepropeller:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytepropeller:v1.13.0" imagePullPolicy: "IfNotPresent" command: - flytepropeller @@ -1579,6 +1592,7 @@ metadata: alb.ingress.kubernetes.io/target-type: ip kubernetes.io/ingress.class: alb nginx.ingress.kubernetes.io/app-root: /console + nginx.ingress.kubernetes.io/service-upstream: "true" spec: ingressClassName: rules: @@ -1749,6 +1763,7 @@ metadata: kubernetes.io/ingress.class: alb nginx.ingress.kubernetes.io/app-root: /console nginx.ingress.kubernetes.io/backend-protocol: GRPC + nginx.ingress.kubernetes.io/service-upstream: "true" spec: ingressClassName: rules: diff --git a/deployment/gcp/flyte_helm_controlplane_generated.yaml b/deployment/gcp/flyte_helm_controlplane_generated.yaml index 0f1ebf13814..e83e4ebe24c 100644 --- a/deployment/gcp/flyte_helm_controlplane_generated.yaml +++ b/deployment/gcp/flyte_helm_controlplane_generated.yaml @@ -143,7 +143,8 @@ data: testing: host: http://flyteadmin server: - grpcPort: 8089 + grpc: + port: 8089 httpPort: 8088 security: allowCors: true @@ -170,7 +171,7 @@ data: json: "" project_id: scopes: https://www.googleapis.com/auth/cloud-platform - container: "" + container: "" enable-multicontainer: false limits: maxDownloadMBs: 10 @@ -372,7 +373,7 @@ data: json: "" project_id: scopes: https://www.googleapis.com/auth/cloud-platform - container: "" + container: "" enable-multicontainer: false limits: maxDownloadMBs: 10 @@ -481,17 +482,22 @@ spec: - name: http port: 80 protocol: TCP + appProtocol: TCP targetPort: 8088 - name: grpc port: 81 protocol: TCP + # intentionally set to TCP instead of grpc + appProtocol: TCP targetPort: 8089 - name: redoc protocol: TCP + appProtocol: TCP port: 87 targetPort: 8087 - name: http-metrics protocol: TCP + appProtocol: TCP port: 10254 selector: app.kubernetes.io/name: flyteadmin @@ -514,6 +520,7 @@ spec: - name: http port: 80 protocol: TCP + appProtocol: TCP targetPort: 8080 selector: app.kubernetes.io/name: flyteconsole @@ -568,7 +575,7 @@ spec: template: metadata: annotations: - configChecksum: "2e169a911a8234dd42d06ca0887279093f4ed36033d0543749ce126b26b50f3" + configChecksum: "0705f122f2535babec96a6083827c3e6d27e6e9b0e460b4d07292c858079ac7" labels: app.kubernetes.io/name: flyteadmin app.kubernetes.io/instance: flyte @@ -589,7 +596,7 @@ spec: - /etc/flyte/config/*.yaml - migrate - run - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: run-migrations securityContext: @@ -610,7 +617,7 @@ spec: - flytesnacks - flytetester - flyteexamples - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: seed-projects securityContext: @@ -628,7 +635,7 @@ spec: - /etc/flyte/config/*.yaml - clusterresource - sync - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: sync-cluster-resources securityContext: @@ -645,7 +652,7 @@ spec: - mountPath: /etc/secrets/ name: admin-secrets - name: generate-secrets - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" command: ["/bin/sh", "-c"] args: @@ -672,7 +679,7 @@ spec: - --config - /etc/flyte/config/*.yaml - serve - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: flyteadmin ports: @@ -764,6 +771,8 @@ spec: metadata: annotations: configChecksum: "dc18f5d54e0770c574e6b0693724047e22063030259104eebb554398d63209f" + prometheus.io/path: "/metrics" + prometheus.io/port: "10254" labels: app.kubernetes.io/name: flyteclusterresourcesync app.kubernetes.io/instance: flyte @@ -777,7 +786,7 @@ spec: - /etc/flyte/config/*.yaml - clusterresource - run - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: sync-cluster-resources volumeMounts: @@ -833,7 +842,7 @@ spec: seLinuxOptions: type: spc_t containers: - - image: "cr.flyte.org/flyteorg/flyteconsole:v1.10.3" + - image: "cr.flyte.org/flyteorg/flyteconsole:v1.15.1" imagePullPolicy: "IfNotPresent" name: flyteconsole envFrom: @@ -886,7 +895,7 @@ spec: template: metadata: annotations: - configChecksum: "bc69ed841506b28a42ac19bd0884d483472b3d11fe85fe7e546b879aeb30a85" + configChecksum: "905a2a911a85dbf8d4f1dc3be24b9c4fd7bb46481db0e174274d6aea6129b4c" labels: app.kubernetes.io/name: datacatalog app.kubernetes.io/instance: flyte @@ -907,7 +916,7 @@ spec: - /etc/datacatalog/config/*.yaml - migrate - run - image: "cr.flyte.org/flyteorg/datacatalog:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/datacatalog:v1.13.0" imagePullPolicy: "IfNotPresent" name: run-migrations volumeMounts: @@ -925,11 +934,11 @@ spec: - --config - /etc/datacatalog/config/*.yaml - serve - image: "cr.flyte.org/flyteorg/datacatalog:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/datacatalog:v1.13.0" imagePullPolicy: "IfNotPresent" name: datacatalog ports: - - containerPort: 8088 + - containerPort: 8080 - containerPort: 8089 - containerPort: 10254 securityContext: @@ -988,7 +997,7 @@ spec: template: metadata: annotations: - configChecksum: "2e169a911a8234dd42d06ca0887279093f4ed36033d0543749ce126b26b50f3" + configChecksum: "0705f122f2535babec96a6083827c3e6d27e6e9b0e460b4d07292c858079ac7" labels: app.kubernetes.io/name: flytescheduler app.kubernetes.io/instance: flyte @@ -1008,7 +1017,7 @@ spec: - precheck - --config - /etc/flyte/config/*.yaml - image: "cr.flyte.org/flyteorg/flytescheduler:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytescheduler:v1.13.0" imagePullPolicy: "IfNotPresent" name: flytescheduler-check securityContext: @@ -1028,7 +1037,7 @@ spec: - run - --config - /etc/flyte/config/*.yaml - image: "cr.flyte.org/flyteorg/flytescheduler:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytescheduler:v1.13.0" imagePullPolicy: "IfNotPresent" name: flytescheduler ports: @@ -1077,6 +1086,7 @@ metadata: cert-manager.io/issuer: letsencrypt-production kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/app-root: /console + nginx.ingress.kubernetes.io/service-upstream: "true" nginx.ingress.kubernetes.io/ssl-redirect: "true" spec: ingressClassName: @@ -1238,6 +1248,7 @@ metadata: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/app-root: /console nginx.ingress.kubernetes.io/backend-protocol: GRPC + nginx.ingress.kubernetes.io/service-upstream: "true" nginx.ingress.kubernetes.io/ssl-redirect: "true" spec: ingressClassName: diff --git a/deployment/gcp/flyte_helm_dataplane_generated.yaml b/deployment/gcp/flyte_helm_dataplane_generated.yaml index 86c6f100146..b5ad82d3f0e 100644 --- a/deployment/gcp/flyte_helm_dataplane_generated.yaml +++ b/deployment/gcp/flyte_helm_dataplane_generated.yaml @@ -94,7 +94,7 @@ data: plugins: k8s: co-pilot: - image: cr.flyte.org/flyteorg/flytecopilot:v1.11.0-b0 + image: cr.flyte.org/flyteorg/flytecopilot:v1.13.0 name: flyte-copilot- start-timeout: 30s core.yaml: | @@ -137,7 +137,7 @@ data: rate: 100 type: bucket type: batch - rawoutput-prefix: gs:/// + rawoutput-prefix: gs:/// workers: 40 workflow-reeval-duration: 30s webhook: @@ -174,7 +174,7 @@ data: json: "" project_id: scopes: https://www.googleapis.com/auth/cloud-platform - container: "" + container: "" enable-multicontainer: false limits: maxDownloadMBs: 10 @@ -436,7 +436,9 @@ spec: template: metadata: annotations: - configChecksum: "264352d1a15b63cdaca7bb2eb3a63e415d89e01d75a81be6afba718c241a441" + configChecksum: "e63d877e1ff27d18ac7c4af4c6e4ca6106fc337a13ce00d9beb8efed8548493" + prometheus.io/path: "/metrics" + prometheus.io/port: "10254" labels: app.kubernetes.io/name: flytepropeller app.kubernetes.io/instance: flyte @@ -461,7 +463,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: "cr.flyte.org/flyteorg/flytepropeller:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytepropeller:v1.13.0" imagePullPolicy: "IfNotPresent" name: flytepropeller ports: @@ -515,9 +517,11 @@ spec: labels: app: flyte-pod-webhook app.kubernetes.io/name: flyte-pod-webhook - app.kubernetes.io/version: v1.11.0-b0 + app.kubernetes.io/version: v1.13.0 annotations: - configChecksum: "264352d1a15b63cdaca7bb2eb3a63e415d89e01d75a81be6afba718c241a441" + configChecksum: "e63d877e1ff27d18ac7c4af4c6e4ca6106fc337a13ce00d9beb8efed8548493" + prometheus.io/path: "/metrics" + prometheus.io/port: "10254" spec: securityContext: fsGroup: 65534 @@ -529,7 +533,7 @@ spec: serviceAccountName: flyte-pod-webhook initContainers: - name: generate-secrets - image: "cr.flyte.org/flyteorg/flytepropeller:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytepropeller:v1.13.0" imagePullPolicy: "IfNotPresent" command: - flytepropeller @@ -556,7 +560,7 @@ spec: mountPath: /etc/flyte/config containers: - name: webhook - image: "cr.flyte.org/flyteorg/flytepropeller:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytepropeller:v1.13.0" imagePullPolicy: "IfNotPresent" command: - flytepropeller @@ -609,6 +613,7 @@ metadata: cert-manager.io/issuer: letsencrypt-production kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/app-root: /console + nginx.ingress.kubernetes.io/service-upstream: "true" nginx.ingress.kubernetes.io/ssl-redirect: "true" spec: ingressClassName: @@ -770,6 +775,7 @@ metadata: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/app-root: /console nginx.ingress.kubernetes.io/backend-protocol: GRPC + nginx.ingress.kubernetes.io/service-upstream: "true" nginx.ingress.kubernetes.io/ssl-redirect: "true" spec: ingressClassName: diff --git a/deployment/gcp/flyte_helm_generated.yaml b/deployment/gcp/flyte_helm_generated.yaml index ac527c47a7b..4e3fe06e38e 100644 --- a/deployment/gcp/flyte_helm_generated.yaml +++ b/deployment/gcp/flyte_helm_generated.yaml @@ -174,7 +174,8 @@ data: testing: host: http://flyteadmin server: - grpcPort: 8089 + grpc: + port: 8089 httpPort: 8088 security: allowCors: true @@ -201,7 +202,7 @@ data: json: "" project_id: scopes: https://www.googleapis.com/auth/cloud-platform - container: "" + container: "" enable-multicontainer: false limits: maxDownloadMBs: 10 @@ -403,7 +404,7 @@ data: json: "" project_id: scopes: https://www.googleapis.com/auth/cloud-platform - container: "" + container: "" enable-multicontainer: false limits: maxDownloadMBs: 10 @@ -473,7 +474,7 @@ data: plugins: k8s: co-pilot: - image: cr.flyte.org/flyteorg/flytecopilot:v1.11.0-b0 + image: cr.flyte.org/flyteorg/flytecopilot:v1.13.0 name: flyte-copilot- start-timeout: 30s core.yaml: | @@ -516,7 +517,7 @@ data: rate: 100 type: bucket type: batch - rawoutput-prefix: gs:/// + rawoutput-prefix: gs:/// workers: 40 workflow-reeval-duration: 30s webhook: @@ -553,7 +554,7 @@ data: json: "" project_id: scopes: https://www.googleapis.com/auth/cloud-platform - container: "" + container: "" enable-multicontainer: false limits: maxDownloadMBs: 10 @@ -797,17 +798,22 @@ spec: - name: http port: 80 protocol: TCP + appProtocol: TCP targetPort: 8088 - name: grpc port: 81 protocol: TCP + # intentionally set to TCP instead of grpc + appProtocol: TCP targetPort: 8089 - name: redoc protocol: TCP + appProtocol: TCP port: 87 targetPort: 8087 - name: http-metrics protocol: TCP + appProtocol: TCP port: 10254 selector: app.kubernetes.io/name: flyteadmin @@ -830,6 +836,7 @@ spec: - name: http port: 80 protocol: TCP + appProtocol: TCP targetPort: 8080 selector: app.kubernetes.io/name: flyteconsole @@ -902,7 +909,7 @@ spec: template: metadata: annotations: - configChecksum: "2e169a911a8234dd42d06ca0887279093f4ed36033d0543749ce126b26b50f3" + configChecksum: "0705f122f2535babec96a6083827c3e6d27e6e9b0e460b4d07292c858079ac7" labels: app.kubernetes.io/name: flyteadmin app.kubernetes.io/instance: flyte @@ -923,7 +930,7 @@ spec: - /etc/flyte/config/*.yaml - migrate - run - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: run-migrations securityContext: @@ -944,7 +951,7 @@ spec: - flytesnacks - flytetester - flyteexamples - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: seed-projects securityContext: @@ -962,7 +969,7 @@ spec: - /etc/flyte/config/*.yaml - clusterresource - sync - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: sync-cluster-resources securityContext: @@ -979,7 +986,7 @@ spec: - mountPath: /etc/secrets/ name: admin-secrets - name: generate-secrets - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" command: ["/bin/sh", "-c"] args: @@ -1006,7 +1013,7 @@ spec: - --config - /etc/flyte/config/*.yaml - serve - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: flyteadmin ports: @@ -1098,6 +1105,8 @@ spec: metadata: annotations: configChecksum: "dc18f5d54e0770c574e6b0693724047e22063030259104eebb554398d63209f" + prometheus.io/path: "/metrics" + prometheus.io/port: "10254" labels: app.kubernetes.io/name: flyteclusterresourcesync app.kubernetes.io/instance: flyte @@ -1111,7 +1120,7 @@ spec: - /etc/flyte/config/*.yaml - clusterresource - run - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: sync-cluster-resources volumeMounts: @@ -1167,7 +1176,7 @@ spec: seLinuxOptions: type: spc_t containers: - - image: "cr.flyte.org/flyteorg/flyteconsole:v1.10.3" + - image: "cr.flyte.org/flyteorg/flyteconsole:v1.15.1" imagePullPolicy: "IfNotPresent" name: flyteconsole envFrom: @@ -1220,7 +1229,7 @@ spec: template: metadata: annotations: - configChecksum: "bc69ed841506b28a42ac19bd0884d483472b3d11fe85fe7e546b879aeb30a85" + configChecksum: "905a2a911a85dbf8d4f1dc3be24b9c4fd7bb46481db0e174274d6aea6129b4c" labels: app.kubernetes.io/name: datacatalog app.kubernetes.io/instance: flyte @@ -1241,7 +1250,7 @@ spec: - /etc/datacatalog/config/*.yaml - migrate - run - image: "cr.flyte.org/flyteorg/datacatalog:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/datacatalog:v1.13.0" imagePullPolicy: "IfNotPresent" name: run-migrations volumeMounts: @@ -1259,11 +1268,11 @@ spec: - --config - /etc/datacatalog/config/*.yaml - serve - image: "cr.flyte.org/flyteorg/datacatalog:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/datacatalog:v1.13.0" imagePullPolicy: "IfNotPresent" name: datacatalog ports: - - containerPort: 8088 + - containerPort: 8080 - containerPort: 8089 - containerPort: 10254 securityContext: @@ -1322,7 +1331,7 @@ spec: template: metadata: annotations: - configChecksum: "2e169a911a8234dd42d06ca0887279093f4ed36033d0543749ce126b26b50f3" + configChecksum: "0705f122f2535babec96a6083827c3e6d27e6e9b0e460b4d07292c858079ac7" labels: app.kubernetes.io/name: flytescheduler app.kubernetes.io/instance: flyte @@ -1342,7 +1351,7 @@ spec: - precheck - --config - /etc/flyte/config/*.yaml - image: "cr.flyte.org/flyteorg/flytescheduler:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytescheduler:v1.13.0" imagePullPolicy: "IfNotPresent" name: flytescheduler-check securityContext: @@ -1362,7 +1371,7 @@ spec: - run - --config - /etc/flyte/config/*.yaml - image: "cr.flyte.org/flyteorg/flytescheduler:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytescheduler:v1.13.0" imagePullPolicy: "IfNotPresent" name: flytescheduler ports: @@ -1421,7 +1430,9 @@ spec: template: metadata: annotations: - configChecksum: "264352d1a15b63cdaca7bb2eb3a63e415d89e01d75a81be6afba718c241a441" + configChecksum: "e63d877e1ff27d18ac7c4af4c6e4ca6106fc337a13ce00d9beb8efed8548493" + prometheus.io/path: "/metrics" + prometheus.io/port: "10254" labels: app.kubernetes.io/name: flytepropeller app.kubernetes.io/instance: flyte @@ -1446,7 +1457,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: "cr.flyte.org/flyteorg/flytepropeller:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytepropeller:v1.13.0" imagePullPolicy: "IfNotPresent" name: flytepropeller ports: @@ -1500,9 +1511,11 @@ spec: labels: app: flyte-pod-webhook app.kubernetes.io/name: flyte-pod-webhook - app.kubernetes.io/version: v1.11.0-b0 + app.kubernetes.io/version: v1.13.0 annotations: - configChecksum: "264352d1a15b63cdaca7bb2eb3a63e415d89e01d75a81be6afba718c241a441" + configChecksum: "e63d877e1ff27d18ac7c4af4c6e4ca6106fc337a13ce00d9beb8efed8548493" + prometheus.io/path: "/metrics" + prometheus.io/port: "10254" spec: securityContext: fsGroup: 65534 @@ -1514,7 +1527,7 @@ spec: serviceAccountName: flyte-pod-webhook initContainers: - name: generate-secrets - image: "cr.flyte.org/flyteorg/flytepropeller:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytepropeller:v1.13.0" imagePullPolicy: "IfNotPresent" command: - flytepropeller @@ -1541,7 +1554,7 @@ spec: mountPath: /etc/flyte/config containers: - name: webhook - image: "cr.flyte.org/flyteorg/flytepropeller:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytepropeller:v1.13.0" imagePullPolicy: "IfNotPresent" command: - flytepropeller @@ -1594,6 +1607,7 @@ metadata: cert-manager.io/issuer: letsencrypt-production kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/app-root: /console + nginx.ingress.kubernetes.io/service-upstream: "true" nginx.ingress.kubernetes.io/ssl-redirect: "true" spec: ingressClassName: @@ -1755,6 +1769,7 @@ metadata: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/app-root: /console nginx.ingress.kubernetes.io/backend-protocol: GRPC + nginx.ingress.kubernetes.io/service-upstream: "true" nginx.ingress.kubernetes.io/ssl-redirect: "true" spec: ingressClassName: diff --git a/deployment/sandbox-binary/flyte_sandbox_binary_helm_generated.yaml b/deployment/sandbox-binary/flyte_sandbox_binary_helm_generated.yaml index 2d93910a5c4..08599c13f7a 100644 --- a/deployment/sandbox-binary/flyte_sandbox_binary_helm_generated.yaml +++ b/deployment/sandbox-binary/flyte_sandbox_binary_helm_generated.yaml @@ -116,7 +116,7 @@ data: stackdriver-enabled: false k8s: co-pilot: - image: "cr.flyte.org/flyteorg/flytecopilot:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytecopilot:v1.13.0" k8s-array: logs: config: @@ -165,6 +165,7 @@ rules: - namespaces - resourcequotas - secrets + - serviceaccounts verbs: - create - get @@ -358,7 +359,7 @@ spec: app.kubernetes.io/instance: flyte app.kubernetes.io/component: flyte-binary annotations: - checksum/configuration: 882c31ec18bdac7aa4f1a9057f9e549b1307b60b5d76839dfb6bc526958bee57 + checksum/configuration: cc9ac3ae89908d4036cebe1d3b50ce9bf564167ca808afdec67c90260665a58e checksum/configuration-secret: d5d93f4e67780b21593dc3799f0f6682aab0765e708e4020939975d14d44f929 checksum/cluster-resource-templates: 7dfa59f3d447e9c099b8f8ffad3af466fecbc9cf9f8c97295d9634254a55d4ae spec: diff --git a/deployment/sandbox/flyte_helm_generated.yaml b/deployment/sandbox/flyte_helm_generated.yaml index 80d94504778..f53025f8506 100644 --- a/deployment/sandbox/flyte_helm_generated.yaml +++ b/deployment/sandbox/flyte_helm_generated.yaml @@ -294,7 +294,8 @@ data: testing: host: http://flyteadmin server: - grpcPort: 8089 + grpc: + port: 8089 httpPort: 8088 security: allowCors: true @@ -585,7 +586,7 @@ data: plugins: k8s: co-pilot: - image: cr.flyte.org/flyteorg/flytecopilot:v1.11.0-b0 + image: cr.flyte.org/flyteorg/flytecopilot:v1.13.0 name: flyte-copilot- start-timeout: 30s core.yaml: | @@ -633,9 +634,9 @@ data: tasks: task-plugins: default-for-task-types: - bigquery_query_job_task: agent-service container: container container_array: k8s-array + sensor: agent-service sidecar: sidecar enabled-plugins: - container @@ -6138,17 +6139,22 @@ spec: - name: http port: 80 protocol: TCP + appProtocol: TCP targetPort: 8088 - name: grpc port: 81 protocol: TCP + # intentionally set to TCP instead of grpc + appProtocol: TCP targetPort: 8089 - name: redoc protocol: TCP + appProtocol: TCP port: 87 targetPort: 8087 - name: http-metrics protocol: TCP + appProtocol: TCP port: 10254 selector: app.kubernetes.io/name: flyteadmin @@ -6171,6 +6177,7 @@ spec: - name: http port: 80 protocol: TCP + appProtocol: TCP targetPort: 8080 selector: app.kubernetes.io/name: flyteconsole @@ -6686,7 +6693,7 @@ spec: template: metadata: annotations: - configChecksum: "8702cc3d688d44938e6974b267f70fb01ce7fec4780de86b8f2e65f9446c711" + configChecksum: "88625d852360c42642190e21751f32f7dd9501ce3d479fa68b86478995ff689" labels: app.kubernetes.io/name: flyteadmin app.kubernetes.io/instance: flyte @@ -6707,7 +6714,7 @@ spec: - /etc/flyte/config/*.yaml - migrate - run - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: run-migrations securityContext: @@ -6727,7 +6734,7 @@ spec: - flytesnacks - flytetester - flyteexamples - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: seed-projects securityContext: @@ -6744,7 +6751,7 @@ spec: - /etc/flyte/config/*.yaml - clusterresource - sync - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: sync-cluster-resources securityContext: @@ -6760,7 +6767,7 @@ spec: - mountPath: /etc/secrets/ name: admin-secrets - name: generate-secrets - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" command: ["/bin/sh", "-c"] args: @@ -6787,7 +6794,7 @@ spec: - --config - /etc/flyte/config/*.yaml - serve - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: flyteadmin ports: @@ -6869,6 +6876,8 @@ spec: metadata: annotations: configChecksum: "475154c41cdb06999025ab796aa1264fa3d235df51ac088a39c89c7ce300408" + prometheus.io/path: "/metrics" + prometheus.io/port: "10254" labels: app.kubernetes.io/name: flyteclusterresourcesync app.kubernetes.io/instance: flyte @@ -6882,7 +6891,7 @@ spec: - /etc/flyte/config/*.yaml - clusterresource - run - image: "cr.flyte.org/flyteorg/flyteadmin:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flyteadmin:v1.13.0" imagePullPolicy: "IfNotPresent" name: sync-cluster-resources volumeMounts: @@ -6935,7 +6944,7 @@ spec: seLinuxOptions: type: spc_t containers: - - image: "cr.flyte.org/flyteorg/flyteconsole:v1.10.3" + - image: "cr.flyte.org/flyteorg/flyteconsole:v1.15.1" imagePullPolicy: "IfNotPresent" name: flyteconsole envFrom: @@ -7007,7 +7016,7 @@ spec: - /etc/datacatalog/config/*.yaml - migrate - run - image: "cr.flyte.org/flyteorg/datacatalog:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/datacatalog:v1.13.0" imagePullPolicy: "IfNotPresent" name: run-migrations volumeMounts: @@ -7024,11 +7033,11 @@ spec: - --config - /etc/datacatalog/config/*.yaml - serve - image: "cr.flyte.org/flyteorg/datacatalog:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/datacatalog:v1.13.0" imagePullPolicy: "IfNotPresent" name: datacatalog ports: - - containerPort: 8088 + - containerPort: 8080 - containerPort: 8089 - containerPort: 10254 securityContext: @@ -7077,7 +7086,7 @@ spec: template: metadata: annotations: - configChecksum: "8702cc3d688d44938e6974b267f70fb01ce7fec4780de86b8f2e65f9446c711" + configChecksum: "88625d852360c42642190e21751f32f7dd9501ce3d479fa68b86478995ff689" labels: app.kubernetes.io/name: flytescheduler app.kubernetes.io/instance: flyte @@ -7097,7 +7106,7 @@ spec: - precheck - --config - /etc/flyte/config/*.yaml - image: "cr.flyte.org/flyteorg/flytescheduler:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytescheduler:v1.13.0" imagePullPolicy: "IfNotPresent" name: flytescheduler-check securityContext: @@ -7116,7 +7125,7 @@ spec: - run - --config - /etc/flyte/config/*.yaml - image: "cr.flyte.org/flyteorg/flytescheduler:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytescheduler:v1.13.0" imagePullPolicy: "IfNotPresent" name: flytescheduler ports: @@ -7172,7 +7181,9 @@ spec: template: metadata: annotations: - configChecksum: "08d1c92032d4eeaac312ca0cf651f72aa1f214a2de469b49b93ecdfb129b8af" + configChecksum: "7ee7db423358a7296a24baf63ddb60c73b3c38c663d92731caae21e75d89fbc" + prometheus.io/path: "/metrics" + prometheus.io/port: "10254" labels: app.kubernetes.io/name: flytepropeller app.kubernetes.io/instance: flyte @@ -7197,7 +7208,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: "cr.flyte.org/flyteorg/flytepropeller:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytepropeller:v1.13.0" imagePullPolicy: "IfNotPresent" name: flytepropeller ports: @@ -7244,9 +7255,11 @@ spec: labels: app: flyte-pod-webhook app.kubernetes.io/name: flyte-pod-webhook - app.kubernetes.io/version: v1.11.0-b0 + app.kubernetes.io/version: v1.13.0 annotations: - configChecksum: "08d1c92032d4eeaac312ca0cf651f72aa1f214a2de469b49b93ecdfb129b8af" + configChecksum: "7ee7db423358a7296a24baf63ddb60c73b3c38c663d92731caae21e75d89fbc" + prometheus.io/path: "/metrics" + prometheus.io/port: "10254" spec: securityContext: fsGroup: 65534 @@ -7258,7 +7271,7 @@ spec: serviceAccountName: flyte-pod-webhook initContainers: - name: generate-secrets - image: "cr.flyte.org/flyteorg/flytepropeller:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytepropeller:v1.13.0" imagePullPolicy: "IfNotPresent" command: - flytepropeller @@ -7285,7 +7298,7 @@ spec: mountPath: /etc/flyte/config containers: - name: webhook - image: "cr.flyte.org/flyteorg/flytepropeller:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytepropeller:v1.13.0" imagePullPolicy: "IfNotPresent" command: - flytepropeller @@ -7605,6 +7618,7 @@ metadata: namespace: flyte annotations: nginx.ingress.kubernetes.io/app-root: /console + nginx.ingress.kubernetes.io/service-upstream: "true" spec: ingressClassName: rules: diff --git a/deployment/sandbox/flyte_sandbox_deps_helm_generated.yaml b/deployment/sandbox/flyte_sandbox_deps_helm_generated.yaml index c5a42c3f6b7..b34afed5a53 100644 --- a/deployment/sandbox/flyte_sandbox_deps_helm_generated.yaml +++ b/deployment/sandbox/flyte_sandbox_deps_helm_generated.yaml @@ -527,28 +527,6 @@ spec: app.kubernetes.io/name: postgres app.kubernetes.io/instance: flyte --- -# Source: flyte-deps/templates/redoc/service.yaml -apiVersion: v1 -kind: Service -metadata: - name: redoc - namespace: flyte - labels: - app.kubernetes.io/name: redoc - app.kubernetes.io/instance: flyte - helm.sh/chart: flyte-deps-v0.1.10 - app.kubernetes.io/managed-by: Helm -spec: - type: ClusterIP - ports: - - name: redoc - protocol: TCP - port: 87 - targetPort: 8087 - selector: - app.kubernetes.io/name: redoc - app.kubernetes.io/instance: flyte ---- # Source: flyte-deps/templates/webhook/service.yaml apiVersion: v1 kind: Service diff --git a/deployment/stats/prometheus/flyteadmin-dashboard.json b/deployment/stats/prometheus/flyteadmin-dashboard.json index daef170643c..5e88094e4c5 100644 --- a/deployment/stats/prometheus/flyteadmin-dashboard.json +++ b/deployment/stats/prometheus/flyteadmin-dashboard.json @@ -22,6 +22,124 @@ "panels": [], "refresh": "10s", "rows": [ + { + "collapse": true, + "editable": true, + "height": "250px", + "panels": [ + { + "cacheTimeout": null, + "datasource": "${DS_PROM}", + "description": null, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "index": 0, + "line": true, + "op": "gt", + "value": "null", + "yaxis": "left" + }, + { + "color": "red", + "index": 1, + "line": true, + "op": "gt", + "value": 80.0, + "yaxis": "left" + } + ] + } + } + }, + "gridPos": null, + "height": null, + "hideTimeOverride": false, + "id": 1, + "interval": null, + "links": [], + "maxDataPoints": 100, + "maxPerRow": null, + "minSpan": null, + "options": { + "displayMode": "gradient", + "fieldOptions": { + "calcs": [ + "sum" + ], + "defaults": { + "decimals": null, + "links": [], + "max": 200, + "min": 0, + "title": null, + "unit": "none" + }, + "limit": null, + "mappings": [], + "override": {}, + "thresholds": [ + { + "color": "green", + "index": 0, + "line": true, + "op": "gt", + "value": "null", + "yaxis": "left" + }, + { + "color": "red", + "index": 1, + "line": true, + "op": "gt", + "value": 80.0, + "yaxis": "left" + } + ], + "values": false + }, + "orientation": "vertical", + "showThresholdLabels": false, + "showThresholdMarkers": true + }, + "repeat": null, + "repeatDirection": null, + "span": 12, + "targets": [ + { + "datasource": null, + "expr": "sum by(le) (rate(grpc_server_handling_seconds_bucket[5m]))", + "format": "heatmap", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{le}}", + "metric": "", + "query": "sum by(le) (rate(grpc_server_handling_seconds_bucket[5m]))", + "refId": "A", + "step": 10, + "target": "" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "All GRPC calls latency", + "transformations": [], + "transparent": false, + "type": "bargauge" + } + ], + "repeat": null, + "showTitle": true, + "title": "GRPC latency metrics" + }, { "collapse": true, "editable": true, @@ -53,7 +171,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 1, + "id": 2, "interval": null, "isNew": true, "legend": { @@ -180,7 +298,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 2, + "id": 3, "interval": null, "isNew": true, "legend": { @@ -307,7 +425,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 3, + "id": 4, "interval": null, "isNew": true, "legend": { @@ -434,7 +552,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 4, + "id": 5, "interval": null, "isNew": true, "legend": { @@ -561,7 +679,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 5, + "id": 6, "interval": null, "isNew": true, "legend": { @@ -688,7 +806,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 6, + "id": 7, "interval": null, "isNew": true, "legend": { @@ -815,7 +933,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 7, + "id": 8, "interval": null, "isNew": true, "legend": { @@ -952,7 +1070,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 8, + "id": 9, "interval": null, "isNew": true, "legend": { @@ -1079,7 +1197,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 9, + "id": 10, "interval": null, "isNew": true, "legend": { @@ -1206,7 +1324,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 10, + "id": 11, "interval": null, "isNew": true, "legend": { @@ -1333,7 +1451,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 11, + "id": 12, "interval": null, "isNew": true, "legend": { @@ -1460,7 +1578,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 12, + "id": 13, "interval": null, "isNew": true, "legend": { @@ -1587,7 +1705,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 13, + "id": 14, "interval": null, "isNew": true, "legend": { @@ -1714,7 +1832,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 14, + "id": 15, "interval": null, "isNew": true, "legend": { @@ -1851,7 +1969,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 15, + "id": 16, "interval": null, "isNew": true, "legend": { @@ -1978,7 +2096,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 16, + "id": 17, "interval": null, "isNew": true, "legend": { @@ -2105,7 +2223,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 17, + "id": 18, "interval": null, "isNew": true, "legend": { @@ -2232,7 +2350,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 18, + "id": 19, "interval": null, "isNew": true, "legend": { @@ -2359,7 +2477,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 19, + "id": 20, "interval": null, "isNew": true, "legend": { @@ -2486,7 +2604,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 20, + "id": 21, "interval": null, "isNew": true, "legend": { @@ -2613,7 +2731,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 21, + "id": 22, "interval": null, "isNew": true, "legend": { @@ -2750,7 +2868,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 22, + "id": 23, "interval": null, "isNew": true, "legend": { @@ -2877,7 +2995,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 23, + "id": 24, "interval": null, "isNew": true, "legend": { @@ -3004,7 +3122,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 24, + "id": 25, "interval": null, "isNew": true, "legend": { @@ -3131,7 +3249,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 25, + "id": 26, "interval": null, "isNew": true, "legend": { @@ -3258,7 +3376,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 26, + "id": 27, "interval": null, "isNew": true, "legend": { @@ -3385,7 +3503,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 27, + "id": 28, "interval": null, "isNew": true, "legend": { @@ -3512,7 +3630,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 28, + "id": 29, "interval": null, "isNew": true, "legend": { @@ -3649,7 +3767,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 29, + "id": 30, "interval": null, "isNew": true, "legend": { @@ -3776,7 +3894,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 30, + "id": 31, "interval": null, "isNew": true, "legend": { @@ -3903,7 +4021,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 31, + "id": 32, "interval": null, "isNew": true, "legend": { @@ -4030,7 +4148,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 32, + "id": 33, "interval": null, "isNew": true, "legend": { @@ -4157,7 +4275,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 33, + "id": 34, "interval": null, "isNew": true, "legend": { @@ -4284,7 +4402,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 34, + "id": 35, "interval": null, "isNew": true, "legend": { @@ -4411,7 +4529,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 35, + "id": 36, "interval": null, "isNew": true, "legend": { @@ -4548,7 +4666,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 36, + "id": 37, "interval": null, "isNew": true, "legend": { @@ -4675,7 +4793,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 37, + "id": 38, "interval": null, "isNew": true, "legend": { @@ -4802,7 +4920,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 38, + "id": 39, "interval": null, "isNew": true, "legend": { @@ -4929,7 +5047,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 39, + "id": 40, "interval": null, "isNew": true, "legend": { @@ -5056,7 +5174,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 40, + "id": 41, "interval": null, "isNew": true, "legend": { @@ -5183,7 +5301,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 41, + "id": 42, "interval": null, "isNew": true, "legend": { @@ -5310,7 +5428,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 42, + "id": 43, "interval": null, "isNew": true, "legend": { @@ -5447,7 +5565,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 43, + "id": 44, "interval": null, "isNew": true, "legend": { @@ -5574,7 +5692,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 44, + "id": 45, "interval": null, "isNew": true, "legend": { @@ -5701,7 +5819,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 45, + "id": 46, "interval": null, "isNew": true, "legend": { @@ -5828,7 +5946,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 46, + "id": 47, "interval": null, "isNew": true, "legend": { @@ -5955,7 +6073,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 47, + "id": 48, "interval": null, "isNew": true, "legend": { @@ -6082,7 +6200,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 48, + "id": 49, "interval": null, "isNew": true, "legend": { @@ -6209,7 +6327,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 49, + "id": 50, "interval": null, "isNew": true, "legend": { @@ -6346,7 +6464,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 50, + "id": 51, "interval": null, "isNew": true, "legend": { @@ -6473,7 +6591,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 51, + "id": 52, "interval": null, "isNew": true, "legend": { @@ -6600,7 +6718,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 52, + "id": 53, "interval": null, "isNew": true, "legend": { @@ -6727,7 +6845,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 53, + "id": 54, "interval": null, "isNew": true, "legend": { @@ -6854,7 +6972,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 54, + "id": 55, "interval": null, "isNew": true, "legend": { @@ -6981,7 +7099,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 55, + "id": 56, "interval": null, "isNew": true, "legend": { @@ -7108,7 +7226,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 56, + "id": 57, "interval": null, "isNew": true, "legend": { @@ -7245,7 +7363,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 57, + "id": 58, "interval": null, "isNew": true, "legend": { @@ -7372,7 +7490,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 58, + "id": 59, "interval": null, "isNew": true, "legend": { @@ -7499,7 +7617,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 59, + "id": 60, "interval": null, "isNew": true, "legend": { @@ -7626,7 +7744,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 60, + "id": 61, "interval": null, "isNew": true, "legend": { @@ -7753,7 +7871,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 61, + "id": 62, "interval": null, "isNew": true, "legend": { @@ -7880,7 +7998,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 62, + "id": 63, "interval": null, "isNew": true, "legend": { @@ -8007,7 +8125,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 63, + "id": 64, "interval": null, "isNew": true, "legend": { @@ -8144,7 +8262,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 64, + "id": 65, "interval": null, "isNew": true, "legend": { @@ -8271,7 +8389,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 65, + "id": 66, "interval": null, "isNew": true, "legend": { @@ -8398,7 +8516,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 66, + "id": 67, "interval": null, "isNew": true, "legend": { @@ -8525,7 +8643,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 67, + "id": 68, "interval": null, "isNew": true, "legend": { @@ -8652,7 +8770,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 68, + "id": 69, "interval": null, "isNew": true, "legend": { @@ -8779,7 +8897,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 69, + "id": 70, "interval": null, "isNew": true, "legend": { @@ -8906,7 +9024,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 70, + "id": 71, "interval": null, "isNew": true, "legend": { @@ -9043,7 +9161,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 71, + "id": 72, "interval": null, "isNew": true, "legend": { @@ -9170,7 +9288,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 72, + "id": 73, "interval": null, "isNew": true, "legend": { @@ -9297,7 +9415,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 73, + "id": 74, "interval": null, "isNew": true, "legend": { @@ -9424,7 +9542,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 74, + "id": 75, "interval": null, "isNew": true, "legend": { @@ -9551,7 +9669,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 75, + "id": 76, "interval": null, "isNew": true, "legend": { @@ -9678,7 +9796,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 76, + "id": 77, "interval": null, "isNew": true, "legend": { @@ -9805,7 +9923,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 77, + "id": 78, "interval": null, "isNew": true, "legend": { @@ -9942,7 +10060,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 78, + "id": 79, "interval": null, "isNew": true, "legend": { @@ -10069,7 +10187,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 79, + "id": 80, "interval": null, "isNew": true, "legend": { @@ -10196,7 +10314,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 80, + "id": 81, "interval": null, "isNew": true, "legend": { @@ -10323,7 +10441,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 81, + "id": 82, "interval": null, "isNew": true, "legend": { @@ -10450,7 +10568,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 82, + "id": 83, "interval": null, "isNew": true, "legend": { @@ -10577,7 +10695,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 83, + "id": 84, "interval": null, "isNew": true, "legend": { @@ -10704,7 +10822,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 84, + "id": 85, "interval": null, "isNew": true, "legend": { @@ -10841,7 +10959,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 85, + "id": 86, "interval": null, "isNew": true, "legend": { @@ -11013,7 +11131,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 86, + "id": 87, "interval": null, "isNew": true, "legend": { @@ -11155,7 +11273,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 87, + "id": 88, "interval": null, "isNew": true, "legend": { @@ -11292,7 +11410,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 88, + "id": 89, "interval": null, "isNew": true, "legend": { @@ -11464,7 +11582,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 89, + "id": 90, "interval": null, "isNew": true, "legend": { @@ -11606,7 +11724,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 90, + "id": 91, "interval": null, "isNew": true, "legend": { @@ -11743,7 +11861,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 91, + "id": 92, "interval": null, "isNew": true, "legend": { @@ -11915,7 +12033,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 92, + "id": 93, "interval": null, "isNew": true, "legend": { @@ -12057,7 +12175,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 93, + "id": 94, "interval": null, "isNew": true, "legend": { @@ -12194,7 +12312,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 94, + "id": 95, "interval": null, "isNew": true, "legend": { @@ -12366,7 +12484,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 95, + "id": 96, "interval": null, "isNew": true, "legend": { @@ -12508,7 +12626,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 96, + "id": 97, "interval": null, "isNew": true, "legend": { @@ -12645,7 +12763,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 97, + "id": 98, "interval": null, "isNew": true, "legend": { @@ -12817,7 +12935,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 98, + "id": 99, "interval": null, "isNew": true, "legend": { @@ -12959,7 +13077,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 99, + "id": 100, "interval": null, "isNew": true, "legend": { @@ -13096,7 +13214,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 100, + "id": 101, "interval": null, "isNew": true, "legend": { @@ -13268,7 +13386,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 101, + "id": 102, "interval": null, "isNew": true, "legend": { @@ -13410,7 +13528,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 102, + "id": 103, "interval": null, "isNew": true, "legend": { @@ -13547,7 +13665,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 103, + "id": 104, "interval": null, "isNew": true, "legend": { @@ -13719,7 +13837,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 104, + "id": 105, "interval": null, "isNew": true, "legend": { @@ -13861,7 +13979,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 105, + "id": 106, "interval": null, "isNew": true, "legend": { @@ -13998,7 +14116,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 106, + "id": 107, "interval": null, "isNew": true, "legend": { @@ -14170,7 +14288,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 107, + "id": 108, "interval": null, "isNew": true, "legend": { @@ -14312,7 +14430,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 108, + "id": 109, "interval": null, "isNew": true, "legend": { @@ -14449,7 +14567,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 109, + "id": 110, "interval": null, "isNew": true, "legend": { @@ -14621,7 +14739,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 110, + "id": 111, "interval": null, "isNew": true, "legend": { @@ -14763,7 +14881,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 111, + "id": 112, "interval": null, "isNew": true, "legend": { @@ -14900,7 +15018,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 112, + "id": 113, "interval": null, "isNew": true, "legend": { @@ -15072,7 +15190,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 113, + "id": 114, "interval": null, "isNew": true, "legend": { @@ -15214,7 +15332,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 114, + "id": 115, "interval": null, "isNew": true, "legend": { @@ -15351,7 +15469,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 115, + "id": 116, "interval": null, "isNew": true, "legend": { @@ -15523,7 +15641,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 116, + "id": 117, "interval": null, "isNew": true, "legend": { @@ -15665,7 +15783,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 117, + "id": 118, "interval": null, "isNew": true, "legend": { @@ -15802,7 +15920,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 118, + "id": 119, "interval": null, "isNew": true, "legend": { @@ -15974,7 +16092,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 119, + "id": 120, "interval": null, "isNew": true, "legend": { @@ -16116,7 +16234,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 120, + "id": 121, "interval": null, "isNew": true, "legend": { @@ -16253,7 +16371,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 121, + "id": 122, "interval": null, "isNew": true, "legend": { @@ -16425,7 +16543,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 122, + "id": 123, "interval": null, "isNew": true, "legend": { @@ -16567,7 +16685,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 123, + "id": 124, "interval": null, "isNew": true, "legend": { @@ -16704,7 +16822,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 124, + "id": 125, "interval": null, "isNew": true, "legend": { @@ -16876,7 +16994,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 125, + "id": 126, "interval": null, "isNew": true, "legend": { @@ -17018,7 +17136,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 126, + "id": 127, "interval": null, "isNew": true, "legend": { @@ -17155,7 +17273,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 127, + "id": 128, "interval": null, "isNew": true, "legend": { @@ -17327,7 +17445,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 128, + "id": 129, "interval": null, "isNew": true, "legend": { @@ -17469,7 +17587,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 129, + "id": 130, "interval": null, "isNew": true, "legend": { @@ -17606,7 +17724,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 130, + "id": 131, "interval": null, "isNew": true, "legend": { @@ -17778,7 +17896,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 131, + "id": 132, "interval": null, "isNew": true, "legend": { @@ -17920,7 +18038,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 132, + "id": 133, "interval": null, "isNew": true, "legend": { @@ -18057,7 +18175,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 133, + "id": 134, "interval": null, "isNew": true, "legend": { @@ -18229,7 +18347,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 134, + "id": 135, "interval": null, "isNew": true, "legend": { @@ -18371,7 +18489,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 135, + "id": 136, "interval": null, "isNew": true, "legend": { @@ -18508,7 +18626,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 136, + "id": 137, "interval": null, "isNew": true, "legend": { @@ -18680,7 +18798,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 137, + "id": 138, "interval": null, "isNew": true, "legend": { @@ -18822,7 +18940,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 138, + "id": 139, "interval": null, "isNew": true, "legend": { @@ -18959,7 +19077,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 139, + "id": 140, "interval": null, "isNew": true, "legend": { @@ -19131,7 +19249,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 140, + "id": 141, "interval": null, "isNew": true, "legend": { @@ -19273,7 +19391,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 141, + "id": 142, "interval": null, "isNew": true, "legend": { @@ -19410,7 +19528,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 142, + "id": 143, "interval": null, "isNew": true, "legend": { @@ -19582,7 +19700,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 143, + "id": 144, "interval": null, "isNew": true, "legend": { @@ -19724,7 +19842,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 144, + "id": 145, "interval": null, "isNew": true, "legend": { diff --git a/deployment/stats/prometheus/flytepropeller-dashboard.json b/deployment/stats/prometheus/flytepropeller-dashboard.json index 8bb8a61a4e7..12ffbd26c5c 100644 --- a/deployment/stats/prometheus/flytepropeller-dashboard.json +++ b/deployment/stats/prometheus/flytepropeller-dashboard.json @@ -32,7 +32,7 @@ "bars": false, "cacheTimeout": null, "datasource": "${DS_PROM}", - "description": null, + "description": "The number of golang goroutines available to accept new work from the main workqueue. Each worker can process one item from the workqueue at a time.", "editable": true, "error": false, "fieldConfig": { @@ -132,7 +132,7 @@ "yaxes": [ { "decimals": null, - "format": "ops", + "format": "none", "label": null, "logBase": 1, "max": null, @@ -159,7 +159,7 @@ "bars": false, "cacheTimeout": null, "datasource": "${DS_PROM}", - "description": null, + "description": "Round success, error and total rates. Also includes total rate including streaks within a single round. The streak rate graph should match the difference between the totals with and without streaks.", "editable": true, "error": false, "fieldConfig": { @@ -223,24 +223,69 @@ "targets": [ { "datasource": null, - "expr": "sum(rate(flyte:propeller:all:round:abort_error[5m]))", + "expr": "sum(rate(flyte:propeller:all:round:success_count[5m]))", "format": "time_series", "hide": false, "instant": false, "interval": "", "intervalFactor": 2, - "legendFormat": "", + "legendFormat": "success", "metric": "", - "query": "sum(rate(flyte:propeller:all:round:abort_error[5m]))", + "query": "sum(rate(flyte:propeller:all:round:success_count[5m]))", "refId": "A", "step": 10, "target": "" + }, + { + "datasource": null, + "expr": "sum(rate(flyte:propeller:all:round:error_count[5m]))", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "error", + "metric": "", + "query": "sum(rate(flyte:propeller:all:round:error_count[5m]))", + "refId": "B", + "step": 10, + "target": "" + }, + { + "datasource": null, + "expr": "sum(rate(flyte:propeller:all:round:round_total_ms_count[5m]))", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "total", + "metric": "", + "query": "sum(rate(flyte:propeller:all:round:round_total_ms_count[5m]))", + "refId": "C", + "step": 10, + "target": "" + }, + { + "datasource": null, + "expr": "sum(rate(flyte:propeller:all:round:round_time_unlabeled_ms_count[5m]))", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "total-including-streaks", + "metric": "", + "query": "sum(rate(flyte:propeller:all:round:round_time_unlabeled_ms_count[5m]))", + "refId": "D", + "step": 10, + "target": "" } ], "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "System errors", + "title": "Round success/error rate", "tooltip": { "msResolution": true, "shared": true, @@ -286,7 +331,7 @@ "bars": false, "cacheTimeout": null, "datasource": "${DS_PROM}", - "description": null, + "description": "Error rates for each type of failure that may occur as propeller is traversing the workflow DAG.", "editable": true, "error": false, "fieldConfig": { @@ -350,24 +395,84 @@ "targets": [ { "datasource": null, - "expr": "sum(deriv(flyte:propeller:all:round:system_error_unlabeled[5m]))", + "expr": "sum(rate(flyte:propeller:all:round:system_error_unlabeled[5m]))", "format": "time_series", "hide": false, "instant": false, "interval": "", "intervalFactor": 2, - "legendFormat": "", + "legendFormat": "system", "metric": "", - "query": "sum(deriv(flyte:propeller:all:round:system_error_unlabeled[5m]))", + "query": "sum(rate(flyte:propeller:all:round:system_error_unlabeled[5m]))", "refId": "A", "step": 10, "target": "" + }, + { + "datasource": null, + "expr": "sum(rate(flyte:propeller:all:round:abort_error_unlabeled[5m]))", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "abort", + "metric": "", + "query": "sum(rate(flyte:propeller:all:round:abort_error_unlabeled[5m]))", + "refId": "B", + "step": 10, + "target": "" + }, + { + "datasource": null, + "expr": "sum(rate(flyte:propeller:all:round:panic_unlabeled[5m]))", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "panic", + "metric": "", + "query": "sum(rate(flyte:propeller:all:round:panic_unlabeled[5m]))", + "refId": "C", + "step": 10, + "target": "" + }, + { + "datasource": null, + "expr": "sum(rate(flyte:propeller:all:round:not_found[5m]))", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "not-found", + "metric": "", + "query": "sum(rate(flyte:propeller:all:round:not_found[5m]))", + "refId": "D", + "step": 10, + "target": "" + }, + { + "datasource": null, + "expr": "sum(rate(flyte:propeller:all:round:skipped[5m]))", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "skipped", + "metric": "", + "query": "sum(rate(flyte:propeller:all:round:skipped[5m]))", + "refId": "E", + "step": 10, + "target": "" } ], "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "System errors", + "title": "Error rate breakdown", "tooltip": { "msResolution": true, "shared": true, @@ -413,7 +518,7 @@ "bars": false, "cacheTimeout": null, "datasource": "${DS_PROM}", - "description": null, + "description": "Streaks are when propeller iterates over the same workflow multiple times in a single round. This is an optimisation technique.", "editable": true, "error": false, "fieldConfig": { @@ -477,7 +582,7 @@ "targets": [ { "datasource": null, - "expr": "{__name__=~\"flyte:propeller:all:node:plugin:.*_failure_unlabeled\"}", + "expr": "sum(rate(flyte:propeller:all:round:streak_length_unlabeled[5m]))", "format": "time_series", "hide": false, "instant": false, @@ -485,31 +590,16 @@ "intervalFactor": 2, "legendFormat": "", "metric": "", - "query": "{__name__=~\"flyte:propeller:all:node:plugin:.*_failure_unlabeled\"}", + "query": "sum(rate(flyte:propeller:all:round:streak_length_unlabeled[5m]))", "refId": "A", "step": 10, "target": "" - }, - { - "datasource": null, - "expr": "{__name__=~\"flyte:propeller:all:node:plugin:.*_success_unlabeled\"}", - "format": "time_series", - "hide": false, - "instant": false, - "interval": "", - "intervalFactor": 2, - "legendFormat": "", - "metric": "", - "query": "{__name__=~\"flyte:propeller:all:node:plugin:.*_success_unlabeled\"}", - "refId": "B", - "step": 10, - "target": "" } ], "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "Plugin Failures", + "title": "Streak rate", "tooltip": { "msResolution": true, "shared": true, @@ -555,7 +645,7 @@ "bars": false, "cacheTimeout": null, "datasource": "${DS_PROM}", - "description": null, + "description": "Success vs failure rate for the various plugins used for each node e.g. k8s plugin or spark plugin.", "editable": true, "error": false, "fieldConfig": { @@ -619,24 +709,39 @@ "targets": [ { "datasource": null, - "expr": "sum(rate(flyte:propeller:all:round:raw_unlabeled_ms[5m])) by (quantile)", + "expr": "sum(rate({__name__=~\"flyte:propeller:all:plugin:.*_success_unlabeled\"}[5m]))", "format": "time_series", "hide": false, "instant": false, "interval": "", "intervalFactor": 2, - "legendFormat": "", + "legendFormat": "success", "metric": "", - "query": "sum(rate(flyte:propeller:all:round:raw_unlabeled_ms[5m])) by (quantile)", + "query": "sum(rate({__name__=~\"flyte:propeller:all:plugin:.*_success_unlabeled\"}[5m]))", "refId": "A", "step": 10, "target": "" + }, + { + "datasource": null, + "expr": "sum(rate({__name__=~\"flyte:propeller:all:plugin:.*_failure_unlabeled\"}[5m]))", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "failure", + "metric": "", + "query": "sum(rate({__name__=~\"flyte:propeller:all:plugin:.*_failure_unlabeled\"}[5m]))", + "refId": "B", + "step": 10, + "target": "" } ], "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "round Latency by quantile", + "title": "Plugin Success/Failure rate", "tooltip": { "msResolution": true, "shared": true, @@ -655,7 +760,7 @@ "yaxes": [ { "decimals": null, - "format": "ms", + "format": "ops", "label": null, "logBase": 1, "max": null, @@ -682,7 +787,7 @@ "bars": false, "cacheTimeout": null, "datasource": "${DS_PROM}", - "description": null, + "description": "Round latency breakdown. When there are streaks within one round each iteration is measured separately.", "editable": true, "error": false, "fieldConfig": { @@ -746,24 +851,69 @@ "targets": [ { "datasource": null, - "expr": "sum(rate(flyte:propeller:all:round:raw_ms[5m])) by (wf)", + "expr": "sum(flyte:propeller:all:round:raw_unlabeled_ms) by (quantile)", "format": "time_series", "hide": false, "instant": false, "interval": "", "intervalFactor": 2, - "legendFormat": "", + "legendFormat": "traverse-P{{quantile}}", "metric": "", - "query": "sum(rate(flyte:propeller:all:round:raw_ms[5m])) by (wf)", + "query": "sum(flyte:propeller:all:round:raw_unlabeled_ms) by (quantile)", "refId": "A", "step": 10, "target": "" + }, + { + "datasource": null, + "expr": "avg(flyte:propeller:all:round:raw_unlabeled_ms_sum/flyte:propeller:all:round:raw_unlabeled_ms_count)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "traverse-mean", + "metric": "", + "query": "avg(flyte:propeller:all:round:raw_unlabeled_ms_sum/flyte:propeller:all:round:raw_unlabeled_ms_count)", + "refId": "B", + "step": 10, + "target": "" + }, + { + "datasource": null, + "expr": "sum(flyte:propeller:all:round:round_time_ms) by (quantile)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "total-P{{quantile}}", + "metric": "", + "query": "sum(flyte:propeller:all:round:round_time_ms) by (quantile)", + "refId": "C", + "step": 10, + "target": "" + }, + { + "datasource": null, + "expr": "avg(flyte:propeller:all:round:round_time_unlabeled_ms_sum/flyte:propeller:all:round:round_time_unlabeled_ms_count)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "total-mean", + "metric": "", + "query": "avg(flyte:propeller:all:round:round_time_unlabeled_ms_sum/flyte:propeller:all:round:round_time_unlabeled_ms_count)", + "refId": "D", + "step": 10, + "target": "" } ], "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "round Latency per workflow", + "title": "Round Latency (includes streak rounds)", "tooltip": { "msResolution": true, "shared": true, @@ -809,7 +959,7 @@ "bars": false, "cacheTimeout": null, "datasource": "${DS_PROM}", - "description": null, + "description": "Round latency by workflow name. When there are streaks within one round each iteration is measured separately.", "editable": true, "error": false, "fieldConfig": { @@ -873,15 +1023,15 @@ "targets": [ { "datasource": null, - "expr": "sum(rate(flyte:propeller:all:round:panic_unlabeled[5m]))", + "expr": "sum(flyte:propeller:all:round:raw_ms) by (wf)", "format": "time_series", "hide": false, "instant": false, "interval": "", "intervalFactor": 2, - "legendFormat": "", + "legendFormat": "{{wf}}", "metric": "", - "query": "sum(rate(flyte:propeller:all:round:panic_unlabeled[5m]))", + "query": "sum(flyte:propeller:all:round:raw_ms) by (wf)", "refId": "A", "step": 10, "target": "" @@ -890,7 +1040,7 @@ "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "Round panic", + "title": "Round traverse latency per workflow", "tooltip": { "msResolution": true, "shared": true, @@ -909,7 +1059,7 @@ "yaxes": [ { "decimals": null, - "format": "ops", + "format": "ms", "label": null, "logBase": 1, "max": null, @@ -936,7 +1086,7 @@ "bars": false, "cacheTimeout": null, "datasource": "${DS_PROM}", - "description": null, + "description": "Count of currently running workflows running per project", "editable": true, "error": false, "fieldConfig": { @@ -1036,7 +1186,7 @@ "yaxes": [ { "decimals": null, - "format": "ops", + "format": "none", "label": null, "logBase": 1, "max": null, @@ -1057,23 +1207,13 @@ "align": false, "alignLevel": 0 } - } - ], - "repeat": null, - "showTitle": true, - "title": "Core metrics" - }, - { - "collapse": true, - "editable": true, - "height": "250px", - "panels": [ + }, { "aliasColors": {}, "bars": false, "cacheTimeout": null, "datasource": "${DS_PROM}", - "description": null, + "description": "Rate at which workflows are being enqueued by flytepropeller. These enqueues all pass through the sub-queue before going back into the main queue.", "editable": true, "error": false, "fieldConfig": { @@ -1131,13 +1271,13 @@ "repeat": null, "repeatDirection": null, "seriesOverrides": [], - "span": 6, + "span": 2, "stack": false, "steppedLine": false, "targets": [ { "datasource": null, - "expr": "(sum(rate(flyte:propeller:all:metastore:cache_hit[5m])) * 100) / (sum(rate(flyte:propeller:all:metastore:cache_miss[5m])) + sum(rate(flyte:propeller:all:metastore:cache_hit[5m])))", + "expr": "sum by(type) (rate(flyte:propeller:all:wf_enqueue[5m]))", "format": "time_series", "hide": false, "instant": false, @@ -1145,7 +1285,7 @@ "intervalFactor": 2, "legendFormat": "", "metric": "", - "query": "(sum(rate(flyte:propeller:all:metastore:cache_hit[5m])) * 100) / (sum(rate(flyte:propeller:all:metastore:cache_miss[5m])) + sum(rate(flyte:propeller:all:metastore:cache_hit[5m])))", + "query": "sum by(type) (rate(flyte:propeller:all:wf_enqueue[5m]))", "refId": "A", "step": 10, "target": "" @@ -1154,7 +1294,7 @@ "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "cache hit percentage", + "title": "Workflow enqueue rate", "tooltip": { "msResolution": true, "shared": true, @@ -1173,7 +1313,7 @@ "yaxes": [ { "decimals": null, - "format": "percent", + "format": "ops", "label": null, "logBase": 1, "max": null, @@ -1194,13 +1334,23 @@ "align": false, "alignLevel": 0 } - }, + } + ], + "repeat": null, + "showTitle": true, + "title": "Core metrics" + }, + { + "collapse": false, + "editable": true, + "height": "250px", + "panels": [ { "aliasColors": {}, "bars": false, "cacheTimeout": null, "datasource": "${DS_PROM}", - "description": null, + "description": "Rate at which items are actually added to the queue. If an item is already on the queue attempting to add it will be a no-op. Usually there is also rate limiting that will delay items from being added to the queue.", "editable": true, "error": false, "fieldConfig": { @@ -1258,90 +1408,60 @@ "repeat": null, "repeatDirection": null, "seriesOverrides": [], - "span": 6, + "span": 3, "stack": false, "steppedLine": false, "targets": [ { "datasource": null, - "expr": "sum(rate(flyte:propeller:all:metastore:head_failure_unlabeled[5m]))", + "expr": "sum(rate(flyte:propeller:all:main_adds[5m]))", "format": "time_series", "hide": false, "instant": false, "interval": "", "intervalFactor": 2, - "legendFormat": "head-failure", + "legendFormat": "main", "metric": "", - "query": "sum(rate(flyte:propeller:all:metastore:head_failure_unlabeled[5m]))", + "query": "sum(rate(flyte:propeller:all:main_adds[5m]))", "refId": "A", "step": 10, "target": "" }, { "datasource": null, - "expr": "sum(rate(flyte:propeller:all:metastore:bad_container_unlabeled[5m]))", + "expr": "sum(rate(flyte:propeller:all:sub_adds[5m]))", "format": "time_series", "hide": false, "instant": false, "interval": "", "intervalFactor": 2, - "legendFormat": "bad-container", + "legendFormat": "sub", "metric": "", - "query": "sum(rate(flyte:propeller:all:metastore:bad_container_unlabeled[5m]))", + "query": "sum(rate(flyte:propeller:all:sub_adds[5m]))", "refId": "B", "step": 10, "target": "" }, { "datasource": null, - "expr": "sum(rate(flyte:propeller:all:metastore:bad_key_unlabeled[5m]))", + "expr": "sum(rate(flyte:propeller:all:admin_launcher:_adds[5m]))", "format": "time_series", "hide": false, "instant": false, "interval": "", "intervalFactor": 2, - "legendFormat": "bad-key", + "legendFormat": "admin_launcher", "metric": "", - "query": "sum(rate(flyte:propeller:all:metastore:bad_key_unlabeled[5m]))", + "query": "sum(rate(flyte:propeller:all:admin_launcher:_adds[5m]))", "refId": "C", "step": 10, "target": "" - }, - { - "datasource": null, - "expr": "sum(rate(flyte:propeller:all:metastore:read_failure_unlabeled[5m]))", - "format": "time_series", - "hide": false, - "instant": false, - "interval": "", - "intervalFactor": 2, - "legendFormat": "read-failure", - "metric": "", - "query": "sum(rate(flyte:propeller:all:metastore:read_failure_unlabeled[5m]))", - "refId": "D", - "step": 10, - "target": "" - }, - { - "datasource": null, - "expr": "sum(rate(flyte:propeller:all:metastore:write_failure_unlabeled[5m]))", - "format": "time_series", - "hide": false, - "instant": false, - "interval": "", - "intervalFactor": 2, - "legendFormat": "write-failure", - "metric": "", - "query": "sum(rate(flyte:propeller:all:metastore:write_failure_unlabeled[5m]))", - "refId": "E", - "step": 10, - "target": "" } ], "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "Failures from metastore", + "title": "Add rate to queue", "tooltip": { "msResolution": true, "shared": true, @@ -1381,23 +1501,13 @@ "align": false, "alignLevel": 0 } - } - ], - "repeat": null, - "showTitle": true, - "title": "Metastore failures and cache" - }, - { - "collapse": true, - "editable": true, - "height": "250px", - "panels": [ + }, { "aliasColors": {}, "bars": false, "cacheTimeout": null, "datasource": "${DS_PROM}", - "description": null, + "description": "Tracks every rate limited add synchronously before rate limiting delays or deduplication", "editable": true, "error": false, "fieldConfig": { @@ -1461,24 +1571,54 @@ "targets": [ { "datasource": null, - "expr": "sum(flyte:propeller:all:metastore:copy:overall_unlabeled_ms) by (quantile)", + "expr": "sum(rate(flyte:propeller:all:main_retries[5m]))", "format": "time_series", "hide": false, "instant": false, "interval": "", "intervalFactor": 2, - "legendFormat": "", + "legendFormat": "main", "metric": "", - "query": "sum(flyte:propeller:all:metastore:copy:overall_unlabeled_ms) by (quantile)", + "query": "sum(rate(flyte:propeller:all:main_retries[5m]))", "refId": "A", "step": 10, "target": "" + }, + { + "datasource": null, + "expr": "sum(rate(flyte:propeller:all:sub_retries[5m]))", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "sub", + "metric": "", + "query": "sum(rate(flyte:propeller:all:sub_retries[5m]))", + "refId": "B", + "step": 10, + "target": "" + }, + { + "datasource": null, + "expr": "sum(rate(flyte:propeller:all:admin_launcher:_retries[5m]))", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "admin_launcher", + "metric": "", + "query": "sum(rate(flyte:propeller:all:admin_launcher:_retries[5m]))", + "refId": "C", + "step": 10, + "target": "" } ], "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "Metastore copy latency", + "title": "Add rate before rate limiting and deduplication", "tooltip": { "msResolution": true, "shared": true, @@ -1497,7 +1637,7 @@ "yaxes": [ { "decimals": null, - "format": "ms", + "format": "ops", "label": null, "logBase": 1, "max": null, @@ -1524,7 +1664,7 @@ "bars": false, "cacheTimeout": null, "datasource": "${DS_PROM}", - "description": null, + "description": "The number of items that are currently in the queue but have not been processed yet.", "editable": true, "error": false, "fieldConfig": { @@ -1588,24 +1728,54 @@ "targets": [ { "datasource": null, - "expr": "sum(flyte:propeller:all:metastore:write_ms) by (quantile, wf)", + "expr": "sum(flyte:propeller:all:main_depth)", "format": "time_series", "hide": false, "instant": false, "interval": "", "intervalFactor": 2, - "legendFormat": "", + "legendFormat": "main", "metric": "", - "query": "sum(flyte:propeller:all:metastore:write_ms) by (quantile, wf)", + "query": "sum(flyte:propeller:all:main_depth)", "refId": "A", "step": 10, "target": "" + }, + { + "datasource": null, + "expr": "sum(flyte:propeller:all:sub_depth)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "sub", + "metric": "", + "query": "sum(flyte:propeller:all:sub_depth)", + "refId": "B", + "step": 10, + "target": "" + }, + { + "datasource": null, + "expr": "sum(flyte:propeller:all:admin_launcher:_depth)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "admin_launcher", + "metric": "", + "query": "sum(flyte:propeller:all:admin_launcher:_depth)", + "refId": "C", + "step": 10, + "target": "" } ], "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "Metastore write latency by workflow", + "title": "Unprocessed Queue depth", "tooltip": { "msResolution": true, "shared": true, @@ -1624,7 +1794,7 @@ "yaxes": [ { "decimals": null, - "format": "ms", + "format": "short", "label": null, "logBase": 1, "max": null, @@ -1651,7 +1821,7 @@ "bars": false, "cacheTimeout": null, "datasource": "${DS_PROM}", - "description": null, + "description": "Sum of the current in progress time of every in progress item in the queue.", "editable": true, "error": false, "fieldConfig": { @@ -1715,24 +1885,54 @@ "targets": [ { "datasource": null, - "expr": "sum(flyte:propeller:all:metastore:read_open_ms) by (quantile, wf)", + "expr": "sum(flyte:propeller:all:main_unfinished_work_s)", "format": "time_series", "hide": false, "instant": false, "interval": "", "intervalFactor": 2, - "legendFormat": "", + "legendFormat": "main", "metric": "", - "query": "sum(flyte:propeller:all:metastore:read_open_ms) by (quantile, wf)", + "query": "sum(flyte:propeller:all:main_unfinished_work_s)", "refId": "A", "step": 10, "target": "" + }, + { + "datasource": null, + "expr": "sum(flyte:propeller:all:sub_unfinished_work_s)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "sub", + "metric": "", + "query": "sum(flyte:propeller:all:sub_unfinished_work_s)", + "refId": "B", + "step": 10, + "target": "" + }, + { + "datasource": null, + "expr": "sum(flyte:propeller:all:admin_launcher:_unfinished_work_s)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "admin_launcher", + "metric": "", + "query": "sum(flyte:propeller:all:admin_launcher:_unfinished_work_s)", + "refId": "C", + "step": 10, + "target": "" } ], "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "Metastore read open latency by workflow", + "title": "Seconds of unfinished work in progress", "tooltip": { "msResolution": true, "shared": true, @@ -1751,7 +1951,7 @@ "yaxes": [ { "decimals": null, - "format": "ms", + "format": "s", "label": null, "logBase": 1, "max": null, @@ -1772,7 +1972,17 @@ "align": false, "alignLevel": 0 } - }, + } + ], + "repeat": null, + "showTitle": true, + "title": "FlytePropeller Queue metrics" + }, + { + "collapse": true, + "editable": true, + "height": "250px", + "panels": [ { "aliasColors": {}, "bars": false, @@ -1836,13 +2046,13 @@ "repeat": null, "repeatDirection": null, "seriesOverrides": [], - "span": 3, + "span": 6, "stack": false, "steppedLine": false, "targets": [ { "datasource": null, - "expr": "sum(flyte:propeller:all:metastore:head_ms) by (quantile, wf)", + "expr": "(sum(rate(flyte:propeller:all:metastore:cache_hit[5m])) * 100) / (sum(rate(flyte:propeller:all:metastore:cache_miss[5m])) + sum(rate(flyte:propeller:all:metastore:cache_hit[5m])))", "format": "time_series", "hide": false, "instant": false, @@ -1850,7 +2060,7 @@ "intervalFactor": 2, "legendFormat": "", "metric": "", - "query": "sum(flyte:propeller:all:metastore:head_ms) by (quantile, wf)", + "query": "(sum(rate(flyte:propeller:all:metastore:cache_hit[5m])) * 100) / (sum(rate(flyte:propeller:all:metastore:cache_miss[5m])) + sum(rate(flyte:propeller:all:metastore:cache_hit[5m])))", "refId": "A", "step": 10, "target": "" @@ -1859,7 +2069,7 @@ "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "Metastore head latency by workflow", + "title": "cache hit percentage", "tooltip": { "msResolution": true, "shared": true, @@ -1878,7 +2088,7 @@ "yaxes": [ { "decimals": null, - "format": "ms", + "format": "percent", "label": null, "logBase": 1, "max": null, @@ -1963,45 +2173,90 @@ "repeat": null, "repeatDirection": null, "seriesOverrides": [], - "span": 3, + "span": 6, "stack": false, "steppedLine": false, "targets": [ { "datasource": null, - "expr": "sum(flyte:propeller:all:metastore:proto_fetch_ms) by (quantile, wf)", + "expr": "sum(rate(flyte:propeller:all:metastore:head_failure_unlabeled[5m]))", "format": "time_series", "hide": false, "instant": false, "interval": "", "intervalFactor": 2, - "legendFormat": "proto-fetch", + "legendFormat": "head-failure", "metric": "", - "query": "sum(flyte:propeller:all:metastore:proto_fetch_ms) by (quantile, wf)", + "query": "sum(rate(flyte:propeller:all:metastore:head_failure_unlabeled[5m]))", "refId": "A", "step": 10, "target": "" }, { "datasource": null, - "expr": "sum(flyte:propeller:all:metastore:remote_fetch_ms) by (quantile, wf)", + "expr": "sum(rate(flyte:propeller:all:metastore:bad_container_unlabeled[5m]))", "format": "time_series", "hide": false, "instant": false, "interval": "", "intervalFactor": 2, - "legendFormat": "remote-fetch", + "legendFormat": "bad-container", "metric": "", - "query": "sum(flyte:propeller:all:metastore:remote_fetch_ms) by (quantile, wf)", + "query": "sum(rate(flyte:propeller:all:metastore:bad_container_unlabeled[5m]))", "refId": "B", "step": 10, "target": "" + }, + { + "datasource": null, + "expr": "sum(rate(flyte:propeller:all:metastore:bad_key_unlabeled[5m]))", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "bad-key", + "metric": "", + "query": "sum(rate(flyte:propeller:all:metastore:bad_key_unlabeled[5m]))", + "refId": "C", + "step": 10, + "target": "" + }, + { + "datasource": null, + "expr": "sum(rate(flyte:propeller:all:metastore:read_failure_unlabeled[5m]))", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "read-failure", + "metric": "", + "query": "sum(rate(flyte:propeller:all:metastore:read_failure_unlabeled[5m]))", + "refId": "D", + "step": 10, + "target": "" + }, + { + "datasource": null, + "expr": "sum(rate(flyte:propeller:all:metastore:write_failure_unlabeled[5m]))", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "write-failure", + "metric": "", + "query": "sum(rate(flyte:propeller:all:metastore:write_failure_unlabeled[5m]))", + "refId": "E", + "step": 10, + "target": "" } ], "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "Metastore fetch latency by workflow", + "title": "Metastore failure rate", "tooltip": { "msResolution": true, "shared": true, @@ -2020,7 +2275,7 @@ "yaxes": [ { "decimals": null, - "format": "ms", + "format": "ops", "label": null, "logBase": 1, "max": null, @@ -2045,7 +2300,7 @@ ], "repeat": null, "showTitle": true, - "title": "Metastore latencies" + "title": "Metastore failures and cache" }, { "collapse": true, @@ -2121,7 +2376,7 @@ "targets": [ { "datasource": null, - "expr": "sum(flyte:propeller:all:node:node_exec_latency_us) by (quantile, wf) / 1000", + "expr": "sum(flyte:propeller:all:metastore:copy:overall_unlabeled_ms) by (quantile)", "format": "time_series", "hide": false, "instant": false, @@ -2129,7 +2384,7 @@ "intervalFactor": 2, "legendFormat": "", "metric": "", - "query": "sum(flyte:propeller:all:node:node_exec_latency_us) by (quantile, wf) / 1000", + "query": "sum(flyte:propeller:all:metastore:copy:overall_unlabeled_ms) by (quantile)", "refId": "A", "step": 10, "target": "" @@ -2138,7 +2393,7 @@ "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "Node Exec latency quantile and workflow", + "title": "Metastore copy latency", "tooltip": { "msResolution": true, "shared": true, @@ -2248,7 +2503,7 @@ "targets": [ { "datasource": null, - "expr": "sum(flyte:propeller:all:node:node_input_latency_ms) by (quantile, wf)", + "expr": "sum(flyte:propeller:all:metastore:write_ms) by (quantile, wf)", "format": "time_series", "hide": false, "instant": false, @@ -2256,7 +2511,7 @@ "intervalFactor": 2, "legendFormat": "", "metric": "", - "query": "sum(flyte:propeller:all:node:node_input_latency_ms) by (quantile, wf)", + "query": "sum(flyte:propeller:all:metastore:write_ms) by (quantile, wf)", "refId": "A", "step": 10, "target": "" @@ -2265,7 +2520,7 @@ "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "Node Input latency quantile and workflow", + "title": "Metastore write latency by workflow", "tooltip": { "msResolution": true, "shared": true, @@ -2375,7 +2630,7 @@ "targets": [ { "datasource": null, - "expr": "sum(flyte:propeller:all:node:event_recording:success_duration_ms) by (quantile, wf)", + "expr": "sum(flyte:propeller:all:metastore:read_open_ms) by (quantile, wf)", "format": "time_series", "hide": false, "instant": false, @@ -2383,31 +2638,16 @@ "intervalFactor": 2, "legendFormat": "", "metric": "", - "query": "sum(flyte:propeller:all:node:event_recording:success_duration_ms) by (quantile, wf)", + "query": "sum(flyte:propeller:all:metastore:read_open_ms) by (quantile, wf)", "refId": "A", "step": 10, "target": "" - }, - { - "datasource": null, - "expr": "sum(flyte:propeller:all:node:event_recording:failure_duration_ms) by (quantile, wf)", - "format": "time_series", - "hide": false, - "instant": false, - "interval": "", - "intervalFactor": 2, - "legendFormat": "", - "metric": "", - "query": "sum(flyte:propeller:all:node:event_recording:failure_duration_ms) by (quantile, wf)", - "refId": "B", - "step": 10, - "target": "" } ], "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "Node Event event recording latency quantile and workflow", + "title": "Metastore read open latency by workflow", "tooltip": { "msResolution": true, "shared": true, @@ -2517,54 +2757,24 @@ "targets": [ { "datasource": null, - "expr": "sum(rate(flyte:propeller:all:node:perma_system_error_duration_unlabeled_ms_count[5m]))", + "expr": "sum(flyte:propeller:all:metastore:head_ms) by (quantile, wf)", "format": "time_series", "hide": false, "instant": false, "interval": "", "intervalFactor": 2, - "legendFormat": "system error", + "legendFormat": "", "metric": "", - "query": "sum(rate(flyte:propeller:all:node:perma_system_error_duration_unlabeled_ms_count[5m]))", + "query": "sum(flyte:propeller:all:metastore:head_ms) by (quantile, wf)", "refId": "A", "step": 10, "target": "" - }, - { - "datasource": null, - "expr": "sum(rate(flyte:propeller:all:node:perma_user_error_duration_unlabeled_ms[5m]))", - "format": "time_series", - "hide": false, - "instant": false, - "interval": "", - "intervalFactor": 2, - "legendFormat": "user error", - "metric": "", - "query": "sum(rate(flyte:propeller:all:node:perma_user_error_duration_unlabeled_ms[5m]))", - "refId": "B", - "step": 10, - "target": "" - }, - { - "datasource": null, - "expr": "sum(rate(flyte:propeller:all:node:perma_unknown_error_duration_unlabeled_ms[5m]))", - "format": "time_series", - "hide": false, - "instant": false, - "interval": "", - "intervalFactor": 2, - "legendFormat": "user error", - "metric": "", - "query": "sum(rate(flyte:propeller:all:node:perma_unknown_error_duration_unlabeled_ms[5m]))", - "refId": "C", - "step": 10, - "target": "" } ], "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "node event recording count", + "title": "Metastore head latency by workflow", "tooltip": { "msResolution": true, "shared": true, @@ -2583,7 +2793,149 @@ "yaxes": [ { "decimals": null, - "format": "none", + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "decimals": null, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": 0 + } + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "datasource": "${DS_PROM}", + "description": null, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [] + } + } + }, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "gridPos": null, + "height": null, + "hideTimeOverride": false, + "id": 20, + "interval": null, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "sort": null, + "sortDesc": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxDataPoints": 100, + "maxPerRow": null, + "minSpan": null, + "nullPointMode": "connected", + "options": { + "alertThreshold": true, + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "repeatDirection": null, + "seriesOverrides": [], + "span": 3, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": null, + "expr": "sum(flyte:propeller:all:metastore:proto_fetch_ms) by (quantile, wf)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "proto-fetch-P{{quantile}}", + "metric": "", + "query": "sum(flyte:propeller:all:metastore:proto_fetch_ms) by (quantile, wf)", + "refId": "A", + "step": 10, + "target": "" + }, + { + "datasource": null, + "expr": "sum(flyte:propeller:all:metastore:remote_fetch_ms) by (quantile, wf)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "remote-fetch-P{{quantile}}", + "metric": "", + "query": "sum(flyte:propeller:all:metastore:remote_fetch_ms) by (quantile, wf)", + "refId": "B", + "step": 10, + "target": "" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Metastore fetch latency by workflow", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "transformations": [], + "transparent": false, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "ms", "label": null, "logBase": 1, "max": null, @@ -2608,7 +2960,7 @@ ], "repeat": null, "showTitle": true, - "title": "Node Metrics" + "title": "Metastore latencies" }, { "collapse": true, @@ -2641,7 +2993,2282 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 20, + "id": 21, + "interval": null, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "sort": null, + "sortDesc": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxDataPoints": 100, + "maxPerRow": null, + "minSpan": null, + "nullPointMode": "connected", + "options": { + "alertThreshold": true, + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "repeatDirection": null, + "seriesOverrides": [], + "span": 3, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": null, + "expr": "sum(flyte:propeller:all:node:node_exec_latency_us) by (quantile, wf) / 1000", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "", + "metric": "", + "query": "sum(flyte:propeller:all:node:node_exec_latency_us) by (quantile, wf) / 1000", + "refId": "A", + "step": 10, + "target": "" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Node Exec latency quantile and workflow", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "transformations": [], + "transparent": false, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "decimals": null, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": 0 + } + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "datasource": "${DS_PROM}", + "description": null, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [] + } + } + }, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "gridPos": null, + "height": null, + "hideTimeOverride": false, + "id": 22, + "interval": null, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "sort": null, + "sortDesc": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxDataPoints": 100, + "maxPerRow": null, + "minSpan": null, + "nullPointMode": "connected", + "options": { + "alertThreshold": true, + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "repeatDirection": null, + "seriesOverrides": [], + "span": 3, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": null, + "expr": "sum(flyte:propeller:all:node:node_input_latency_ms) by (quantile, wf)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "", + "metric": "", + "query": "sum(flyte:propeller:all:node:node_input_latency_ms) by (quantile, wf)", + "refId": "A", + "step": 10, + "target": "" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Node Input latency quantile and workflow", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "transformations": [], + "transparent": false, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "decimals": null, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": 0 + } + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "datasource": "${DS_PROM}", + "description": null, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [] + } + } + }, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "gridPos": null, + "height": null, + "hideTimeOverride": false, + "id": 23, + "interval": null, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "sort": null, + "sortDesc": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxDataPoints": 100, + "maxPerRow": null, + "minSpan": null, + "nullPointMode": "connected", + "options": { + "alertThreshold": true, + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "repeatDirection": null, + "seriesOverrides": [], + "span": 3, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": null, + "expr": "sum(flyte:propeller:all:node:event_recording:success_duration_ms) by (quantile, wf)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "", + "metric": "", + "query": "sum(flyte:propeller:all:node:event_recording:success_duration_ms) by (quantile, wf)", + "refId": "A", + "step": 10, + "target": "" + }, + { + "datasource": null, + "expr": "sum(flyte:propeller:all:node:event_recording:failure_duration_ms) by (quantile, wf)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "", + "metric": "", + "query": "sum(flyte:propeller:all:node:event_recording:failure_duration_ms) by (quantile, wf)", + "refId": "B", + "step": 10, + "target": "" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Node Event event recording latency quantile and workflow", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "transformations": [], + "transparent": false, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "decimals": null, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": 0 + } + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "datasource": "${DS_PROM}", + "description": null, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [] + } + } + }, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "gridPos": null, + "height": null, + "hideTimeOverride": false, + "id": 24, + "interval": null, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "sort": null, + "sortDesc": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxDataPoints": 100, + "maxPerRow": null, + "minSpan": null, + "nullPointMode": "connected", + "options": { + "alertThreshold": true, + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "repeatDirection": null, + "seriesOverrides": [], + "span": 3, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": null, + "expr": "sum(rate(flyte:propeller:all:node:perma_system_error_duration_unlabeled_ms_count[5m]))", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "system error", + "metric": "", + "query": "sum(rate(flyte:propeller:all:node:perma_system_error_duration_unlabeled_ms_count[5m]))", + "refId": "A", + "step": 10, + "target": "" + }, + { + "datasource": null, + "expr": "sum(rate(flyte:propeller:all:node:perma_user_error_duration_unlabeled_ms[5m]))", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "user error", + "metric": "", + "query": "sum(rate(flyte:propeller:all:node:perma_user_error_duration_unlabeled_ms[5m]))", + "refId": "B", + "step": 10, + "target": "" + }, + { + "datasource": null, + "expr": "sum(rate(flyte:propeller:all:node:perma_unknown_error_duration_unlabeled_ms[5m]))", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "unknown error", + "metric": "", + "query": "sum(rate(flyte:propeller:all:node:perma_unknown_error_duration_unlabeled_ms[5m]))", + "refId": "C", + "step": 10, + "target": "" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "node event recording error rate breakdown", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "transformations": [], + "transparent": false, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "ops", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "decimals": null, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": 0 + } + } + ], + "repeat": null, + "showTitle": true, + "title": "Node Metrics" + }, + { + "collapse": true, + "editable": true, + "height": "250px", + "panels": [ + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "datasource": "${DS_PROM}", + "description": null, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [] + } + } + }, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "gridPos": null, + "height": null, + "hideTimeOverride": false, + "id": 25, + "interval": null, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "sort": null, + "sortDesc": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxDataPoints": 100, + "maxPerRow": null, + "minSpan": null, + "nullPointMode": "connected", + "options": { + "alertThreshold": true, + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "repeatDirection": null, + "seriesOverrides": [], + "span": 2, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": null, + "expr": "sum(flyte:propeller:all:workflow:event_recording:success_duration_ms) by (quantile, wf)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "", + "metric": "", + "query": "sum(flyte:propeller:all:workflow:event_recording:success_duration_ms) by (quantile, wf)", + "refId": "A", + "step": 10, + "target": "" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "wf event recording latency success", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "transformations": [], + "transparent": false, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "decimals": null, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": 0 + } + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "datasource": "${DS_PROM}", + "description": null, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [] + } + } + }, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "gridPos": null, + "height": null, + "hideTimeOverride": false, + "id": 26, + "interval": null, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "sort": null, + "sortDesc": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxDataPoints": 100, + "maxPerRow": null, + "minSpan": null, + "nullPointMode": "connected", + "options": { + "alertThreshold": true, + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "repeatDirection": null, + "seriesOverrides": [], + "span": 2, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": null, + "expr": "sum(rate(flyte:propeller:all:workflow:event_recording:success_duration_ms_count[5m])) by (wf)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "success", + "metric": "", + "query": "sum(rate(flyte:propeller:all:workflow:event_recording:success_duration_ms_count[5m])) by (wf)", + "refId": "A", + "step": 10, + "target": "" + }, + { + "datasource": null, + "expr": "sum(rate(flyte:propeller:all:workflow:event_recording:failure_duration_ms_count[5m])) by (wf)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "failure", + "metric": "", + "query": "sum(rate(flyte:propeller:all:workflow:event_recording:failure_duration_ms_count[5m])) by (wf)", + "refId": "B", + "step": 10, + "target": "" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "wf event recording rate", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "transformations": [], + "transparent": false, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "ops", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "decimals": null, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": 0 + } + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "datasource": "${DS_PROM}", + "description": null, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [] + } + } + }, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "gridPos": null, + "height": null, + "hideTimeOverride": false, + "id": 27, + "interval": null, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "sort": null, + "sortDesc": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxDataPoints": 100, + "maxPerRow": null, + "minSpan": null, + "nullPointMode": "connected", + "options": { + "alertThreshold": true, + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "repeatDirection": null, + "seriesOverrides": [], + "span": 2, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": null, + "expr": "sum(flyte:propeller:all:node:event_recording:success_duration_ms) by (quantile, wf)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "", + "metric": "", + "query": "sum(flyte:propeller:all:node:event_recording:success_duration_ms) by (quantile, wf)", + "refId": "A", + "step": 10, + "target": "" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "node event recording latency", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "transformations": [], + "transparent": false, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "decimals": null, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": 0 + } + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "datasource": "${DS_PROM}", + "description": null, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [] + } + } + }, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "gridPos": null, + "height": null, + "hideTimeOverride": false, + "id": 28, + "interval": null, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "sort": null, + "sortDesc": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxDataPoints": 100, + "maxPerRow": null, + "minSpan": null, + "nullPointMode": "connected", + "options": { + "alertThreshold": true, + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "repeatDirection": null, + "seriesOverrides": [], + "span": 2, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": null, + "expr": "sum(rate(flyte:propeller:all:node:event_recording:success_duration_ms_count[5m])) by (wf)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "success-{{wf}}", + "metric": "", + "query": "sum(rate(flyte:propeller:all:node:event_recording:success_duration_ms_count[5m])) by (wf)", + "refId": "A", + "step": 10, + "target": "" + }, + { + "datasource": null, + "expr": "sum(rate(flyte:propeller:all:node:event_recording:failure_duration_ms_count[5m])) by (wf)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "failure-{{wf}}", + "metric": "", + "query": "sum(rate(flyte:propeller:all:node:event_recording:failure_duration_ms_count[5m])) by (wf)", + "refId": "B", + "step": 10, + "target": "" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "node event recording rate", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "transformations": [], + "transparent": false, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "ops", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "decimals": null, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": 0 + } + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "datasource": "${DS_PROM}", + "description": null, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [] + } + } + }, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "gridPos": null, + "height": null, + "hideTimeOverride": false, + "id": 29, + "interval": null, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "sort": null, + "sortDesc": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxDataPoints": 100, + "maxPerRow": null, + "minSpan": null, + "nullPointMode": "connected", + "options": { + "alertThreshold": true, + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "repeatDirection": null, + "seriesOverrides": [], + "span": 2, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": null, + "expr": "sum(flyte:propeller:all:task:event_recording:success_duration_ms) by (quantile, wf)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "", + "metric": "", + "query": "sum(flyte:propeller:all:task:event_recording:success_duration_ms) by (quantile, wf)", + "refId": "A", + "step": 10, + "target": "" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "task event recording latency", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "transformations": [], + "transparent": false, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "decimals": null, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": 0 + } + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "datasource": "${DS_PROM}", + "description": null, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [] + } + } + }, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "gridPos": null, + "height": null, + "hideTimeOverride": false, + "id": 30, + "interval": null, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "sort": null, + "sortDesc": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxDataPoints": 100, + "maxPerRow": null, + "minSpan": null, + "nullPointMode": "connected", + "options": { + "alertThreshold": true, + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "repeatDirection": null, + "seriesOverrides": [], + "span": 2, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": null, + "expr": "sum(rate(flyte:propeller:all:task:event_recording:success_duration_ms_count[5m])) by (wf)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "success-{{wf}}", + "metric": "", + "query": "sum(rate(flyte:propeller:all:task:event_recording:success_duration_ms_count[5m])) by (wf)", + "refId": "A", + "step": 10, + "target": "" + }, + { + "datasource": null, + "expr": "sum(rate(flyte:propeller:all:task:event_recording:failure_duration_ms_count[5m])) by (wf)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "failure-{{wf}}", + "metric": "", + "query": "sum(rate(flyte:propeller:all:task:event_recording:failure_duration_ms_count[5m])) by (wf)", + "refId": "B", + "step": 10, + "target": "" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "task event recording rate", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "transformations": [], + "transparent": false, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "ops", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "decimals": null, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": 0 + } + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "datasource": "${DS_PROM}", + "description": null, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [] + } + } + }, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "gridPos": null, + "height": null, + "hideTimeOverride": false, + "id": 31, + "interval": null, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "sort": null, + "sortDesc": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxDataPoints": 100, + "maxPerRow": null, + "minSpan": null, + "nullPointMode": "connected", + "options": { + "alertThreshold": true, + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "repeatDirection": null, + "seriesOverrides": [], + "span": 2, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": null, + "expr": "sum(flyte:propeller:all:node:build_dynamic_workflow_us) by (quantile, wf) / 1000", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "", + "metric": "", + "query": "sum(flyte:propeller:all:node:build_dynamic_workflow_us) by (quantile, wf) / 1000", + "refId": "A", + "step": 10, + "target": "" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Dynamic workflow build latency", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "transformations": [], + "transparent": false, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "decimals": null, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": 0 + } + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "datasource": "${DS_PROM}", + "description": null, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [] + } + } + }, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "gridPos": null, + "height": null, + "hideTimeOverride": false, + "id": 32, + "interval": null, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "sort": null, + "sortDesc": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxDataPoints": 100, + "maxPerRow": null, + "minSpan": null, + "nullPointMode": "connected", + "options": { + "alertThreshold": true, + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "repeatDirection": null, + "seriesOverrides": [], + "span": 2, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": null, + "expr": "sum(rate(flyte:propeller:all:node:build_dynamic_workflow_us_count[5m])) by (wf)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "", + "metric": "", + "query": "sum(rate(flyte:propeller:all:node:build_dynamic_workflow_us_count[5m])) by (wf)", + "refId": "A", + "step": 10, + "target": "" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Dynamic workflow build rate", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "transformations": [], + "transparent": false, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "ops", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "decimals": null, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": 0 + } + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "datasource": "${DS_PROM}", + "description": "Cache hit rate when admin launcher is queried for the status of a workflow. Admin launcher will update status of workflows in the cache on a polling interval.", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [] + } + } + }, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "gridPos": null, + "height": null, + "hideTimeOverride": false, + "id": 33, + "interval": null, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "sort": null, + "sortDesc": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxDataPoints": 100, + "maxPerRow": null, + "minSpan": null, + "nullPointMode": "connected", + "options": { + "alertThreshold": true, + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "repeatDirection": null, + "seriesOverrides": [], + "span": 2, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": null, + "expr": "sum(rate(flyte:propeller:all:admin_launcher:cache_hit[5m]))", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "hit", + "metric": "", + "query": "sum(rate(flyte:propeller:all:admin_launcher:cache_hit[5m]))", + "refId": "A", + "step": 10, + "target": "" + }, + { + "datasource": null, + "expr": "sum(rate(flyte:propeller:all:admin_launcher:cache_miss[5m]))", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "miss", + "metric": "", + "query": "sum(rate(flyte:propeller:all:admin_launcher:cache_miss[5m]))", + "refId": "B", + "step": 10, + "target": "" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Admin Launcher cache hit/miss rate", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "transformations": [], + "transparent": false, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "ops", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "decimals": null, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": 0 + } + } + ], + "repeat": null, + "showTitle": true, + "title": "Perf metrics" + }, + { + "collapse": true, + "editable": true, + "height": "250px", + "panels": [ + { + "cacheTimeout": null, + "datasource": "${DS_PROM}", + "description": null, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "index": 0, + "line": true, + "op": "gt", + "value": "null", + "yaxis": "left" + }, + { + "color": "red", + "index": 1, + "line": true, + "op": "gt", + "value": 80.0, + "yaxis": "left" + } + ] + } + } + }, + "gridPos": null, + "height": null, + "hideTimeOverride": false, + "id": 34, + "interval": null, + "links": [], + "maxDataPoints": 100, + "maxPerRow": null, + "minSpan": null, + "options": { + "displayMode": "gradient", + "fieldOptions": { + "calcs": [ + "sum" + ], + "defaults": { + "decimals": null, + "links": [], + "max": 200, + "min": 0, + "title": null, + "unit": "none" + }, + "limit": null, + "mappings": [], + "override": {}, + "thresholds": [ + { + "color": "green", + "index": 0, + "line": true, + "op": "gt", + "value": "null", + "yaxis": "left" + }, + { + "color": "red", + "index": 1, + "line": true, + "op": "gt", + "value": 80.0, + "yaxis": "left" + } + ], + "values": false + }, + "orientation": "vertical", + "showThresholdLabels": false, + "showThresholdMarkers": true + }, + "repeat": null, + "repeatDirection": null, + "span": 12, + "targets": [ + { + "datasource": null, + "expr": "sum by(le) (rate(grpc_client_handling_seconds_bucket[5m]))", + "format": "heatmap", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{le}}", + "metric": "", + "query": "sum by(le) (rate(grpc_client_handling_seconds_bucket[5m]))", + "refId": "A", + "step": 10, + "target": "" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "All GRPC calls latency", + "transformations": [], + "transparent": false, + "type": "bargauge" + } + ], + "repeat": null, + "showTitle": true, + "title": "GRPC latency metrics" + }, + { + "collapse": false, + "editable": true, + "height": "250px", + "panels": [ + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "datasource": "${DS_PROM}", + "description": null, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [] + } + } + }, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "gridPos": null, + "height": null, + "hideTimeOverride": false, + "id": 35, + "interval": null, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "sort": null, + "sortDesc": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxDataPoints": 100, + "maxPerRow": null, + "minSpan": null, + "nullPointMode": "connected", + "options": { + "alertThreshold": true, + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "repeatDirection": null, + "seriesOverrides": [], + "span": 2, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": null, + "expr": "sum(flyte:propeller:all:workflow:acceptance_latency_ms) by (wf)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "", + "metric": "", + "query": "sum(flyte:propeller:all:workflow:acceptance_latency_ms) by (wf)", + "refId": "A", + "step": 10, + "target": "" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Workflow acceptance latency per workflow", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "transformations": [], + "transparent": false, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "decimals": null, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": 0 + } + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "datasource": "${DS_PROM}", + "description": null, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [] + } + } + }, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "gridPos": null, + "height": null, + "hideTimeOverride": false, + "id": 36, + "interval": null, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "sort": null, + "sortDesc": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxDataPoints": 100, + "maxPerRow": null, + "minSpan": null, + "nullPointMode": "connected", + "options": { + "alertThreshold": true, + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "repeatDirection": null, + "seriesOverrides": [], + "span": 2, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": null, + "expr": "sum(flyte:propeller:all:workflow:acceptance_latency_unlabeled_ms) by (quantile)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "", + "metric": "", + "query": "sum(flyte:propeller:all:workflow:acceptance_latency_unlabeled_ms) by (quantile)", + "refId": "A", + "step": 10, + "target": "" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Workflow acceptance latency by quantile", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "transformations": [], + "transparent": false, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "decimals": null, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": 0 + } + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "datasource": "${DS_PROM}", + "description": null, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [] + } + } + }, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "gridPos": null, + "height": null, + "hideTimeOverride": false, + "id": 37, + "interval": null, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "sort": null, + "sortDesc": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxDataPoints": 100, + "maxPerRow": null, + "minSpan": null, + "nullPointMode": "connected", + "options": { + "alertThreshold": true, + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "repeatDirection": null, + "seriesOverrides": [], + "span": 2, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": null, + "expr": "sum(flyte:propeller:all:node:transition_latency_ms) by (wf)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "", + "metric": "", + "query": "sum(flyte:propeller:all:node:transition_latency_ms) by (wf)", + "refId": "A", + "step": 10, + "target": "" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Node transition latency per workflow", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "transformations": [], + "transparent": false, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "decimals": null, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": 0 + } + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "datasource": "${DS_PROM}", + "description": null, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [] + } + } + }, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "gridPos": null, + "height": null, + "hideTimeOverride": false, + "id": 38, "interval": null, "isNew": true, "legend": { @@ -2684,7 +5311,7 @@ "targets": [ { "datasource": null, - "expr": "sum(flyte:propeller:all:workflow:event_recording:success_duration_ms) by (quantile, wf)", + "expr": "sum(flyte:propeller:all:node:transition_latency_unlabeled_ms) by (quantile)", "format": "time_series", "hide": false, "instant": false, @@ -2692,7 +5319,7 @@ "intervalFactor": 2, "legendFormat": "", "metric": "", - "query": "sum(flyte:propeller:all:workflow:event_recording:success_duration_ms) by (quantile, wf)", + "query": "sum(flyte:propeller:all:node:transition_latency_unlabeled_ms) by (quantile)", "refId": "A", "step": 10, "target": "" @@ -2701,7 +5328,7 @@ "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "wf event recording latency success", + "title": "Node transition latency by quantile", "tooltip": { "msResolution": true, "shared": true, @@ -2768,7 +5395,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 21, + "id": 39, "interval": null, "isNew": true, "legend": { @@ -2811,39 +5438,24 @@ "targets": [ { "datasource": null, - "expr": "sum(rate(flyte:propeller:all:workflow:event_recording:success_duration_ms_count[5m])) by (wf)", + "expr": "sum(flyte:propeller:all:node:queueing_latency_ms) by (wf)", "format": "time_series", "hide": false, "instant": false, "interval": "", "intervalFactor": 2, - "legendFormat": "success", + "legendFormat": "", "metric": "", - "query": "sum(rate(flyte:propeller:all:workflow:event_recording:success_duration_ms_count[5m])) by (wf)", + "query": "sum(flyte:propeller:all:node:queueing_latency_ms) by (wf)", "refId": "A", "step": 10, "target": "" - }, - { - "datasource": null, - "expr": "sum(rate(flyte:propeller:all:workflow:event_recording:failure_duration_ms_count[5m])) by (wf)", - "format": "time_series", - "hide": false, - "instant": false, - "interval": "", - "intervalFactor": 2, - "legendFormat": "failure", - "metric": "", - "query": "sum(rate(flyte:propeller:all:workflow:event_recording:failure_duration_ms_count[5m])) by (wf)", - "refId": "B", - "step": 10, - "target": "" } ], "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "wf event recording count", + "title": "Node queueing latency per workflow", "tooltip": { "msResolution": true, "shared": true, @@ -2862,7 +5474,7 @@ "yaxes": [ { "decimals": null, - "format": "none", + "format": "ms", "label": null, "logBase": 1, "max": null, @@ -2910,7 +5522,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 22, + "id": 40, "interval": null, "isNew": true, "legend": { @@ -2953,7 +5565,7 @@ "targets": [ { "datasource": null, - "expr": "sum(flyte:propeller:all:node:event_recording:success_duration_ms) by (quantile, wf)", + "expr": "sum(flyte:propeller:all:node:queueing_latency_unlabeled_ms) by (quantile)", "format": "time_series", "hide": false, "instant": false, @@ -2961,7 +5573,7 @@ "intervalFactor": 2, "legendFormat": "", "metric": "", - "query": "sum(flyte:propeller:all:node:event_recording:success_duration_ms) by (quantile, wf)", + "query": "sum(flyte:propeller:all:node:queueing_latency_unlabeled_ms) by (quantile)", "refId": "A", "step": 10, "target": "" @@ -2970,7 +5582,7 @@ "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "node event recording latency success", + "title": "Node queueing latency by quantile", "tooltip": { "msResolution": true, "shared": true, @@ -3037,7 +5649,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 23, + "id": 41, "interval": null, "isNew": true, "legend": { @@ -3080,39 +5692,24 @@ "targets": [ { "datasource": null, - "expr": "sum(rate(flyte:propeller:all:node:event_recording:success_duration_ms_count[5m])) by (wf)", + "expr": "sum(flyte:propeller:all:workflow:completion_latency_ms) by (wf)", "format": "time_series", "hide": false, "instant": false, "interval": "", "intervalFactor": 2, - "legendFormat": "success", + "legendFormat": "", "metric": "", - "query": "sum(rate(flyte:propeller:all:node:event_recording:success_duration_ms_count[5m])) by (wf)", + "query": "sum(flyte:propeller:all:workflow:completion_latency_ms) by (wf)", "refId": "A", "step": 10, "target": "" - }, - { - "datasource": null, - "expr": "sum(rate(flyte:propeller:all:node:event_recording:failure_duration_ms_count[5m])) by (wf)", - "format": "time_series", - "hide": false, - "instant": false, - "interval": "", - "intervalFactor": 2, - "legendFormat": "failure", - "metric": "", - "query": "sum(rate(flyte:propeller:all:node:event_recording:failure_duration_ms_count[5m])) by (wf)", - "refId": "B", - "step": 10, - "target": "" } ], "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "node event recording count", + "title": "Workflow completion latency per workflow", "tooltip": { "msResolution": true, "shared": true, @@ -3131,7 +5728,7 @@ "yaxes": [ { "decimals": null, - "format": "none", + "format": "ms", "label": null, "logBase": 1, "max": null, @@ -3179,7 +5776,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 24, + "id": 42, "interval": null, "isNew": true, "legend": { @@ -3222,7 +5819,7 @@ "targets": [ { "datasource": null, - "expr": "sum(flyte:propeller:all:task:event_recording:success_duration_ms) by (quantile, wf)", + "expr": "sum(flyte:propeller:all:workflow:completion_latency_unlabeled_ms) by (quantile)", "format": "time_series", "hide": false, "instant": false, @@ -3230,7 +5827,7 @@ "intervalFactor": 2, "legendFormat": "", "metric": "", - "query": "sum(flyte:propeller:all:task:event_recording:success_duration_ms) by (quantile, wf)", + "query": "sum(flyte:propeller:all:workflow:completion_latency_unlabeled_ms) by (quantile)", "refId": "A", "step": 10, "target": "" @@ -3239,7 +5836,7 @@ "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "task event recording latency", + "title": "Workflow completion latency by quantile", "tooltip": { "msResolution": true, "shared": true, @@ -3279,7 +5876,17 @@ "align": false, "alignLevel": 0 } - }, + } + ], + "repeat": null, + "showTitle": true, + "title": "Workflow latencies" + }, + { + "collapse": false, + "editable": true, + "height": "250px", + "panels": [ { "aliasColors": {}, "bars": false, @@ -3306,7 +5913,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 25, + "id": 43, "interval": null, "isNew": true, "legend": { @@ -3343,45 +5950,30 @@ "repeat": null, "repeatDirection": null, "seriesOverrides": [], - "span": 2, + "span": 3, "stack": false, "steppedLine": false, "targets": [ { "datasource": null, - "expr": "sum(rate(flyte:propeller:all:task:event_recording:success_duration_ms_count[5m])) by (wf)", + "expr": "sum(flyte:propeller:all:wf_update_latency_ms) by (quantile)", "format": "time_series", "hide": false, "instant": false, "interval": "", "intervalFactor": 2, - "legendFormat": "success wf", + "legendFormat": "", "metric": "", - "query": "sum(rate(flyte:propeller:all:task:event_recording:success_duration_ms_count[5m])) by (wf)", + "query": "sum(flyte:propeller:all:wf_update_latency_ms) by (quantile)", "refId": "A", "step": 10, "target": "" - }, - { - "datasource": null, - "expr": "sum(rate(flyte:propeller:all:task:event_recording:failure_duration_ms_count[5m])) by (wf)", - "format": "time_series", - "hide": false, - "instant": false, - "interval": "", - "intervalFactor": 2, - "legendFormat": "failure", - "metric": "", - "query": "sum(rate(flyte:propeller:all:task:event_recording:failure_duration_ms_count[5m])) by (wf)", - "refId": "B", - "step": 10, - "target": "" } ], "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "task event recording count", + "title": "wf update etcD latency", "tooltip": { "msResolution": true, "shared": true, @@ -3400,7 +5992,7 @@ "yaxes": [ { "decimals": null, - "format": "none", + "format": "ms", "label": null, "logBase": 1, "max": null, @@ -3448,7 +6040,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 26, + "id": 44, "interval": null, "isNew": true, "legend": { @@ -3485,13 +6077,13 @@ "repeat": null, "repeatDirection": null, "seriesOverrides": [], - "span": 2, + "span": 3, "stack": false, "steppedLine": false, "targets": [ { "datasource": null, - "expr": "sum(flyte:propeller:all:node:build_dynamic_workflow_us) by (quantile, wf) / 1000", + "expr": "sum(rate(flyte:propeller:all:wf_update_latency_ms_count[5m]))", "format": "time_series", "hide": false, "instant": false, @@ -3499,7 +6091,7 @@ "intervalFactor": 2, "legendFormat": "", "metric": "", - "query": "sum(flyte:propeller:all:node:build_dynamic_workflow_us) by (quantile, wf) / 1000", + "query": "sum(rate(flyte:propeller:all:wf_update_latency_ms_count[5m]))", "refId": "A", "step": 10, "target": "" @@ -3508,7 +6100,7 @@ "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "Dynamic workflow build latency", + "title": "etcD write rate", "tooltip": { "msResolution": true, "shared": true, @@ -3527,7 +6119,7 @@ "yaxes": [ { "decimals": null, - "format": "ms", + "format": "ops", "label": null, "logBase": 1, "max": null, @@ -3575,7 +6167,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 27, + "id": 45, "interval": null, "isNew": true, "legend": { @@ -3612,13 +6204,13 @@ "repeat": null, "repeatDirection": null, "seriesOverrides": [], - "span": 2, + "span": 3, "stack": false, "steppedLine": false, "targets": [ { "datasource": null, - "expr": "sum(rate(flyte:propeller:all:node:build_dynamic_workflow_us_count[5m])) by (wf)", + "expr": "sum(rate(flyte:propeller:all:wf_update_conflict[5m]))", "format": "time_series", "hide": false, "instant": false, @@ -3626,7 +6218,7 @@ "intervalFactor": 2, "legendFormat": "", "metric": "", - "query": "sum(rate(flyte:propeller:all:node:build_dynamic_workflow_us_count[5m])) by (wf)", + "query": "sum(rate(flyte:propeller:all:wf_update_conflict[5m]))", "refId": "A", "step": 10, "target": "" @@ -3635,7 +6227,7 @@ "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "Dynamic workflow build count", + "title": "etcD write conflict rate", "tooltip": { "msResolution": true, "shared": true, @@ -3654,7 +6246,7 @@ "yaxes": [ { "decimals": null, - "format": "none", + "format": "ops", "label": null, "logBase": 1, "max": null, @@ -3702,7 +6294,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 28, + "id": 46, "interval": null, "isNew": true, "legend": { @@ -3739,45 +6331,30 @@ "repeat": null, "repeatDirection": null, "seriesOverrides": [], - "span": 2, + "span": 3, "stack": false, "steppedLine": false, "targets": [ { "datasource": null, - "expr": "sum(rate(flyte:propeller:all:admin_launcher:cache_hit[5m]))", + "expr": "sum(rate(flyte:propeller:all:wf_update_failed[5m]))", "format": "time_series", "hide": false, "instant": false, "interval": "", "intervalFactor": 2, - "legendFormat": "hit", + "legendFormat": "", "metric": "", - "query": "sum(rate(flyte:propeller:all:admin_launcher:cache_hit[5m]))", + "query": "sum(rate(flyte:propeller:all:wf_update_failed[5m]))", "refId": "A", "step": 10, "target": "" - }, - { - "datasource": null, - "expr": "sum(rate(flyte:propeller:all:admin_launcher:cache_miss[5m]))", - "format": "time_series", - "hide": false, - "instant": false, - "interval": "", - "intervalFactor": 2, - "legendFormat": "miss", - "metric": "", - "query": "sum(rate(flyte:propeller:all:admin_launcher:cache_miss[5m]))", - "refId": "B", - "step": 10, - "target": "" } ], "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "Admin Launcher cache", + "title": "etcD write failure rate", "tooltip": { "msResolution": true, "shared": true, @@ -3796,7 +6373,7 @@ "yaxes": [ { "decimals": null, - "format": "ms", + "format": "ops", "label": null, "logBase": 1, "max": null, @@ -3817,17 +6394,7 @@ "align": false, "alignLevel": 0 } - } - ], - "repeat": null, - "showTitle": true, - "title": "Perf metrics" - }, - { - "collapse": false, - "editable": true, - "height": "250px", - "panels": [ + }, { "aliasColors": {}, "bars": false, @@ -3854,7 +6421,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 29, + "id": 47, "interval": null, "isNew": true, "legend": { @@ -3897,7 +6464,7 @@ "targets": [ { "datasource": null, - "expr": "sum(flyte:propeller:all:wf_update_latency_ms) by (quantile)", + "expr": "sum(rate(flyte:propeller:all:wf_too_large[5m]))", "format": "time_series", "hide": false, "instant": false, @@ -3905,7 +6472,7 @@ "intervalFactor": 2, "legendFormat": "", "metric": "", - "query": "sum(flyte:propeller:all:wf_update_latency_ms) by (quantile)", + "query": "sum(rate(flyte:propeller:all:wf_too_large[5m]))", "refId": "A", "step": 10, "target": "" @@ -3914,7 +6481,7 @@ "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "wf update etcD latency", + "title": "etcD write too large rate", "tooltip": { "msResolution": true, "shared": true, @@ -3933,7 +6500,7 @@ "yaxes": [ { "decimals": null, - "format": "ms", + "format": "ops", "label": null, "logBase": 1, "max": null, @@ -3954,7 +6521,17 @@ "align": false, "alignLevel": 0 } - }, + } + ], + "repeat": null, + "showTitle": true, + "title": "etcD write metrics" + }, + { + "collapse": true, + "editable": true, + "height": "250px", + "panels": [ { "aliasColors": {}, "bars": false, @@ -3981,7 +6558,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 30, + "id": 48, "interval": null, "isNew": true, "legend": { @@ -4018,13 +6595,13 @@ "repeat": null, "repeatDirection": null, "seriesOverrides": [], - "span": 3, + "span": 6, "stack": false, "steppedLine": false, "targets": [ { "datasource": null, - "expr": "sum(rate(flyte:propeller:all:wf_update_latency_ms_count[5m]))", + "expr": "sum(rate(flyte:propeller:all:node:container:container:informer_update[5m]))", "format": "time_series", "hide": false, "instant": false, @@ -4032,7 +6609,7 @@ "intervalFactor": 2, "legendFormat": "", "metric": "", - "query": "sum(rate(flyte:propeller:all:wf_update_latency_ms_count[5m]))", + "query": "sum(rate(flyte:propeller:all:node:container:container:informer_update[5m]))", "refId": "A", "step": 10, "target": "" @@ -4041,7 +6618,7 @@ "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "etcD writes", + "title": "Update event rate from informer", "tooltip": { "msResolution": true, "shared": true, @@ -4060,7 +6637,7 @@ "yaxes": [ { "decimals": null, - "format": "none", + "format": "ops", "label": null, "logBase": 1, "max": null, @@ -4108,7 +6685,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 31, + "id": 49, "interval": null, "isNew": true, "legend": { @@ -4145,13 +6722,13 @@ "repeat": null, "repeatDirection": null, "seriesOverrides": [], - "span": 3, + "span": 6, "stack": false, "steppedLine": false, "targets": [ { "datasource": null, - "expr": "sum(rate(flyte:propeller:all:wf_update_conflict[5m]))", + "expr": "sum(rate(flyte:propeller:all:node:container:container:informer_update_dropped[5m]))", "format": "time_series", "hide": false, "instant": false, @@ -4159,7 +6736,7 @@ "intervalFactor": 2, "legendFormat": "", "metric": "", - "query": "sum(rate(flyte:propeller:all:wf_update_conflict[5m]))", + "query": "sum(rate(flyte:propeller:all:node:container:container:informer_update_dropped[5m]))", "refId": "A", "step": 10, "target": "" @@ -4168,7 +6745,7 @@ "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "etcD write conflicts", + "title": "Update events drop rate becacuse they have the same resource version", "tooltip": { "msResolution": true, "shared": true, @@ -4187,7 +6764,7 @@ "yaxes": [ { "decimals": null, - "format": "none", + "format": "ops", "label": null, "logBase": 1, "max": null, @@ -4208,7 +6785,17 @@ "align": false, "alignLevel": 0 } - }, + } + ], + "repeat": null, + "showTitle": true, + "title": "K8s Pod Informer stats" + }, + { + "collapse": true, + "editable": true, + "height": "250px", + "panels": [ { "aliasColors": {}, "bars": false, @@ -4235,7 +6822,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 32, + "id": 50, "interval": null, "isNew": true, "legend": { @@ -4272,13 +6859,13 @@ "repeat": null, "repeatDirection": null, "seriesOverrides": [], - "span": 3, + "span": 4, "stack": false, "steppedLine": false, "targets": [ { "datasource": null, - "expr": "sum(rate(flyte:propeller:all:wf_update_failed[5m]))", + "expr": "sum(rate(flyte:propeller:all:wf_stale_unlabeled[5m])) by (quantile)", "format": "time_series", "hide": false, "instant": false, @@ -4286,7 +6873,7 @@ "intervalFactor": 2, "legendFormat": "", "metric": "", - "query": "sum(rate(flyte:propeller:all:wf_update_failed[5m]))", + "query": "sum(rate(flyte:propeller:all:wf_stale_unlabeled[5m])) by (quantile)", "refId": "A", "step": 10, "target": "" @@ -4295,7 +6882,7 @@ "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "etcD write fail", + "title": "Stale workflows rate", "tooltip": { "msResolution": true, "shared": true, @@ -4314,7 +6901,7 @@ "yaxes": [ { "decimals": null, - "format": "none", + "format": "ops", "label": null, "logBase": 1, "max": null, @@ -4335,17 +6922,7 @@ "align": false, "alignLevel": 0 } - } - ], - "repeat": null, - "showTitle": true, - "title": "etcD write metrics" - }, - { - "collapse": true, - "editable": true, - "height": "250px", - "panels": [ + }, { "aliasColors": {}, "bars": false, @@ -4372,7 +6949,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 33, + "id": 51, "interval": null, "isNew": true, "legend": { @@ -4409,13 +6986,13 @@ "repeat": null, "repeatDirection": null, "seriesOverrides": [], - "span": 2, + "span": 4, "stack": false, "steppedLine": false, "targets": [ { "datasource": null, - "expr": "sum(rate(flyte:propeller:all:main_adds[5m]))", + "expr": "sum(rate(flyte:propeller:all:wf_stale_unlabeled[5m])) by (quantile)", "format": "time_series", "hide": false, "instant": false, @@ -4423,7 +7000,7 @@ "intervalFactor": 2, "legendFormat": "", "metric": "", - "query": "sum(rate(flyte:propeller:all:main_adds[5m]))", + "query": "sum(rate(flyte:propeller:all:wf_stale_unlabeled[5m])) by (quantile)", "refId": "A", "step": 10, "target": "" @@ -4432,7 +7009,7 @@ "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "WF Adds to main queue", + "title": "Evict workflows rate", "tooltip": { "msResolution": true, "shared": true, @@ -4451,7 +7028,7 @@ "yaxes": [ { "decimals": null, - "format": "short", + "format": "ops", "label": null, "logBase": 1, "max": null, @@ -4499,7 +7076,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 34, + "id": 52, "interval": null, "isNew": true, "legend": { @@ -4536,13 +7113,13 @@ "repeat": null, "repeatDirection": null, "seriesOverrides": [], - "span": 2, + "span": 4, "stack": false, "steppedLine": false, "targets": [ { "datasource": null, - "expr": "sum(rate(flyte:propeller:all:main_depth[5m]))", + "expr": "sum(rate(flyte:propeller:all:wf_redundant_unlabeled[5m])) by (quantile)", "format": "time_series", "hide": false, "instant": false, @@ -4550,7 +7127,7 @@ "intervalFactor": 2, "legendFormat": "", "metric": "", - "query": "sum(rate(flyte:propeller:all:main_depth[5m]))", + "query": "sum(rate(flyte:propeller:all:wf_redundant_unlabeled[5m])) by (quantile)", "refId": "A", "step": 10, "target": "" @@ -4559,7 +7136,7 @@ "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "Unprocessed Queue depth", + "title": "Workflow redundant updates rate", "tooltip": { "msResolution": true, "shared": true, @@ -4578,7 +7155,7 @@ "yaxes": [ { "decimals": null, - "format": "short", + "format": "ops", "label": null, "logBase": 1, "max": null, @@ -4599,7 +7176,17 @@ "align": false, "alignLevel": 0 } - }, + } + ], + "repeat": null, + "showTitle": true, + "title": "Workflow store" + }, + { + "collapse": true, + "editable": true, + "height": "250px", + "panels": [ { "aliasColors": {}, "bars": false, @@ -4626,7 +7213,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 35, + "id": 53, "interval": null, "isNew": true, "legend": { @@ -4663,13 +7250,13 @@ "repeat": null, "repeatDirection": null, "seriesOverrides": [], - "span": 2, + "span": 3, "stack": false, "steppedLine": false, "targets": [ { "datasource": null, - "expr": "sum(rate(flyte:propeller:all:main_retries[5m]))", + "expr": "sum(flyte:propeller:all:gc_success)", "format": "time_series", "hide": false, "instant": false, @@ -4677,7 +7264,7 @@ "intervalFactor": 2, "legendFormat": "", "metric": "", - "query": "sum(rate(flyte:propeller:all:main_retries[5m]))", + "query": "sum(flyte:propeller:all:gc_success)", "refId": "A", "step": 10, "target": "" @@ -4686,7 +7273,7 @@ "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "Item retries", + "title": "Namespace successful garbage collections", "tooltip": { "msResolution": true, "shared": true, @@ -4753,7 +7340,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 36, + "id": 54, "interval": null, "isNew": true, "legend": { @@ -4790,13 +7377,13 @@ "repeat": null, "repeatDirection": null, "seriesOverrides": [], - "span": 2, + "span": 3, "stack": false, "steppedLine": false, "targets": [ { "datasource": null, - "expr": "flyte:propeller:all:main_unfinished_work_s", + "expr": "sum(flyte:propeller:all:gc_failure)", "format": "time_series", "hide": false, "instant": false, @@ -4804,7 +7391,7 @@ "intervalFactor": 2, "legendFormat": "", "metric": "", - "query": "flyte:propeller:all:main_unfinished_work_s", + "query": "sum(flyte:propeller:all:gc_failure)", "refId": "A", "step": 10, "target": "" @@ -4813,7 +7400,7 @@ "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "Seconds of unfinished work in progress", + "title": "Namespace failed garbage collections", "tooltip": { "msResolution": true, "shared": true, @@ -4832,7 +7419,7 @@ "yaxes": [ { "decimals": null, - "format": "s", + "format": "short", "label": null, "logBase": 1, "max": null, @@ -4880,7 +7467,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 37, + "id": 55, "interval": null, "isNew": true, "legend": { @@ -4917,13 +7504,13 @@ "repeat": null, "repeatDirection": null, "seriesOverrides": [], - "span": 2, + "span": 3, "stack": false, "steppedLine": false, "targets": [ { "datasource": null, - "expr": "sum(rate(flyte:propeller:all:main_work_duration_us_sum[5m]) / rate(flyte:propeller:all:main_work_duration_us_count[5m]))", + "expr": "sum(flyte:propeller:all:gc_latency_ms_count)", "format": "time_series", "hide": false, "instant": false, @@ -4931,7 +7518,7 @@ "intervalFactor": 2, "legendFormat": "", "metric": "", - "query": "sum(rate(flyte:propeller:all:main_work_duration_us_sum[5m]) / rate(flyte:propeller:all:main_work_duration_us_count[5m]))", + "query": "sum(flyte:propeller:all:gc_latency_ms_count)", "refId": "A", "step": 10, "target": "" @@ -4940,7 +7527,7 @@ "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "Workqueue work average duration", + "title": "Total completed garbage collection rounds", "tooltip": { "msResolution": true, "shared": true, @@ -4959,7 +7546,7 @@ "yaxes": [ { "decimals": null, - "format": "s", + "format": "short", "label": null, "logBase": 1, "max": null, @@ -5007,7 +7594,7 @@ "gridPos": null, "height": null, "hideTimeOverride": false, - "id": 38, + "id": 56, "interval": null, "isNew": true, "legend": { @@ -5044,13 +7631,13 @@ "repeat": null, "repeatDirection": null, "seriesOverrides": [], - "span": 2, + "span": 3, "stack": false, "steppedLine": false, "targets": [ { "datasource": null, - "expr": "sum(rate(flyte:propeller:all:main_queue_latency_us_sum[5m]) / rate(flyte:propeller:all:main_queue_latency_us_count[5m]))", + "expr": "sum(flyte:propeller:all:gc_latency_ms_sum) / sum(flyte:propeller:all:gc_latency_ms_count)", "format": "time_series", "hide": false, "instant": false, @@ -5058,7 +7645,7 @@ "intervalFactor": 2, "legendFormat": "", "metric": "", - "query": "sum(rate(flyte:propeller:all:main_queue_latency_us_sum[5m]) / rate(flyte:propeller:all:main_queue_latency_us_count[5m]))", + "query": "sum(flyte:propeller:all:gc_latency_ms_sum) / sum(flyte:propeller:all:gc_latency_ms_count)", "refId": "A", "step": 10, "target": "" @@ -5067,7 +7654,7 @@ "thresholds": [], "timeFrom": null, "timeShift": null, - "title": "Duration for which an item stays in queue - avg", + "title": "Average garbage collection round duration", "tooltip": { "msResolution": true, "shared": true, @@ -5086,7 +7673,7 @@ "yaxes": [ { "decimals": null, - "format": "s", + "format": "ms", "label": null, "logBase": 1, "max": null, @@ -5111,7 +7698,7 @@ ], "repeat": null, "showTitle": true, - "title": "FlytePropeller Queue metrics" + "title": "Workflow garbage collection" } ], "schemaVersion": 12, diff --git a/deployment/test/flyte_generated.yaml b/deployment/test/flyte_generated.yaml index ea1954bee08..80a3227e714 100644 --- a/deployment/test/flyte_generated.yaml +++ b/deployment/test/flyte_generated.yaml @@ -293,7 +293,8 @@ data: server.yaml: | server: httpPort: 8088 - grpcPort: 8089 + grpc: + port: 8089 security: # Controls whether to serve requests over SSL/TLS. secure: false diff --git a/docker/sandbox-bundled/Dockerfile b/docker/sandbox-bundled/Dockerfile index 7672b2d03da..92e8fa2d465 100644 --- a/docker/sandbox-bundled/Dockerfile +++ b/docker/sandbox-bundled/Dockerfile @@ -10,7 +10,7 @@ COPY images/manifest.txt images/preload ./ RUN --security=insecure ./preload manifest.txt -FROM --platform=${BUILDPLATFORM} golang:1.19-bullseye AS bootstrap +FROM --platform=${BUILDPLATFORM} golang:1.22-bullseye AS bootstrap ARG TARGETARCH ENV CGO_ENABLED 0 @@ -25,7 +25,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build --mount=type=cache,target=/r go build -o dist/flyte-sandbox-bootstrap cmd/bootstrap/main.go -FROM rancher/k3s:v1.24.4-k3s1 +FROM rancher/k3s:v1.29.0-k3s1 ARG TARGETARCH diff --git a/docker/sandbox-bundled/bootstrap/go.mod b/docker/sandbox-bundled/bootstrap/go.mod index 7f7f3a6bebf..81c932457ee 100644 --- a/docker/sandbox-bundled/bootstrap/go.mod +++ b/docker/sandbox-bundled/bootstrap/go.mod @@ -1,6 +1,6 @@ module github.com/flyteorg/flyte/docker/sandbox-bundled/bootstrap -go 1.21 +go 1.22 require ( github.com/stretchr/testify v1.8.0 @@ -38,10 +38,10 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/xlab/treeprint v1.1.0 // indirect go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5 // indirect - golang.org/x/net v0.3.1-0.20221206200815-1e63c2f08a10 // indirect - golang.org/x/sys v0.3.0 // indirect - golang.org/x/text v0.5.0 // indirect - google.golang.org/protobuf v1.28.1 // indirect + golang.org/x/net v0.23.0 // indirect + golang.org/x/sys v0.18.0 // indirect + golang.org/x/text v0.14.0 // indirect + google.golang.org/protobuf v1.33.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/docker/sandbox-bundled/bootstrap/go.sum b/docker/sandbox-bundled/bootstrap/go.sum index 91cb46085c6..95db5c997ea 100644 --- a/docker/sandbox-bundled/bootstrap/go.sum +++ b/docker/sandbox-bundled/bootstrap/go.sum @@ -131,8 +131,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.3.1-0.20221206200815-1e63c2f08a10 h1:Frnccbp+ok2GkUS2tC84yAq/U9Vg+0sIO7aRL3T4Xnc= -golang.org/x/net v0.3.1-0.20221206200815-1e63c2f08a10/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= +golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -144,12 +144,12 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191002063906-3421d5a6bb1c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= -golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.5.0 h1:OLmvp0KP+FVG99Ct/qFiL/Fhk4zp4QQnZ7b2U+5piUM= -golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -181,8 +181,8 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= -google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/docker/sandbox-bundled/manifests/complete-agent.yaml b/docker/sandbox-bundled/manifests/complete-agent.yaml index 3d40c5a8f82..4b0dc5c1723 100644 --- a/docker/sandbox-bundled/manifests/complete-agent.yaml +++ b/docker/sandbox-bundled/manifests/complete-agent.yaml @@ -125,6 +125,7 @@ rules: - namespaces - resourcequotas - secrets + - serviceaccounts verbs: - create - get @@ -468,7 +469,7 @@ data: stackdriver-enabled: false k8s: co-pilot: - image: "cr.flyte.org/flyteorg/flytecopilot:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytecopilot:v1.13.0" k8s-array: logs: config: @@ -816,7 +817,7 @@ type: Opaque --- apiVersion: v1 data: - haSharedSecret: QWVsREJpZnlIR2N1UXJSMg== + haSharedSecret: RVJtRHVFeUtzZHdDMjRTQQ== proxyPassword: "" proxyUsername: "" kind: Secret @@ -1133,7 +1134,8 @@ metadata: namespace: flyte spec: ports: - - name: agent-grpc + - appProtocol: TCP + name: agent-grpc port: 8000 protocol: TCP targetPort: agent-grpc @@ -1246,7 +1248,7 @@ spec: metadata: annotations: checksum/cluster-resource-templates: 6fd9b172465e3089fcc59f738b92b8dc4d8939360c19de8ee65f68b0e7422035 - checksum/configuration: 9ab632fe7ac69bcf63d6965a44986a05e23798beda4a3175d1601e61057a9832 + checksum/configuration: 35a84a5044b9c9ffb7963f8ea11733277e84450e2124593216c6721ef7a4d539 checksum/configuration-secret: 09216ffaa3d29e14f88b1f30af580d02a2a5e014de4d750b7f275cc07ed4e914 labels: app.kubernetes.io/component: flyte-binary @@ -1412,7 +1414,7 @@ spec: metadata: annotations: checksum/config: 8f50e768255a87f078ba8b9879a0c174c3e045ffb46ac8723d2eedbe293c8d81 - checksum/secret: 6eadd3a29b61a78cf3a7712f3370a10fc0ec1a61c40753a48c7fa8bea69a6ec6 + checksum/secret: b56109123fc8874c06e091766f6e86bd5ffdc4cdc86ea7861092332870babf0e labels: app: docker-registry release: flyte-sandbox @@ -1755,7 +1757,7 @@ spec: value: minio - name: FLYTE_AWS_SECRET_ACCESS_KEY value: miniostorage - image: ghcr.io/flyteorg/flyteagent:1.11.0 + image: cr.flyte.org/flyteorg/flyteagent:1.13.0 imagePullPolicy: IfNotPresent name: flyteagent ports: @@ -1770,7 +1772,7 @@ spec: limits: cpu: 500m ephemeral-storage: 200Mi - memory: 200Mi + memory: 300Mi requests: cpu: 500m ephemeral-storage: 200Mi diff --git a/docker/sandbox-bundled/manifests/complete.yaml b/docker/sandbox-bundled/manifests/complete.yaml index 69739d52d70..db86678c702 100644 --- a/docker/sandbox-bundled/manifests/complete.yaml +++ b/docker/sandbox-bundled/manifests/complete.yaml @@ -114,6 +114,7 @@ rules: - namespaces - resourcequotas - secrets + - serviceaccounts verbs: - create - get @@ -457,7 +458,7 @@ data: stackdriver-enabled: false k8s: co-pilot: - image: "cr.flyte.org/flyteorg/flytecopilot:v1.11.0-b0" + image: "cr.flyte.org/flyteorg/flytecopilot:v1.13.0" k8s-array: logs: config: @@ -796,7 +797,7 @@ type: Opaque --- apiVersion: v1 data: - haSharedSecret: NmtkWjAwUWhadWlzb0xNcA== + haSharedSecret: dGZGeUR3THl1ODFKV2ROdA== proxyPassword: "" proxyUsername: "" kind: Secret @@ -1194,7 +1195,7 @@ spec: metadata: annotations: checksum/cluster-resource-templates: 6fd9b172465e3089fcc59f738b92b8dc4d8939360c19de8ee65f68b0e7422035 - checksum/configuration: 11cd65708fd872839c6e561e84c30e045567486f06757f4549c69cc22aea5697 + checksum/configuration: 401b476b6dd95fe6fcfb0d91b6cb42550e272bc66f07de218d192ad374c1baf0 checksum/configuration-secret: 09216ffaa3d29e14f88b1f30af580d02a2a5e014de4d750b7f275cc07ed4e914 labels: app.kubernetes.io/component: flyte-binary @@ -1360,7 +1361,7 @@ spec: metadata: annotations: checksum/config: 8f50e768255a87f078ba8b9879a0c174c3e045ffb46ac8723d2eedbe293c8d81 - checksum/secret: 98727a2bd78c4e88ef413663ebff406f78c8fdbda001f7ba7b6b784934cd4d4a + checksum/secret: 953e371a21c81445990201881e1603b35558441bea4c3702cc1f3dbdbc66c6b7 labels: app: docker-registry release: flyte-sandbox diff --git a/docker/sandbox-bundled/manifests/dev.yaml b/docker/sandbox-bundled/manifests/dev.yaml index fd77ad44e0f..bdd5143bb36 100644 --- a/docker/sandbox-bundled/manifests/dev.yaml +++ b/docker/sandbox-bundled/manifests/dev.yaml @@ -499,7 +499,7 @@ metadata: --- apiVersion: v1 data: - haSharedSecret: WG01UkdoN2dNTzBMRjJDVA== + haSharedSecret: clA0NmJsaW9TUHNJYjRYTA== proxyPassword: "" proxyUsername: "" kind: Secret @@ -934,7 +934,7 @@ spec: metadata: annotations: checksum/config: 8f50e768255a87f078ba8b9879a0c174c3e045ffb46ac8723d2eedbe293c8d81 - checksum/secret: 5400c48803b4ae9d08115e0f52f00245498c0b06d11d318a36590b01f91e2753 + checksum/secret: 51051b8a95112e2aa1aed0e472540340697cf3481a144444d65dfaa220ae471d labels: app: docker-registry release: flyte-sandbox diff --git a/docs/Dockerfile.conda-lock b/docs/Dockerfile.conda-lock new file mode 100644 index 00000000000..109b6e5bca5 --- /dev/null +++ b/docs/Dockerfile.conda-lock @@ -0,0 +1,12 @@ +FROM condaforge/mambaforge:latest + +ARG USER_UID +ARG USER_GID + +RUN getent group "${USER_GID}" || groupadd --gid "${USER_GID}" flyte +RUN getent passwd "${USER_UID}" || useradd --uid "${USER_UID}" --gid "${USER_GID}" -m flyte + +RUN conda install -c conda-forge conda-lock +WORKDIR flyte +USER ${USER_UID} +ENTRYPOINT ["conda", "run", "--no-capture-output", "conda-lock"] diff --git a/docs/Dockerfile.docs b/docs/Dockerfile.docs new file mode 100644 index 00000000000..33442bd9115 --- /dev/null +++ b/docs/Dockerfile.docs @@ -0,0 +1,21 @@ +FROM condaforge/mambaforge:latest + +ARG USER_UID +ARG USER_GID + +RUN getent group "${USER_GID}" || groupadd --gid "${USER_GID}" flyte +RUN getent passwd "${USER_UID}" || useradd --uid "${USER_UID}" --gid "${USER_GID}" -m flyte + +RUN conda install -c conda-forge conda-lock +RUN --mount=type=bind,source=monodocs-environment.lock.yaml,target=monodocs-environment.lock.yaml \ + conda-lock install -n monodocs-env monodocs-environment.lock.yaml + +ENV SETUPTOOLS_SCM_PRETEND_VERSION 2.0.0 +COPY flyteidl flyteidl +SHELL ["conda", "run", "-n", "monodocs-env", "/bin/bash", "-c"] +RUN python -m pip install sphinx-autobuild +RUN python -m pip install ./flyteidl + +WORKDIR /flyte/docs +USER ${USER_UID} +ENTRYPOINT ["conda", "run", "--no-capture-output", "-n", "monodocs-env"] diff --git a/docs/Makefile b/docs/Makefile index 0bcb4e2f47b..d88d8a755cc 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -20,4 +20,4 @@ help: @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) clean: - rm -rf _build _src api flytectl flytekit flytesnacks protos examples + rm -rf _build _src _tags api flytectl flytekit flytesnacks protos examples tests _projects diff --git a/docs/_ext/import_projects.py b/docs/_ext/import_projects.py index da551ae3748..7cd53199218 100644 --- a/docs/_ext/import_projects.py +++ b/docs/_ext/import_projects.py @@ -1,5 +1,4 @@ import inspect -import os import re import shutil import subprocess @@ -83,27 +82,23 @@ def parse(self): def update_sys_path_for_flytekit(import_project_config: ImportProjectsConfig): + flytekit_dir = Path(import_project_config.flytekit_api_dir).resolve(strict=True) + flytekit_src_dir = flytekit_dir / "flytekit" + plugins_dir = flytekit_dir / "plugins" + # create flytekit/_version.py file manually - with open( - f"{import_project_config.flytekit_api_dir}/flytekit/_version.py", "w" - ) as f: + with (flytekit_src_dir / "_version.py").open("w") as f: f.write(f'__version__ = "dev"') # add flytekit to python path - flytekit_dir = os.path.abspath(import_project_config.flytekit_api_dir) - flytekit_src_dir = os.path.abspath(os.path.join(flytekit_dir, "flytekit")) - plugins_dir = os.path.abspath(os.path.join(flytekit_dir, "plugins")) - - sys.path.insert(0, flytekit_src_dir) - sys.path.insert(0, flytekit_dir) + sys.path.insert(0, str(flytekit_src_dir)) + sys.path.insert(0, str(flytekit_dir)) # add plugins to python path - for possible_plugin_dir in os.listdir(plugins_dir): - dir_path = os.path.abspath((os.path.join(plugins_dir, possible_plugin_dir))) - plugin_path = os.path.abspath(os.path.join(dir_path, "flytekitplugins")) - if os.path.isdir(dir_path) and os.path.exists(plugin_path): - sys.path.insert(0, dir_path) - + for possible_plugin_dir in plugins_dir.iterdir(): + plugin_path = possible_plugin_dir / "flytekitplugins" + if possible_plugin_dir.is_dir() and plugin_path.exists(): + sys.path.insert(0, str(possible_plugin_dir)) def update_html_context(project: Project, tag: str, commit: str, config: Config): tag_url = "#" if tag == "dev" else f"{project.source}/releases/tag/{tag}" diff --git a/docs/_static/custom.css b/docs/_static/custom.css index f9687a7b155..ef4e90b2068 100644 --- a/docs/_static/custom.css +++ b/docs/_static/custom.css @@ -36,3 +36,14 @@ table { width: 100%; box-shadow: none !important; } + +.sidebar-container, .toc-drawer { + width: 22em; + padding-right: 0; +} + +@media (max-width: 82em) { + .toc-drawer { + right: -22em; + } +} diff --git a/docs/_static/custom.js b/docs/_static/custom.js new file mode 100644 index 00000000000..7b974aa3bb2 --- /dev/null +++ b/docs/_static/custom.js @@ -0,0 +1,111 @@ +// Add event listener for DOMContentLoaded event +window.addEventListener("DOMContentLoaded", function() { + // Select all elements with class "external" + var externalLinks = document.querySelectorAll("a.external"); + + // Loop through each element with class "external" + externalLinks.forEach(function(link) { + // Set the target attribute to "_blank" + link.setAttribute("target", "_blank"); + }); +}); + +// This function was adapted from pydata-sphinx-theme +// https://github.com/pydata/pydata-sphinx-theme/blob/733d9f3264020c8a5bd3dde38f3ee3e5cdb2979a/src/pydata_sphinx_theme/assets/scripts/pydata-sphinx-theme.js#L133-L175 +function scrollToActive() { + // If the docs nav doesn't exist, do nothing (e.g., on search page) + if (!document.querySelector(".sidebar-scroll")) { + return; + } + + var sidebar = document.querySelector("div.sidebar-scroll"); + + // Remember the sidebar scroll position between page loads + // Inspired on source of revealjs.com + let storedScrollTop = parseInt( + sessionStorage.getItem("sidebar-scroll-top"), + 10 + ); + + if (!isNaN(storedScrollTop)) { + // If we've got a saved scroll position, just use that + sidebar.scrollTop = storedScrollTop; + console.log("Scrolled sidebar using stored browser position..."); + } else { + // Otherwise, calculate a position to scroll to based on the lowest `active` link + var sidebarNav = document.querySelector(".sidebar-scroll"); + var active_pages = sidebarNav.querySelectorAll(".current-page"); + if (active_pages.length > 0) { + // Use the last active page as the offset since it's the page we're on + var latest_active = active_pages[active_pages.length - 1]; + var offset = + latest_active.getBoundingClientRect().y - + sidebar.getBoundingClientRect().y; + // Only scroll the navbar if the active link is lower than 50% of the page + if (latest_active.getBoundingClientRect().y > window.innerHeight * 0.5) { + let buffer = 0.25; // Buffer so we have some space above the scrolled item + sidebar.scrollTop = offset - sidebar.clientHeight * buffer; + console.log("Scrolled sidebar using last active link..."); + } + } + } + + setTimeout(function() { + // sidebar is hidden by default, so we need to make it visible + // after scrolling. This prevents the scrollbar from jittering when + // the page loads. + console.log("Sidebar is now visible...") + sidebar.style.visibility = "visible"; + }, 10); + + // Store the sidebar scroll position + window.addEventListener("beforeunload", () => { + sessionStorage.setItem("sidebar-scroll-top", sidebar.scrollTop); + }); +} + + +function setHtmlDataTheme() { + // Set theme at the root html element + setTimeout(() => { + const theme = document.body.dataset.theme; + const prefersDark = window.matchMedia("(prefers-color-scheme: dark)").matches; + + if (theme === "auto") { + document.documentElement.dataset.theme = prefersDark ? "dark" : "light"; + } else { + document.documentElement.dataset.theme = theme; + } + }, 10) +} + + +function setupAlgoliaTheme() { + // To get darkmode in the algolia search modal, we need to set the theme in + // the root html element. This function propagates the theme set by furo + // that's set in the body element. + const buttons = document.getElementsByClassName("theme-toggle"); + + // set for initial document load + setHtmlDataTheme(); + + // listen for when theme button is clicked. + Array.from(buttons).forEach((btn) => { + btn.addEventListener("click", setHtmlDataTheme); + }); +} + + +function main() { + scrollToActive() + setupAlgoliaTheme() +} + +document.addEventListener('DOMContentLoaded', main); +window.addEventListener('keydown', (event) => { + if (event.code === "Escape") { + // make sure to prevent default behavior with escape key so that algolia + // modal can be closed properly. + event.preventDefault(); + } +}); diff --git a/docs/_static/flyte.css b/docs/_static/flyte.css index 6071b8ab515..3a537e177cb 100644 --- a/docs/_static/flyte.css +++ b/docs/_static/flyte.css @@ -10,6 +10,7 @@ h6 { .sidebar-scroll { scroll-behavior: auto; + visibility: hidden; } .sidebar-tree ul:first-child li:not(:last-child) { diff --git a/docs/_templates/base.html b/docs/_templates/base.html index f3c5ef1a498..48812b322e6 100644 --- a/docs/_templates/base.html +++ b/docs/_templates/base.html @@ -1,6 +1,13 @@ + + + {%- block site_meta -%} @@ -98,8 +105,18 @@ } }); + +