zrb 0.23.4__py3-none-any.whl → 0.24.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- zrb/__init__.py +2 -0
- zrb/action/runner.py +6 -5
- zrb/advertisement.py +1 -2
- zrb/builtin/base64/decode.py +1 -1
- zrb/builtin/base64/encode.py +1 -1
- zrb/builtin/devtool/install/_helper.py +2 -1
- zrb/builtin/devtool/install/_input.py +2 -2
- zrb/builtin/env/get.py +3 -2
- zrb/builtin/eval.py +2 -1
- zrb/builtin/git/get_file_changes.py +2 -1
- zrb/builtin/md5/hash.py +1 -1
- zrb/builtin/md5/sum.py +1 -1
- zrb/builtin/project/_helper.py +3 -3
- zrb/builtin/project/add/app/generator/generator.py +1 -1
- zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/snake_zrb_generator_name/snake_zrb_generator_name.py +1 -1
- zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/snake_zrb_generator_name/template/_automate/snake_zrb_app_name/container/remove.py +1 -1
- zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/snake_zrb_generator_name/template/_automate/snake_zrb_app_name/container/start.py +6 -7
- zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/snake_zrb_generator_name/template/_automate/snake_zrb_app_name/container/stop.py +1 -1
- zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/snake_zrb_generator_name/template/src/kebab-zrb-app-name/docker-compose.yml +0 -2
- zrb/builtin/project/add/app/python/python.py +1 -1
- zrb/builtin/project/add/app/python/template/_automate/snake_zrb_app_name/container/remove.py +1 -1
- zrb/builtin/project/add/app/python/template/_automate/snake_zrb_app_name/container/start.py +6 -7
- zrb/builtin/project/add/app/python/template/_automate/snake_zrb_app_name/container/stop.py +1 -1
- zrb/builtin/project/add/app/python/template/src/kebab-zrb-app-name/docker-compose.yml +0 -2
- zrb/builtin/project/add/fastapp/app/app.py +3 -1
- zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/_helper.py +2 -53
- zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/_service_config.py +1 -1
- zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/microservices/_helper.py +2 -2
- zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/microservices/start.py +5 -6
- zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/monolith/_helper.py +2 -2
- zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/monolith/start.py +5 -6
- zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/support/_helper.py +5 -3
- zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/support/start.py +4 -6
- zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/frontend/build-once.sh +1 -1
- zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/frontend/build.sh +1 -1
- zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/microservices/_helper.py +3 -5
- zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/microservices/start.py +3 -3
- zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/microservices/{start_microservices.py → start_services.py} +2 -3
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/.generator-version +1 -0
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/deployment/_common.py +5 -5
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/deployment/app_helper.py +5 -5
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/docker-compose.yml +2 -2
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/loadtest/locustfile.py +1 -3
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/loadtest/template.env +1 -1
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/component/error.py +2 -1
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/component/messagebus/kafka/admin.py +4 -3
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/component/messagebus/kafka/consumer.py +2 -1
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/component/messagebus/messagebus.py +4 -3
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/component/messagebus/mock.py +4 -3
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/component/messagebus/rabbitmq/admin.py +4 -3
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/component/messagebus/rabbitmq/consumer.py +3 -2
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/component/model/repo_model.py +3 -3
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/component/repo/db_repo.py +7 -6
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/component/repo/repo.py +2 -2
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/component/repo/search_filter.py +2 -1
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/component/rpc/messagebus/caller.py +2 -1
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/component/rpc/messagebus/server.py +2 -1
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/component/rpc/rpc.py +3 -2
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/component/serializer/serializer.py +2 -1
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/config.py +59 -62
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/helper/async_task.py +1 -1
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/integration/app/app.py +28 -28
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/integration/app/app_lifespan.py +15 -15
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/integration/app/app_state.py +2 -2
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/integration/db_connection.py +14 -2
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/integration/frontend_index.py +2 -2
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/integration/log.py +6 -6
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/integration/messagebus.py +33 -33
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/integration/rpc.py +9 -9
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/component/access_token/scheme.py +2 -1
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/component/access_token/util.py +2 -1
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/entity/group/repo.py +2 -1
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/entity/group/rpc.py +2 -1
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/entity/permission/rpc.py +2 -1
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/entity/user/api.py +2 -1
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/entity/user/model.py +3 -2
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/entity/user/repo.py +3 -2
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/entity/user/rpc.py +3 -2
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/integration/access_token_scheme.py +2 -2
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/integration/access_token_util.py +7 -7
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/integration/model/user_model.py +6 -6
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/integration/refresh_token_util.py +7 -7
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/integration/user.py +18 -18
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/migrate.py +2 -2
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/register_module.py +8 -8
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/register_permission.py +2 -2
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/schema/group.py +3 -5
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/schema/permission.py +1 -3
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/schema/request.py +1 -3
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/schema/user.py +5 -7
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/log/entity/activity/event.py +2 -1
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/log/entity/activity/rpc.py +2 -1
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/log/migrate.py +2 -2
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/log/register_module.py +8 -8
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/log/schema/activity.py +1 -3
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/template.env +5 -2
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/test/auth/test_group_crud.py +8 -8
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/test/auth/test_permission_crud.py +8 -8
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/test/auth/test_user_crud.py +8 -8
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/test/auth/test_user_login.py +15 -15
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/test/test_liveness_and_readiness.py +4 -4
- zrb/builtin/project/add/fastapp/crud/_helper/__init__.py +7 -0
- zrb/builtin/project/add/fastapp/crud/_helper/_common.py +8 -0
- zrb/builtin/project/add/fastapp/crud/_helper/register_api.py +45 -0
- zrb/builtin/project/add/fastapp/crud/_helper/register_permission.py +40 -0
- zrb/builtin/project/add/fastapp/crud/_helper/register_rpc.py +45 -0
- zrb/builtin/project/add/fastapp/crud/_task_factory.py +1 -2
- zrb/builtin/project/add/fastapp/crud/crud.py +4 -25
- zrb/builtin/project/add/fastapp/crud/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/entity/snake_zrb_entity_name/repo.py +12 -1
- zrb/builtin/project/add/fastapp/crud/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/entity/snake_zrb_entity_name/rpc.py +2 -1
- zrb/builtin/project/add/fastapp/crud/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/schema/snake_zrb_entity_name.py +3 -2
- zrb/builtin/project/add/fastapp/crud/template/src/kebab-zrb-app-name/test/snake_zrb_module_name/test_snake_zrb_entity_name.py +9 -8
- zrb/builtin/project/add/fastapp/field/_helper/__init__.py +17 -0
- zrb/builtin/project/add/fastapp/field/_helper/_common.py +102 -0
- zrb/builtin/project/add/fastapp/field/_helper/inject_delete_page.py +49 -0
- zrb/builtin/project/add/fastapp/field/_helper/inject_detail_page.py +49 -0
- zrb/builtin/project/add/fastapp/field/_helper/inject_insert_page.py +62 -0
- zrb/builtin/project/add/fastapp/field/_helper/inject_list_page.py +47 -0
- zrb/builtin/project/add/fastapp/field/_helper/inject_repo.py +47 -0
- zrb/builtin/project/add/fastapp/field/_helper/inject_schema.py +45 -0
- zrb/builtin/project/add/fastapp/field/_helper/inject_test.py +49 -0
- zrb/builtin/project/add/fastapp/field/_helper/inject_update_page.py +50 -0
- zrb/builtin/project/add/fastapp/field/_input.py +14 -2
- zrb/builtin/project/add/fastapp/field/field.py +52 -70
- zrb/builtin/project/add/fastapp/module/_helper/__init__.py +17 -0
- zrb/builtin/project/add/fastapp/module/_helper/append_all_disabled_env.py +22 -0
- zrb/builtin/project/add/fastapp/module/_helper/append_all_enabled_env.py +22 -0
- zrb/builtin/project/add/fastapp/module/_helper/append_deployment_template_env.py +25 -0
- zrb/builtin/project/add/fastapp/module/_helper/append_src_template_env.py +25 -0
- zrb/builtin/project/add/fastapp/module/_helper/create_app_config.py +29 -0
- zrb/builtin/project/add/fastapp/module/_helper/create_microservice_config.py +157 -0
- zrb/builtin/project/add/fastapp/module/_helper/register_migration.py +35 -0
- zrb/builtin/project/add/fastapp/module/_helper/register_module.py +33 -0
- zrb/builtin/project/add/fastapp/module/module.py +9 -38
- zrb/builtin/project/add/fastapp/module/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/migrate.py +2 -2
- zrb/builtin/project/add/fastapp/module/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/register_module.py +8 -8
- zrb/builtin/project/add/plugin/plugin.py +3 -3
- zrb/builtin/project/add/project_task/add.py +1 -1
- zrb/builtin/project/add/project_task/template/_automate/_project/build.py +2 -1
- zrb/builtin/project/add/project_task/template/_automate/_project/container/remove.py +2 -1
- zrb/builtin/project/add/project_task/template/_automate/_project/container/start.py +2 -1
- zrb/builtin/project/add/project_task/template/_automate/_project/container/stop.py +2 -1
- zrb/builtin/project/add/project_task/template/_automate/_project/deploy.py +2 -1
- zrb/builtin/project/add/project_task/template/_automate/_project/destroy.py +2 -1
- zrb/builtin/project/add/project_task/template/_automate/_project/get_env.py +2 -1
- zrb/builtin/project/add/project_task/template/_automate/_project/image/build.py +2 -1
- zrb/builtin/project/add/project_task/template/_automate/_project/image/push.py +2 -1
- zrb/builtin/project/add/project_task/template/_automate/_project/publish.py +2 -1
- zrb/builtin/project/add/project_task/template/_automate/_project/start.py +2 -1
- zrb/builtin/project/add/task/cmd/add.py +1 -1
- zrb/builtin/project/add/task/docker_compose/add.py +1 -1
- zrb/builtin/project/add/task/docker_compose/template/src/kebab-zrb-task-name/docker-compose.yml +0 -2
- zrb/builtin/project/add/task/python/add.py +1 -1
- zrb/builtin/project/add/task/python/template/_automate/snake_zrb_task_name.py +1 -1
- zrb/builtin/project/create/_helper.py +1 -1
- zrb/builtin/project/create/create.py +3 -3
- zrb/builtin/say.py +3 -3
- zrb/builtin/version.py +5 -4
- zrb/config/config.py +14 -14
- zrb/helper/accessories/color.py +2 -1
- zrb/helper/advertisement.py +2 -1
- zrb/helper/callable.py +4 -1
- zrb/helper/cli.py +4 -4
- zrb/helper/codemod/add_import_module.py +3 -2
- zrb/helper/codemod/add_property_to_class.py +2 -1
- zrb/helper/default_env.py +2 -1
- zrb/helper/docker_compose/fetch_external_env.py +4 -2
- zrb/helper/docker_compose/file.py +3 -1
- zrb/helper/env_map/fetch.py +3 -2
- zrb/helper/file/copy_tree.py +2 -1
- zrb/helper/file/match.py +2 -2
- zrb/helper/git/detect_changes.py +1 -1
- zrb/helper/log.py +3 -3
- zrb/helper/map/conversion.py +3 -1
- zrb/helper/string/jinja.py +2 -1
- zrb/helper/string/parse_replacement.py +1 -1
- zrb/helper/typecheck.py +2 -2
- zrb/helper/typing.py +5 -27
- zrb/helper/util.py +13 -1
- zrb/runner.py +2 -2
- zrb/task/any_task.py +9 -17
- zrb/task/any_task_event_handler.py +3 -1
- zrb/task/base_remote_cmd_task.py +3 -10
- zrb/task/base_task/base_task.py +12 -11
- zrb/task/base_task/component/base_task_model.py +15 -22
- zrb/task/base_task/component/common_task_model.py +15 -22
- zrb/task/base_task/component/renderer.py +3 -1
- zrb/task/base_task/component/trackers.py +1 -1
- zrb/task/checker.py +2 -1
- zrb/task/cmd_task.py +8 -15
- zrb/task/decorator.py +3 -1
- zrb/task/docker_compose_start_task.py +146 -0
- zrb/task/docker_compose_task.py +43 -34
- zrb/task/flow_task.py +19 -17
- zrb/task/http_checker.py +3 -9
- zrb/task/looper.py +4 -2
- zrb/task/notifier.py +3 -1
- zrb/task/parallel.py +4 -4
- zrb/task/path_checker.py +6 -12
- zrb/task/path_watcher.py +5 -13
- zrb/task/port_checker.py +3 -9
- zrb/task/recurring_task.py +5 -4
- zrb/task/remote_cmd_task.py +2 -1
- zrb/task/resource_maker.py +6 -13
- zrb/task/rsync_task.py +3 -1
- zrb/task/server.py +13 -12
- zrb/task/time_watcher.py +3 -10
- zrb/task/watcher.py +2 -1
- zrb/task/wiki_task.py +4 -3
- zrb/task_env/env.py +2 -1
- zrb/task_env/env_file.py +7 -6
- zrb/task_group/group.py +8 -7
- zrb/task_input/any_input.py +4 -3
- zrb/task_input/base_input.py +7 -5
- zrb/task_input/bool_input.py +2 -1
- zrb/task_input/choice_input.py +3 -1
- zrb/task_input/float_input.py +2 -1
- zrb/task_input/int_input.py +2 -1
- zrb/task_input/multiline_input.py +5 -3
- zrb/task_input/password_input.py +2 -1
- zrb/task_input/str_input.py +2 -1
- {zrb-0.23.4.dist-info → zrb-0.24.1.dist-info}/METADATA +2 -2
- {zrb-0.23.4.dist-info → zrb-0.24.1.dist-info}/RECORD +226 -208
- zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/snake_zrb_generator_name/template/_automate/snake_zrb_app_name/container/init.py +0 -34
- zrb/builtin/project/add/app/python/template/_automate/snake_zrb_app_name/container/init.py +0 -34
- zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/microservices/init.py +0 -36
- zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/monolith/init.py +0 -36
- zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/support/init.py +0 -26
- zrb/builtin/project/add/fastapp/crud/_helper.py +0 -118
- zrb/builtin/project/add/fastapp/field/_helper.py +0 -328
- zrb/builtin/project/add/fastapp/module/_helper.py +0 -313
- {zrb-0.23.4.dist-info → zrb-0.24.1.dist-info}/LICENSE +0 -0
- {zrb-0.23.4.dist-info → zrb-0.24.1.dist-info}/WHEEL +0 -0
- {zrb-0.23.4.dist-info → zrb-0.24.1.dist-info}/entry_points.txt +0 -0
zrb/__init__.py
CHANGED
@@ -14,6 +14,7 @@ from zrb.task.base_remote_cmd_task import BaseRemoteCmdTask, RemoteConfig
|
|
14
14
|
from zrb.task.checker import Checker
|
15
15
|
from zrb.task.cmd_task import CmdTask
|
16
16
|
from zrb.task.decorator import python_task
|
17
|
+
from zrb.task.docker_compose_start_task import DockerComposeStartTask
|
17
18
|
from zrb.task.docker_compose_task import DockerComposeTask, ServiceConfig
|
18
19
|
from zrb.task.flow_task import FlowTask
|
19
20
|
from zrb.task.http_checker import HTTPChecker
|
@@ -66,6 +67,7 @@ assert python_task
|
|
66
67
|
assert Task
|
67
68
|
assert CmdTask
|
68
69
|
assert DockerComposeTask
|
70
|
+
assert DockerComposeStartTask
|
69
71
|
assert ServiceConfig
|
70
72
|
assert BaseRemoteCmdTask
|
71
73
|
assert RemoteConfig
|
zrb/action/runner.py
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
import sys
|
2
|
+
from collections.abc import Callable
|
3
|
+
from typing import Any, Union
|
2
4
|
|
3
5
|
import click
|
4
6
|
|
5
7
|
from zrb.helper.accessories.color import colored
|
6
8
|
from zrb.helper.log import logger
|
7
9
|
from zrb.helper.typecheck import typechecked
|
8
|
-
from zrb.helper.typing import Any, Callable, List, Mapping, Union
|
9
10
|
from zrb.task.any_task import AnyTask
|
10
11
|
from zrb.task_group.group import Group as TaskGroup
|
11
12
|
|
@@ -24,11 +25,11 @@ class Runner:
|
|
24
25
|
def __init__(self, env_prefix: str = ""):
|
25
26
|
logger.info(colored("Create runner", attrs=["dark"]))
|
26
27
|
self.__env_prefix = env_prefix
|
27
|
-
self.__tasks:
|
28
|
+
self.__tasks: list[AnyTask] = []
|
28
29
|
self.__registered_groups: Mapping[str, click.Group] = {}
|
29
|
-
self.__top_levels:
|
30
|
-
self.__subcommands: Mapping[str,
|
31
|
-
self.__registered_task_cli_name:
|
30
|
+
self.__top_levels: list[CliSubcommand] = []
|
31
|
+
self.__subcommands: Mapping[str, list[click.Group]] = {}
|
32
|
+
self.__registered_task_cli_name: list[str] = []
|
32
33
|
logger.info(colored("Runner created", attrs=["dark"]))
|
33
34
|
|
34
35
|
def register(self, *tasks: AnyTask):
|
zrb/advertisement.py
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
from zrb.helper.accessories.color import colored
|
2
2
|
from zrb.helper.advertisement import Advertisement
|
3
3
|
from zrb.helper.log import logger
|
4
|
-
from zrb.helper.typing import List
|
5
4
|
|
6
5
|
logger.debug(colored("Loading zrb.advertisement", attrs=["dark"]))
|
7
6
|
|
8
7
|
# flake8: noqa E501
|
9
8
|
|
10
|
-
advertisements:
|
9
|
+
advertisements: list[Advertisement] = [
|
11
10
|
Advertisement(
|
12
11
|
content="\n".join(
|
13
12
|
[
|
zrb/builtin/base64/decode.py
CHANGED
zrb/builtin/base64/encode.py
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
import os
|
2
|
+
from collections.abc import Callable
|
3
|
+
from typing import Any
|
2
4
|
|
3
5
|
from zrb.helper.file.text import read_text_file_async, write_text_file_async
|
4
6
|
from zrb.helper.typecheck import typechecked
|
5
|
-
from zrb.helper.typing import Any, Callable
|
6
7
|
from zrb.task.task import Task
|
7
8
|
|
8
9
|
|
@@ -1,9 +1,9 @@
|
|
1
|
-
from zrb.config.config import
|
1
|
+
from zrb.config.config import DEFAULT_SHELL
|
2
2
|
from zrb.task_input.str_input import StrInput
|
3
3
|
|
4
4
|
terminal_config_file_input = StrInput(
|
5
5
|
name="config-file",
|
6
6
|
shortcut="c",
|
7
7
|
prompt="Config file",
|
8
|
-
default="~/.zshrc" if
|
8
|
+
default="~/.zshrc" if DEFAULT_SHELL == "zsh" else "~/.bashrc",
|
9
9
|
)
|
zrb/builtin/env/get.py
CHANGED
@@ -1,6 +1,7 @@
|
|
1
|
+
from typing import Any
|
2
|
+
|
1
3
|
from zrb.builtin.env._group import env_group
|
2
4
|
from zrb.helper.accessories.color import colored
|
3
|
-
from zrb.helper.typing import Any, List
|
4
5
|
from zrb.runner import runner
|
5
6
|
from zrb.task.decorator import python_task
|
6
7
|
from zrb.task.task import Task
|
@@ -15,7 +16,7 @@ async def get_env(*args: Any, **kwargs: Any):
|
|
15
16
|
names = list(env_map.keys())
|
16
17
|
names.sort()
|
17
18
|
colored_equal = colored("=", color="grey", attrs=["dark"])
|
18
|
-
env_lines:
|
19
|
+
env_lines: list[str] = []
|
19
20
|
for name in names:
|
20
21
|
value = env_map[name]
|
21
22
|
colored_name = colored(name, color="green", attrs=["bold"])
|
zrb/builtin/eval.py
CHANGED
@@ -1,8 +1,9 @@
|
|
1
|
+
from typing import Any
|
2
|
+
|
1
3
|
from zrb.builtin.git._group import git_group
|
2
4
|
from zrb.helper.accessories.color import colored
|
3
5
|
from zrb.helper.git.detect_changes import get_modified_file_states
|
4
6
|
from zrb.helper.task import show_lines
|
5
|
-
from zrb.helper.typing import Any
|
6
7
|
from zrb.runner import runner
|
7
8
|
from zrb.task.decorator import python_task
|
8
9
|
from zrb.task_input.bool_input import BoolInput
|
zrb/builtin/md5/hash.py
CHANGED
zrb/builtin/md5/sum.py
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
import hashlib
|
2
|
+
from typing import Any
|
2
3
|
|
3
4
|
import aiofiles
|
4
5
|
|
5
6
|
from zrb.builtin.md5._group import md5_group
|
6
|
-
from zrb.helper.typing import Any
|
7
7
|
from zrb.runner import runner
|
8
8
|
from zrb.task.decorator import python_task
|
9
9
|
from zrb.task_input.str_input import StrInput
|
zrb/builtin/project/_helper.py
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
import os
|
2
|
+
from typing import Any, Optional
|
2
3
|
|
3
4
|
from zrb.builtin.project._input import project_dir_input
|
4
5
|
from zrb.helper import util
|
@@ -7,7 +8,6 @@ from zrb.helper.codemod.add_assert_resource import add_assert_resource
|
|
7
8
|
from zrb.helper.codemod.add_import_module import add_import_module
|
8
9
|
from zrb.helper.file.text import read_text_file_async, write_text_file_async
|
9
10
|
from zrb.helper.typecheck import typechecked
|
10
|
-
from zrb.helper.typing import Any, List, Optional
|
11
11
|
from zrb.task.any_task import AnyTask
|
12
12
|
from zrb.task.decorator import python_task
|
13
13
|
from zrb.task.task import Task
|
@@ -61,8 +61,8 @@ async def register_module_to_project(
|
|
61
61
|
@typechecked
|
62
62
|
def create_register_module(
|
63
63
|
module_path: str,
|
64
|
-
inputs: Optional[
|
65
|
-
upstreams: Optional[
|
64
|
+
inputs: Optional[list[AnyInput]] = None,
|
65
|
+
upstreams: Optional[list[AnyTask]] = None,
|
66
66
|
alias: Optional[str] = None,
|
67
67
|
task_name: str = "register-module",
|
68
68
|
) -> Task:
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import os
|
2
|
+
from typing import Any
|
2
3
|
|
3
4
|
from zrb.builtin.project._helper import validate_existing_project_dir
|
4
5
|
from zrb.builtin.project._input import project_dir_input
|
@@ -13,7 +14,6 @@ from zrb.builtin.project.add.app.generator._input import (
|
|
13
14
|
from zrb.helper.accessories.color import colored
|
14
15
|
from zrb.helper.codemod.add_assert_resource import add_assert_resource
|
15
16
|
from zrb.helper.codemod.add_import_module import add_import_module
|
16
|
-
from zrb.helper.typing import Any
|
17
17
|
from zrb.helper.util import to_kebab_case, to_snake_case
|
18
18
|
from zrb.runner import runner
|
19
19
|
from zrb.task.decorator import python_task
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import os
|
2
|
+
from typing import Any
|
2
3
|
|
3
4
|
from zrb.builtin.project._helper import (
|
4
5
|
create_register_module,
|
@@ -8,7 +9,6 @@ from zrb.builtin.project._helper import (
|
|
8
9
|
from zrb.builtin.project._input import project_dir_input
|
9
10
|
from zrb.builtin.project.add.app._group import project_add_app_group
|
10
11
|
from zrb.helper.accessories.color import colored
|
11
|
-
from zrb.helper.typing import Any
|
12
12
|
from zrb.helper.util import to_kebab_case
|
13
13
|
from zrb.runner import runner
|
14
14
|
from zrb.task.decorator import python_task
|
@@ -15,7 +15,7 @@ remove_snake_zrb_app_name_container = DockerComposeTask(
|
|
15
15
|
cwd=RESOURCE_DIR,
|
16
16
|
compose_cmd="down",
|
17
17
|
compose_env_prefix="CONTAINER_ZRB_ENV_PREFIX",
|
18
|
-
compose_service_configs={"
|
18
|
+
compose_service_configs={"kebab-zrb-app-name": snake_zrb_app_name_service_config},
|
19
19
|
env_files=[compose_env_file],
|
20
20
|
envs=[
|
21
21
|
image_env,
|
@@ -1,16 +1,17 @@
|
|
1
|
-
from zrb import
|
1
|
+
from zrb import DockerComposeStartTask, HTTPChecker, runner
|
2
2
|
|
3
3
|
from ..._project import start_project_containers
|
4
4
|
from .._constant import RESOURCE_DIR
|
5
5
|
from .._input import host_input, https_input, local_input
|
6
|
+
from ..image import build_snake_zrb_app_name_image
|
6
7
|
from ..image._env import image_env
|
7
8
|
from ..image._input import image_input
|
8
9
|
from ._env import compose_env_file, host_port_env
|
9
10
|
from ._group import snake_zrb_app_name_container_group
|
10
11
|
from ._service_config import snake_zrb_app_name_service_config
|
11
|
-
from .
|
12
|
+
from .remove import remove_snake_zrb_app_name_container
|
12
13
|
|
13
|
-
start_snake_zrb_app_name_container =
|
14
|
+
start_snake_zrb_app_name_container = DockerComposeStartTask(
|
14
15
|
icon="🐳",
|
15
16
|
name="start",
|
16
17
|
description="Start human readable zrb app name container",
|
@@ -22,12 +23,10 @@ start_snake_zrb_app_name_container = DockerComposeTask(
|
|
22
23
|
image_input,
|
23
24
|
],
|
24
25
|
should_execute="{{ input.local_snake_zrb_app_name}}",
|
25
|
-
upstreams=[
|
26
|
+
upstreams=[build_snake_zrb_app_name_image, remove_snake_zrb_app_name_container],
|
26
27
|
cwd=RESOURCE_DIR,
|
27
|
-
compose_cmd="logs",
|
28
|
-
compose_flags=["-f"],
|
29
28
|
compose_env_prefix="CONTAINER_ZRB_ENV_PREFIX",
|
30
|
-
compose_service_configs={"
|
29
|
+
compose_service_configs={"kebab-zrb-app-name": snake_zrb_app_name_service_config},
|
31
30
|
env_files=[compose_env_file],
|
32
31
|
envs=[
|
33
32
|
image_env,
|
@@ -15,7 +15,7 @@ stop_snake_zrb_app_name_container = DockerComposeTask(
|
|
15
15
|
cwd=RESOURCE_DIR,
|
16
16
|
compose_cmd="stop",
|
17
17
|
compose_env_prefix="CONTAINER_ZRB_ENV_PREFIX",
|
18
|
-
compose_service_configs={"
|
18
|
+
compose_service_configs={"kebab-zrb-app-name": snake_zrb_app_name_service_config},
|
19
19
|
env_files=[compose_env_file],
|
20
20
|
envs=[
|
21
21
|
image_env,
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import os
|
2
|
+
from typing import Any
|
2
3
|
|
3
4
|
from zrb.builtin.project._helper import (
|
4
5
|
create_register_module,
|
@@ -17,7 +18,6 @@ from zrb.builtin.project.add.app.python._input import (
|
|
17
18
|
http_port_input,
|
18
19
|
)
|
19
20
|
from zrb.helper.accessories.color import colored
|
20
|
-
from zrb.helper.typing import Any
|
21
21
|
from zrb.helper.util import to_kebab_case
|
22
22
|
from zrb.runner import runner
|
23
23
|
from zrb.task.decorator import python_task
|
zrb/builtin/project/add/app/python/template/_automate/snake_zrb_app_name/container/remove.py
CHANGED
@@ -15,7 +15,7 @@ remove_snake_zrb_app_name_container = DockerComposeTask(
|
|
15
15
|
cwd=RESOURCE_DIR,
|
16
16
|
compose_cmd="down",
|
17
17
|
compose_env_prefix="CONTAINER_ZRB_ENV_PREFIX",
|
18
|
-
compose_service_configs={"
|
18
|
+
compose_service_configs={"kebab-zrb-app-name": snake_zrb_app_name_service_config},
|
19
19
|
env_files=[compose_env_file],
|
20
20
|
envs=[
|
21
21
|
image_env,
|
@@ -1,16 +1,17 @@
|
|
1
|
-
from zrb import
|
1
|
+
from zrb import DockerComposeStartTask, HTTPChecker, runner
|
2
2
|
|
3
3
|
from ..._project import start_project_containers
|
4
4
|
from .._constant import RESOURCE_DIR
|
5
5
|
from .._input import host_input, https_input, local_input
|
6
|
+
from ..image import build_snake_zrb_app_name_image
|
6
7
|
from ..image._env import image_env
|
7
8
|
from ..image._input import image_input
|
8
9
|
from ._env import compose_env_file, host_port_env
|
9
10
|
from ._group import snake_zrb_app_name_container_group
|
10
11
|
from ._service_config import snake_zrb_app_name_service_config
|
11
|
-
from .
|
12
|
+
from .remove import remove_snake_zrb_app_name_container
|
12
13
|
|
13
|
-
start_snake_zrb_app_name_container =
|
14
|
+
start_snake_zrb_app_name_container = DockerComposeStartTask(
|
14
15
|
icon="🐳",
|
15
16
|
name="start",
|
16
17
|
description="Start human readable zrb app name container",
|
@@ -22,12 +23,10 @@ start_snake_zrb_app_name_container = DockerComposeTask(
|
|
22
23
|
image_input,
|
23
24
|
],
|
24
25
|
should_execute="{{ input.local_snake_zrb_app_name}}",
|
25
|
-
upstreams=[
|
26
|
+
upstreams=[build_snake_zrb_app_name_image, remove_snake_zrb_app_name_container],
|
26
27
|
cwd=RESOURCE_DIR,
|
27
|
-
compose_cmd="logs",
|
28
|
-
compose_flags=["-f"],
|
29
28
|
compose_env_prefix="CONTAINER_ZRB_ENV_PREFIX",
|
30
|
-
compose_service_configs={"
|
29
|
+
compose_service_configs={"kebab-zrb-app-name": snake_zrb_app_name_service_config},
|
31
30
|
env_files=[compose_env_file],
|
32
31
|
envs=[
|
33
32
|
image_env,
|
@@ -15,7 +15,7 @@ stop_snake_zrb_app_name_container = DockerComposeTask(
|
|
15
15
|
cwd=RESOURCE_DIR,
|
16
16
|
compose_cmd="stop",
|
17
17
|
compose_env_prefix="CONTAINER_ZRB_ENV_PREFIX",
|
18
|
-
compose_service_configs={"
|
18
|
+
compose_service_configs={"kebab-zrb-app-name": snake_zrb_app_name_service_config},
|
19
19
|
env_files=[compose_env_file],
|
20
20
|
envs=[
|
21
21
|
image_env,
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import os
|
2
|
+
from typing import Any
|
2
3
|
|
3
4
|
from zrb.builtin.project._helper import (
|
4
5
|
create_register_module,
|
@@ -16,8 +17,8 @@ from zrb.builtin.project.add.fastapp.app._input import (
|
|
16
17
|
env_prefix_input,
|
17
18
|
http_port_input,
|
18
19
|
)
|
20
|
+
from zrb.config.config import VERSION
|
19
21
|
from zrb.helper.accessories.color import colored
|
20
|
-
from zrb.helper.typing import Any
|
21
22
|
from zrb.helper.util import to_kebab_case
|
22
23
|
from zrb.runner import runner
|
23
24
|
from zrb.task.decorator import python_task
|
@@ -70,6 +71,7 @@ copy_resource = ResourceMaker(
|
|
70
71
|
"zrb-app-image-name": "{{input.app_image_name}}",
|
71
72
|
"zrbAppHttpAuthPort": '{{util.coalesce(input.http_port, "3001") + 1}}',
|
72
73
|
"zrbAppHttpLogPort": '{{util.coalesce(input.http_port, "3001") + 2}}',
|
74
|
+
"zrbVersion": VERSION,
|
73
75
|
},
|
74
76
|
template_path=os.path.join(_CURRENT_DIR, "template"),
|
75
77
|
destination_path="{{ input.project_dir }}",
|
zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/_helper.py
CHANGED
@@ -1,59 +1,8 @@
|
|
1
|
-
from typing import Any
|
2
|
-
|
3
|
-
from zrb import Task
|
4
|
-
|
5
|
-
|
6
|
-
def get_support_container_compose_profiles(*args: Any, **kwargs: Any) -> List[str]:
|
7
|
-
task: Task = kwargs.get("_task")
|
8
|
-
env_map = task.get_env_map()
|
9
|
-
compose_profiles: List[str] = []
|
10
|
-
broker_type = env_map.get("APP_BROKER_TYPE", "rabbitmq")
|
11
|
-
if broker_type in ["rabbitmq", "kafka"]:
|
12
|
-
compose_profiles.append(broker_type)
|
13
|
-
if kwargs.get("enable_snake_zrb_app_name_monitoring", False):
|
14
|
-
compose_profiles.append("monitoring")
|
15
|
-
return compose_profiles
|
16
|
-
|
17
|
-
|
18
|
-
def get_container_compose_profiles(*args: Any, **kwargs: Any) -> str:
|
19
|
-
compose_profiles = get_support_container_compose_profiles(*args, **kwargs)
|
20
|
-
compose_profiles.append(
|
21
|
-
kwargs.get("snake_zrb_app_name_run_mode", "monolith"),
|
22
|
-
)
|
23
|
-
return compose_profiles
|
24
|
-
|
25
|
-
|
26
|
-
def activate_support_compose_profile(*args: Any, **kwargs: Any) -> str:
|
27
|
-
compose_profiles = get_support_container_compose_profiles(*args, **kwargs)
|
28
|
-
compose_profile_str = ",".join(compose_profiles)
|
29
|
-
return f"export COMPOSE_PROFILES={compose_profile_str}"
|
30
|
-
|
31
|
-
|
32
|
-
def should_start_support_container(*args: Any, **kwargs: Any) -> bool:
|
33
|
-
if not kwargs.get("local_snake_zrb_app_name", True):
|
34
|
-
return False
|
35
|
-
compose_profiles = get_support_container_compose_profiles(*args, **kwargs)
|
36
|
-
return len(compose_profiles) > 0
|
37
|
-
|
38
|
-
|
39
|
-
def should_start_local_monolith(*args: Any, **kwargs: Any) -> bool:
|
40
|
-
if not kwargs.get("local_snake_zrb_app_name", True):
|
41
|
-
return False
|
42
|
-
return kwargs.get("snake_zrb_app_name_run_mode", "monolith") == "monolith"
|
43
|
-
|
44
|
-
|
45
|
-
def activate_selected_compose_profile(*args: Any, **kwargs: Any) -> str:
|
46
|
-
compose_profiles = get_container_compose_profiles(*args, **kwargs)
|
47
|
-
compose_profile_str = ",".join(compose_profiles)
|
48
|
-
return f"export COMPOSE_PROFILES={compose_profile_str}"
|
1
|
+
from typing import Any
|
49
2
|
|
50
3
|
|
51
4
|
def activate_all_compose_profile(*args: Any, **kwargs: Any) -> str:
|
52
5
|
compose_profile_str = ",".join(
|
53
|
-
["monitoring", "monolith", "microservices", "kafka", "rabbitmq"]
|
6
|
+
["monitoring", "monolith", "microservices", "kafka", "postgres", "rabbitmq"]
|
54
7
|
)
|
55
8
|
return f"export COMPOSE_PROFILES={compose_profile_str}"
|
56
|
-
|
57
|
-
|
58
|
-
def should_start_container(*args: Any, **kwargs: Any) -> bool:
|
59
|
-
return kwargs.get("local_snake_zrb_app_name", True)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from typing import Any
|
1
|
+
from typing import Any
|
2
2
|
|
3
3
|
from ..support._helper import get_support_container_compose_profiles
|
4
4
|
|
@@ -18,7 +18,7 @@ def should_start_microservices_container(*args: Any, **kwargs: Any) -> bool:
|
|
18
18
|
|
19
19
|
def _get_microservices_container_compose_profiles(
|
20
20
|
*args: Any, **kwargs: Any
|
21
|
-
) ->
|
21
|
+
) -> list[str]:
|
22
22
|
compose_profiles = get_support_container_compose_profiles(*args, **kwargs)
|
23
23
|
compose_profiles.append("microservices")
|
24
24
|
return compose_profiles
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from zrb import
|
1
|
+
from zrb import DockerComposeStartTask, runner
|
2
2
|
|
3
3
|
from ...._project import start_project_containers
|
4
4
|
from ..._checker import (
|
@@ -13,16 +13,17 @@ from ..._checker import (
|
|
13
13
|
)
|
14
14
|
from ..._constant import PREFER_MICROSERVICES, RESOURCE_DIR
|
15
15
|
from ..._input import host_input, https_input, local_input
|
16
|
+
from ...image import build_snake_zrb_app_name_image
|
16
17
|
from ...image._env import image_env
|
17
18
|
from ...image._input import image_input
|
18
19
|
from .._env import compose_env_file, host_port_env
|
19
20
|
from .._input import enable_monitoring_input
|
20
21
|
from .._service_config import snake_zrb_app_name_service_configs
|
22
|
+
from ..remove import remove_snake_zrb_app_name_container
|
21
23
|
from ._group import snake_zrb_app_name_microservices_container_group
|
22
24
|
from ._helper import activate_microservices_compose_profile
|
23
|
-
from .init import init_snake_zrb_app_name_microservices_container
|
24
25
|
|
25
|
-
start_snake_zrb_app_name_microservices_container =
|
26
|
+
start_snake_zrb_app_name_microservices_container = DockerComposeStartTask(
|
26
27
|
icon="🐳",
|
27
28
|
name="start",
|
28
29
|
description="Start human readable zrb app name container",
|
@@ -35,11 +36,9 @@ start_snake_zrb_app_name_microservices_container = DockerComposeTask(
|
|
35
36
|
image_input,
|
36
37
|
],
|
37
38
|
should_execute="{{ input.local_snake_zrb_app_name}}",
|
38
|
-
upstreams=[
|
39
|
+
upstreams=[build_snake_zrb_app_name_image, remove_snake_zrb_app_name_container],
|
39
40
|
cwd=RESOURCE_DIR,
|
40
41
|
setup_cmd=activate_microservices_compose_profile,
|
41
|
-
compose_cmd="logs",
|
42
|
-
compose_flags=["-f"],
|
43
42
|
compose_env_prefix="CONTAINER_ZRB_ENV_PREFIX",
|
44
43
|
compose_service_configs=snake_zrb_app_name_service_configs,
|
45
44
|
env_files=[compose_env_file],
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from typing import Any
|
1
|
+
from typing import Any
|
2
2
|
|
3
3
|
from ..support._helper import get_support_container_compose_profiles
|
4
4
|
|
@@ -16,7 +16,7 @@ def should_start_monolith_container(*args: Any, **kwargs: Any) -> bool:
|
|
16
16
|
return len(compose_profiles) > 0
|
17
17
|
|
18
18
|
|
19
|
-
def _get_monolith_container_compose_profiles(*args: Any, **kwargs: Any) ->
|
19
|
+
def _get_monolith_container_compose_profiles(*args: Any, **kwargs: Any) -> list[str]:
|
20
20
|
compose_profiles = get_support_container_compose_profiles(*args, **kwargs)
|
21
21
|
compose_profiles.append("monolith")
|
22
22
|
return compose_profiles
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from zrb import
|
1
|
+
from zrb import DockerComposeStartTask, runner
|
2
2
|
|
3
3
|
from ...._project import start_project_containers
|
4
4
|
from ..._checker import (
|
@@ -13,16 +13,17 @@ from ..._checker import (
|
|
13
13
|
)
|
14
14
|
from ..._constant import PREFER_MICROSERVICES, RESOURCE_DIR
|
15
15
|
from ..._input import host_input, https_input, local_input
|
16
|
+
from ...image import build_snake_zrb_app_name_image
|
16
17
|
from ...image._env import image_env
|
17
18
|
from ...image._input import image_input
|
18
19
|
from .._env import compose_env_file, host_port_env
|
19
20
|
from .._input import enable_monitoring_input
|
20
21
|
from .._service_config import snake_zrb_app_name_service_configs
|
22
|
+
from ..remove import remove_snake_zrb_app_name_container
|
21
23
|
from ._group import snake_zrb_app_name_monolith_container_group
|
22
24
|
from ._helper import activate_monolith_compose_profile
|
23
|
-
from .init import init_snake_zrb_app_name_monolith_container
|
24
25
|
|
25
|
-
start_snake_zrb_app_name_monolith_container =
|
26
|
+
start_snake_zrb_app_name_monolith_container = DockerComposeStartTask(
|
26
27
|
icon="🐳",
|
27
28
|
name="start",
|
28
29
|
description="Start human readable zrb app name container",
|
@@ -35,11 +36,9 @@ start_snake_zrb_app_name_monolith_container = DockerComposeTask(
|
|
35
36
|
image_input,
|
36
37
|
],
|
37
38
|
should_execute="{{ input.local_snake_zrb_app_name}}",
|
38
|
-
upstreams=[
|
39
|
+
upstreams=[build_snake_zrb_app_name_image, remove_snake_zrb_app_name_container],
|
39
40
|
cwd=RESOURCE_DIR,
|
40
41
|
setup_cmd=activate_monolith_compose_profile,
|
41
|
-
compose_cmd="logs",
|
42
|
-
compose_flags=["-f"],
|
43
42
|
compose_env_prefix="CONTAINER_ZRB_ENV_PREFIX",
|
44
43
|
compose_service_configs=snake_zrb_app_name_service_configs,
|
45
44
|
env_files=[compose_env_file],
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from typing import Any
|
1
|
+
from typing import Any
|
2
2
|
|
3
3
|
from zrb import Task
|
4
4
|
|
@@ -16,10 +16,12 @@ def should_start_support_container(*args: Any, **kwargs: Any) -> bool:
|
|
16
16
|
return len(compose_profiles) > 0
|
17
17
|
|
18
18
|
|
19
|
-
def get_support_container_compose_profiles(*args: Any, **kwargs: Any) ->
|
19
|
+
def get_support_container_compose_profiles(*args: Any, **kwargs: Any) -> list[str]:
|
20
20
|
task: Task = kwargs.get("_task")
|
21
21
|
env_map = task.get_env_map()
|
22
|
-
compose_profiles:
|
22
|
+
compose_profiles: list[str] = []
|
23
|
+
if env_map.get("APP_DB_CONNECTION", "").startswith("postgresql"):
|
24
|
+
compose_profiles.append("postgres")
|
23
25
|
broker_type = env_map.get("APP_BROKER_TYPE", "rabbitmq")
|
24
26
|
if broker_type in ["rabbitmq", "kafka"]:
|
25
27
|
compose_profiles.append(broker_type)
|
zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/support/start.py
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
from zrb import
|
1
|
+
from zrb import DockerComposeStartTask, runner
|
2
2
|
|
3
3
|
from ..._checker import (
|
4
4
|
kafka_outside_checker,
|
@@ -15,11 +15,11 @@ from ...image._input import image_input
|
|
15
15
|
from .._env import compose_env_file
|
16
16
|
from .._input import enable_monitoring_input
|
17
17
|
from .._service_config import snake_zrb_app_name_service_configs
|
18
|
+
from ..remove import remove_snake_zrb_app_name_container
|
18
19
|
from ._group import snake_zrb_app_name_support_container_group
|
19
20
|
from ._helper import activate_support_compose_profile, should_start_support_container
|
20
|
-
from .init import init_snake_zrb_app_name_support_container
|
21
21
|
|
22
|
-
start_snake_zrb_app_name_support_container =
|
22
|
+
start_snake_zrb_app_name_support_container = DockerComposeStartTask(
|
23
23
|
icon="🐳",
|
24
24
|
name="start",
|
25
25
|
description="Start human readable zrb app name container",
|
@@ -32,11 +32,9 @@ start_snake_zrb_app_name_support_container = DockerComposeTask(
|
|
32
32
|
image_input,
|
33
33
|
],
|
34
34
|
should_execute=should_start_support_container,
|
35
|
-
upstreams=[
|
35
|
+
upstreams=[remove_snake_zrb_app_name_container],
|
36
36
|
cwd=RESOURCE_DIR,
|
37
37
|
setup_cmd=activate_support_compose_profile,
|
38
|
-
compose_cmd="logs",
|
39
|
-
compose_flags=["-f"],
|
40
38
|
compose_env_prefix="CONTAINER_ZRB_ENV_PREFIX",
|
41
39
|
compose_service_configs=snake_zrb_app_name_service_configs,
|
42
40
|
env_files=[compose_env_file],
|