zrb 0.6.0__py3-none-any.whl → 0.6.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 +24 -20
- zrb/__main__.py +5 -5
- zrb/action/runner.py +22 -30
- zrb/advertisement.py +10 -9
- zrb/builtin/__init__.py +18 -16
- zrb/builtin/base64.py +13 -18
- zrb/builtin/devtool/__init__.py +14 -3
- zrb/builtin/devtool/devtool_install.py +207 -221
- zrb/builtin/env.py +9 -12
- zrb/builtin/eval.py +9 -9
- zrb/builtin/explain.py +73 -74
- zrb/builtin/generator/__init__.py +7 -11
- zrb/builtin/generator/app_generator/add.py +86 -87
- zrb/builtin/generator/app_generator/template/base/_automate/generate_snake_zrb_meta_template_name/add.py +78 -77
- zrb/builtin/generator/app_generator/template/base/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/_checker.py +6 -6
- zrb/builtin/generator/app_generator/template/base/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/_common.py +14 -15
- zrb/builtin/generator/app_generator/template/base/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/container.py +32 -32
- zrb/builtin/generator/app_generator/template/base/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/deployment.py +29 -30
- zrb/builtin/generator/app_generator/template/base/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/image.py +1 -3
- zrb/builtin/generator/app_generator/template/base/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/local.py +5 -4
- zrb/builtin/generator/app_generator/template/base/_automate/generate_snake_zrb_meta_template_name/template/src/kebab-zrb-app-name/deployment/__main__.py +24 -32
- zrb/builtin/generator/app_generator/template/build-custom-image/_automate/generate_snake_zrb_meta_template_name/add.py +89 -87
- zrb/builtin/generator/app_generator/template/build-custom-image/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/_common.py +14 -15
- zrb/builtin/generator/app_generator/template/build-custom-image/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/container.py +42 -54
- zrb/builtin/generator/app_generator/template/build-custom-image/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/deployment.py +34 -32
- zrb/builtin/generator/app_generator/template/build-custom-image/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/image.py +19 -22
- zrb/builtin/generator/app_generator/template/build-custom-image/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/local.py +18 -18
- zrb/builtin/generator/app_generator/template/http-port/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/_checker.py +10 -10
- zrb/builtin/generator/app_generator/template/http-port-build-custom-image/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/local.py +19 -19
- zrb/builtin/generator/app_generator/template/use-helm/_automate/generate_snake_zrb_meta_template_name/template/src/kebab-zrb-app-name/deployment/__main__.py +12 -14
- zrb/builtin/generator/cmd_task/add.py +23 -25
- zrb/builtin/generator/cmd_task/template/_automate/snake_zrb_task_name.py +3 -5
- zrb/builtin/generator/common/helper.py +15 -20
- zrb/builtin/generator/common/task_factory.py +29 -26
- zrb/builtin/generator/common/task_input.py +97 -91
- zrb/builtin/generator/docker_compose_task/add.py +38 -39
- zrb/builtin/generator/docker_compose_task/template/_automate/snake_zrb_task_name.py +13 -19
- zrb/builtin/generator/docker_compose_task/template/src/kebab-zrb-task-name/image/main.py +18 -14
- zrb/builtin/generator/fastapp/add.py +94 -90
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/_checker.py +28 -27
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/_config.py +68 -39
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/_env.py +24 -22
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/_env_file.py +12 -12
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/_get_start_microservices.py +43 -41
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/_helper.py +23 -24
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/_input.py +21 -20
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/cmd/app-load-test.sh +1 -1
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/cmd/app-start.sh +1 -1
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/cmd/app-test.sh +2 -2
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/container.py +46 -39
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/deployment.py +28 -20
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/frontend.py +21 -27
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/image.py +23 -18
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/load_test.py +35 -36
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/local.py +68 -58
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/test.py +24 -38
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/deployment/__main__.py +23 -21
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/deployment/_common.py +72 -75
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/deployment/app_helper.py +70 -75
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/deployment/helm_postgresql_helper.py +18 -21
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/deployment/helm_rabbitmq_helper.py +11 -19
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/deployment/helm_redpanda_helper.py +18 -15
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/deployment/helm_signoz_helper.py +17 -21
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/docker-compose.yml +12 -12
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/loadtest/locustfile.py +10 -12
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/Dockerfile +1 -0
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/component/app.py +35 -30
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/component/app_lifespan.py +21 -17
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/component/app_state.py +3 -2
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/component/db_connection.py +18 -20
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/component/frontend_index.py +5 -6
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/component/log.py +7 -15
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/component/messagebus.py +38 -34
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/component/rpc.py +19 -18
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/config.py +68 -103
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/error.py +11 -10
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/__init__.py +2 -4
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/kafka/admin.py +38 -35
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/kafka/consumer.py +38 -45
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/kafka/publisher.py +26 -29
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/messagebus.py +8 -14
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/mock.py +12 -8
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/rabbitmq/admin.py +37 -44
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/rabbitmq/consumer.py +42 -67
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/rabbitmq/publisher.py +32 -55
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/model/repo_model.py +11 -10
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/repo/__init__.py +2 -2
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/repo/db_entity_mixin.py +3 -6
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/repo/db_repo.py +76 -83
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/repo/repo.py +5 -5
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/repo/search_filter.py +1 -0
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/rpc/__init__.py +1 -1
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/rpc/messagebus/caller.py +17 -19
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/rpc/messagebus/server.py +14 -18
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/rpc/rpc.py +15 -28
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/schema/__init__.py +1 -1
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/schema/base_schema.py +6 -5
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/serializer/__init__.py +1 -3
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/serializer/serializer.py +3 -4
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/helper/async_task.py +3 -5
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/helper/conversion.py +10 -10
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/helper/migration.py +6 -10
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/migrate.py +3 -2
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/api.py +7 -12
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/__init__.py +4 -6
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/access_token_scheme.py +9 -10
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/access_token_util.py +6 -5
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/authorizer.py +4 -4
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/bearer_token_scheme.py +1 -1
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/model/user_model.py +8 -10
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/password_hasher.py +1 -1
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/refresh_token_util.py +7 -6
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/repo/group_repo.py +3 -8
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/repo/permission_repo.py +3 -7
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/repo/user_repo.py +3 -5
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/user.py +12 -7
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/core/__init__.py +7 -12
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/core/access_token/scheme.py +7 -12
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/core/access_token/util.py +20 -30
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/core/authorizer/authorizer.py +1 -3
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/core/authorizer/rpc_authorizer.py +5 -12
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/core/password_hasher/bcrypt_password_hasher.py +3 -8
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/core/password_hasher/password_hasher.py +0 -1
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/core/refresh_token/util.py +15 -21
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/group/api.py +42 -49
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/group/model.py +3 -7
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/group/repo.py +18 -16
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/group/rpc.py +26 -41
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/permission/api.py +46 -51
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/permission/model.py +5 -7
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/permission/repo.py +11 -8
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/permission/rpc.py +28 -45
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/table.py +10 -10
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/user/api.py +60 -72
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/user/model.py +32 -61
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/user/repo.py +33 -36
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/user/rpc.py +42 -61
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/event.py +2 -4
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/migrate.py +3 -5
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/register_module.py +11 -12
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/register_permission.py +19 -26
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/rpc.py +5 -13
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/schema/group.py +6 -4
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/schema/permission.py +3 -1
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/schema/request.py +1 -0
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/schema/token.py +2 -2
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/schema/user.py +4 -3
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/api.py +4 -5
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/component/model/activity_model.py +3 -9
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/component/repo/activity_repo.py +3 -7
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/core/historical_repo_model.py +13 -13
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/entity/activity/api.py +22 -23
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/entity/activity/event.py +5 -7
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/entity/activity/model.py +2 -6
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/entity/activity/repo.py +8 -8
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/entity/activity/rpc.py +28 -45
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/entity/table.py +3 -3
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/event.py +4 -8
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/migrate.py +2 -4
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/register_module.py +10 -11
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/rpc.py +3 -5
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/schema/activity.py +3 -1
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/requirements.txt +12 -12
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/test/auth/test_group_crud.py +76 -106
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/test/auth/test_permission_crud.py +73 -103
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/test/auth/test_user_crud.py +92 -122
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/test/auth/test_user_login.py +107 -134
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/test/conftest.py +2 -2
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/test/test_liveness_and_readiness.py +8 -15
- zrb/builtin/generator/fastapp_crud/add.py +74 -79
- zrb/builtin/generator/fastapp_crud/helper.py +51 -48
- zrb/builtin/generator/fastapp_crud/task_factory.py +17 -14
- zrb/builtin/generator/fastapp_crud/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/component/model/snake_zrb_entity_name_model.py +2 -2
- zrb/builtin/generator/fastapp_crud/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/component/repo/snake_zrb_entity_name_repo.py +3 -2
- zrb/builtin/generator/fastapp_crud/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/entity/snake_zrb_entity_name/api.py +58 -40
- zrb/builtin/generator/fastapp_crud/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/entity/snake_zrb_entity_name/model.py +7 -3
- zrb/builtin/generator/fastapp_crud/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/entity/snake_zrb_entity_name/repo.py +9 -4
- zrb/builtin/generator/fastapp_crud/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/entity/snake_zrb_entity_name/rpc.py +32 -39
- zrb/builtin/generator/fastapp_crud/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/schema/snake_zrb_entity_name.py +3 -1
- zrb/builtin/generator/fastapp_crud/template/src/kebab-zrb-app-name/test/snake_zrb_module_name/test_snake_zrb_entity_name.py +68 -98
- zrb/builtin/generator/fastapp_field/add.py +143 -85
- zrb/builtin/generator/fastapp_field/helper.py +184 -125
- zrb/builtin/generator/fastapp_module/add.py +90 -67
- zrb/builtin/generator/fastapp_module/helper.py +141 -155
- zrb/builtin/generator/fastapp_module/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/api.py +3 -2
- zrb/builtin/generator/fastapp_module/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/entity/table.py +3 -3
- zrb/builtin/generator/fastapp_module/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/event.py +3 -5
- zrb/builtin/generator/fastapp_module/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/migrate.py +2 -4
- zrb/builtin/generator/fastapp_module/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/register_module.py +10 -11
- zrb/builtin/generator/fastapp_module/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/rpc.py +3 -5
- zrb/builtin/generator/pip_package/add.py +39 -40
- zrb/builtin/generator/pip_package/template/_automate/snake_zrb_package_name/local.py +30 -30
- zrb/builtin/generator/pip_package/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/__init__.py +1 -0
- zrb/builtin/generator/pip_package/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/__main__.py +1 -0
- zrb/builtin/generator/pip_package/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/util.py +2 -2
- zrb/builtin/generator/plugin/create.py +39 -36
- zrb/builtin/generator/plugin/template/src/snake_zrb_package_name/__init__.py +1 -1
- zrb/builtin/generator/plugin/template/src/snake_zrb_package_name/__main__.py +1 -0
- zrb/builtin/generator/plugin/template/src/snake_zrb_package_name/task/example_task.py +6 -4
- zrb/builtin/generator/plugin/template/zrb_init.py +27 -27
- zrb/builtin/generator/project/create.py +38 -46
- zrb/builtin/generator/project/template/.flake8 +3 -0
- zrb/builtin/generator/project/template/project.sh +19 -10
- zrb/builtin/generator/project_task/task_factory.py +60 -61
- zrb/builtin/generator/project_task/template/_automate/_project/__init__.py +2 -2
- zrb/builtin/generator/project_task/template/_automate/_project/build_project_images.py +4 -4
- zrb/builtin/generator/project_task/template/_automate/_project/deploy_project.py +4 -4
- zrb/builtin/generator/project_task/template/_automate/_project/destroy_project.py +4 -4
- zrb/builtin/generator/project_task/template/_automate/_project/push_project_images.py +4 -4
- zrb/builtin/generator/project_task/template/_automate/_project/remove_project_containers.py +4 -4
- zrb/builtin/generator/project_task/template/_automate/_project/start_project.py +4 -4
- zrb/builtin/generator/project_task/template/_automate/_project/start_project_containers.py +4 -4
- zrb/builtin/generator/project_task/template/_automate/_project/stop_project_containers.py +4 -4
- zrb/builtin/generator/python_task/add.py +25 -33
- zrb/builtin/generator/python_task/template/_automate/snake_zrb_task_name.py +8 -7
- zrb/builtin/generator/simple_python_app/add.py +81 -75
- zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/_common.py +14 -15
- zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/container.py +46 -61
- zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/deployment.py +34 -32
- zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/image.py +19 -22
- zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/local.py +23 -25
- zrb/builtin/generator/simple_python_app/template/src/kebab-zrb-app-name/deployment/__main__.py +24 -32
- zrb/builtin/generator/simple_python_app/template/src/kebab-zrb-app-name/src/main.py +18 -14
- zrb/builtin/git.py +46 -46
- zrb/builtin/group.py +13 -34
- zrb/builtin/helper/reccuring_action.py +26 -29
- zrb/builtin/md5.py +17 -30
- zrb/builtin/process.py +19 -19
- zrb/builtin/project.py +13 -15
- zrb/builtin/say.py +69 -88
- zrb/builtin/schedule.py +15 -19
- zrb/builtin/ubuntu.py +44 -35
- zrb/builtin/update.py +5 -5
- zrb/builtin/version.py +3 -7
- zrb/builtin/watch_changes.py +24 -25
- zrb/config/config.py +19 -18
- zrb/helper/accessories/color.py +18 -6
- zrb/helper/accessories/icon.py +24 -3
- zrb/helper/accessories/name.py +120 -28
- zrb/helper/advertisement.py +9 -13
- zrb/helper/callable.py +2 -4
- zrb/helper/cli.py +27 -31
- zrb/helper/codemod/add_argument_to_function.py +3 -4
- zrb/helper/codemod/add_argument_to_function_call.py +4 -7
- zrb/helper/codemod/add_assert_resource.py +7 -7
- zrb/helper/codemod/add_function_call.py +3 -5
- zrb/helper/codemod/add_import_module.py +15 -26
- zrb/helper/codemod/add_key_value_to_dict.py +7 -10
- zrb/helper/codemod/add_property_to_class.py +10 -8
- zrb/helper/codemod/add_upstream_to_task.py +21 -33
- zrb/helper/codemod/append_code_to_function.py +6 -13
- zrb/helper/codemod/format_code.py +2 -1
- zrb/helper/default_env.py +25 -25
- zrb/helper/docker_compose/fetch_external_env.py +18 -18
- zrb/helper/docker_compose/file.py +5 -4
- zrb/helper/docstring.py +44 -47
- zrb/helper/env_map/fetch.py +7 -12
- zrb/helper/file/copy_tree.py +12 -17
- zrb/helper/file/match.py +6 -7
- zrb/helper/file/text.py +8 -6
- zrb/helper/git/detect_changes.py +9 -8
- zrb/helper/loader/load_module.py +14 -13
- zrb/helper/log.py +4 -3
- zrb/helper/map/conversion.py +4 -5
- zrb/helper/python_task.py +2 -4
- zrb/helper/render_data.py +25 -18
- zrb/helper/string/constant.py +2 -2
- zrb/helper/string/conversion.py +17 -16
- zrb/helper/string/jinja.py +2 -2
- zrb/helper/typecheck.py +6 -4
- zrb/helper/typing.py +10 -2
- zrb/helper/util.py +44 -40
- zrb/task/any_task.py +251 -251
- zrb/task/base_remote_cmd_task.py +76 -59
- zrb/task/base_task/base_task.py +95 -108
- zrb/task/base_task/component/base_task_model.py +73 -71
- zrb/task/base_task/component/common_task_model.py +42 -29
- zrb/task/base_task/component/pid_model.py +3 -5
- zrb/task/base_task/component/renderer.py +26 -36
- zrb/task/base_task/component/trackers.py +6 -9
- zrb/task/checker.py +14 -9
- zrb/task/cmd_task.py +102 -100
- zrb/task/decorator.py +19 -13
- zrb/task/docker_compose_task.py +127 -98
- zrb/task/flow_task.py +16 -19
- zrb/task/http_checker.py +40 -36
- zrb/task/notifier.py +50 -38
- zrb/task/parallel.py +3 -3
- zrb/task/path_checker.py +34 -27
- zrb/task/path_watcher.py +49 -40
- zrb/task/port_checker.py +33 -26
- zrb/task/recurring_task.py +36 -42
- zrb/task/remote_cmd_task.py +31 -28
- zrb/task/resource_maker.py +66 -52
- zrb/task/rsync_task.py +24 -21
- zrb/task/task.py +4 -3
- zrb/task/time_watcher.py +36 -31
- zrb/task_env/constant.py +1 -1
- zrb/task_env/env.py +33 -31
- zrb/task_env/env_file.py +24 -23
- zrb/task_group/group.py +27 -30
- zrb/task_input/any_input.py +18 -16
- zrb/task_input/base_input.py +26 -26
- zrb/task_input/bool_input.py +6 -6
- zrb/task_input/choice_input.py +11 -9
- zrb/task_input/constant.py +1 -1
- zrb/task_input/float_input.py +6 -5
- zrb/task_input/int_input.py +8 -8
- zrb/task_input/password_input.py +9 -9
- zrb/task_input/str_input.py +8 -8
- zrb/task_input/task_input.py +4 -2
- {zrb-0.6.0.dist-info → zrb-0.6.1.dist-info}/METADATA +3 -1
- {zrb-0.6.0.dist-info → zrb-0.6.1.dist-info}/RECORD +316 -315
- {zrb-0.6.0.dist-info → zrb-0.6.1.dist-info}/LICENSE +0 -0
- {zrb-0.6.0.dist-info → zrb-0.6.1.dist-info}/WHEEL +0 -0
- {zrb-0.6.0.dist-info → zrb-0.6.1.dist-info}/entry_points.txt +0 -0
@@ -1,30 +1,38 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
project_dir_input, app_name_input, app_image_name_input, http_port_input,
|
4
|
-
env_prefix_input
|
5
|
-
)
|
1
|
+
import os
|
2
|
+
|
6
3
|
from zrb.builtin.generator.common.helper import (
|
7
|
-
validate_existing_project_dir,
|
4
|
+
validate_existing_project_dir,
|
5
|
+
validate_inexisting_automation,
|
8
6
|
)
|
9
7
|
from zrb.builtin.generator.common.task_factory import create_register_module
|
8
|
+
from zrb.builtin.generator.common.task_input import (
|
9
|
+
app_image_name_input,
|
10
|
+
app_name_input,
|
11
|
+
env_prefix_input,
|
12
|
+
http_port_input,
|
13
|
+
project_dir_input,
|
14
|
+
)
|
10
15
|
from zrb.builtin.generator.project_task.task_factory import (
|
11
|
-
|
12
|
-
create_add_deploy_upstream,
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
+
create_add_build_images_upstream,
|
17
|
+
create_add_deploy_upstream,
|
18
|
+
create_add_destroy_upstream,
|
19
|
+
create_add_push_images_upstream,
|
20
|
+
create_add_remove_containers_upstream,
|
21
|
+
create_add_start_containers_upstream,
|
22
|
+
create_add_start_upstream,
|
23
|
+
create_add_stop_containers_upstream,
|
24
|
+
create_ensure_project_tasks,
|
16
25
|
)
|
17
26
|
from zrb.builtin.group import project_add_group
|
18
|
-
from zrb.
|
27
|
+
from zrb.helper import util
|
28
|
+
from zrb.helper.typing import Any
|
29
|
+
from zrb.runner import runner
|
19
30
|
from zrb.task.decorator import python_task
|
20
31
|
from zrb.task.resource_maker import ResourceMaker
|
21
|
-
from zrb.
|
22
|
-
from zrb.helper import util
|
23
|
-
|
24
|
-
import os
|
32
|
+
from zrb.task.task import Task
|
25
33
|
|
26
34
|
CURRENT_DIR = os.path.dirname(__file__)
|
27
|
-
SNAKE_APP_NAME_TPL =
|
35
|
+
SNAKE_APP_NAME_TPL = "{{util.to_snake_case(input.app_name)}}"
|
28
36
|
|
29
37
|
###############################################################################
|
30
38
|
# Task Definitions
|
@@ -32,23 +40,21 @@ SNAKE_APP_NAME_TPL = '{{util.to_snake_case(input.app_name)}}'
|
|
32
40
|
|
33
41
|
|
34
42
|
@python_task(
|
35
|
-
name=
|
43
|
+
name="validate",
|
36
44
|
inputs=[project_dir_input, app_name_input],
|
37
45
|
)
|
38
46
|
async def validate(*args: Any, **kwargs: Any):
|
39
|
-
project_dir = kwargs.get(
|
47
|
+
project_dir = kwargs.get("project_dir")
|
40
48
|
validate_existing_project_dir(project_dir)
|
41
|
-
app_name = kwargs.get(
|
49
|
+
app_name = kwargs.get("app_name")
|
42
50
|
validate_inexisting_automation(project_dir, app_name)
|
43
|
-
app_dir = os.path.join(
|
44
|
-
project_dir, 'src', f'{util.to_kebab_case(app_name)}'
|
45
|
-
)
|
51
|
+
app_dir = os.path.join(project_dir, "src", f"{util.to_kebab_case(app_name)}")
|
46
52
|
if os.path.exists(app_dir):
|
47
|
-
raise Exception(f
|
53
|
+
raise Exception(f"App directory already exists: {app_dir}")
|
48
54
|
|
49
55
|
|
50
56
|
copy_resource = ResourceMaker(
|
51
|
-
name=
|
57
|
+
name="copy-resource",
|
52
58
|
inputs=[
|
53
59
|
project_dir_input,
|
54
60
|
app_name_input,
|
@@ -58,130 +64,128 @@ copy_resource = ResourceMaker(
|
|
58
64
|
],
|
59
65
|
upstreams=[validate],
|
60
66
|
replacements={
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
+
"zrbAppName": "{{input.app_name}}",
|
68
|
+
"zrbAppHttpPort": '{{util.coalesce(input.http_port, "3001")}}',
|
69
|
+
"ZRB_ENV_PREFIX": '{{util.coalesce(input.env_prefix, "MY").upper()}}',
|
70
|
+
"zrb-app-image-name": "{{input.app_image_name}}",
|
71
|
+
"zrbAppHttpAuthPort": '{{util.coalesce(input.http_port, "3001") + 1}}',
|
72
|
+
"zrbAppHttpLogPort": '{{util.coalesce(input.http_port, "3001") + 2}}',
|
67
73
|
},
|
68
|
-
template_path=os.path.join(CURRENT_DIR,
|
69
|
-
destination_path=
|
74
|
+
template_path=os.path.join(CURRENT_DIR, "template"),
|
75
|
+
destination_path="{{ input.project_dir }}",
|
70
76
|
excludes=[
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
]
|
77
|
+
"*/__pycache__",
|
78
|
+
"*/deployment/venv",
|
79
|
+
"*/src/kebab-app-name/.venv",
|
80
|
+
"*/src/kebab-app-name/src/frontend/node_modules",
|
81
|
+
"*/src/kebab-app-name/src/frontend/build",
|
82
|
+
"*/src/kebab-app-name/src/frontend/.svelte-kit",
|
83
|
+
],
|
78
84
|
)
|
79
85
|
|
80
86
|
register_local_module = create_register_module(
|
81
|
-
module_path=f
|
82
|
-
alias=f
|
87
|
+
module_path=f"_automate.{SNAKE_APP_NAME_TPL}.local",
|
88
|
+
alias=f"{SNAKE_APP_NAME_TPL}_local",
|
83
89
|
inputs=[app_name_input],
|
84
|
-
upstreams=[copy_resource]
|
90
|
+
upstreams=[copy_resource],
|
85
91
|
)
|
86
92
|
|
87
93
|
register_container_module = create_register_module(
|
88
|
-
module_path=f
|
89
|
-
alias=f
|
94
|
+
module_path=f"_automate.{SNAKE_APP_NAME_TPL}.container",
|
95
|
+
alias=f"{SNAKE_APP_NAME_TPL}_container",
|
90
96
|
inputs=[app_name_input],
|
91
|
-
upstreams=[register_local_module]
|
97
|
+
upstreams=[register_local_module],
|
92
98
|
)
|
93
99
|
|
94
100
|
register_image_module = create_register_module(
|
95
|
-
module_path=f
|
96
|
-
alias=f
|
101
|
+
module_path=f"_automate.{SNAKE_APP_NAME_TPL}.image",
|
102
|
+
alias=f"{SNAKE_APP_NAME_TPL}_image",
|
97
103
|
inputs=[app_name_input],
|
98
|
-
upstreams=[register_container_module]
|
104
|
+
upstreams=[register_container_module],
|
99
105
|
)
|
100
106
|
|
101
107
|
register_deployment_module = create_register_module(
|
102
|
-
module_path=f
|
103
|
-
alias=f
|
108
|
+
module_path=f"_automate.{SNAKE_APP_NAME_TPL}.deployment",
|
109
|
+
alias=f"{SNAKE_APP_NAME_TPL}_deployment",
|
104
110
|
inputs=[app_name_input],
|
105
|
-
upstreams=[register_image_module]
|
111
|
+
upstreams=[register_image_module],
|
106
112
|
)
|
107
113
|
|
108
114
|
register_test_module = create_register_module(
|
109
|
-
module_path=f
|
110
|
-
alias=f
|
115
|
+
module_path=f"_automate.{SNAKE_APP_NAME_TPL}.test",
|
116
|
+
alias=f"{SNAKE_APP_NAME_TPL}_test",
|
111
117
|
inputs=[app_name_input],
|
112
|
-
upstreams=[register_deployment_module]
|
118
|
+
upstreams=[register_deployment_module],
|
113
119
|
)
|
114
120
|
|
115
121
|
register_load_test_module = create_register_module(
|
116
|
-
module_path=f
|
117
|
-
alias=f
|
122
|
+
module_path=f"_automate.{SNAKE_APP_NAME_TPL}.load_test",
|
123
|
+
alias=f"{SNAKE_APP_NAME_TPL}_load_test",
|
118
124
|
inputs=[app_name_input],
|
119
|
-
upstreams=[register_test_module]
|
125
|
+
upstreams=[register_test_module],
|
120
126
|
)
|
121
127
|
|
122
|
-
ensure_project_tasks = create_ensure_project_tasks(
|
123
|
-
upstreams=[copy_resource]
|
124
|
-
)
|
128
|
+
ensure_project_tasks = create_ensure_project_tasks(upstreams=[copy_resource])
|
125
129
|
|
126
130
|
add_start_upstream = create_add_start_upstream(
|
127
|
-
upstream_module=f
|
128
|
-
upstream_task_var=f
|
131
|
+
upstream_module=f"_automate.{SNAKE_APP_NAME_TPL}.local",
|
132
|
+
upstream_task_var=f"start_{SNAKE_APP_NAME_TPL}",
|
129
133
|
upstreams=[ensure_project_tasks],
|
130
|
-
inputs=[app_name_input]
|
134
|
+
inputs=[app_name_input],
|
131
135
|
)
|
132
136
|
|
133
137
|
add_start_container_upstream = create_add_start_containers_upstream(
|
134
|
-
upstream_module=f
|
135
|
-
upstream_task_var=f
|
138
|
+
upstream_module=f"_automate.{SNAKE_APP_NAME_TPL}.container",
|
139
|
+
upstream_task_var=f"start_{SNAKE_APP_NAME_TPL}_container",
|
136
140
|
upstreams=[ensure_project_tasks],
|
137
|
-
inputs=[app_name_input]
|
141
|
+
inputs=[app_name_input],
|
138
142
|
)
|
139
143
|
|
140
144
|
add_stop_container_upstream = create_add_stop_containers_upstream(
|
141
|
-
upstream_module=f
|
142
|
-
upstream_task_var=f
|
145
|
+
upstream_module=f"_automate.{SNAKE_APP_NAME_TPL}.container",
|
146
|
+
upstream_task_var=f"stop_{SNAKE_APP_NAME_TPL}_container",
|
143
147
|
upstreams=[ensure_project_tasks],
|
144
|
-
inputs=[app_name_input]
|
148
|
+
inputs=[app_name_input],
|
145
149
|
)
|
146
150
|
|
147
151
|
add_remove_container_upstream = create_add_remove_containers_upstream(
|
148
|
-
upstream_module=f
|
149
|
-
upstream_task_var=f
|
152
|
+
upstream_module=f"_automate.{SNAKE_APP_NAME_TPL}.container",
|
153
|
+
upstream_task_var=f"remove_{SNAKE_APP_NAME_TPL}_container",
|
150
154
|
upstreams=[ensure_project_tasks],
|
151
|
-
inputs=[app_name_input]
|
155
|
+
inputs=[app_name_input],
|
152
156
|
)
|
153
157
|
|
154
158
|
add_build_image_upstream = create_add_build_images_upstream(
|
155
|
-
upstream_module=f
|
156
|
-
upstream_task_var=f
|
159
|
+
upstream_module=f"_automate.{SNAKE_APP_NAME_TPL}.image",
|
160
|
+
upstream_task_var=f"build_{SNAKE_APP_NAME_TPL}_image",
|
157
161
|
upstreams=[ensure_project_tasks],
|
158
|
-
inputs=[app_name_input]
|
162
|
+
inputs=[app_name_input],
|
159
163
|
)
|
160
164
|
|
161
165
|
add_push_image_upstream = create_add_push_images_upstream(
|
162
|
-
upstream_module=f
|
163
|
-
upstream_task_var=f
|
166
|
+
upstream_module=f"_automate.{SNAKE_APP_NAME_TPL}.image",
|
167
|
+
upstream_task_var=f"push_{SNAKE_APP_NAME_TPL}_image",
|
164
168
|
upstreams=[ensure_project_tasks],
|
165
|
-
inputs=[app_name_input]
|
169
|
+
inputs=[app_name_input],
|
166
170
|
)
|
167
171
|
|
168
172
|
add_deploy_upstream = create_add_deploy_upstream(
|
169
|
-
upstream_module=f
|
170
|
-
upstream_task_var=f
|
173
|
+
upstream_module=f"_automate.{SNAKE_APP_NAME_TPL}.deployment",
|
174
|
+
upstream_task_var=f"deploy_{SNAKE_APP_NAME_TPL}",
|
171
175
|
upstreams=[ensure_project_tasks],
|
172
|
-
inputs=[app_name_input]
|
176
|
+
inputs=[app_name_input],
|
173
177
|
)
|
174
178
|
|
175
179
|
add_destroy_upstream = create_add_destroy_upstream(
|
176
|
-
upstream_module=f
|
177
|
-
upstream_task_var=f
|
180
|
+
upstream_module=f"_automate.{SNAKE_APP_NAME_TPL}.deployment",
|
181
|
+
upstream_task_var=f"destroy_{SNAKE_APP_NAME_TPL}",
|
178
182
|
upstreams=[ensure_project_tasks],
|
179
|
-
inputs=[app_name_input]
|
183
|
+
inputs=[app_name_input],
|
180
184
|
)
|
181
185
|
|
182
186
|
|
183
187
|
@python_task(
|
184
|
-
name=
|
188
|
+
name="fastapp",
|
185
189
|
group=project_add_group,
|
186
190
|
upstreams=[
|
187
191
|
register_local_module,
|
@@ -197,10 +201,10 @@ add_destroy_upstream = create_add_destroy_upstream(
|
|
197
201
|
add_build_image_upstream,
|
198
202
|
add_push_image_upstream,
|
199
203
|
add_deploy_upstream,
|
200
|
-
add_destroy_upstream
|
204
|
+
add_destroy_upstream,
|
201
205
|
],
|
202
|
-
runner=runner
|
206
|
+
runner=runner,
|
203
207
|
)
|
204
208
|
async def add_fastapp(*args: Any, **kwargs: Any):
|
205
|
-
task: Task = kwargs.get(
|
206
|
-
task.print_out(
|
209
|
+
task: Task = kwargs.get("_task")
|
210
|
+
task.print_out("Success")
|
@@ -1,64 +1,65 @@
|
|
1
1
|
from zrb import HTTPChecker, PortChecker
|
2
|
+
|
2
3
|
from ._helper import should_start_local_microservices
|
3
4
|
|
4
5
|
rabbitmq_management_checker = HTTPChecker(
|
5
|
-
name=
|
6
|
+
name="check-rabbitmq-management",
|
6
7
|
port='{{env.get("RABBITMQ_MANAGEMENT_HOST_PORT", "15672")}}',
|
7
|
-
is_https=
|
8
|
-
should_execute='{{env.get("APP_BROKER_TYPE", "rabbitmq") == "rabbitmq"}}'
|
8
|
+
is_https="{{input.snake_zrb_app_name_https}}",
|
9
|
+
should_execute='{{env.get("APP_BROKER_TYPE", "rabbitmq") == "rabbitmq"}}',
|
9
10
|
)
|
10
11
|
|
11
12
|
rabbitmq_checker = PortChecker(
|
12
|
-
name=
|
13
|
+
name="check-rabbitmq",
|
13
14
|
port='{{env.get("RABBITMQ_HOST_PORT", "5672")}}',
|
14
|
-
should_execute='{{env.get("APP_BROKER_TYPE", "rabbitmq") == "rabbitmq"}}'
|
15
|
+
should_execute='{{env.get("APP_BROKER_TYPE", "rabbitmq") == "rabbitmq"}}',
|
15
16
|
)
|
16
17
|
|
17
18
|
redpanda_console_checker = HTTPChecker(
|
18
|
-
name=
|
19
|
-
method=
|
19
|
+
name="check-redpanda-console",
|
20
|
+
method="GET",
|
20
21
|
port='{{env.get("REDPANDA_CONSOLE_HOST_PORT", "9000")}}',
|
21
|
-
is_https=
|
22
|
-
should_execute='{{env.get("APP_BROKER_TYPE", "rabbitmq") == "kafka"}}'
|
22
|
+
is_https="{{input.snake_zrb_app_name_https}}",
|
23
|
+
should_execute='{{env.get("APP_BROKER_TYPE", "rabbitmq") == "kafka"}}',
|
23
24
|
)
|
24
25
|
|
25
26
|
kafka_plaintext_checker = PortChecker(
|
26
|
-
name=
|
27
|
+
name="check-kafka-plaintext",
|
27
28
|
port='{{env.get("KAFKA_INTERNAL_HOST_PORT", "29092")}}',
|
28
|
-
should_execute='{{env.get("APP_BROKER_TYPE", "rabbitmq") == "kafka"}}'
|
29
|
+
should_execute='{{env.get("APP_BROKER_TYPE", "rabbitmq") == "kafka"}}',
|
29
30
|
)
|
30
31
|
|
31
32
|
kafka_outside_checker = PortChecker(
|
32
|
-
name=
|
33
|
+
name="check-kafka-outside",
|
33
34
|
port='{{env.get("KAFKA_EXTERNAL_HOST_PORT", "9092")}}',
|
34
|
-
should_execute='{{env.get("APP_BROKER_TYPE", "rabbitmq") == "kafka"}}'
|
35
|
+
should_execute='{{env.get("APP_BROKER_TYPE", "rabbitmq") == "kafka"}}',
|
35
36
|
)
|
36
37
|
|
37
38
|
pandaproxy_plaintext_checker = PortChecker(
|
38
|
-
name=
|
39
|
+
name="check-pandaproxy-plaintext",
|
39
40
|
port='{{env.get("PANDAPROXY_INTERNAL_HOST_PORT", "29092")}}',
|
40
|
-
should_execute='{{env.get("APP_BROKER_TYPE", "rabbitmq") == "kafka"}}'
|
41
|
+
should_execute='{{env.get("APP_BROKER_TYPE", "rabbitmq") == "kafka"}}',
|
41
42
|
)
|
42
43
|
|
43
44
|
pandaproxy_outside_checker = PortChecker(
|
44
|
-
name=
|
45
|
+
name="check-pandaproxy-outside",
|
45
46
|
port='{{env.get("PANDAPROXY_EXTERNAL_HOST_PORT", "9092")}}',
|
46
|
-
should_execute='{{env.get("APP_BROKER_TYPE", "rabbitmq") == "kafka"}}'
|
47
|
+
should_execute='{{env.get("APP_BROKER_TYPE", "rabbitmq") == "kafka"}}',
|
47
48
|
)
|
48
49
|
|
49
50
|
app_container_checker = HTTPChecker(
|
50
|
-
name=
|
51
|
-
host=
|
52
|
-
url=
|
51
|
+
name="check-kebab-zrb-app-name-container",
|
52
|
+
host="{{input.snake_zrb_app_name_host}}",
|
53
|
+
url="/readiness",
|
53
54
|
port='{{env.get("HOST_PORT", "zrbAppHttpPort")}}',
|
54
|
-
is_https=
|
55
|
+
is_https="{{input.snake_zrb_app_name_https}}",
|
55
56
|
)
|
56
57
|
|
57
58
|
app_local_checker = HTTPChecker(
|
58
|
-
name=
|
59
|
-
host=
|
60
|
-
url=
|
61
|
-
port=
|
62
|
-
is_https=
|
63
|
-
should_execute=should_start_local_microservices
|
59
|
+
name="check-kebab-zrb-app-name",
|
60
|
+
host="{{input.snake_zrb_app_name_host}}",
|
61
|
+
url="/readiness",
|
62
|
+
port="{{env.APP_PORT}}",
|
63
|
+
is_https="{{input.snake_zrb_app_name_https}}",
|
64
|
+
should_execute=should_start_local_microservices,
|
64
65
|
)
|
@@ -1,56 +1,85 @@
|
|
1
|
+
import os
|
1
2
|
from typing import Mapping
|
2
|
-
from zrb import Env, ServiceConfig, EnvFile
|
3
|
-
from zrb.helper.util import to_kebab_case
|
4
3
|
|
5
4
|
import jsons
|
6
|
-
import os
|
7
5
|
|
8
|
-
|
9
|
-
|
10
|
-
RESOURCE_DIR = os.path.join(PROJECT_DIR, 'src', 'kebab-zrb-app-name')
|
11
|
-
DEPLOYMENT_DIR = os.path.join(RESOURCE_DIR, 'deployment')
|
12
|
-
DEPLOYMENT_TEMPLATE_ENV_FILE_NAME = os.path.join(
|
13
|
-
DEPLOYMENT_DIR, 'template.env'
|
14
|
-
)
|
15
|
-
APP_DIR = os.path.join(RESOURCE_DIR, 'src')
|
16
|
-
APP_FRONTEND_DIR = os.path.join(APP_DIR, 'frontend')
|
17
|
-
APP_FRONTEND_BUILD_DIR = os.path.join(APP_FRONTEND_DIR, 'build')
|
18
|
-
APP_TEMPLATE_ENV_FILE_NAME = os.path.join(APP_DIR, 'template.env')
|
6
|
+
from zrb import Env, EnvFile, ServiceConfig
|
7
|
+
from zrb.helper.util import to_kebab_case
|
19
8
|
|
20
|
-
|
21
|
-
|
9
|
+
CURRENT_DIR = os.path.dirname(__file__)
|
10
|
+
PROJECT_DIR = os.path.abspath(os.path.join(CURRENT_DIR, "..", ".."))
|
11
|
+
RESOURCE_DIR = os.path.join(PROJECT_DIR, "src", "kebab-zrb-app-name")
|
12
|
+
DEPLOYMENT_DIR = os.path.join(RESOURCE_DIR, "deployment")
|
13
|
+
DEPLOYMENT_TEMPLATE_ENV_FILE_NAME = os.path.join(DEPLOYMENT_DIR, "template.env")
|
14
|
+
APP_DIR = os.path.join(RESOURCE_DIR, "src")
|
15
|
+
APP_FRONTEND_DIR = os.path.join(APP_DIR, "frontend")
|
16
|
+
APP_FRONTEND_BUILD_DIR = os.path.join(APP_FRONTEND_DIR, "build")
|
17
|
+
APP_TEMPLATE_ENV_FILE_NAME = os.path.join(APP_DIR, "template.env")
|
18
|
+
LOAD_TEST_DIR = os.path.join(RESOURCE_DIR, "loadtest")
|
19
|
+
LOAD_TEST_TEMPLATE_ENV_FILE_NAME = os.path.join(RESOURCE_DIR, "template.env")
|
22
20
|
|
23
|
-
MODULE_CONFIG_PATH = os.path.join(CURRENT_DIR,
|
21
|
+
MODULE_CONFIG_PATH = os.path.join(CURRENT_DIR, "config", "modules.json")
|
24
22
|
|
25
23
|
with open(MODULE_CONFIG_PATH) as file:
|
26
24
|
MODULE_JSON_STR = file.read()
|
27
25
|
MODULES = jsons.loads(MODULE_JSON_STR)
|
28
26
|
|
29
|
-
|
30
|
-
|
27
|
+
###############################################################################
|
28
|
+
# Service Configs
|
29
|
+
###############################################################################
|
30
|
+
|
31
|
+
_OTEL_EXPORTER_ENDPOINT_ENV_NAME = "APP_OTEL_EXPORTER_OTLP_ENDPOINT"
|
32
|
+
_OTEL_EXPORTER_ENDPOINT = "http://otel-collector:4317"
|
33
|
+
_OTEL_EXPORTER_ENDPOINT_ENV = Env(
|
34
|
+
name=_OTEL_EXPORTER_ENDPOINT_ENV_NAME,
|
35
|
+
os_name="",
|
36
|
+
default=_OTEL_EXPORTER_ENDPOINT,
|
37
|
+
)
|
38
|
+
|
39
|
+
_CONTAINER_ENV_PREFIX = "CONTAINER_ZRB_ENV_PREFIX"
|
40
|
+
_APP_TEMPLATE_ENV_FILE = EnvFile(
|
41
|
+
path=APP_TEMPLATE_ENV_FILE_NAME, prefix=_CONTAINER_ENV_PREFIX
|
42
|
+
)
|
43
|
+
_DOCKER_COMPOSE_APP_ENV_FILE_NAME = os.path.join(RESOURCE_DIR, "docker-compose-app.env")
|
44
|
+
_DOCKER_COMPOSE_APP_ENV_FILE = EnvFile(
|
45
|
+
path=_DOCKER_COMPOSE_APP_ENV_FILE_NAME, prefix=_CONTAINER_ENV_PREFIX
|
46
|
+
)
|
47
|
+
_DISABLE_ALL_MODULE_ENV_FILE_NAME = os.path.join(
|
48
|
+
RESOURCE_DIR, "all-module-disabled.env"
|
49
|
+
)
|
50
|
+
_DISABLE_ALL_MODULE_ENV_FILE = EnvFile(
|
51
|
+
path=_DISABLE_ALL_MODULE_ENV_FILE_NAME, prefix=_CONTAINER_ENV_PREFIX
|
52
|
+
)
|
53
|
+
_ENABLE_ALL_MODULE_ENV_FILE_NAME = os.path.join(RESOURCE_DIR, "all-module-enabled.env")
|
54
|
+
_ENABLE_ALL_MODULE_ENV_FILE = EnvFile(
|
55
|
+
path=_ENABLE_ALL_MODULE_ENV_FILE_NAME, prefix=_CONTAINER_ENV_PREFIX
|
31
56
|
)
|
32
57
|
|
33
|
-
SERVICE_CONFIGS: Mapping[str, ServiceConfig] = {
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
58
|
+
SERVICE_CONFIGS: Mapping[str, ServiceConfig] = {
|
59
|
+
"kebab-zrb-app-name": ServiceConfig(
|
60
|
+
env_files=[
|
61
|
+
_APP_TEMPLATE_ENV_FILE,
|
62
|
+
_DOCKER_COMPOSE_APP_ENV_FILE,
|
63
|
+
_ENABLE_ALL_MODULE_ENV_FILE,
|
64
|
+
],
|
65
|
+
envs=[_OTEL_EXPORTER_ENDPOINT_ENV],
|
66
|
+
),
|
67
|
+
"kebab-zrb-app-name-gateway": ServiceConfig(
|
68
|
+
env_files=[
|
69
|
+
_APP_TEMPLATE_ENV_FILE,
|
70
|
+
_DOCKER_COMPOSE_APP_ENV_FILE,
|
71
|
+
_ENABLE_ALL_MODULE_ENV_FILE,
|
72
|
+
],
|
73
|
+
envs=[_OTEL_EXPORTER_ENDPOINT_ENV],
|
74
|
+
),
|
75
|
+
}
|
76
|
+
for module in MODULES:
|
77
|
+
service_name = f"kebab-zrb-app-name-{to_kebab_case(module)}-service"
|
38
78
|
SERVICE_CONFIGS[service_name] = ServiceConfig(
|
39
79
|
env_files=[
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
),
|
44
|
-
EnvFile(
|
45
|
-
path=DOCKER_COMPOSE_APP_ENV_FILE_NAME,
|
46
|
-
prefix='CONTAINER_ZRB_ENV_PREFIX'
|
47
|
-
)
|
80
|
+
_APP_TEMPLATE_ENV_FILE,
|
81
|
+
_DOCKER_COMPOSE_APP_ENV_FILE,
|
82
|
+
_DISABLE_ALL_MODULE_ENV_FILE,
|
48
83
|
],
|
49
|
-
envs=[
|
50
|
-
Env(
|
51
|
-
name='APP_OTEL_EXPORTER_OTLP_ENDPOINT',
|
52
|
-
os_name='',
|
53
|
-
default='http://otel-collector:4317'
|
54
|
-
)
|
55
|
-
]
|
84
|
+
envs=[_OTEL_EXPORTER_ENDPOINT_ENV],
|
56
85
|
)
|
@@ -1,44 +1,46 @@
|
|
1
|
+
import jsons
|
2
|
+
|
1
3
|
from zrb import Env
|
4
|
+
|
2
5
|
from ._config import DEPLOYMENT_DIR, MODULES
|
3
|
-
import jsons
|
4
6
|
|
5
7
|
app_enable_otel_env = Env(
|
6
|
-
name=
|
7
|
-
default='{{ "1" if input.enable_snake_zrb_app_name_monitoring else "0" }}'
|
8
|
+
name="APP_ENABLE_OTEL",
|
9
|
+
default='{{ "1" if input.enable_snake_zrb_app_name_monitoring else "0" }}',
|
8
10
|
)
|
9
11
|
|
10
12
|
image_env = Env(
|
11
|
-
name=
|
12
|
-
os_name=
|
13
|
-
default=
|
13
|
+
name="IMAGE",
|
14
|
+
os_name="CONTAINER_ZRB_ENV_PREFIX_IMAGE",
|
15
|
+
default="{{input.snake_zrb_app_name_image}}",
|
14
16
|
)
|
15
17
|
|
16
18
|
pulumi_backend_url_env = Env(
|
17
|
-
name=
|
18
|
-
os_name=
|
19
|
-
default=f
|
19
|
+
name="PULUMI_BACKEND_URL",
|
20
|
+
os_name="PULUMI_ZRB_ENV_PREFIX_BACKEND_URL",
|
21
|
+
default=f"file://{DEPLOYMENT_DIR}/state",
|
20
22
|
)
|
21
23
|
|
22
24
|
pulumi_config_passphrase_env = Env(
|
23
|
-
name=
|
24
|
-
os_name=
|
25
|
-
default=
|
25
|
+
name="PULUMI_CONFIG_PASSPHRASE",
|
26
|
+
os_name="PULUMI_ZRB_ENV_PREFIX_CONFIG_PASSPHRASE",
|
27
|
+
default="secret",
|
26
28
|
)
|
27
29
|
|
28
30
|
deployment_modules_env = Env(
|
29
|
-
name=
|
30
|
-
os_name=
|
31
|
-
default=jsons.dumps(MODULES)
|
31
|
+
name="MODULES",
|
32
|
+
os_name="DEPLOYMENT_CONFIG_ZRB_ENV_PREFIX_MODULES",
|
33
|
+
default=jsons.dumps(MODULES),
|
32
34
|
)
|
33
35
|
|
34
36
|
deployment_mode_env = Env(
|
35
|
-
name=
|
36
|
-
os_name=
|
37
|
-
default=
|
37
|
+
name="MODE",
|
38
|
+
os_name="DEPLOYMENT_CONFIG_ZRB_ENV_PREFIX_MODE",
|
39
|
+
default="{{input.snake_zrb_app_name_deploy_mode}}",
|
38
40
|
)
|
39
41
|
|
40
42
|
deployment_enable_monitoring_env = Env(
|
41
|
-
name=
|
42
|
-
os_name=
|
43
|
-
default=
|
44
|
-
)
|
43
|
+
name="ENABLE_MONITORING",
|
44
|
+
os_name="DEPLOYMENT_CONFIG_ZRB_ENV_PREFIX_ENABLE_MONITORING",
|
45
|
+
default="{{ 1 if input.enable_snake_zrb_app_name_monitoring else 0 }}",
|
46
|
+
)
|
@@ -1,24 +1,24 @@
|
|
1
|
+
import os
|
2
|
+
|
1
3
|
from zrb import EnvFile
|
4
|
+
|
2
5
|
from ._config import (
|
3
|
-
|
6
|
+
APP_TEMPLATE_ENV_FILE_NAME,
|
7
|
+
DEPLOYMENT_TEMPLATE_ENV_FILE_NAME,
|
8
|
+
RESOURCE_DIR,
|
4
9
|
)
|
5
|
-
import os
|
6
10
|
|
7
|
-
app_env_file = EnvFile(
|
8
|
-
path=APP_TEMPLATE_ENV_FILE_NAME, prefix='ZRB_ENV_PREFIX'
|
9
|
-
)
|
11
|
+
app_env_file = EnvFile(path=APP_TEMPLATE_ENV_FILE_NAME, prefix="ZRB_ENV_PREFIX")
|
10
12
|
|
11
13
|
compose_env_file = EnvFile(
|
12
|
-
path=os.path.join(RESOURCE_DIR,
|
13
|
-
prefix=
|
14
|
+
path=os.path.join(RESOURCE_DIR, "docker-compose.env"),
|
15
|
+
prefix="CONTAINER_ZRB_ENV_PREFIX",
|
14
16
|
)
|
15
17
|
|
16
18
|
deployment_app_env_file = EnvFile(
|
17
|
-
path=APP_TEMPLATE_ENV_FILE_NAME,
|
18
|
-
prefix='DEPLOYMENT_APP_ZRB_ENV_PREFIX'
|
19
|
+
path=APP_TEMPLATE_ENV_FILE_NAME, prefix="DEPLOYMENT_APP_ZRB_ENV_PREFIX"
|
19
20
|
)
|
20
21
|
|
21
22
|
deployment_config_env_file = EnvFile(
|
22
|
-
path=DEPLOYMENT_TEMPLATE_ENV_FILE_NAME,
|
23
|
-
|
24
|
-
)
|
23
|
+
path=DEPLOYMENT_TEMPLATE_ENV_FILE_NAME, prefix="DEPLOYMENT_CONFIG_ZRB_ENV_PREFIX"
|
24
|
+
)
|